blob: 9faa0b1e77665a666fb1f1abcc398e6f5d61d571 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# TPM device configuration
3#
4
Jan Engelhardt7126b752007-07-15 23:39:31 -07005menuconfig TCG_TPM
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 tristate "TPM Hardware Support"
Jan Engelhardt7126b752007-07-15 23:39:31 -07007 depends on HAS_IOMEM
Eric Parisda318942008-08-22 11:35:57 -04008 select SECURITYFS
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 ---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.
Rajiv Andrade7f2ab002010-05-13 17:37:54 -030019 Notes:
20 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
James Morrisec4a1622010-05-07 09:19:29 +100021 and CONFIG_PNPACPI.
Rajiv Andrade7f2ab002010-05-13 17:37:54 -030022 2) Without ACPI enabled, the BIOS event log won't be accessible,
23 which is required to validate the PCR 0-7 values.
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
Jan Engelhardt7126b752007-07-15 23:39:31 -070025if TCG_TPM
26
Christophe Ricard41a5e1c2016-05-19 00:35:52 +020027config 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
Leendert van Doorn27084ef2006-04-22 02:38:03 -070033config TCG_TIS
Peter Huewe44506432015-03-15 00:54:43 +010034 tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
Rajiv Andrade2f592f22011-11-01 09:42:58 -020035 depends on X86
Christophe Ricard41a5e1c2016-05-19 00:35:52 +020036 select TCG_TIS_CORE
Leendert van Doorn27084ef2006-04-22 02:38:03 -070037 ---help---
38 If you have a TPM security chip that is compliant with the
Peter Huewe44506432015-03-15 00:54:43 +010039 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.
Leendert van Doorn27084ef2006-04-22 02:38:03 -070043
Christophe Ricard0edbfea2016-05-19 00:35:53 +020044config 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
Jason Gunthorpea2871c62013-10-06 12:43:36 -060056config 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
Peter Hueweaad628c2012-08-07 11:42:32 +020065config 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
Peter Hueweb3f24362013-10-22 01:12:15 +020074 will be called tpm_i2c_infineon.
Peter Hueweaad628c2012-08-07 11:42:32 +020075
Jason Gunthorpe4c336e42013-10-06 12:43:13 -060076config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070086config TCG_NSC
87 tristate "National Semiconductor TPM Interface"
Rajiv Andrade2f592f22011-11-01 09:42:58 -020088 depends on X86
Linus Torvalds1da177e2005-04-16 15:20:36 -070089 ---help---
David Sterba3dde6ad2007-05-09 07:12:20 +020090 If you have a TPM security chip from National Semiconductor
Linus Torvalds1da177e2005-04-16 15:20:36 -070091 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
95config TCG_ATMEL
96 tristate "Atmel TPM Interface"
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070097 depends on PPC64 || HAS_IOPORT_MAP
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 ---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
Marcel Selhorstebb81fd2005-07-27 11:45:12 -0700103config TCG_INFINEON
Marcel Selhorstf9abb022005-08-05 11:59:33 -0700104 tristate "Infineon Technologies TPM Interface"
Bjorn Helgaascedb27d2008-04-29 01:03:25 -0700105 depends on PNP
Marcel Selhorstebb81fd2005-07-27 11:45:12 -0700106 ---help---
107 If you have a TPM security chip from Infineon Technologies
Marcel Selhorstf9abb022005-08-05 11:59:33 -0700108 (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
Marcel Selhorstebb81fd2005-07-27 11:45:12 -0700111 will be called tpm_infineon.
112 Further information on this driver and the supported hardware
Justin P. Mattock631dd1a2010-10-18 11:03:14 +0200113 can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
Marcel Selhorstebb81fd2005-07-27 11:45:12 -0700114
Ashley Lai132f7622012-08-22 16:17:43 -0500115config TCG_IBMVTPM
116 tristate "IBM VTPM Interface"
Kent Yoder5b266032013-02-11 14:36:44 -0500117 depends on PPC_PSERIES
Ashley Lai132f7622012-08-22 16:17:43 -0500118 ---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
Daniel De Graafe2683952013-07-30 13:29:47 -0400123config TCG_XEN
124 tristate "XEN TPM Interface"
125 depends on TCG_TPM && XEN
Konrad Rzeszutek Wilk713efca2013-08-30 09:02:27 -0400126 select XEN_XENBUS_FRONTEND
Daniel De Graafe2683952013-07-30 13:29:47 -0400127 ---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
Jarkko Sakkinen30fc8d12014-12-12 11:46:39 -0800135config 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
Stefan Berger6f996122016-04-18 13:26:15 -0400144config TCG_VTPM_PROXY
145 tristate "VTPM Proxy Interface"
146 depends on TCG_TPM
Arnd Bergmanna6885a52016-04-28 12:46:13 +0200147 select ANON_INODES
Stefan Berger6f996122016-04-18 13:26:15 -0400148 ---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
Christophe Ricardbf38b872015-03-08 11:17:14 +0100155source "drivers/char/tpm/st33zp24/Kconfig"
Jan Engelhardt7126b752007-07-15 23:39:31 -0700156endif # TCG_TPM