hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/char/tpm/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # TPM device configuration
34 #
....@@ -5,10 +6,10 @@
56 menuconfig TCG_TPM
67 tristate "TPM Hardware Support"
78 depends on HAS_IOMEM
8
- select SECURITYFS
9
+ imply SECURITYFS
910 select CRYPTO
1011 select CRYPTO_HASH_INFO
11
- ---help---
12
+ help
1213 If you have a TPM security chip in your system, which
1314 implements the Trusted Computing Group's specification,
1415 say Yes and it will be accessible from within Linux. For
....@@ -30,7 +31,7 @@
3031 bool "TPM HW Random Number Generator support"
3132 depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
3233 default y
33
- ---help---
34
+ help
3435 This setting exposes the TPM's Random Number Generator as a hwrng
3536 device. This allows the kernel to collect randomness from the TPM at
3637 boot, and provides the TPM randomines in /dev/hwrng.
....@@ -39,7 +40,7 @@
3940
4041 config TCG_TIS_CORE
4142 tristate
42
- ---help---
43
+ help
4344 TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
4445 into the TPM kernel APIs. Physical layers will register against it.
4546
....@@ -47,7 +48,7 @@
4748 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
4849 depends on X86 || OF
4950 select TCG_TIS_CORE
50
- ---help---
51
+ help
5152 If you have a TPM security chip that is compliant with the
5253 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
5354 specification (TPM2.0) say Yes and it will be accessible from
....@@ -58,7 +59,7 @@
5859 tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)"
5960 depends on SPI
6061 select TCG_TIS_CORE
61
- ---help---
62
+ help
6263 If you have a TPM security chip which is connected to a regular,
6364 non-tcg SPI master (i.e. most embedded platforms) that is compliant with the
6465 TCG TIS 1.3 TPM specification (TPM1.2) or the TCG PTP FIFO
....@@ -66,10 +67,29 @@
6667 within Linux. To compile this driver as a module, choose M here;
6768 the module will be called tpm_tis_spi.
6869
70
+config TCG_TIS_SPI_CR50
71
+ bool "Cr50 SPI Interface"
72
+ depends on TCG_TIS_SPI
73
+ help
74
+ If you have a H1 secure module running Cr50 firmware on SPI bus,
75
+ say Yes and it will be accessible from within Linux.
76
+
77
+config TCG_TIS_SYNQUACER
78
+ tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface (MMIO - SynQuacer)"
79
+ depends on ARCH_SYNQUACER
80
+ select TCG_TIS_CORE
81
+ help
82
+ If you have a TPM security chip that is compliant with the
83
+ TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
84
+ specification (TPM2.0) say Yes and it will be accessible from
85
+ within Linux on Socionext SynQuacer platform.
86
+ To compile this driver as a module, choose M here;
87
+ the module will be called tpm_tis_synquacer.
88
+
6989 config TCG_TIS_I2C_ATMEL
7090 tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)"
7191 depends on I2C
72
- ---help---
92
+ help
7393 If you have an Atmel I2C TPM security chip say Yes and it will be
7494 accessible from within Linux.
7595 To compile this driver as a module, choose M here; the module will
....@@ -78,7 +98,7 @@
7898 config TCG_TIS_I2C_INFINEON
7999 tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)"
80100 depends on I2C
81
- ---help---
101
+ help
82102 If you have a TPM security chip that is compliant with the
83103 TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack
84104 Specification 0.20 say Yes and it will be accessible from within
....@@ -89,7 +109,7 @@
89109 config TCG_TIS_I2C_NUVOTON
90110 tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)"
91111 depends on I2C
92
- ---help---
112
+ help
93113 If you have a TPM security chip with an I2C interface from
94114 Nuvoton Technology Corp. say Yes and it will be accessible
95115 from within Linux.
....@@ -99,7 +119,7 @@
99119 config TCG_NSC
100120 tristate "National Semiconductor TPM Interface"
101121 depends on X86
102
- ---help---
122
+ help
103123 If you have a TPM security chip from National Semiconductor
104124 say Yes and it will be accessible from within Linux. To
105125 compile this driver as a module, choose M here; the module
....@@ -108,7 +128,7 @@
108128 config TCG_ATMEL
109129 tristate "Atmel TPM Interface"
110130 depends on PPC64 || HAS_IOPORT_MAP
111
- ---help---
131
+ help
112132 If you have a TPM security chip from Atmel say Yes and it
113133 will be accessible from within Linux. To compile this driver
114134 as a module, choose M here; the module will be called tpm_atmel.
....@@ -116,7 +136,7 @@
116136 config TCG_INFINEON
117137 tristate "Infineon Technologies TPM Interface"
118138 depends on PNP
119
- ---help---
139
+ help
120140 If you have a TPM security chip from Infineon Technologies
121141 (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it
122142 will be accessible from within Linux.
....@@ -128,7 +148,7 @@
128148 config TCG_IBMVTPM
129149 tristate "IBM VTPM Interface"
130150 depends on PPC_PSERIES
131
- ---help---
151
+ help
132152 If you have IBM virtual TPM (VTPM) support say Yes and it
133153 will be accessible from within Linux. To compile this driver
134154 as a module, choose M here; the module will be called tpm_ibmvtpm.
....@@ -137,7 +157,7 @@
137157 tristate "XEN TPM Interface"
138158 depends on TCG_TPM && XEN
139159 select XEN_XENBUS_FRONTEND
140
- ---help---
160
+ help
141161 If you want to make TPM support available to a Xen user domain,
142162 say Yes and it will be accessible from within Linux. See
143163 the manpages for xl, xl.conf, and docs/misc/vtpm.txt in
....@@ -148,7 +168,7 @@
148168 config TCG_CRB
149169 tristate "TPM 2.0 CRB Interface"
150170 depends on ACPI
151
- ---help---
171
+ help
152172 If you have a TPM security chip that is compliant with the
153173 TCG CRB 2.0 TPM specification say Yes and it will be accessible
154174 from within Linux. To compile this driver as a module, choose
....@@ -157,12 +177,17 @@
157177 config TCG_VTPM_PROXY
158178 tristate "VTPM Proxy Interface"
159179 depends on TCG_TPM
160
- ---help---
180
+ help
161181 This driver proxies for an emulated TPM (vTPM) running in userspace.
162182 A device /dev/vtpmx is provided that creates a device pair
163183 /dev/vtpmX and a server-side file descriptor on which the vTPM
164184 can receive commands.
165185
186
+config TCG_FTPM_TEE
187
+ tristate "TEE based fTPM Interface"
188
+ depends on TEE && OPTEE
189
+ help
190
+ This driver proxies for firmware TPM running in TEE.
166191
167192 source "drivers/char/tpm/st33zp24/Kconfig"
168193 endif # TCG_TPM