diff options
author | Jes B. Klinke <jbk@chromium.org> | 2022-04-19 14:00:33 -0700 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2022-04-21 23:07:20 +0000 |
commit | c6b041a12e56f32be37b809357225e762b070117 (patch) | |
tree | df09f63531c43eb3c7b8f3727d3726ccdaed035a /src/drivers/i2c/tpm | |
parent | 0b71099f6587e9722e4554c094e5ef1c32195860 (diff) |
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 <jbk@chromium.org>
Change-Id: I4656b2b90363b8dfd008dc281ad591862fe2cc9e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63424
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/drivers/i2c/tpm')
-rw-r--r-- | src/drivers/i2c/tpm/Kconfig | 29 | ||||
-rw-r--r-- | src/drivers/i2c/tpm/Makefile.inc | 30 |
2 files changed, 17 insertions, 42 deletions
diff --git a/src/drivers/i2c/tpm/Kconfig b/src/drivers/i2c/tpm/Kconfig index 0d5f06bbdd..8efcbaf991 100644 --- a/src/drivers/i2c/tpm/Kconfig +++ b/src/drivers/i2c/tpm/Kconfig @@ -3,27 +3,6 @@ config I2C_TPM help I2C TPM driver is enabled! -config MAINBOARD_HAS_I2C_TPM_ATMEL - bool - default n - select I2C_TPM - help - Board has an Atmel I2C TPM support - -config MAINBOARD_HAS_I2C_TPM_CR50 - bool - default n - select I2C_TPM - help - Board has a Cr50 I2C TPM support - -config MAINBOARD_HAS_I2C_TPM_GENERIC - bool - default n - select I2C_TPM - help - Board has a generic I2C TPM support - config MAINBOARD_NEEDS_I2C_TI50_WORKAROUND bool default n @@ -36,7 +15,7 @@ config MAINBOARD_NEEDS_I2C_TI50_WORKAROUND config DRIVER_TIS_DEFAULT bool depends on I2C_TPM - default n if MAINBOARD_HAS_I2C_TPM_ATMEL + default n if TPM_ATMEL default y config DRIVER_TPM_I2C_BUS @@ -58,3 +37,9 @@ config DRIVER_TPM_DISPLAY_TIS_BYTES bool "TPM: Display the TIS transactions to I2C TPM chip" default n depends on I2C_TPM + +config TPM_ATMEL + bool + default n + help + The mainboard has an Atmel TPM chip. diff --git a/src/drivers/i2c/tpm/Makefile.inc b/src/drivers/i2c/tpm/Makefile.inc index 51856fa9f0..ae50f2b342 100644 --- a/src/drivers/i2c/tpm/Makefile.inc +++ b/src/drivers/i2c/tpm/Makefile.inc @@ -1,25 +1,15 @@ -ramstage-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c -romstage-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c -verstage-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c -bootblock-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c -postcar-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c +ifeq ($(CONFIG_TPM)$(CONFIG_I2C_TPM),yy) -ramstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL) += tis_atmel.c -romstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL) += tis_atmel.c -verstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL) += tis_atmel.c -bootblock-$(CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL) += tis_atmel.c -postcar-$(CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL) += tis_atmel.c +all-$(CONFIG_DRIVER_TIS_DEFAULT) += tis.c -ramstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC) += tpm.c -romstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC) += tpm.c -verstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC) += tpm.c -bootblock-$(CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC) += tpm.c -postcar-$(CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC) += tpm.c +ifeq ($(CONFIG_TPM_ATMEL),y) +all-y += tis_atmel.c +else ifeq ($(CONFIG_TPM_GOOGLE),y) +all-y += cr50.c +else +all-y += tpm.c +endif -ramstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_CR50) += cr50.c -romstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_CR50) += cr50.c -verstage-$(CONFIG_MAINBOARD_HAS_I2C_TPM_CR50) += cr50.c -bootblock-$(CONFIG_MAINBOARD_HAS_I2C_TPM_CR50) += cr50.c -postcar-$(CONFIG_MAINBOARD_HAS_I2C_TPM_CR50) += cr50.c +endif ramstage-$(CONFIG_DRIVER_I2C_TPM_ACPI) += chip.c |