Kconfig 4.61 KB
Newer Older
1
2
3
4
5
6
#
# TPM subsystem configuration
#

menu "TPM support"

7
8
9
10
11
12
13
14
config TPM_V1
	bool "TPMv1.x support"
	depends on TPM
	default y
	help
	  Major TPM versions are not compatible at all, choose either
	  one or the other. This option enables TPMv1.x drivers/commands.

15
if TPM_V1
16

17
18
config TPM_TIS_SANDBOX
	bool "Enable sandbox TPM driver"
19
	depends on TPM_V1 && SANDBOX
20
	default y
21
	help
22
	  This driver emulates a TPMv1.x, providing access to base functions
23
24
25
	  such as reading and writing TPM private data. This is enough to
	  support Chrome OS verified boot. Extend functionality is not
	  implemented.
26
27
28

config TPM_ATMEL_TWI
	bool "Enable Atmel TWI TPM device driver"
29
	depends on TPM_V1
30
31
32
33
34
35
	help
	  This driver supports an Atmel TPM device connected on the I2C bus.
	  The usual tpm operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol

36
config TPM_TIS_INFINEON
37
	bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
38
	depends on TPM_V1 && DM_I2C
39
40
41
42
43
44
45
46
	help
	  This driver supports Infineon TPM devices connected on the I2C bus.
	  The usual tpm operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol

config TPM_TIS_I2C_BURST_LIMITATION
	bool "Enable I2C burst length limitation"
47
	depends on TPM_TIS_INFINEON
48
49
50
51
52
53
54
55
56
57
58
59
60
61
	help
	  Some broken TPMs have a limitation on the number of bytes they can
	  receive in one message. Enable this option to allow you to set this
	  option. The can allow a broken TPM to be used by splitting messages
	  into separate pieces.

config TPM_TIS_I2C_BURST_LIMITATION_LEN
	int "Length"
	depends on TPM_TIS_I2C_BURST_LIMITATION
	help
	  Use this to set the burst limitation length

config TPM_TIS_LPC
	bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
62
	depends on TPM_V1 && X86
63
	help
Christophe Ricard's avatar
Christophe Ricard committed
64
	  This driver supports Infineon TPM devices connected on the LPC bus.
65
66
67
68
69
70
	  The usual tpm operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol

config TPM_AUTH_SESSIONS
	bool "Enable TPM authentication session support"
71
	depends on TPM_V1
72
73
74
75
76
77
	help
	  Enable support for authorised (AUTH1) commands as specified in the
	  TCG Main Specification 1.2. OIAP-authorised versions of the commands
	  TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
	  available using the 'tpm' command, too.

78
79
config TPM_ST33ZP24_I2C
	bool "STMicroelectronics ST33ZP24 I2C TPM"
80
	depends on TPM_V1 && DM_I2C
81
82
83
84
85
86
	---help---
	  This driver supports STMicroelectronics TPM devices connected on the I2C bus.
	  The usual tpm operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol

87
88
config TPM_ST33ZP24_SPI
	bool "STMicroelectronics ST33ZP24 SPI TPM"
89
	depends on TPM_V1 && DM_SPI
90
91
92
93
94
95
	---help---
	  This driver supports STMicroelectronics TPM devices connected on the SPI bus.
	  The usual tpm operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol

96
97
config TPM_FLUSH_RESOURCES
	bool "Enable TPM resource flushing support"
98
	depends on TPM_V1
99
100
101
	help
	  Enable support to flush specific resources (e.g. keys) from the TPM.
	  The functionality is available via the 'tpm' command as well.
102
103
104

config TPM_LOAD_KEY_BY_SHA1
	bool "Enable TPM key loading by SHA1 support"
105
	depends on TPM_V1
106
107
108
109
	help
	  Enable support to load keys into the TPM by identifying
	  their parent via the public key's SHA1 hash.
	  The functionality is available via the 'tpm' command as well.
110
111
112

config TPM_LIST_RESOURCES
	bool "Enable TPM resource listing support"
113
	depends on TPM_V1
114
115
116
	help
	  Enable support to list specific resources (e.g. keys) within the TPM.
	  The functionality is available via the 'tpm' command as well.
117
118
119
120
121
122

endif # TPM_V1

config TPM_V2
	bool "TPMv2.x support"
	depends on TPM
123
	default y
124
125
126
127
	help
	  Major TPM versions are not compatible at all, choose either
	  one or the other. This option enables TPMv2.x drivers/commands.

128
if TPM_V2
129

130
131
132
config TPM2_TIS_SANDBOX
	bool "Enable sandbox TPMv2.x driver"
	depends on TPM_V2 && SANDBOX
133
	default y
134
135
136
137
138
	help
	  This driver emulates a TPMv2.x, providing access to base functions
	  such as basic configuration, PCR extension and PCR read. Extended
	  functionalities are not implemented.

139
140
141
142
143
144
145
146
147
config TPM2_TIS_SPI
	bool "Enable support for TPMv2.x SPI chips"
	depends on TPM_V2 && DM_SPI
	help
	  This driver supports TPMv2.x devices connected on the SPI bus.
	  The usual TPM operations and the 'tpm' command can be used to talk
	  to the device using the standard TPM Interface Specification (TIS)
	  protocol.

148
149
endif # TPM_V2

150
endmenu