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