diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2016-06-02 20:43:19 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-06-23 17:11:48 +0200 |
commit | 26588707c569aa2aa0237c047283a5963faa2fb5 (patch) | |
tree | 2b2e9484541e631bdaefb5adddbdddebb595bda4 /src/drivers | |
parent | 0e820ce7452462de14a8cb28b0359ec2ea45608d (diff) | |
download | coreboot-26588707c569aa2aa0237c047283a5963faa2fb5.tar.xz |
kconfig: allow various tpm type and interface permutations
Until now it was assumed that all TPM devices were of the same type
(TCG 1.2 spec compliant) and x86 based boards had LPC connected TPMs
and all other boards had I2C connected TPMs.
With the advent of TPM2 specification there is a need to be able to
configure different combinations of TPM types (TPM or TPM2) and
interfaces (LPC, I2C and SPI).
This patch allows to do it. Picking Chrome OS still assumes that the
board has a TPM device, but adding MAINBOARD_HAS_TPM2 to the board's
Kconfig will trigger including of TPM2 instead.
MAINBOARD_HAS_LPC_TPM forces the interface to be set to LPC, adding
SPI_TPM to the board config switches interface choice to SPI, and if
neither of the two is defined, the interface is assumed to be I2C.
BRANCH=none
BUG=chrome-os-partner:50645
TEST=verified that none of the generated board configurations change
as a result of this patch. With the rest of the stack in place it
is possible to configure different combinations of TPM types and
interfaces for ARM and x86 boards.
Change-Id: I24f2e3ee63636566bf2a867c51ed80a622672f07
Signed-off-by: Martin Roth <martinroth@chromium.org>
Original-Commit-Id: 5a25c1070560cd2734519f87dfbf401c135088d1
Original-Change-Id: I659e9301a4a4fe065ca6537ef1fa824a08d36321
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/349850
Original-Reviewed-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/15294
Tested-by: build bot (Jenkins)
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@googlemail.com>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/i2c/tpm/Kconfig | 2 | ||||
-rw-r--r-- | src/drivers/spi/tpm/Kconfig | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/drivers/i2c/tpm/Kconfig b/src/drivers/i2c/tpm/Kconfig index f2b969f5bb..594ffd51b3 100644 --- a/src/drivers/i2c/tpm/Kconfig +++ b/src/drivers/i2c/tpm/Kconfig @@ -1,6 +1,6 @@ config I2C_TPM bool "I2C TPM" - depends on !PC80_SYSTEM # for now + depends on TPM || TPM2 config DRIVER_TPM_I2C_BUS hex "I2C TPM chip bus" diff --git a/src/drivers/spi/tpm/Kconfig b/src/drivers/spi/tpm/Kconfig new file mode 100644 index 0000000000..e2a6bb6527 --- /dev/null +++ b/src/drivers/spi/tpm/Kconfig @@ -0,0 +1,8 @@ +config SPI_TPM + bool "SPI TPM" + depends on !PC80_SYSTEM && TPM2 + +config DRIVER_TPM_SPI_BUS + hex "SPI bus TPM chip is connected to" + default 0 + depends on SPI_TPM |