xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision 2419cd16a1357a6d0f394b4631ea07b4f9e85ac7)
1a7d660bcSSimon Glass#
2a7d660bcSSimon Glass# TPM subsystem configuration
3a7d660bcSSimon Glass#
4a7d660bcSSimon Glass
5a7d660bcSSimon Glassmenu "TPM support"
6a7d660bcSSimon Glass
7527a0727SSimon Glassconfig TPM_TIS_SANDBOX
8527a0727SSimon Glass	bool "Enable sandbox TPM driver"
9a7d660bcSSimon Glass	depends on SANDBOX
10527a0727SSimon Glass	help
11527a0727SSimon Glass	  This driver emulates a TPM, providing access to base functions
12527a0727SSimon Glass	  such as reading and writing TPM private data. This is enough to
13527a0727SSimon Glass	  support Chrome OS verified boot. Extend functionality is not
14527a0727SSimon Glass	  implemented.
15a7d660bcSSimon Glass
16a7d660bcSSimon Glassconfig TPM_ATMEL_TWI
17a7d660bcSSimon Glass	bool "Enable Atmel TWI TPM device driver"
18*2419cd16SSimon Glass	depends on TPM && DM_I2C
19a7d660bcSSimon Glass	help
20a7d660bcSSimon Glass	  This driver supports an Atmel TPM device connected on the I2C bus.
21a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
22a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
23a7d660bcSSimon Glass	  protocol
24a7d660bcSSimon Glass
250766ad2fSChristophe Ricardconfig TPM_TIS_INFINEON
26a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
27*2419cd16SSimon Glass	depends on TPM && DM_I2C
28a7d660bcSSimon Glass	help
29a7d660bcSSimon Glass	  This driver supports Infineon TPM devices connected on the I2C bus.
30a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
31a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
32a7d660bcSSimon Glass	  protocol
33a7d660bcSSimon Glass
34a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION
35a7d660bcSSimon Glass	bool "Enable I2C burst length limitation"
360766ad2fSChristophe Ricard	depends on TPM_TIS_INFINEON
37a7d660bcSSimon Glass	help
38a7d660bcSSimon Glass	  Some broken TPMs have a limitation on the number of bytes they can
39a7d660bcSSimon Glass	  receive in one message. Enable this option to allow you to set this
40a7d660bcSSimon Glass	  option. The can allow a broken TPM to be used by splitting messages
41a7d660bcSSimon Glass	  into separate pieces.
42a7d660bcSSimon Glass
43a7d660bcSSimon Glassconfig TPM_TIS_I2C_BURST_LIMITATION_LEN
44a7d660bcSSimon Glass	int "Length"
45a7d660bcSSimon Glass	depends on TPM_TIS_I2C_BURST_LIMITATION
46a7d660bcSSimon Glass	help
47a7d660bcSSimon Glass	  Use this to set the burst limitation length
48a7d660bcSSimon Glass
49a7d660bcSSimon Glassconfig TPM_TIS_LPC
50a7d660bcSSimon Glass	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
51*2419cd16SSimon Glass	depends on TPM && X86
52a7d660bcSSimon Glass	help
53a7d660bcSSimon Glass	  This driver supports Infineon TPM devices connected on the I2C bus.
54a7d660bcSSimon Glass	  The usual tpm operations and the 'tpm' command can be used to talk
55a7d660bcSSimon Glass	  to the device using the standard TPM Interface Specification (TIS)
56a7d660bcSSimon Glass	  protocol
57a7d660bcSSimon Glass
58a7d660bcSSimon Glassconfig TPM_AUTH_SESSIONS
59a7d660bcSSimon Glass	bool "Enable TPM authentication session support"
60a7d660bcSSimon Glass	depends on TPM
61a7d660bcSSimon Glass	help
62a7d660bcSSimon Glass	  Enable support for authorised (AUTH1) commands as specified in the
63a7d660bcSSimon Glass	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
64a7d660bcSSimon Glass	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
65a7d660bcSSimon Glass	  available using the 'tpm' command, too.
66a7d660bcSSimon Glass
67a7d660bcSSimon Glassendmenu
68