mb/google/zork: add UPDM updating function before runing FSP-M

Add the UPD updating hook in early stage for customization.

BUG=b:117719313
BRANCH=zork
TEST=build,check the hook function been executed.

Signed-off-by: Chris Wang <chris.wang@amd.corp-partner.google.com>
Change-Id: I4954a438a51b29b086015624127e651fd06f971b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51181
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Chris Wang
2021-03-02 22:33:00 +08:00
committed by Martin Roth
parent 9a6bc07cc2
commit 216d69d459
5 changed files with 29 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ bootblock-y += bootblock.c
romstage-y += chromeos.c romstage-y += chromeos.c
romstage-y += sku_id.c romstage-y += sku_id.c
romstage-y += romstage.c
ramstage-y += chromeos.c ramstage-y += chromeos.c
ramstage-y += ec.c ramstage-y += ec.c

View File

@@ -0,0 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <baseboard/variants.h>
#include <soc/romstage.h>
void __weak variant_updm_update(FSP_M_CONFIG *mcfg) {}
void mainboard_updm_update(FSP_M_CONFIG *mcfg)
{
variant_updm_update(mcfg);
}

View File

@@ -6,6 +6,7 @@
#include <stddef.h> #include <stddef.h>
#include <boardid.h> #include <boardid.h>
#include <ec/google/chromeec/ec.h> #include <ec/google/chromeec/ec.h>
#include <FspmUpd.h>
#include <soc/platform_descriptors.h> #include <soc/platform_descriptors.h>
#include "chip.h" #include "chip.h"
@@ -32,6 +33,8 @@ const struct soc_amd_gpio *variant_bootblock_gpio_table(size_t *size, int slp_ty
*/ */
const struct soc_amd_gpio *variant_sleep_gpio_table(size_t *size, int slp_typ); const struct soc_amd_gpio *variant_sleep_gpio_table(size_t *size, int slp_typ);
void variant_updm_update(FSP_M_CONFIG *mcfg);
/* Program any required GPIOs at the finalize phase */ /* Program any required GPIOs at the finalize phase */
void finalize_gpios(int slp_typ); void finalize_gpios(int slp_typ);
/* Modify devictree settings during ramstage. */ /* Modify devictree settings during ramstage. */

View File

@@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _SOC_ROMSTAGE_H_
#define _SOC_ROMSTAGE_H_
#include <fsp/api.h>
void mainboard_updm_update(FSP_M_CONFIG *mcfg);
#endif /* _SOC_ROMSTAGE_H_ */

View File

@@ -16,10 +16,12 @@
#include <elog.h> #include <elog.h>
#include <soc/acpi.h> #include <soc/acpi.h>
#include <soc/pci_devs.h> #include <soc/pci_devs.h>
#include <soc/romstage.h>
#include <types.h> #include <types.h>
#include "chip.h" #include "chip.h"
#include <fsp/api.h> #include <fsp/api.h>
void __weak mainboard_updm_update(FSP_M_CONFIG *mupd) {}
static struct chipset_power_state chipset_state; static struct chipset_power_state chipset_state;
static void fill_chipset_state(void) static void fill_chipset_state(void)
@@ -139,6 +141,8 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
mcfg->telemetry_vddcr_soc_offset = config->telemetry_vddcr_soc_offset; mcfg->telemetry_vddcr_soc_offset = config->telemetry_vddcr_soc_offset;
mcfg->hd_audio_enable = devtree_hda_dev_enabled(); mcfg->hd_audio_enable = devtree_hda_dev_enabled();
mcfg->sata_enable = devtree_sata_dev_enabled(); mcfg->sata_enable = devtree_sata_dev_enabled();
mainboard_updm_update(mcfg);
} }
asmlinkage void car_stage_entry(void) asmlinkage void car_stage_entry(void)