blob: 3ab652cbcde69a6c153fdf2c5df845a9dbbd0660 [file] [log] [blame]
Simon Glass350497c2015-08-22 18:31:19 -06001#
2# TPM subsystem configuration
3#
4
5menu "TPM support"
6
Simon Glass6c7a2322015-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 Glass86232c82015-03-06 13:19:07 -070016config TPM_TIS_SANDBOX
17 bool "Enable sandbox TPM driver"
Simon Glass350497c2015-08-22 18:31:19 -060018 depends on SANDBOX
Simon Glass86232c82015-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 Glass350497c2015-08-22 18:31:19 -060024
25config TPM_ATMEL_TWI
26 bool "Enable Atmel TWI TPM device driver"
Christophe Ricardfe9563a2015-10-06 22:54:44 +020027 depends on DM_TPM && DM_I2C
Simon Glass350497c2015-08-22 18:31:19 -060028 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 Ricard8759ff82015-10-06 22:54:41 +020034config TPM_TIS_INFINEON
Simon Glass350497c2015-08-22 18:31:19 -060035 bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
Christophe Ricardfe9563a2015-10-06 22:54:44 +020036 depends on DM_TPM && DM_I2C
Simon Glass350497c2015-08-22 18:31:19 -060037 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 Ricard8759ff82015-10-06 22:54:41 +020045 depends on TPM_TIS_INFINEON
Simon Glass350497c2015-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"
Christophe Ricardfe9563a2015-10-06 22:54:44 +020060 depends on DM_TPM && X86
Simon Glass350497c2015-08-22 18:31:19 -060061 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