]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - drivers/char/tpm/Kconfig
treewide: Add SPDX license identifier - Makefile/Kconfig
[mirror_ubuntu-hirsute-kernel.git] / drivers / char / tpm / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# TPM device configuration
4#
5
7126b75c 6menuconfig TCG_TPM
1da177e4 7 tristate "TPM Hardware Support"
7126b75c 8 depends on HAS_IOMEM
2f7d8dbb 9 imply SECURITYFS
4bf4b4ed 10 select CRYPTO
c1f92b4b 11 select CRYPTO_HASH_INFO
1da177e4
LT
12 ---help---
13 If you have a TPM security chip in your system, which
14 implements the Trusted Computing Group's specification,
15 say Yes and it will be accessible from within Linux. For
16 more information see <http://www.trustedcomputinggroup.org>.
17 An implementation of the Trusted Software Stack (TSS), the
18 userspace enablement piece of the specification, can be
19 obtained at: <http://sourceforge.net/projects/trousers>. To
20 compile this driver as a module, choose M here; the module
21 will be called tpm. If unsure, say N.
7f2ab000
RA
22 Notes:
23 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
ec4a162a 24 and CONFIG_PNPACPI.
7f2ab000
RA
25 2) Without ACPI enabled, the BIOS event log won't be accessible,
26 which is required to validate the PCR 0-7 values.
1da177e4 27
7126b75c
JE
28if TCG_TPM
29
6e592a06
JG
30config HW_RANDOM_TPM
31 bool "TPM HW Random Number Generator support"
32 depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
33 default y
34 ---help---
35 This setting exposes the TPM's Random Number Generator as a hwrng
36 device. This allows the kernel to collect randomness from the TPM at
37 boot, and provides the TPM randomines in /dev/hwrng.
38
39 If unsure, say Y.
40
41a5e1cf
CR
41config TCG_TIS_CORE
42 tristate
43 ---help---
44 TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
45 into the TPM kernel APIs. Physical layers will register against it.
46
27084efe 47config TCG_TIS
44506436 48 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
420d4398 49 depends on X86 || OF
41a5e1cf 50 select TCG_TIS_CORE
27084efe
LD
51 ---help---
52 If you have a TPM security chip that is compliant with the
44506436
PH
53 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
54 specification (TPM2.0) say Yes and it will be accessible from
55 within Linux. To compile this driver as a module, choose M here;
56 the module will be called tpm_tis.
27084efe 57
0edbfea5
CR
58config TCG_TIS_SPI
59 tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)"
60 depends on SPI
61 select TCG_TIS_CORE
62 ---help---
63 If you have a TPM security chip which is connected to a regular,
64 non-tcg SPI master (i.e. most embedded platforms) that is compliant with the
65 TCG TIS 1.3 TPM specification (TPM1.2) or the TCG PTP FIFO
66 specification (TPM2.0) say Yes and it will be accessible from
67 within Linux. To compile this driver as a module, choose M here;
68 the module will be called tpm_tis_spi.
69
a2871c62
JG
70config TCG_TIS_I2C_ATMEL
71 tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)"
72 depends on I2C
73 ---help---
74 If you have an Atmel I2C TPM security chip say Yes and it will be
75 accessible from within Linux.
76 To compile this driver as a module, choose M here; the module will
77 be called tpm_tis_i2c_atmel.
78
aad628c1
PH
79config TCG_TIS_I2C_INFINEON
80 tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)"
81 depends on I2C
82 ---help---
83 If you have a TPM security chip that is compliant with the
84 TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack
85 Specification 0.20 say Yes and it will be accessible from within
86 Linux.
87 To compile this driver as a module, choose M here; the module
b3f2436a 88 will be called tpm_i2c_infineon.
aad628c1 89
4c336e4b
JG
90config TCG_TIS_I2C_NUVOTON
91 tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)"
92 depends on I2C
93 ---help---
94 If you have a TPM security chip with an I2C interface from
95 Nuvoton Technology Corp. say Yes and it will be accessible
96 from within Linux.
97 To compile this driver as a module, choose M here; the module
98 will be called tpm_i2c_nuvoton.
99
1da177e4
LT
100config TCG_NSC
101 tristate "National Semiconductor TPM Interface"
2f592f2a 102 depends on X86
1da177e4 103 ---help---
3dde6ad8 104 If you have a TPM security chip from National Semiconductor
1da177e4
LT
105 say Yes and it will be accessible from within Linux. To
106 compile this driver as a module, choose M here; the module
107 will be called tpm_nsc.
108
109config TCG_ATMEL
110 tristate "Atmel TPM Interface"
ce816fa8 111 depends on PPC64 || HAS_IOPORT_MAP
1da177e4
LT
112 ---help---
113 If you have a TPM security chip from Atmel say Yes and it
114 will be accessible from within Linux. To compile this driver
115 as a module, choose M here; the module will be called tpm_atmel.
116
ebb81fdb 117config TCG_INFINEON
f9abb020 118 tristate "Infineon Technologies TPM Interface"
cedb27de 119 depends on PNP
ebb81fdb
MS
120 ---help---
121 If you have a TPM security chip from Infineon Technologies
f9abb020
MS
122 (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it
123 will be accessible from within Linux.
124 To compile this driver as a module, choose M here; the module
ebb81fdb
MS
125 will be called tpm_infineon.
126 Further information on this driver and the supported hardware
631dd1a8 127 can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
ebb81fdb 128
132f7629
AL
129config TCG_IBMVTPM
130 tristate "IBM VTPM Interface"
5b266032 131 depends on PPC_PSERIES
132f7629
AL
132 ---help---
133 If you have IBM virtual TPM (VTPM) support say Yes and it
134 will be accessible from within Linux. To compile this driver
135 as a module, choose M here; the module will be called tpm_ibmvtpm.
136
e2683957
DDG
137config TCG_XEN
138 tristate "XEN TPM Interface"
139 depends on TCG_TPM && XEN
713efcab 140 select XEN_XENBUS_FRONTEND
e2683957
DDG
141 ---help---
142 If you want to make TPM support available to a Xen user domain,
143 say Yes and it will be accessible from within Linux. See
144 the manpages for xl, xl.conf, and docs/misc/vtpm.txt in
145 the Xen source repository for more details.
146 To compile this driver as a module, choose M here; the module
147 will be called xen-tpmfront.
148
30fc8d13
JS
149config TCG_CRB
150 tristate "TPM 2.0 CRB Interface"
08eff49d 151 depends on ACPI
30fc8d13
JS
152 ---help---
153 If you have a TPM security chip that is compliant with the
154 TCG CRB 2.0 TPM specification say Yes and it will be accessible
155 from within Linux. To compile this driver as a module, choose
156 M here; the module will be called tpm_crb.
157
6f99612e
SB
158config TCG_VTPM_PROXY
159 tristate "VTPM Proxy Interface"
160 depends on TCG_TPM
161 ---help---
162 This driver proxies for an emulated TPM (vTPM) running in userspace.
163 A device /dev/vtpmx is provided that creates a device pair
164 /dev/vtpmX and a server-side file descriptor on which the vTPM
165 can receive commands.
166
167
bf38b871 168source "drivers/char/tpm/st33zp24/Kconfig"
7126b75c 169endif # TCG_TPM