mb/google/guybrush: Add variant_tpm_gpio_table

Add separate gpio table for TPM i2c and interrupt. Remove TPM gpios from
early_gpio_table. This allows for initializing TPM gpios separately from
other gpios.

BUG=b:200578885
BRANCH=None
TEST=Build and boot guybrush

Change-Id: I51d087087b166ec3bb3762bc1150b34db5b22f2f
Signed-off-by: Rob Barnes <robbarnes@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59083
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/amd/common/psp_verstage/psp_verstage.c b/src/soc/amd/common/psp_verstage/psp_verstage.c
index 8fc2732..71f07c0 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 @@
 
 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 @@
 	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();