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