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