summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/common/psp_verstage/include/psp_verstage.h1
-rw-r--r--src/soc/amd/common/psp_verstage/psp_verstage.c12
2 files changed, 10 insertions, 3 deletions
diff --git a/src/soc/amd/common/psp_verstage/include/psp_verstage.h b/src/soc/amd/common/psp_verstage/include/psp_verstage.h
index dbdf2f2884..ef8a9da951 100644
--- a/src/soc/amd/common/psp_verstage/include/psp_verstage.h
+++ b/src/soc/amd/common/psp_verstage/include/psp_verstage.h
@@ -49,6 +49,7 @@ void test_svc_calls(void);
uint32_t unmap_fch_devices(void);
uint32_t verstage_soc_early_init(void);
void verstage_mainboard_espi_init(void);
+void verstage_mainboard_tpm_init(void);
void verstage_soc_aoac_init(void);
void verstage_soc_espi_init(void);
void verstage_soc_i2c_init(void);
diff --git a/src/soc/amd/common/psp_verstage/psp_verstage.c b/src/soc/amd/common/psp_verstage/psp_verstage.c
index 8fc2732d47..71f07c0417 100644
--- a/src/soc/amd/common/psp_verstage/psp_verstage.c
+++ b/src/soc/amd/common/psp_verstage/psp_verstage.c
@@ -25,7 +25,9 @@ extern char _bss_start, _bss_end;
void __weak verstage_mainboard_early_init(void) {}
void __weak verstage_mainboard_espi_init(void) {}
+void __weak verstage_mainboard_tpm_init(void) {}
void __weak verstage_mainboard_init(void) {}
+
uint32_t __weak get_max_workbuf_size(uint32_t *size)
{
/* This svc only exists in picasso and deprecated for later platforms.
@@ -238,15 +240,19 @@ void Main(void)
printk(BIOS_DEBUG, "calling verstage_mainboard_espi_init\n");
verstage_mainboard_espi_init();
+ printk(BIOS_DEBUG, "calling verstage_soc_espi_init\n");
+ verstage_soc_espi_init();
+
+ printk(BIOS_DEBUG, "calling verstage_mainboard_tpm_init\n");
+ /* mainboard_tpm_init may check board_id, so make sure espi is ready first */
+ verstage_mainboard_tpm_init();
+
printk(BIOS_DEBUG, "calling verstage_mainboard_early_init\n");
verstage_mainboard_early_init();
svc_write_postcode(POSTCODE_LATE_INIT);
fch_io_enable_legacy_io();
- printk(BIOS_DEBUG, "calling verstage_soc_espi_init\n");
- verstage_soc_espi_init();
-
printk(BIOS_DEBUG, "calling verstage_soc_aoac_init\n");
verstage_soc_aoac_init();