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