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>
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
config I2C_TPM
|
|
bool
|
|
help
|
|
I2C TPM driver is enabled!
|
|
|
|
config MAINBOARD_NEEDS_I2C_TI50_WORKAROUND
|
|
bool
|
|
default n
|
|
help
|
|
Ti50 FW versions below 0.15 don't support the firmware_version or board_cfg registers,
|
|
and trying to access them causes I2C errors. This config will skip accesses to these
|
|
registers, and should be selected for boards using Ti50 chips with FW < 0.15. The config
|
|
will be removed once all Ti50 stocks are updated to 0.15 or higher.
|
|
|
|
config DRIVER_TIS_DEFAULT
|
|
bool
|
|
depends on I2C_TPM
|
|
default n if TPM_ATMEL
|
|
default y
|
|
|
|
config DRIVER_TPM_I2C_BUS
|
|
hex
|
|
default 0x9 # FIXME, workaround for Kconfig BS
|
|
depends on I2C_TPM
|
|
|
|
config DRIVER_TPM_I2C_ADDR
|
|
hex
|
|
default 0x2 # FIXME, workaround for Kconfig BS
|
|
depends on I2C_TPM
|
|
|
|
config DRIVER_I2C_TPM_ACPI
|
|
bool "Generate I2C TPM ACPI device" if I2C_TPM
|
|
default y if ARCH_X86 && I2C_TPM
|
|
default n
|
|
|
|
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.
|