soc/amd/turin_poc: Add SPI TPM SoC-specific initialization

Add the SoC hook to initialize SPI TPM decoding. Without the additional
programming an attempt to talk to SPI TPM hangs the platform when the
TPM_MEASURED_BOOT_INIT_BOOTBLOCK is set. If TPM is initialized in
ramstage, the OpenSIL programs the SPI TPM decoding properly and the
issue is not observed.

TEST=Select TPM_MEASURED_BOOT_INIT_BOOTBLOCK and enable
TPM_MEASURED_BOOT on Gigabyte MZ33-AR1, and observe the platform does
not hang in bootblock.

Change-Id: I2e6c0aad31fd0335e0d16111ed4894a12d2ba497
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89192
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
Michał Żygowski 2025-09-16 08:22:41 +02:00
commit 0a6142dfbe
2 changed files with 14 additions and 0 deletions

View file

@ -8,6 +8,9 @@ all-y += i2c.c
all-y += i3c.c
all-y += uart.c
all-y += lpc.c
smm-y += lpc.c
bootblock-y += early_fch.c
bootblock-y += aoac.c

View file

@ -0,0 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <amdblocks/lpc.h>
#include <device/pci.h>
#include <soc/pci_devs.h>
void soc_lpc_tpm_decode_spi(void)
{
/* SoC-specific SPI TPM setting */
pci_or_config32(SOC_LPC_DEV, 0xdc, 1);
}