xref: /linux/drivers/char/tpm/Kconfig (revision 6f99612e250041a2402d3b1694bccb149cd424a4)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# TPM device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
57126b75cSJan Engelhardtmenuconfig TCG_TPM
61da177e4SLinus Torvalds	tristate "TPM Hardware Support"
77126b75cSJan Engelhardt	depends on HAS_IOMEM
8da31894eSEric Paris	select SECURITYFS
91da177e4SLinus Torvalds	---help---
101da177e4SLinus Torvalds	  If you have a TPM security chip in your system, which
111da177e4SLinus Torvalds	  implements the Trusted Computing Group's specification,
121da177e4SLinus Torvalds	  say Yes and it will be accessible from within Linux.  For
131da177e4SLinus Torvalds	  more information see <http://www.trustedcomputinggroup.org>.
141da177e4SLinus Torvalds	  An implementation of the Trusted Software Stack (TSS), the
151da177e4SLinus Torvalds	  userspace enablement piece of the specification, can be
161da177e4SLinus Torvalds	  obtained at: <http://sourceforge.net/projects/trousers>.  To
171da177e4SLinus Torvalds	  compile this driver as a module, choose M here; the module
181da177e4SLinus Torvalds	  will be called tpm. If unsure, say N.
197f2ab000SRajiv Andrade	  Notes:
207f2ab000SRajiv Andrade	  1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
21ec4a162aSJames Morris	  and CONFIG_PNPACPI.
227f2ab000SRajiv Andrade	  2) Without ACPI enabled, the BIOS event log won't be accessible,
237f2ab000SRajiv Andrade	  which is required to validate the PCR 0-7 values.
241da177e4SLinus Torvalds
257126b75cSJan Engelhardtif TCG_TPM
267126b75cSJan Engelhardt
2727084efeSLeendert van Doornconfig TCG_TIS
2844506436SPeter Huewe	tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
292f592f2aSRajiv Andrade	depends on X86
3027084efeSLeendert van Doorn	---help---
3127084efeSLeendert van Doorn	  If you have a TPM security chip that is compliant with the
3244506436SPeter Huewe	  TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
3344506436SPeter Huewe	  specification (TPM2.0) say Yes and it will be accessible from
3444506436SPeter Huewe	  within Linux. To compile this driver as a module, choose  M here;
3544506436SPeter Huewe	  the module will be called tpm_tis.
3627084efeSLeendert van Doorn
37a2871c62SJason Gunthorpeconfig TCG_TIS_I2C_ATMEL
38a2871c62SJason Gunthorpe	tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)"
39a2871c62SJason Gunthorpe	depends on I2C
40a2871c62SJason Gunthorpe	---help---
41a2871c62SJason Gunthorpe	  If you have an Atmel I2C TPM security chip say Yes and it will be
42a2871c62SJason Gunthorpe	  accessible from within Linux.
43a2871c62SJason Gunthorpe	  To compile this driver as a module, choose M here; the module will
44a2871c62SJason Gunthorpe	  be called tpm_tis_i2c_atmel.
45a2871c62SJason Gunthorpe
46aad628c1SPeter Hueweconfig TCG_TIS_I2C_INFINEON
47aad628c1SPeter Huewe	tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)"
48aad628c1SPeter Huewe	depends on I2C
49aad628c1SPeter Huewe	---help---
50aad628c1SPeter Huewe	  If you have a TPM security chip that is compliant with the
51aad628c1SPeter Huewe	  TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack
52aad628c1SPeter Huewe	  Specification 0.20 say Yes and it will be accessible from within
53aad628c1SPeter Huewe	  Linux.
54aad628c1SPeter Huewe	  To compile this driver as a module, choose M here; the module
55b3f2436aSPeter Huewe	  will be called tpm_i2c_infineon.
56aad628c1SPeter Huewe
574c336e4bSJason Gunthorpeconfig TCG_TIS_I2C_NUVOTON
584c336e4bSJason Gunthorpe	tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)"
594c336e4bSJason Gunthorpe	depends on I2C
604c336e4bSJason Gunthorpe	---help---
614c336e4bSJason Gunthorpe	  If you have a TPM security chip with an I2C interface from
624c336e4bSJason Gunthorpe	  Nuvoton Technology Corp. say Yes and it will be accessible
634c336e4bSJason Gunthorpe	  from within Linux.
644c336e4bSJason Gunthorpe	  To compile this driver as a module, choose M here; the module
654c336e4bSJason Gunthorpe	  will be called tpm_i2c_nuvoton.
664c336e4bSJason Gunthorpe
671da177e4SLinus Torvaldsconfig TCG_NSC
681da177e4SLinus Torvalds	tristate "National Semiconductor TPM Interface"
692f592f2aSRajiv Andrade	depends on X86
701da177e4SLinus Torvalds	---help---
713dde6ad8SDavid Sterba	  If you have a TPM security chip from National Semiconductor
721da177e4SLinus Torvalds	  say Yes and it will be accessible from within Linux.  To
731da177e4SLinus Torvalds	  compile this driver as a module, choose M here; the module
741da177e4SLinus Torvalds	  will be called tpm_nsc.
751da177e4SLinus Torvalds
761da177e4SLinus Torvaldsconfig TCG_ATMEL
771da177e4SLinus Torvalds	tristate "Atmel TPM Interface"
78ce816fa8SUwe Kleine-König	depends on PPC64 || HAS_IOPORT_MAP
791da177e4SLinus Torvalds	---help---
801da177e4SLinus Torvalds	  If you have a TPM security chip from Atmel say Yes and it
811da177e4SLinus Torvalds	  will be accessible from within Linux.  To compile this driver
821da177e4SLinus Torvalds	  as a module, choose M here; the module will be called tpm_atmel.
831da177e4SLinus Torvalds
84ebb81fdbSMarcel Selhorstconfig TCG_INFINEON
85f9abb020SMarcel Selhorst	tristate "Infineon Technologies TPM Interface"
86cedb27deSBjorn Helgaas	depends on PNP
87ebb81fdbSMarcel Selhorst	---help---
88ebb81fdbSMarcel Selhorst	  If you have a TPM security chip from Infineon Technologies
89f9abb020SMarcel Selhorst	  (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it
90f9abb020SMarcel Selhorst	  will be accessible from within Linux.
91f9abb020SMarcel Selhorst	  To compile this driver as a module, choose M here; the module
92ebb81fdbSMarcel Selhorst	  will be called tpm_infineon.
93ebb81fdbSMarcel Selhorst	  Further information on this driver and the supported hardware
94631dd1a8SJustin P. Mattock	  can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
95ebb81fdbSMarcel Selhorst
96132f7629SAshley Laiconfig TCG_IBMVTPM
97132f7629SAshley Lai	tristate "IBM VTPM Interface"
985b266032SKent Yoder	depends on PPC_PSERIES
99132f7629SAshley Lai	---help---
100132f7629SAshley Lai	  If you have IBM virtual TPM (VTPM) support say Yes and it
101132f7629SAshley Lai	  will be accessible from within Linux.  To compile this driver
102132f7629SAshley Lai	  as a module, choose M here; the module will be called tpm_ibmvtpm.
103132f7629SAshley Lai
104e2683957SDaniel De Graafconfig TCG_XEN
105e2683957SDaniel De Graaf	tristate "XEN TPM Interface"
106e2683957SDaniel De Graaf	depends on TCG_TPM && XEN
107713efcabSKonrad Rzeszutek Wilk	select XEN_XENBUS_FRONTEND
108e2683957SDaniel De Graaf	---help---
109e2683957SDaniel De Graaf	  If you want to make TPM support available to a Xen user domain,
110e2683957SDaniel De Graaf	  say Yes and it will be accessible from within Linux. See
111e2683957SDaniel De Graaf	  the manpages for xl, xl.conf, and docs/misc/vtpm.txt in
112e2683957SDaniel De Graaf	  the Xen source repository for more details.
113e2683957SDaniel De Graaf	  To compile this driver as a module, choose M here; the module
114e2683957SDaniel De Graaf	  will be called xen-tpmfront.
115e2683957SDaniel De Graaf
11630fc8d13SJarkko Sakkinenconfig TCG_CRB
11730fc8d13SJarkko Sakkinen	tristate "TPM 2.0 CRB Interface"
11830fc8d13SJarkko Sakkinen	depends on X86 && ACPI
11930fc8d13SJarkko Sakkinen	---help---
12030fc8d13SJarkko Sakkinen	  If you have a TPM security chip that is compliant with the
12130fc8d13SJarkko Sakkinen	  TCG CRB 2.0 TPM specification say Yes and it will be accessible
12230fc8d13SJarkko Sakkinen	  from within Linux.  To compile this driver as a module, choose
12330fc8d13SJarkko Sakkinen	  M here; the module will be called tpm_crb.
12430fc8d13SJarkko Sakkinen
125*6f99612eSStefan Bergerconfig TCG_VTPM_PROXY
126*6f99612eSStefan Berger	tristate "VTPM Proxy Interface"
127*6f99612eSStefan Berger	depends on TCG_TPM
128*6f99612eSStefan Berger	---help---
129*6f99612eSStefan Berger	  This driver proxies for an emulated TPM (vTPM) running in userspace.
130*6f99612eSStefan Berger	  A device /dev/vtpmx is provided that creates a device pair
131*6f99612eSStefan Berger	  /dev/vtpmX and a server-side file descriptor on which the vTPM
132*6f99612eSStefan Berger	  can receive commands.
133*6f99612eSStefan Berger
134*6f99612eSStefan Berger
135bf38b871SChristophe Ricardsource "drivers/char/tpm/st33zp24/Kconfig"
1367126b75cSJan Engelhardtendif # TCG_TPM
137