1# 2# TPM device configuration 3# 4 5menuconfig TCG_TPM 6 tristate "TPM Hardware Support" 7 depends on HAS_IOMEM 8 imply 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 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 40config 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 46config TCG_TIS 47 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface" 48 depends on X86 || OF 49 select TCG_TIS_CORE 50 ---help--- 51 If you have a TPM security chip that is compliant with the 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. 56 57config 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 69config 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 78config 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 87 will be called tpm_i2c_infineon. 88 89config 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 99config TCG_NSC 100 tristate "National Semiconductor TPM Interface" 101 depends on X86 102 ---help--- 103 If you have a TPM security chip from National Semiconductor 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 108config TCG_ATMEL 109 tristate "Atmel TPM Interface" 110 depends on PPC64 || HAS_IOPORT_MAP 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 116config TCG_INFINEON 117 tristate "Infineon Technologies TPM Interface" 118 depends on PNP 119 ---help--- 120 If you have a TPM security chip from Infineon Technologies 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 124 will be called tpm_infineon. 125 Further information on this driver and the supported hardware 126 can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/ 127 128config TCG_IBMVTPM 129 tristate "IBM VTPM Interface" 130 depends on PPC_PSERIES 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 136config TCG_XEN 137 tristate "XEN TPM Interface" 138 depends on TCG_TPM && XEN 139 select XEN_XENBUS_FRONTEND 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 148config TCG_CRB 149 tristate "TPM 2.0 CRB Interface" 150 depends on ACPI 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 157config TCG_VTPM_PROXY 158 tristate "VTPM Proxy Interface" 159 depends on TCG_TPM 160 ---help--- 161 This driver proxies for an emulated TPM (vTPM) running in userspace. 162 A device /dev/vtpmx is provided that creates a device pair 163 /dev/vtpmX and a server-side file descriptor on which the vTPM 164 can receive commands. 165 166 167source "drivers/char/tpm/st33zp24/Kconfig" 168endif # TCG_TPM 169