1a7d660bcSSimon Glass# 2a7d660bcSSimon Glass# TPM subsystem configuration 3a7d660bcSSimon Glass# 4a7d660bcSSimon Glass 5a7d660bcSSimon Glassmenu "TPM support" 6a7d660bcSSimon Glass 7*9f9ce3c3SMiquel Raynalcomment "Please select only one TPM revision" 8*9f9ce3c3SMiquel Raynal depends on TPM_V1 && TPM_V2 9*9f9ce3c3SMiquel Raynal 10*9f9ce3c3SMiquel Raynalconfig TPM_V1 11*9f9ce3c3SMiquel Raynal bool "TPMv1.x support" 12*9f9ce3c3SMiquel Raynal depends on TPM 13*9f9ce3c3SMiquel Raynal default y 14*9f9ce3c3SMiquel Raynal help 15*9f9ce3c3SMiquel Raynal Major TPM versions are not compatible at all, choose either 16*9f9ce3c3SMiquel Raynal one or the other. This option enables TPMv1.x drivers/commands. 17*9f9ce3c3SMiquel Raynal 18*9f9ce3c3SMiquel Raynalif TPM_V1 && !TPM_V2 19*9f9ce3c3SMiquel Raynal 20527a0727SSimon Glassconfig TPM_TIS_SANDBOX 21527a0727SSimon Glass bool "Enable sandbox TPM driver" 22*9f9ce3c3SMiquel 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" 31*9f9ce3c3SMiquel 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" 40*9f9ce3c3SMiquel 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*9f9ce3c3SMiquel Raynal depends on TPM_V1 && 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" 64*9f9ce3c3SMiquel Raynal depends on TPM_V1 && X86 65a7d660bcSSimon Glass help 66ca5bc1bcSChristophe Ricard This driver supports Infineon TPM devices connected on the LPC bus. 67a7d660bcSSimon Glass The usual tpm operations and the 'tpm' command can be used to talk 68a7d660bcSSimon Glass to the device using the standard TPM Interface Specification (TIS) 69a7d660bcSSimon Glass protocol 70a7d660bcSSimon Glass 71a7d660bcSSimon Glassconfig TPM_AUTH_SESSIONS 72a7d660bcSSimon Glass bool "Enable TPM authentication session support" 73*9f9ce3c3SMiquel Raynal depends on TPM_V1 74a7d660bcSSimon Glass help 75a7d660bcSSimon Glass Enable support for authorised (AUTH1) commands as specified in the 76a7d660bcSSimon Glass TCG Main Specification 1.2. OIAP-authorised versions of the commands 77a7d660bcSSimon Glass TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are 78a7d660bcSSimon Glass available using the 'tpm' command, too. 79a7d660bcSSimon Glass 803aa74088SChristophe Ricardconfig TPM_ST33ZP24_I2C 813aa74088SChristophe Ricard bool "STMicroelectronics ST33ZP24 I2C TPM" 82*9f9ce3c3SMiquel Raynal depends on TPM_V1 && DM_I2C 833aa74088SChristophe Ricard ---help--- 843aa74088SChristophe Ricard This driver supports STMicroelectronics TPM devices connected on the I2C bus. 853aa74088SChristophe Ricard The usual tpm operations and the 'tpm' command can be used to talk 863aa74088SChristophe Ricard to the device using the standard TPM Interface Specification (TIS) 873aa74088SChristophe Ricard protocol 883aa74088SChristophe Ricard 89b75fdc11SChristophe Ricardconfig TPM_ST33ZP24_SPI 90b75fdc11SChristophe Ricard bool "STMicroelectronics ST33ZP24 SPI TPM" 91*9f9ce3c3SMiquel Raynal depends on TPM_V1 && DM_SPI 92b75fdc11SChristophe Ricard ---help--- 93b75fdc11SChristophe Ricard This driver supports STMicroelectronics TPM devices connected on the SPI bus. 94b75fdc11SChristophe Ricard The usual tpm operations and the 'tpm' command can be used to talk 95b75fdc11SChristophe Ricard to the device using the standard TPM Interface Specification (TIS) 96b75fdc11SChristophe Ricard protocol 97b75fdc11SChristophe Ricard 987690be35SMario Sixconfig TPM_FLUSH_RESOURCES 997690be35SMario Six bool "Enable TPM resource flushing support" 100*9f9ce3c3SMiquel Raynal depends on TPM_V1 1017690be35SMario Six help 1027690be35SMario Six Enable support to flush specific resources (e.g. keys) from the TPM. 1037690be35SMario Six The functionality is available via the 'tpm' command as well. 1040f4b2ba1Smario.six@gdsys.cc 1050f4b2ba1Smario.six@gdsys.ccconfig TPM_LOAD_KEY_BY_SHA1 1060f4b2ba1Smario.six@gdsys.cc bool "Enable TPM key loading by SHA1 support" 107*9f9ce3c3SMiquel Raynal depends on TPM_V1 1080f4b2ba1Smario.six@gdsys.cc help 1090f4b2ba1Smario.six@gdsys.cc Enable support to load keys into the TPM by identifying 1100f4b2ba1Smario.six@gdsys.cc their parent via the public key's SHA1 hash. 1110f4b2ba1Smario.six@gdsys.cc The functionality is available via the 'tpm' command as well. 1123d1df0e3Smario.six@gdsys.cc 1133d1df0e3Smario.six@gdsys.ccconfig TPM_LIST_RESOURCES 1143d1df0e3Smario.six@gdsys.cc bool "Enable TPM resource listing support" 115*9f9ce3c3SMiquel Raynal depends on TPM_V1 1163d1df0e3Smario.six@gdsys.cc help 1173d1df0e3Smario.six@gdsys.cc Enable support to list specific resources (e.g. keys) within the TPM. 1183d1df0e3Smario.six@gdsys.cc The functionality is available via the 'tpm' command as well. 119*9f9ce3c3SMiquel Raynal 120*9f9ce3c3SMiquel Raynalendif # TPM_V1 121*9f9ce3c3SMiquel Raynal 122*9f9ce3c3SMiquel Raynalconfig TPM_V2 123*9f9ce3c3SMiquel Raynal bool "TPMv2.x support" 124*9f9ce3c3SMiquel Raynal depends on TPM 125*9f9ce3c3SMiquel Raynal help 126*9f9ce3c3SMiquel Raynal Major TPM versions are not compatible at all, choose either 127*9f9ce3c3SMiquel Raynal one or the other. This option enables TPMv2.x drivers/commands. 128*9f9ce3c3SMiquel Raynal 129*9f9ce3c3SMiquel Raynalif TPM_V2 && !TPM_V1 130*9f9ce3c3SMiquel Raynal 131*9f9ce3c3SMiquel Raynalendif # TPM_V2 132*9f9ce3c3SMiquel Raynal 133a7d660bcSSimon Glassendmenu 134