xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision 2a2096ea6001cc65fa91e2bc622da48c8eb26a06)
1a7d660bcSSimon Glass#
2a7d660bcSSimon Glass# TPM subsystem configuration
3a7d660bcSSimon Glass#
4a7d660bcSSimon Glass
5a7d660bcSSimon Glassmenu "TPM support"
6a7d660bcSSimon Glass
79f9ce3c3SMiquel Raynalconfig TPM_V1
89f9ce3c3SMiquel Raynal	bool "TPMv1.x support"
99f9ce3c3SMiquel Raynal	depends on TPM
109f9ce3c3SMiquel Raynal	default y
119f9ce3c3SMiquel Raynal	help
129f9ce3c3SMiquel Raynal	  Major TPM versions are not compatible at all, choose either
139f9ce3c3SMiquel Raynal	  one or the other. This option enables TPMv1.x drivers/commands.
149f9ce3c3SMiquel Raynal
15*2a2096eaSMiquel Raynalif TPM_V1
169f9ce3c3SMiquel Raynal
17527a0727SSimon Glassconfig TPM_TIS_SANDBOX
18527a0727SSimon Glass	bool "Enable sandbox TPM driver"
199f9ce3c3SMiquel Raynal	depends on TPM_V1 && SANDBOX
20a0cf1d0cSMiquel Raynal	default y
21527a0727SSimon Glass	help
222bae712fSMiquel Raynal	  This driver emulates a TPMv1.x, providing access to base functions
23527a0727SSimon Glass	  such as reading and writing TPM private data. This is enough to
24527a0727SSimon Glass	  support Chrome OS verified boot. Extend functionality is not
25527a0727SSimon Glass	  implemented.
26a7d660bcSSimon Glass
27a7d660bcSSimon Glassconfig TPM_ATMEL_TWI
28a7d660bcSSimon Glass	bool "Enable Atmel TWI TPM device driver"
299f9ce3c3SMiquel Raynal	depends on TPM_V1
30a7d660bcSSimon Glass	help
31a7d660bcSSimon Glass	  This driver supports an Atmel TPM device connected on the I2C bus.
32a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
33a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
34a7d660bcSSimon Glass	  protocol
35a7d660bcSSimon Glass
360766ad2fSChristophe Ricardconfig TPM_TIS_INFINEON
37a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
389f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_I2C
39a7d660bcSSimon Glass	help
40a7d660bcSSimon Glass	  This driver supports Infineon TPM devices connected on the I2C bus.
41a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
42a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
43a7d660bcSSimon Glass	  protocol
44a7d660bcSSimon Glass
45a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION
46a7d660bcSSimon Glass	bool "Enable I2C burst length limitation"
47d677bfe2SMiquel Raynal	depends on TPM_TIS_INFINEON
48a7d660bcSSimon Glass	help
49a7d660bcSSimon Glass	  Some broken TPMs have a limitation on the number of bytes they can
50a7d660bcSSimon Glass	  receive in one message. Enable this option to allow you to set this
51a7d660bcSSimon Glass	  option. The can allow a broken TPM to be used by splitting messages
52a7d660bcSSimon Glass	  into separate pieces.
53a7d660bcSSimon Glass
54a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION_LEN
55a7d660bcSSimon Glass	int "Length"
56a7d660bcSSimon Glass	depends on TPM_TIS_I2C_BURST_LIMITATION
57a7d660bcSSimon Glass	help
58a7d660bcSSimon Glass	  Use this to set the burst limitation length
59a7d660bcSSimon Glass
60a7d660bcSSimon Glassconfig TPM_TIS_LPC
61a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
629f9ce3c3SMiquel Raynal	depends on TPM_V1 && X86
63a7d660bcSSimon Glass	help
64ca5bc1bcSChristophe Ricard	  This driver supports Infineon TPM devices connected on the LPC bus.
65a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
66a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
67a7d660bcSSimon Glass	  protocol
68a7d660bcSSimon Glass
69a7d660bcSSimon Glassconfig TPM_AUTH_SESSIONS
70a7d660bcSSimon Glass	bool "Enable TPM authentication session support"
719f9ce3c3SMiquel Raynal	depends on TPM_V1
72a7d660bcSSimon Glass	help
73a7d660bcSSimon Glass	  Enable support for authorised (AUTH1) commands as specified in the
74a7d660bcSSimon Glass	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
75a7d660bcSSimon Glass	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
76a7d660bcSSimon Glass	  available using the 'tpm' command, too.
77a7d660bcSSimon Glass
783aa74088SChristophe Ricardconfig TPM_ST33ZP24_I2C
793aa74088SChristophe Ricard	bool "STMicroelectronics ST33ZP24 I2C TPM"
809f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_I2C
813aa74088SChristophe Ricard	---help---
823aa74088SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the I2C bus.
833aa74088SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
843aa74088SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
853aa74088SChristophe Ricard	  protocol
863aa74088SChristophe Ricard
87b75fdc11SChristophe Ricardconfig TPM_ST33ZP24_SPI
88b75fdc11SChristophe Ricard	bool "STMicroelectronics ST33ZP24 SPI TPM"
899f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_SPI
90b75fdc11SChristophe Ricard	---help---
91b75fdc11SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the SPI bus.
92b75fdc11SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
93b75fdc11SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
94b75fdc11SChristophe Ricard	  protocol
95b75fdc11SChristophe Ricard
967690be35SMario Sixconfig TPM_FLUSH_RESOURCES
977690be35SMario Six	bool "Enable TPM resource flushing support"
989f9ce3c3SMiquel Raynal	depends on TPM_V1
997690be35SMario Six	help
1007690be35SMario Six	  Enable support to flush specific resources (e.g. keys) from the TPM.
1017690be35SMario Six	  The functionality is available via the 'tpm' command as well.
1020f4b2ba1Smario.six@gdsys.cc
1030f4b2ba1Smario.six@gdsys.ccconfig TPM_LOAD_KEY_BY_SHA1
1040f4b2ba1Smario.six@gdsys.cc	bool "Enable TPM key loading by SHA1 support"
1059f9ce3c3SMiquel Raynal	depends on TPM_V1
1060f4b2ba1Smario.six@gdsys.cc	help
1070f4b2ba1Smario.six@gdsys.cc	  Enable support to load keys into the TPM by identifying
1080f4b2ba1Smario.six@gdsys.cc	  their parent via the public key's SHA1 hash.
1090f4b2ba1Smario.six@gdsys.cc	  The functionality is available via the 'tpm' command as well.
1103d1df0e3Smario.six@gdsys.cc
1113d1df0e3Smario.six@gdsys.ccconfig TPM_LIST_RESOURCES
1123d1df0e3Smario.six@gdsys.cc	bool "Enable TPM resource listing support"
1139f9ce3c3SMiquel Raynal	depends on TPM_V1
1143d1df0e3Smario.six@gdsys.cc	help
1153d1df0e3Smario.six@gdsys.cc	  Enable support to list specific resources (e.g. keys) within the TPM.
1163d1df0e3Smario.six@gdsys.cc	  The functionality is available via the 'tpm' command as well.
1179f9ce3c3SMiquel Raynal
1189f9ce3c3SMiquel Raynalendif # TPM_V1
1199f9ce3c3SMiquel Raynal
1209f9ce3c3SMiquel Raynalconfig TPM_V2
1219f9ce3c3SMiquel Raynal	bool "TPMv2.x support"
1229f9ce3c3SMiquel Raynal	depends on TPM
1239f9ce3c3SMiquel Raynal	help
1249f9ce3c3SMiquel Raynal	  Major TPM versions are not compatible at all, choose either
1259f9ce3c3SMiquel Raynal	  one or the other. This option enables TPMv2.x drivers/commands.
1269f9ce3c3SMiquel Raynal
127*2a2096eaSMiquel Raynalif TPM_V2
1289f9ce3c3SMiquel Raynal
1292bae712fSMiquel Raynalconfig TPM2_TIS_SANDBOX
1302bae712fSMiquel Raynal	bool "Enable sandbox TPMv2.x driver"
1312bae712fSMiquel Raynal	depends on TPM_V2 && SANDBOX
132a0cf1d0cSMiquel Raynal	default y
1332bae712fSMiquel Raynal	help
1342bae712fSMiquel Raynal	  This driver emulates a TPMv2.x, providing access to base functions
1352bae712fSMiquel Raynal	  such as basic configuration, PCR extension and PCR read. Extended
1362bae712fSMiquel Raynal	  functionalities are not implemented.
1372bae712fSMiquel Raynal
138eb46910bSMiquel Raynalconfig TPM2_TIS_SPI
139eb46910bSMiquel Raynal	bool "Enable support for TPMv2.x SPI chips"
140eb46910bSMiquel Raynal	depends on TPM_V2 && DM_SPI
141eb46910bSMiquel Raynal	help
142eb46910bSMiquel Raynal	  This driver supports TPMv2.x devices connected on the SPI bus.
143eb46910bSMiquel Raynal	  The usual TPM operations and the 'tpm' command can be used to talk
144eb46910bSMiquel Raynal	  to the device using the standard TPM Interface Specification (TIS)
145eb46910bSMiquel Raynal	  protocol.
146eb46910bSMiquel Raynal
1479f9ce3c3SMiquel Raynalendif # TPM_V2
1489f9ce3c3SMiquel Raynal
149a7d660bcSSimon Glassendmenu
150