xref: /openbmc/linux/drivers/char/tpm/Kconfig (revision efe4a1ac)
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
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
159