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