mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-13 14:53:06 +00:00
f255d31f90
Add a new uclass for TPMs which uses almost the same TIS (TPM Interface Specification) as is currently implemented. Since init() is handled by the normal driver model probe() method, we don't need to implement that. Also rename the transfer method to xfer() which is a less clumbsy name. Once all drivers and users are converted to driver model we can remove the old code. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Christophe Ricard<christophe-h.ricard@st.com> Reviewed-by: Heiko Schocher <hs@denx.de>
76 lines
2.5 KiB
Text
76 lines
2.5 KiB
Text
#
|
|
# TPM subsystem configuration
|
|
#
|
|
|
|
menu "TPM support"
|
|
|
|
config DM_TPM
|
|
bool "Enable driver model for Trusted Platform Module drivers"
|
|
depends on DM && TPM
|
|
help
|
|
Enable driver model for TPMs. The TIS interface (tis_open(),
|
|
tis_sendrecv(), etc.) is then implemented by the TPM uclass. Note
|
|
that even with driver model only a single TPM is currently
|
|
supported, since the tpm library assumes this.
|
|
|
|
config TPM_TIS_SANDBOX
|
|
bool "Enable sandbox TPM driver"
|
|
depends on SANDBOX
|
|
help
|
|
This driver emulates a TPM, providing access to base functions
|
|
such as reading and writing TPM private data. This is enough to
|
|
support Chrome OS verified boot. Extend functionality is not
|
|
implemented.
|
|
|
|
config TPM_ATMEL_TWI
|
|
bool "Enable Atmel TWI TPM device driver"
|
|
depends on TPM
|
|
help
|
|
This driver supports an Atmel TPM device connected on the I2C bus.
|
|
The usual tpm operations and the 'tpm' command can be used to talk
|
|
to the device using the standard TPM Interface Specification (TIS)
|
|
protocol
|
|
|
|
config TPM_TIS_I2C
|
|
bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
|
|
depends on TPM && DM_I2C
|
|
help
|
|
This driver supports Infineon TPM devices connected on the I2C bus.
|
|
The usual tpm operations and the 'tpm' command can be used to talk
|
|
to the device using the standard TPM Interface Specification (TIS)
|
|
protocol
|
|
|
|
config TPM_TIS_I2C_BURST_LIMITATION
|
|
bool "Enable I2C burst length limitation"
|
|
depends on TPM_TIS_I2C
|
|
help
|
|
Some broken TPMs have a limitation on the number of bytes they can
|
|
receive in one message. Enable this option to allow you to set this
|
|
option. The can allow a broken TPM to be used by splitting messages
|
|
into separate pieces.
|
|
|
|
config TPM_TIS_I2C_BURST_LIMITATION_LEN
|
|
int "Length"
|
|
depends on TPM_TIS_I2C_BURST_LIMITATION
|
|
help
|
|
Use this to set the burst limitation length
|
|
|
|
config TPM_TIS_LPC
|
|
bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
|
|
depends on TPM && X86
|
|
help
|
|
This driver supports Infineon TPM devices connected on the I2C bus.
|
|
The usual tpm operations and the 'tpm' command can be used to talk
|
|
to the device using the standard TPM Interface Specification (TIS)
|
|
protocol
|
|
|
|
config TPM_AUTH_SESSIONS
|
|
bool "Enable TPM authentication session support"
|
|
depends on TPM
|
|
help
|
|
Enable support for authorised (AUTH1) commands as specified in the
|
|
TCG Main Specification 1.2. OIAP-authorised versions of the commands
|
|
TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
|
|
available using the 'tpm' command, too.
|
|
|
|
endmenu
|