xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision 7690be35deaeac1cb51a5f7896c2a46afabdfad3)
1a7d660bcSSimon Glass#
2a7d660bcSSimon Glass# TPM subsystem configuration
3a7d660bcSSimon Glass#
4a7d660bcSSimon Glass
5a7d660bcSSimon Glassmenu "TPM support"
6a7d660bcSSimon Glass
7527a0727SSimon Glassconfig TPM_TIS_SANDBOX
8527a0727SSimon Glass	bool "Enable sandbox TPM driver"
9a7d660bcSSimon Glass	depends on SANDBOX
10527a0727SSimon Glass	help
11527a0727SSimon Glass	  This driver emulates a TPM, providing access to base functions
12527a0727SSimon Glass	  such as reading and writing TPM private data. This is enough to
13527a0727SSimon Glass	  support Chrome OS verified boot. Extend functionality is not
14527a0727SSimon Glass	  implemented.
15a7d660bcSSimon Glass
16a7d660bcSSimon Glassconfig TPM_ATMEL_TWI
17a7d660bcSSimon Glass	bool "Enable Atmel TWI TPM device driver"
1803dcd410Smario.six@gdsys.cc	depends on TPM
19a7d660bcSSimon Glass	help
20a7d660bcSSimon Glass	  This driver supports an Atmel TPM device connected on the I2C bus.
21a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
22a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
23a7d660bcSSimon Glass	  protocol
24a7d660bcSSimon Glass
250766ad2fSChristophe Ricardconfig TPM_TIS_INFINEON
26a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
272419cd16SSimon Glass	depends on TPM && DM_I2C
28a7d660bcSSimon Glass	help
29a7d660bcSSimon Glass	  This driver supports Infineon TPM devices connected on the I2C bus.
30a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
31a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
32a7d660bcSSimon Glass	  protocol
33a7d660bcSSimon Glass
34a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION
35a7d660bcSSimon Glass	bool "Enable I2C burst length limitation"
360766ad2fSChristophe Ricard	depends on TPM_TIS_INFINEON
37a7d660bcSSimon Glass	help
38a7d660bcSSimon Glass	  Some broken TPMs have a limitation on the number of bytes they can
39a7d660bcSSimon Glass	  receive in one message. Enable this option to allow you to set this
40a7d660bcSSimon Glass	  option. The can allow a broken TPM to be used by splitting messages
41a7d660bcSSimon Glass	  into separate pieces.
42a7d660bcSSimon Glass
43a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION_LEN
44a7d660bcSSimon Glass	int "Length"
45a7d660bcSSimon Glass	depends on TPM_TIS_I2C_BURST_LIMITATION
46a7d660bcSSimon Glass	help
47a7d660bcSSimon Glass	  Use this to set the burst limitation length
48a7d660bcSSimon Glass
49a7d660bcSSimon Glassconfig TPM_TIS_LPC
50a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
512419cd16SSimon Glass	depends on TPM && X86
52a7d660bcSSimon Glass	help
53ca5bc1bcSChristophe Ricard	  This driver supports Infineon TPM devices connected on the LPC bus.
54a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
55a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
56a7d660bcSSimon Glass	  protocol
57a7d660bcSSimon Glass
58a7d660bcSSimon Glassconfig TPM_AUTH_SESSIONS
59a7d660bcSSimon Glass	bool "Enable TPM authentication session support"
60a7d660bcSSimon Glass	depends on TPM
61a7d660bcSSimon Glass	help
62a7d660bcSSimon Glass	  Enable support for authorised (AUTH1) commands as specified in the
63a7d660bcSSimon Glass	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
64a7d660bcSSimon Glass	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
65a7d660bcSSimon Glass	  available using the 'tpm' command, too.
66a7d660bcSSimon Glass
673aa74088SChristophe Ricardconfig TPM_ST33ZP24_I2C
683aa74088SChristophe Ricard	bool "STMicroelectronics ST33ZP24 I2C TPM"
693aa74088SChristophe Ricard	depends on TPM && DM_I2C
703aa74088SChristophe Ricard	---help---
713aa74088SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the I2C bus.
723aa74088SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
733aa74088SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
743aa74088SChristophe Ricard	  protocol
753aa74088SChristophe Ricard
76b75fdc11SChristophe Ricardconfig TPM_ST33ZP24_SPI
77b75fdc11SChristophe Ricard	bool "STMicroelectronics ST33ZP24 SPI TPM"
78b75fdc11SChristophe Ricard	depends on TPM && DM_SPI
79b75fdc11SChristophe Ricard	---help---
80b75fdc11SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the SPI bus.
81b75fdc11SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
82b75fdc11SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
83b75fdc11SChristophe Ricard	  protocol
84b75fdc11SChristophe Ricard
85*7690be35SMario Sixconfig TPM_FLUSH_RESOURCES
86*7690be35SMario Six	bool "Enable TPM resource flushing support"
87*7690be35SMario Six	depends on TPM
88*7690be35SMario Six	help
89*7690be35SMario Six	  Enable support to flush specific resources (e.g. keys) from the TPM.
90*7690be35SMario Six	  The functionality is available via the 'tpm' command as well.
91a7d660bcSSimon Glassendmenu
92