@ -4,9 +4,22 @@
menu "TPM support"
menu "TPM support"
comment "Please select only one TPM revision"
depends on TPM_V1 && TPM_V2
config TPM_V1
bool "TPMv1.x support"
depends on TPM
default y
help
Major TPM versions are not compatible at all, choose either
one or the other. This option enables TPMv1.x drivers/commands.
if TPM_V1 && !TPM_V2
config TPM_TIS_SANDBOX
config TPM_TIS_SANDBOX
bool "Enable sandbox TPM driver"
bool "Enable sandbox TPM driver"
depends on SANDBOX
depends on TPM_V1 && SANDBOX
help
help
This driver emulates a TPM, providing access to base functions
This driver emulates a TPM, providing access to base functions
such as reading and writing TPM private data. This is enough to
such as reading and writing TPM private data. This is enough to
@ -15,7 +28,7 @@ config TPM_TIS_SANDBOX
config TPM_ATMEL_TWI
config TPM_ATMEL_TWI
bool "Enable Atmel TWI TPM device driver"
bool "Enable Atmel TWI TPM device driver"
depends on TPM
depends on TPM_V1
help
help
This driver supports an Atmel TPM device connected on the I2C bus.
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
The usual tpm operations and the 'tpm' command can be used to talk
@ -24,7 +37,7 @@ config TPM_ATMEL_TWI
config TPM_TIS_INFINEON
config TPM_TIS_INFINEON
bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
depends on TPM && DM_I2C
depends on TPM_V1 && DM_I2C
help
help
This driver supports Infineon TPM devices connected on the I2C bus.
This driver supports Infineon TPM devices connected on the I2C bus.
The usual tpm operations and the 'tpm' command can be used to talk
The usual tpm operations and the 'tpm' command can be used to talk
@ -33,7 +46,7 @@ config TPM_TIS_INFINEON
config TPM_TIS_I2C_BURST_LIMITATION
config TPM_TIS_I2C_BURST_LIMITATION
bool "Enable I2C burst length limitation"
bool "Enable I2C burst length limitation"
depends on TPM_TIS_INFINEON
depends on TPM_V1 && TPM_ TIS_INFINEON
help
help
Some broken TPMs have a limitation on the number of bytes they can
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
receive in one message. Enable this option to allow you to set this
@ -48,7 +61,7 @@ config TPM_TIS_I2C_BURST_LIMITATION_LEN
config TPM_TIS_LPC
config TPM_TIS_LPC
bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
depends on TPM && X86
depends on TPM_V1 && X86
help
help
This driver supports Infineon TPM devices connected on the LPC bus.
This driver supports Infineon TPM devices connected on the LPC bus.
The usual tpm operations and the 'tpm' command can be used to talk
The usual tpm operations and the 'tpm' command can be used to talk
@ -57,7 +70,7 @@ config TPM_TIS_LPC
config TPM_AUTH_SESSIONS
config TPM_AUTH_SESSIONS
bool "Enable TPM authentication session support"
bool "Enable TPM authentication session support"
depends on TPM
depends on TPM_V1
help
help
Enable support for authorised (AUTH1) commands as specified in the
Enable support for authorised (AUTH1) commands as specified in the
TCG Main Specification 1.2. OIAP-authorised versions of the commands
TCG Main Specification 1.2. OIAP-authorised versions of the commands
@ -66,7 +79,7 @@ config TPM_AUTH_SESSIONS
config TPM_ST33ZP24_I2C
config TPM_ST33ZP24_I2C
bool "STMicroelectronics ST33ZP24 I2C TPM"
bool "STMicroelectronics ST33ZP24 I2C TPM"
depends on TPM && DM_I2C
depends on TPM_V1 && DM_I2C
---help---
---help---
This driver supports STMicroelectronics TPM devices connected on the I2C bus.
This driver supports STMicroelectronics TPM devices connected on the I2C bus.
The usual tpm operations and the 'tpm' command can be used to talk
The usual tpm operations and the 'tpm' command can be used to talk
@ -75,7 +88,7 @@ config TPM_ST33ZP24_I2C
config TPM_ST33ZP24_SPI
config TPM_ST33ZP24_SPI
bool "STMicroelectronics ST33ZP24 SPI TPM"
bool "STMicroelectronics ST33ZP24 SPI TPM"
depends on TPM && DM_SPI
depends on TPM_V1 && DM_SPI
---help---
---help---
This driver supports STMicroelectronics TPM devices connected on the SPI bus.
This driver supports STMicroelectronics TPM devices connected on the SPI bus.
The usual tpm operations and the 'tpm' command can be used to talk
The usual tpm operations and the 'tpm' command can be used to talk
@ -84,14 +97,14 @@ config TPM_ST33ZP24_SPI
config TPM_FLUSH_RESOURCES
config TPM_FLUSH_RESOURCES
bool "Enable TPM resource flushing support"
bool "Enable TPM resource flushing support"
depends on TPM
depends on TPM_V1
help
help
Enable support to flush specific resources (e.g. keys) from the TPM.
Enable support to flush specific resources (e.g. keys) from the TPM.
The functionality is available via the 'tpm' command as well.
The functionality is available via the 'tpm' command as well.
config TPM_LOAD_KEY_BY_SHA1
config TPM_LOAD_KEY_BY_SHA1
bool "Enable TPM key loading by SHA1 support"
bool "Enable TPM key loading by SHA1 support"
depends on TPM
depends on TPM_V1
help
help
Enable support to load keys into the TPM by identifying
Enable support to load keys into the TPM by identifying
their parent via the public key's SHA1 hash.
their parent via the public key's SHA1 hash.
@ -99,8 +112,22 @@ config TPM_LOAD_KEY_BY_SHA1
config TPM_LIST_RESOURCES
config TPM_LIST_RESOURCES
bool "Enable TPM resource listing support"
bool "Enable TPM resource listing support"
depends on TPM
depends on TPM_V1
help
help
Enable support to list specific resources (e.g. keys) within the TPM.
Enable support to list specific resources (e.g. keys) within the TPM.
The functionality is available via the 'tpm' command as well.
The functionality is available via the 'tpm' command as well.
endif # TPM_V1
config TPM_V2
bool "TPMv2.x support"
depends on TPM
help
Major TPM versions are not compatible at all, choose either
one or the other. This option enables TPMv2.x drivers/commands.
if TPM_V2 && !TPM_V1
endif # TPM_V2
endmenu
endmenu