#
# TPM subsystem configuration
#

menu "TPM support"

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_INFINEON
	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_INFINEON
	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 LPC 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.

config TPM_ST33ZP24_I2C
	bool "STMicroelectronics ST33ZP24 I2C TPM"
	depends on TPM && DM_I2C
	---help---
	  This driver supports STMicroelectronics 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_ST33ZP24_SPI
	bool "STMicroelectronics ST33ZP24 SPI TPM"
	depends on TPM && DM_SPI
	---help---
	  This driver supports STMicroelectronics TPM devices connected on the SPI 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

endmenu
