xref: /openbmc/u-boot/drivers/tpm/Kconfig (revision e652e130)
1#
2# TPM subsystem configuration
3#
4
5menu "TPM support"
6
7config TPM_TIS_SANDBOX
8	bool "Enable sandbox TPM driver"
9	depends on SANDBOX
10	help
11	  This driver emulates a TPM, providing access to base functions
12	  such as reading and writing TPM private data. This is enough to
13	  support Chrome OS verified boot. Extend functionality is not
14	  implemented.
15
16config TPM_ATMEL_TWI
17	bool "Enable Atmel TWI TPM device driver"
18	depends on TPM
19	help
20	  This driver supports an Atmel TPM device connected on the I2C bus.
21	  The usual tpm operations and the 'tpm' command can be used to talk
22	  to the device using the standard TPM Interface Specification (TIS)
23	  protocol
24
25config TPM_TIS_INFINEON
26	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
27	depends on TPM && DM_I2C
28	help
29	  This driver supports Infineon TPM devices 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
34config TPM_TIS_I2C_BURST_LIMITATION
35	bool "Enable I2C burst length limitation"
36	depends on TPM_TIS_INFINEON
37	help
38	  Some broken TPMs have a limitation on the number of bytes they can
39	  receive in one message. Enable this option to allow you to set this
40	  option. The can allow a broken TPM to be used by splitting messages
41	  into separate pieces.
42
43config TPM_TIS_I2C_BURST_LIMITATION_LEN
44	int "Length"
45	depends on TPM_TIS_I2C_BURST_LIMITATION
46	help
47	  Use this to set the burst limitation length
48
49config TPM_TIS_LPC
50	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
51	depends on TPM && X86
52	help
53	  This driver supports Infineon TPM devices connected on the LPC bus.
54	  The usual tpm operations and the 'tpm' command can be used to talk
55	  to the device using the standard TPM Interface Specification (TIS)
56	  protocol
57
58config TPM_AUTH_SESSIONS
59	bool "Enable TPM authentication session support"
60	depends on TPM
61	help
62	  Enable support for authorised (AUTH1) commands as specified in the
63	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
64	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
65	  available using the 'tpm' command, too.
66
67config TPM_ST33ZP24_I2C
68	bool "STMicroelectronics ST33ZP24 I2C TPM"
69	depends on TPM && DM_I2C
70	---help---
71	  This driver supports STMicroelectronics TPM devices connected on the I2C bus.
72	  The usual tpm operations and the 'tpm' command can be used to talk
73	  to the device using the standard TPM Interface Specification (TIS)
74	  protocol
75
76config TPM_ST33ZP24_SPI
77	bool "STMicroelectronics ST33ZP24 SPI TPM"
78	depends on TPM && DM_SPI
79	---help---
80	  This driver supports STMicroelectronics TPM devices connected on the SPI bus.
81	  The usual tpm operations and the 'tpm' command can be used to talk
82	  to the device using the standard TPM Interface Specification (TIS)
83	  protocol
84
85config TPM_FLUSH_RESOURCES
86	bool "Enable TPM resource flushing support"
87	depends on TPM
88	help
89	  Enable support to flush specific resources (e.g. keys) from the TPM.
90	  The functionality is available via the 'tpm' command as well.
91
92config TPM_LOAD_KEY_BY_SHA1
93	bool "Enable TPM key loading by SHA1 support"
94	depends on TPM
95	help
96	  Enable support to load keys into the TPM by identifying
97	  their parent via the public key's SHA1 hash.
98	  The functionality is available via the 'tpm' command as well.
99
100config TPM_LIST_RESOURCES
101	bool "Enable TPM resource listing support"
102	depends on TPM
103	help
104	  Enable support to list specific resources (e.g. keys) within the TPM.
105	  The functionality is available via the 'tpm' command as well.
106endmenu
107