From c6b041a12e56f32be37b809357225e762b070117 Mon Sep 17 00:00:00 2001 From: "Jes B. Klinke" Date: Tue, 19 Apr 2022 14:00:33 -0700 Subject: tpm: Refactor TPM Kconfig dimensions Break TPM related Kconfig into the following dimensions: TPM transport support: config CRB_TPM config I2C_TPM config SPI_TPM config MEMORY_MAPPED_TPM (new) TPM brand, not defining any of these is valid, and result in "generic" support: config TPM_ATMEL (new) config TPM_GOOGLE (new) config TPM_GOOGLE_CR50 (new, implies TPM_GOOGLE) config TPM_GOOGLE_TI50 (new to be used later, implies TPM_GOOGLE) What protocol the TPM chip supports: config MAINBOARD_HAS_TPM1 config MAINBOARD_HAS_TPM2 What the user chooses to compile (restricted by the above): config NO_TPM config TPM1 config TPM2 The following Kconfigs will be replaced as indicated: config TPM_CR50 -> TPM_GOOGLE config MAINBOARD_HAS_CRB_TPM -> CRB_TPM config MAINBOARD_HAS_I2C_TPM_ATMEL -> I2C_TPM && TPM_ATMEL config MAINBOARD_HAS_I2C_TPM_CR50 -> I2C_TPM && TPM_GOOGLE config MAINBOARD_HAS_I2C_TPM_GENERIC -> I2C_TPM && !TPM_GOOGLE && !TPM_ATMEL config MAINBOARD_HAS_LPC_TPM -> MEMORY_MAPPED_TPM config MAINBOARD_HAS_SPI_TPM -> SPI_TPM && !TPM_GOOGLE && !TPM_ATMEL config MAINBOARD_HAS_SPI_TPM_CR50 -> SPI_TPM && TPM_GOOGLE Signed-off-by: Jes B. Klinke Change-Id: I4656b2b90363b8dfd008dc281ad591862fe2cc9e Reviewed-on: https://review.coreboot.org/c/coreboot/+/63424 Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu Reviewed-by: Tim Wawrzynczak Reviewed-by: Julius Werner --- src/mainboard/google/volteer/Kconfig | 6 ++++-- src/mainboard/google/volteer/mainboard.c | 2 +- src/mainboard/google/volteer/variants/chronicler/overridetree.cb | 2 +- src/mainboard/google/volteer/variants/volteer2/overridetree.cb | 4 ++-- src/mainboard/google/volteer/variants/volteer2/variant.c | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src/mainboard/google/volteer') diff --git a/src/mainboard/google/volteer/Kconfig b/src/mainboard/google/volteer/Kconfig index 28d345729d..682d247300 100644 --- a/src/mainboard/google/volteer/Kconfig +++ b/src/mainboard/google/volteer/Kconfig @@ -29,12 +29,14 @@ config BOARD_GOOGLE_BASEBOARD_VOLTEER select HAVE_SPD_IN_CBFS select INTEL_LPSS_UART_FOR_CONSOLE select MAINBOARD_HAS_CHROMEOS - select MAINBOARD_HAS_I2C_TPM_CR50 if BOARD_GOOGLE_VOLTEER2_TI50 - select MAINBOARD_HAS_SPI_TPM_CR50 if !BOARD_GOOGLE_VOLTEER2_TI50 + select I2C_TPM if BOARD_GOOGLE_VOLTEER2_TI50 + select SPI_TPM if !BOARD_GOOGLE_VOLTEER2_TI50 select MAINBOARD_HAS_TPM2 select SOC_INTEL_COMMON_BLOCK_TCSS select SOC_INTEL_CSE_LITE_SKU select SOC_INTEL_TIGERLAKE + select TPM_GOOGLE_TI50 if BOARD_GOOGLE_VOLTEER2_TI50 + select TPM_GOOGLE_CR50 if !BOARD_GOOGLE_VOLTEER2_TI50 config BOARD_GOOGLE_DELBIN select BOARD_GOOGLE_BASEBOARD_VOLTEER diff --git a/src/mainboard/google/volteer/mainboard.c b/src/mainboard/google/volteer/mainboard.c index 7089dddc02..91fe319b92 100644 --- a/src/mainboard/google/volteer/mainboard.c +++ b/src/mainboard/google/volteer/mainboard.c @@ -84,7 +84,7 @@ static void mainboard_enable(struct device *dev) void mainboard_update_soc_chip_config(struct soc_intel_tigerlake_config *cfg) { int ret; - if (!CONFIG(MAINBOARD_HAS_SPI_TPM_CR50)) { + if (!CONFIG(TPM_GOOGLE_CR50) || !CONFIG(SPI_TPM)) { /* * Negotiation of long interrupt pulses is only supported via SPI. I2C is only * used on reworked prototypes on which the TPM is replaced with Dauntless under diff --git a/src/mainboard/google/volteer/variants/chronicler/overridetree.cb b/src/mainboard/google/volteer/variants/chronicler/overridetree.cb index b69990c24a..763a5ee893 100644 --- a/src/mainboard/google/volteer/variants/chronicler/overridetree.cb +++ b/src/mainboard/google/volteer/variants/chronicler/overridetree.cb @@ -29,7 +29,7 @@ chip soc/intel/tigerlake register "common_soc_config" = "{ .gspi[0] = { .speed_mhz = 1, - .early_init = CONFIG(MAINBOARD_HAS_SPI_TPM_CR50), + .early_init = CONFIG(SPI_TPM), }, .i2c[0] = { .speed = I2C_SPEED_FAST, diff --git a/src/mainboard/google/volteer/variants/volteer2/overridetree.cb b/src/mainboard/google/volteer/variants/volteer2/overridetree.cb index d024835aa0..b6657a1576 100644 --- a/src/mainboard/google/volteer/variants/volteer2/overridetree.cb +++ b/src/mainboard/google/volteer/variants/volteer2/overridetree.cb @@ -22,14 +22,14 @@ chip soc/intel/tigerlake register "common_soc_config" = "{ .gspi[0] = { .speed_mhz = 1, - .early_init = CONFIG(MAINBOARD_HAS_SPI_TPM_CR50), + .early_init = CONFIG(SPI_TPM), }, .i2c[0] = { .speed = I2C_SPEED_FAST, }, .i2c[1] = { .speed = I2C_SPEED_FAST, - .early_init = CONFIG(MAINBOARD_HAS_I2C_TPM_CR50), + .early_init = CONFIG(I2C_TPM), }, .i2c[2] = { .speed = I2C_SPEED_FAST, diff --git a/src/mainboard/google/volteer/variants/volteer2/variant.c b/src/mainboard/google/volteer/variants/volteer2/variant.c index 442402779d..c9129b242d 100644 --- a/src/mainboard/google/volteer/variants/volteer2/variant.c +++ b/src/mainboard/google/volteer/variants/volteer2/variant.c @@ -20,6 +20,6 @@ static void devtree_enable_i2c_tpm(void) void variant_devtree_update(void) { - if (CONFIG(MAINBOARD_HAS_I2C_TPM_CR50)) + if (CONFIG(I2C_TPM)) devtree_enable_i2c_tpm(); } -- cgit v1.2.3