blob: a30352202f1fdc53f411d1bd6a31ef6386612570 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001#
2# TPM device configuration
3#
4
5menuconfig TCG_TPM
6 tristate "TPM Hardware Support"
7 depends on HAS_IOMEM
8 select SECURITYFS
9 select CRYPTO
10 select CRYPTO_HASH_INFO
11 ---help---
12 If you have a TPM security chip in your system, which
13 implements the Trusted Computing Group's specification,
14 say Yes and it will be accessible from within Linux. For
15 more information see <http://www.trustedcomputinggroup.org>.
16 An implementation of the Trusted Software Stack (TSS), the
17 userspace enablement piece of the specification, can be
18 obtained at: <http://sourceforge.net/projects/trousers>. To
19 compile this driver as a module, choose M here; the module
20 will be called tpm. If unsure, say N.
21 Notes:
22 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
23 and CONFIG_PNPACPI.
24 2) Without ACPI enabled, the BIOS event log won't be accessible,
25 which is required to validate the PCR 0-7 values.
26
27if TCG_TPM
28
29config TCG_TIS_CORE
30 tristate
31 ---help---
32 TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
33 into the TPM kernel APIs. Physical layers will register against it.
34
35config TCG_TIS
36 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
37 depends on X86 || OF
38 select TCG_TIS_CORE
39 ---help---
40 If you have a TPM security chip that is compliant with the
41 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
42 specification (TPM2.0) say Yes and it will be accessible from
43 within Linux. To compile this driver as a module, choose M here;
44 the module will be called tpm_tis.
45
46config TCG_TIS_SPI
47 tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)"
48 depends on SPI
49 select TCG_TIS_CORE
50 ---help---
51 If you have a TPM security chip which is connected to a regular,
52 non-tcg SPI master (i.e. most embedded platforms) that is compliant with the
53 TCG TIS 1.3 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_spi.
57
58config TCG_TIS_I2C_ATMEL
59 tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)"
60 depends on I2C
61 ---help---
62 If you have an Atmel I2C TPM security chip say Yes and it will be
63 accessible from within Linux.
64 To compile this driver as a module, choose M here; the module will
65 be called tpm_tis_i2c_atmel.
66
67config TCG_TIS_I2C_INFINEON
68 tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)"
69 depends on I2C
70 ---help---
71 If you have a TPM security chip that is compliant with the
72 TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack
73 Specification 0.20 say Yes and it will be accessible from within
74 Linux.
75 To compile this driver as a module, choose M here; the module
76 will be called tpm_i2c_infineon.
77
78config TCG_TIS_I2C_NUVOTON
79 tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)"
80 depends on I2C
81 ---help---
82 If you have a TPM security chip with an I2C interface from
83 Nuvoton Technology Corp. say Yes and it will be accessible
84 from within Linux.
85 To compile this driver as a module, choose M here; the module
86 will be called tpm_i2c_nuvoton.
87
88config TCG_NSC
89 tristate "National Semiconductor TPM Interface"
90 depends on X86
91 ---help---
92 If you have a TPM security chip from National Semiconductor
93 say Yes and it will be accessible from within Linux. To
94 compile this driver as a module, choose M here; the module
95 will be called tpm_nsc.
96
97config TCG_ATMEL
98 tristate "Atmel TPM Interface"
99 depends on PPC64 || HAS_IOPORT_MAP
100 ---help---
101 If you have a TPM security chip from Atmel say Yes and it
102 will be accessible from within Linux. To compile this driver
103 as a module, choose M here; the module will be called tpm_atmel.
104
105config TCG_INFINEON
106 tristate "Infineon Technologies TPM Interface"
107 depends on PNP
108 ---help---
109 If you have a TPM security chip from Infineon Technologies
110 (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it
111 will be accessible from within Linux.
112 To compile this driver as a module, choose M here; the module
113 will be called tpm_infineon.
114 Further information on this driver and the supported hardware
115 can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
116
117config TCG_IBMVTPM
118 tristate "IBM VTPM Interface"
119 depends on PPC_PSERIES
120 ---help---
121 If you have IBM virtual TPM (VTPM) support say Yes and it
122 will be accessible from within Linux. To compile this driver
123 as a module, choose M here; the module will be called tpm_ibmvtpm.
124
125config TCG_XEN
126 tristate "XEN TPM Interface"
127 depends on TCG_TPM && XEN
128 select XEN_XENBUS_FRONTEND
129 ---help---
130 If you want to make TPM support available to a Xen user domain,
131 say Yes and it will be accessible from within Linux. See
132 the manpages for xl, xl.conf, and docs/misc/vtpm.txt in
133 the Xen source repository for more details.
134 To compile this driver as a module, choose M here; the module
135 will be called xen-tpmfront.
136
137config TCG_CRB
138 tristate "TPM 2.0 CRB Interface"
139 depends on ACPI
140 ---help---
141 If you have a TPM security chip that is compliant with the
142 TCG CRB 2.0 TPM specification say Yes and it will be accessible
143 from within Linux. To compile this driver as a module, choose
144 M here; the module will be called tpm_crb.
145
146config TCG_VTPM_PROXY
147 tristate "VTPM Proxy Interface"
148 depends on TCG_TPM
149 select ANON_INODES
150 ---help---
151 This driver proxies for an emulated TPM (vTPM) running in userspace.
152 A device /dev/vtpmx is provided that creates a device pair
153 /dev/vtpmX and a server-side file descriptor on which the vTPM
154 can receive commands.
155
156
157source "drivers/char/tpm/st33zp24/Kconfig"
158endif # TCG_TPM