xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision d677bfe2f7914367d1caa6146b34e86d0df1c75d)
1a7d660bcSSimon Glass#
2a7d660bcSSimon Glass# TPM subsystem configuration
3a7d660bcSSimon Glass#
4a7d660bcSSimon Glass
5a7d660bcSSimon Glassmenu "TPM support"
6a7d660bcSSimon Glass
79f9ce3c3SMiquel Raynalcomment "Please select only one TPM revision"
89f9ce3c3SMiquel Raynal	depends on TPM_V1 && TPM_V2
99f9ce3c3SMiquel Raynal
109f9ce3c3SMiquel Raynalconfig TPM_V1
119f9ce3c3SMiquel Raynal	bool "TPMv1.x support"
129f9ce3c3SMiquel Raynal	depends on TPM
139f9ce3c3SMiquel Raynal	default y
149f9ce3c3SMiquel Raynal	help
159f9ce3c3SMiquel Raynal	  Major TPM versions are not compatible at all, choose either
169f9ce3c3SMiquel Raynal	  one or the other. This option enables TPMv1.x drivers/commands.
179f9ce3c3SMiquel Raynal
189f9ce3c3SMiquel Raynalif TPM_V1 && !TPM_V2
199f9ce3c3SMiquel Raynal
20527a0727SSimon Glassconfig TPM_TIS_SANDBOX
21527a0727SSimon Glass	bool "Enable sandbox TPM driver"
229f9ce3c3SMiquel Raynal	depends on TPM_V1 && SANDBOX
23527a0727SSimon Glass	help
24527a0727SSimon Glass	  This driver emulates a TPM, providing access to base functions
25527a0727SSimon Glass	  such as reading and writing TPM private data. This is enough to
26527a0727SSimon Glass	  support Chrome OS verified boot. Extend functionality is not
27527a0727SSimon Glass	  implemented.
28a7d660bcSSimon Glass
29a7d660bcSSimon Glassconfig TPM_ATMEL_TWI
30a7d660bcSSimon Glass	bool "Enable Atmel TWI TPM device driver"
319f9ce3c3SMiquel Raynal	depends on TPM_V1
32a7d660bcSSimon Glass	help
33a7d660bcSSimon Glass	  This driver supports an Atmel TPM device connected on the I2C bus.
34a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
35a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
36a7d660bcSSimon Glass	  protocol
37a7d660bcSSimon Glass
380766ad2fSChristophe Ricardconfig TPM_TIS_INFINEON
39a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
409f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_I2C
41a7d660bcSSimon Glass	help
42a7d660bcSSimon Glass	  This driver supports Infineon TPM devices connected on the I2C bus.
43a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
44a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
45a7d660bcSSimon Glass	  protocol
46a7d660bcSSimon Glass
47a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION
48a7d660bcSSimon Glass	bool "Enable I2C burst length limitation"
49*d677bfe2SMiquel Raynal	depends on TPM_TIS_INFINEON
50a7d660bcSSimon Glass	help
51a7d660bcSSimon Glass	  Some broken TPMs have a limitation on the number of bytes they can
52a7d660bcSSimon Glass	  receive in one message. Enable this option to allow you to set this
53a7d660bcSSimon Glass	  option. The can allow a broken TPM to be used by splitting messages
54a7d660bcSSimon Glass	  into separate pieces.
55a7d660bcSSimon Glass
56a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION_LEN
57a7d660bcSSimon Glass	int "Length"
58a7d660bcSSimon Glass	depends on TPM_TIS_I2C_BURST_LIMITATION
59a7d660bcSSimon Glass	help
60a7d660bcSSimon Glass	  Use this to set the burst limitation length
61a7d660bcSSimon Glass
62a7d660bcSSimon Glassconfig TPM_TIS_LPC
63a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
649f9ce3c3SMiquel Raynal	depends on TPM_V1 && X86
65*d677bfe2SMiquel Raynal	select TPM_DRIVER_SELECTED
66a7d660bcSSimon Glass	help
67ca5bc1bcSChristophe Ricard	  This driver supports Infineon TPM devices connected on the LPC bus.
68a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
69a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
70a7d660bcSSimon Glass	  protocol
71a7d660bcSSimon Glass
72a7d660bcSSimon Glassconfig TPM_AUTH_SESSIONS
73a7d660bcSSimon Glass	bool "Enable TPM authentication session support"
749f9ce3c3SMiquel Raynal	depends on TPM_V1
75a7d660bcSSimon Glass	help
76a7d660bcSSimon Glass	  Enable support for authorised (AUTH1) commands as specified in the
77a7d660bcSSimon Glass	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
78a7d660bcSSimon Glass	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
79a7d660bcSSimon Glass	  available using the 'tpm' command, too.
80a7d660bcSSimon Glass
813aa74088SChristophe Ricardconfig TPM_ST33ZP24_I2C
823aa74088SChristophe Ricard	bool "STMicroelectronics ST33ZP24 I2C TPM"
839f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_I2C
843aa74088SChristophe Ricard	---help---
853aa74088SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the I2C bus.
863aa74088SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
873aa74088SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
883aa74088SChristophe Ricard	  protocol
893aa74088SChristophe Ricard
90b75fdc11SChristophe Ricardconfig TPM_ST33ZP24_SPI
91b75fdc11SChristophe Ricard	bool "STMicroelectronics ST33ZP24 SPI TPM"
929f9ce3c3SMiquel Raynal	depends on TPM_V1 && DM_SPI
93b75fdc11SChristophe Ricard	---help---
94b75fdc11SChristophe Ricard	  This driver supports STMicroelectronics TPM devices connected on the SPI bus.
95b75fdc11SChristophe Ricard	  The usual tpm operations and the 'tpm' command can be used to talk
96b75fdc11SChristophe Ricard	  to the device using the standard TPM Interface Specification (TIS)
97b75fdc11SChristophe Ricard	  protocol
98b75fdc11SChristophe Ricard
997690be35SMario Sixconfig TPM_FLUSH_RESOURCES
1007690be35SMario Six	bool "Enable TPM resource flushing support"
1019f9ce3c3SMiquel Raynal	depends on TPM_V1
1027690be35SMario Six	help
1037690be35SMario Six	  Enable support to flush specific resources (e.g. keys) from the TPM.
1047690be35SMario Six	  The functionality is available via the 'tpm' command as well.
1050f4b2ba1Smario.six@gdsys.cc
1060f4b2ba1Smario.six@gdsys.ccconfig TPM_LOAD_KEY_BY_SHA1
1070f4b2ba1Smario.six@gdsys.cc	bool "Enable TPM key loading by SHA1 support"
1089f9ce3c3SMiquel Raynal	depends on TPM_V1
1090f4b2ba1Smario.six@gdsys.cc	help
1100f4b2ba1Smario.six@gdsys.cc	  Enable support to load keys into the TPM by identifying
1110f4b2ba1Smario.six@gdsys.cc	  their parent via the public key's SHA1 hash.
1120f4b2ba1Smario.six@gdsys.cc	  The functionality is available via the 'tpm' command as well.
1133d1df0e3Smario.six@gdsys.cc
1143d1df0e3Smario.six@gdsys.ccconfig TPM_LIST_RESOURCES
1153d1df0e3Smario.six@gdsys.cc	bool "Enable TPM resource listing support"
1169f9ce3c3SMiquel Raynal	depends on TPM_V1
1173d1df0e3Smario.six@gdsys.cc	help
1183d1df0e3Smario.six@gdsys.cc	  Enable support to list specific resources (e.g. keys) within the TPM.
1193d1df0e3Smario.six@gdsys.cc	  The functionality is available via the 'tpm' command as well.
1209f9ce3c3SMiquel Raynal
1219f9ce3c3SMiquel Raynalendif # TPM_V1
1229f9ce3c3SMiquel Raynal
1239f9ce3c3SMiquel Raynalconfig TPM_V2
1249f9ce3c3SMiquel Raynal	bool "TPMv2.x support"
1259f9ce3c3SMiquel Raynal	depends on TPM
1269f9ce3c3SMiquel Raynal	help
1279f9ce3c3SMiquel Raynal	  Major TPM versions are not compatible at all, choose either
1289f9ce3c3SMiquel Raynal	  one or the other. This option enables TPMv2.x drivers/commands.
1299f9ce3c3SMiquel Raynal
1309f9ce3c3SMiquel Raynalif TPM_V2 && !TPM_V1
1319f9ce3c3SMiquel Raynal
1329f9ce3c3SMiquel Raynalendif # TPM_V2
1339f9ce3c3SMiquel Raynal
134a7d660bcSSimon Glassendmenu
135