blob: dacb847bdc344182e2b47c0c5d8296d58cbf54a5 [file] [log] [blame]
Simon Glassa7d660b2015-08-22 18:31:19 -06001#
2# TPM subsystem configuration
3#
4
5menu "TPM support"
6
Simon Glassf255d312015-08-22 18:31:31 -06007config DM_TPM
8 bool "Enable driver model for Trusted Platform Module drivers"
9 depends on DM && TPM
10 help
11 Enable driver model for TPMs. The TIS interface (tis_open(),
12 tis_sendrecv(), etc.) is then implemented by the TPM uclass. Note
13 that even with driver model only a single TPM is currently
14 supported, since the tpm library assumes this.
15
Simon Glass527a0722015-03-06 13:19:07 -070016config TPM_TIS_SANDBOX
17 bool "Enable sandbox TPM driver"
Simon Glassa7d660b2015-08-22 18:31:19 -060018 depends on SANDBOX
Simon Glass527a0722015-03-06 13:19:07 -070019 help
20 This driver emulates a TPM, providing access to base functions
21 such as reading and writing TPM private data. This is enough to
22 support Chrome OS verified boot. Extend functionality is not
23 implemented.
Simon Glassa7d660b2015-08-22 18:31:19 -060024
25config TPM_ATMEL_TWI
26 bool "Enable Atmel TWI TPM device driver"
27 depends on TPM
28 help
29 This driver supports an Atmel TPM device connected on the I2C bus.
30 The usual tpm operations and the 'tpm' command can be used to talk
31 to the device using the standard TPM Interface Specification (TIS)
32 protocol
33
Christophe Ricard0766ad22015-10-06 22:54:41 +020034config TPM_TIS_INFINEON
Simon Glassa7d660b2015-08-22 18:31:19 -060035 bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
36 depends on TPM && DM_I2C
37 help
38 This driver supports Infineon TPM devices connected on the I2C bus.
39 The usual tpm operations and the 'tpm' command can be used to talk
40 to the device using the standard TPM Interface Specification (TIS)
41 protocol
42
43config TPM_TIS_I2C_BURST_LIMITATION
44 bool "Enable I2C burst length limitation"
Christophe Ricard0766ad22015-10-06 22:54:41 +020045 depends on TPM_TIS_INFINEON
Simon Glassa7d660b2015-08-22 18:31:19 -060046 help
47 Some broken TPMs have a limitation on the number of bytes they can
48 receive in one message. Enable this option to allow you to set this
49 option. The can allow a broken TPM to be used by splitting messages
50 into separate pieces.
51
52config TPM_TIS_I2C_BURST_LIMITATION_LEN
53 int "Length"
54 depends on TPM_TIS_I2C_BURST_LIMITATION
55 help
56 Use this to set the burst limitation length
57
58config TPM_TIS_LPC
59 bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
60 depends on TPM && X86
61 help
62 This driver supports Infineon TPM devices connected on the I2C bus.
63 The usual tpm operations and the 'tpm' command can be used to talk
64 to the device using the standard TPM Interface Specification (TIS)
65 protocol
66
67config TPM_AUTH_SESSIONS
68 bool "Enable TPM authentication session support"
69 depends on TPM
70 help
71 Enable support for authorised (AUTH1) commands as specified in the
72 TCG Main Specification 1.2. OIAP-authorised versions of the commands
73 TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
74 available using the 'tpm' command, too.
75
76endmenu