blob: 53c34612df0aa692279f2cb9982e3a084c13db45 [file] [log] [blame]
Simon Glass350497c2015-08-22 18:31:19 -06001#
2# TPM subsystem configuration
3#
4
5menu "TPM support"
6
Miquel Raynal294f82a2018-05-15 11:57:05 +02007comment "Please select only one TPM revision"
8 depends on TPM_V1 && TPM_V2
9
10config TPM_V1
11 bool "TPMv1.x support"
12 depends on TPM
13 default y
14 help
15 Major TPM versions are not compatible at all, choose either
16 one or the other. This option enables TPMv1.x drivers/commands.
17
18if TPM_V1 && !TPM_V2
19
Simon Glass86232c82015-03-06 13:19:07 -070020config TPM_TIS_SANDBOX
21 bool "Enable sandbox TPM driver"
Miquel Raynal294f82a2018-05-15 11:57:05 +020022 depends on TPM_V1 && SANDBOX
Simon Glass86232c82015-03-06 13:19:07 -070023 help
24 This driver emulates a TPM, providing access to base functions
25 such as reading and writing TPM private data. This is enough to
26 support Chrome OS verified boot. Extend functionality is not
27 implemented.
Simon Glass350497c2015-08-22 18:31:19 -060028
29config TPM_ATMEL_TWI
30 bool "Enable Atmel TWI TPM device driver"
Miquel Raynal294f82a2018-05-15 11:57:05 +020031 depends on TPM_V1
Simon Glass350497c2015-08-22 18:31:19 -060032 help
33 This driver supports an Atmel TPM device connected on the I2C bus.
34 The usual tpm operations and the 'tpm' command can be used to talk
35 to the device using the standard TPM Interface Specification (TIS)
36 protocol
37
Christophe Ricard8759ff82015-10-06 22:54:41 +020038config TPM_TIS_INFINEON
Simon Glass350497c2015-08-22 18:31:19 -060039 bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
Miquel Raynal294f82a2018-05-15 11:57:05 +020040 depends on TPM_V1 && DM_I2C
Simon Glass350497c2015-08-22 18:31:19 -060041 help
42 This driver supports Infineon TPM devices connected on the I2C bus.
43 The usual tpm operations and the 'tpm' command can be used to talk
44 to the device using the standard TPM Interface Specification (TIS)
45 protocol
46
47config TPM_TIS_I2C_BURST_LIMITATION
48 bool "Enable I2C burst length limitation"
Miquel Raynal294f82a2018-05-15 11:57:05 +020049 depends on TPM_V1 && TPM_TIS_INFINEON
Simon Glass350497c2015-08-22 18:31:19 -060050 help
51 Some broken TPMs have a limitation on the number of bytes they can
52 receive in one message. Enable this option to allow you to set this
53 option. The can allow a broken TPM to be used by splitting messages
54 into separate pieces.
55
56config TPM_TIS_I2C_BURST_LIMITATION_LEN
57 int "Length"
58 depends on TPM_TIS_I2C_BURST_LIMITATION
59 help
60 Use this to set the burst limitation length
61
62config TPM_TIS_LPC
63 bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
Miquel Raynal294f82a2018-05-15 11:57:05 +020064 depends on TPM_V1 && X86
Simon Glass350497c2015-08-22 18:31:19 -060065 help
Christophe Ricard628f1d02016-01-21 23:19:14 +010066 This driver supports Infineon TPM devices connected on the LPC bus.
Simon Glass350497c2015-08-22 18:31:19 -060067 The usual tpm operations and the 'tpm' command can be used to talk
68 to the device using the standard TPM Interface Specification (TIS)
69 protocol
70
71config TPM_AUTH_SESSIONS
72 bool "Enable TPM authentication session support"
Miquel Raynal294f82a2018-05-15 11:57:05 +020073 depends on TPM_V1
Simon Glass350497c2015-08-22 18:31:19 -060074 help
75 Enable support for authorised (AUTH1) commands as specified in the
76 TCG Main Specification 1.2. OIAP-authorised versions of the commands
77 TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
78 available using the 'tpm' command, too.
79
Christophe Ricard88249232016-01-21 23:27:13 +010080config TPM_ST33ZP24_I2C
81 bool "STMicroelectronics ST33ZP24 I2C TPM"
Miquel Raynal294f82a2018-05-15 11:57:05 +020082 depends on TPM_V1 && DM_I2C
Christophe Ricard88249232016-01-21 23:27:13 +010083 ---help---
84 This driver supports STMicroelectronics TPM devices connected on the I2C bus.
85 The usual tpm operations and the 'tpm' command can be used to talk
86 to the device using the standard TPM Interface Specification (TIS)
87 protocol
88
Christophe Ricard5ffadc32016-01-21 23:27:14 +010089config TPM_ST33ZP24_SPI
90 bool "STMicroelectronics ST33ZP24 SPI TPM"
Miquel Raynal294f82a2018-05-15 11:57:05 +020091 depends on TPM_V1 && DM_SPI
Christophe Ricard5ffadc32016-01-21 23:27:14 +010092 ---help---
93 This driver supports STMicroelectronics TPM devices connected on the SPI bus.
94 The usual tpm operations and the 'tpm' command can be used to talk
95 to the device using the standard TPM Interface Specification (TIS)
96 protocol
97
Mario Six4eceb6c2017-01-11 16:00:50 +010098config TPM_FLUSH_RESOURCES
99 bool "Enable TPM resource flushing support"
Miquel Raynal294f82a2018-05-15 11:57:05 +0200100 depends on TPM_V1
Mario Six4eceb6c2017-01-11 16:00:50 +0100101 help
102 Enable support to flush specific resources (e.g. keys) from the TPM.
103 The functionality is available via the 'tpm' command as well.
mario.six@gdsys.cca5a7ea22017-03-20 10:28:28 +0100104
105config TPM_LOAD_KEY_BY_SHA1
106 bool "Enable TPM key loading by SHA1 support"
Miquel Raynal294f82a2018-05-15 11:57:05 +0200107 depends on TPM_V1
mario.six@gdsys.cca5a7ea22017-03-20 10:28:28 +0100108 help
109 Enable support to load keys into the TPM by identifying
110 their parent via the public key's SHA1 hash.
111 The functionality is available via the 'tpm' command as well.
mario.six@gdsys.cca5bfcc52017-03-20 10:28:30 +0100112
113config TPM_LIST_RESOURCES
114 bool "Enable TPM resource listing support"
Miquel Raynal294f82a2018-05-15 11:57:05 +0200115 depends on TPM_V1
mario.six@gdsys.cca5bfcc52017-03-20 10:28:30 +0100116 help
117 Enable support to list specific resources (e.g. keys) within the TPM.
118 The functionality is available via the 'tpm' command as well.
Miquel Raynal294f82a2018-05-15 11:57:05 +0200119
120endif # TPM_V1
121
122config TPM_V2
123 bool "TPMv2.x support"
124 depends on TPM
125 help
126 Major TPM versions are not compatible at all, choose either
127 one or the other. This option enables TPMv2.x drivers/commands.
128
129if TPM_V2 && !TPM_V1
130
131endif # TPM_V2
132
Simon Glass350497c2015-08-22 18:31:19 -0600133endmenu