xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision d96d7db477b9e10cfe3c21fb2cc46ec0a980dfef)
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
152a2096eaSMiquel 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
12358233075SMiquel Raynal	default y
1249f9ce3c3SMiquel Raynal	help
1259f9ce3c3SMiquel Raynal	  Major TPM versions are not compatible at all, choose either
1269f9ce3c3SMiquel Raynal	  one or the other. This option enables TPMv2.x drivers/commands.
1279f9ce3c3SMiquel Raynal
1282a2096eaSMiquel Raynalif TPM_V2
1299f9ce3c3SMiquel Raynal
1302bae712fSMiquel Raynalconfig TPM2_TIS_SANDBOX
1312bae712fSMiquel Raynal	bool "Enable sandbox TPMv2.x driver"
1322bae712fSMiquel Raynal	depends on TPM_V2 && SANDBOX
133a0cf1d0cSMiquel Raynal	default y
1342bae712fSMiquel Raynal	help
1352bae712fSMiquel Raynal	  This driver emulates a TPMv2.x, providing access to base functions
1362bae712fSMiquel Raynal	  such as basic configuration, PCR extension and PCR read. Extended
1372bae712fSMiquel Raynal	  functionalities are not implemented.
1382bae712fSMiquel Raynal
139eb46910bSMiquel Raynalconfig TPM2_TIS_SPI
140eb46910bSMiquel Raynal	bool "Enable support for TPMv2.x SPI chips"
141eb46910bSMiquel Raynal	depends on TPM_V2 && DM_SPI
142eb46910bSMiquel Raynal	help
143eb46910bSMiquel Raynal	  This driver supports TPMv2.x devices connected on the SPI bus.
144eb46910bSMiquel Raynal	  The usual TPM operations and the 'tpm' command can be used to talk
145eb46910bSMiquel Raynal	  to the device using the standard TPM Interface Specification (TIS)
146eb46910bSMiquel Raynal	  protocol.
147eb46910bSMiquel Raynal
148*a1504e95SEddie Jamesconfig TPM2_TIS_I2C
149*a1504e95SEddie James	bool "Enable support for TPMv2.x I2C chips"
150*a1504e95SEddie James	depends on TPM_V2 && DM_I2C
151*a1504e95SEddie James	help
152*a1504e95SEddie James	  This driver supports TPMv2.x devices connected on the I2C bus.
153*a1504e95SEddie James	  The usual TPM operations and the 'tpm' command can be used to talk
154*a1504e95SEddie James	  to the device using the standard TPM Interface Specification (TIS)
155*a1504e95SEddie James	  protocol.
156*a1504e95SEddie James
1579f9ce3c3SMiquel Raynalendif # TPM_V2
1589f9ce3c3SMiquel Raynal
159a7d660bcSSimon Glassendmenu
160