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 9*4bf4b4edSArnd Bergmann select CRYPTO 10c1f92b4bSNayna Jain select CRYPTO_HASH_INFO 111da177e4SLinus Torvalds ---help--- 121da177e4SLinus Torvalds If you have a TPM security chip in your system, which 131da177e4SLinus Torvalds implements the Trusted Computing Group's specification, 141da177e4SLinus Torvalds say Yes and it will be accessible from within Linux. For 151da177e4SLinus Torvalds more information see <http://www.trustedcomputinggroup.org>. 161da177e4SLinus Torvalds An implementation of the Trusted Software Stack (TSS), the 171da177e4SLinus Torvalds userspace enablement piece of the specification, can be 181da177e4SLinus Torvalds obtained at: <http://sourceforge.net/projects/trousers>. To 191da177e4SLinus Torvalds compile this driver as a module, choose M here; the module 201da177e4SLinus Torvalds will be called tpm. If unsure, say N. 217f2ab000SRajiv Andrade Notes: 227f2ab000SRajiv Andrade 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI 23ec4a162aSJames Morris and CONFIG_PNPACPI. 247f2ab000SRajiv Andrade 2) Without ACPI enabled, the BIOS event log won't be accessible, 257f2ab000SRajiv Andrade which is required to validate the PCR 0-7 values. 261da177e4SLinus Torvalds 277126b75cSJan Engelhardtif TCG_TPM 287126b75cSJan Engelhardt 2941a5e1cfSChristophe Ricardconfig TCG_TIS_CORE 3041a5e1cfSChristophe Ricard tristate 3141a5e1cfSChristophe Ricard ---help--- 3241a5e1cfSChristophe Ricard TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks 3341a5e1cfSChristophe Ricard into the TPM kernel APIs. Physical layers will register against it. 3441a5e1cfSChristophe Ricard 3527084efeSLeendert van Doornconfig TCG_TIS 3644506436SPeter Huewe tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface" 37420d4398SJason Gunthorpe depends on X86 || OF 3841a5e1cfSChristophe Ricard select TCG_TIS_CORE 3927084efeSLeendert van Doorn ---help--- 4027084efeSLeendert van Doorn If you have a TPM security chip that is compliant with the 4144506436SPeter Huewe TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO 4244506436SPeter Huewe specification (TPM2.0) say Yes and it will be accessible from 4344506436SPeter Huewe within Linux. To compile this driver as a module, choose M here; 4444506436SPeter Huewe the module will be called tpm_tis. 4527084efeSLeendert van Doorn 460edbfea5SChristophe Ricardconfig TCG_TIS_SPI 470edbfea5SChristophe Ricard tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)" 480edbfea5SChristophe Ricard depends on SPI 490edbfea5SChristophe Ricard select TCG_TIS_CORE 500edbfea5SChristophe Ricard ---help--- 510edbfea5SChristophe Ricard If you have a TPM security chip which is connected to a regular, 520edbfea5SChristophe Ricard non-tcg SPI master (i.e. most embedded platforms) that is compliant with the 530edbfea5SChristophe Ricard TCG TIS 1.3 TPM specification (TPM1.2) or the TCG PTP FIFO 540edbfea5SChristophe Ricard specification (TPM2.0) say Yes and it will be accessible from 550edbfea5SChristophe Ricard within Linux. To compile this driver as a module, choose M here; 560edbfea5SChristophe Ricard the module will be called tpm_tis_spi. 570edbfea5SChristophe Ricard 58a2871c62SJason Gunthorpeconfig TCG_TIS_I2C_ATMEL 59a2871c62SJason Gunthorpe tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)" 60a2871c62SJason Gunthorpe depends on I2C 61a2871c62SJason Gunthorpe ---help--- 62a2871c62SJason Gunthorpe If you have an Atmel I2C TPM security chip say Yes and it will be 63a2871c62SJason Gunthorpe accessible from within Linux. 64a2871c62SJason Gunthorpe To compile this driver as a module, choose M here; the module will 65a2871c62SJason Gunthorpe be called tpm_tis_i2c_atmel. 66a2871c62SJason Gunthorpe 67aad628c1SPeter Hueweconfig TCG_TIS_I2C_INFINEON 68aad628c1SPeter Huewe tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)" 69aad628c1SPeter Huewe depends on I2C 70aad628c1SPeter Huewe ---help--- 71aad628c1SPeter Huewe If you have a TPM security chip that is compliant with the 72aad628c1SPeter Huewe TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack 73aad628c1SPeter Huewe Specification 0.20 say Yes and it will be accessible from within 74aad628c1SPeter Huewe Linux. 75aad628c1SPeter Huewe To compile this driver as a module, choose M here; the module 76b3f2436aSPeter Huewe will be called tpm_i2c_infineon. 77aad628c1SPeter Huewe 784c336e4bSJason Gunthorpeconfig TCG_TIS_I2C_NUVOTON 794c336e4bSJason Gunthorpe tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)" 804c336e4bSJason Gunthorpe depends on I2C 814c336e4bSJason Gunthorpe ---help--- 824c336e4bSJason Gunthorpe If you have a TPM security chip with an I2C interface from 834c336e4bSJason Gunthorpe Nuvoton Technology Corp. say Yes and it will be accessible 844c336e4bSJason Gunthorpe from within Linux. 854c336e4bSJason Gunthorpe To compile this driver as a module, choose M here; the module 864c336e4bSJason Gunthorpe will be called tpm_i2c_nuvoton. 874c336e4bSJason Gunthorpe 881da177e4SLinus Torvaldsconfig TCG_NSC 891da177e4SLinus Torvalds tristate "National Semiconductor TPM Interface" 902f592f2aSRajiv Andrade depends on X86 911da177e4SLinus Torvalds ---help--- 923dde6ad8SDavid Sterba If you have a TPM security chip from National Semiconductor 931da177e4SLinus Torvalds say Yes and it will be accessible from within Linux. To 941da177e4SLinus Torvalds compile this driver as a module, choose M here; the module 951da177e4SLinus Torvalds will be called tpm_nsc. 961da177e4SLinus Torvalds 971da177e4SLinus Torvaldsconfig TCG_ATMEL 981da177e4SLinus Torvalds tristate "Atmel TPM Interface" 99ce816fa8SUwe Kleine-König depends on PPC64 || HAS_IOPORT_MAP 1001da177e4SLinus Torvalds ---help--- 1011da177e4SLinus Torvalds If you have a TPM security chip from Atmel say Yes and it 1021da177e4SLinus Torvalds will be accessible from within Linux. To compile this driver 1031da177e4SLinus Torvalds as a module, choose M here; the module will be called tpm_atmel. 1041da177e4SLinus Torvalds 105ebb81fdbSMarcel Selhorstconfig TCG_INFINEON 106f9abb020SMarcel Selhorst tristate "Infineon Technologies TPM Interface" 107cedb27deSBjorn Helgaas depends on PNP 108ebb81fdbSMarcel Selhorst ---help--- 109ebb81fdbSMarcel Selhorst If you have a TPM security chip from Infineon Technologies 110f9abb020SMarcel Selhorst (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it 111f9abb020SMarcel Selhorst will be accessible from within Linux. 112f9abb020SMarcel Selhorst To compile this driver as a module, choose M here; the module 113ebb81fdbSMarcel Selhorst will be called tpm_infineon. 114ebb81fdbSMarcel Selhorst Further information on this driver and the supported hardware 115631dd1a8SJustin P. Mattock can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/ 116ebb81fdbSMarcel Selhorst 117132f7629SAshley Laiconfig TCG_IBMVTPM 118132f7629SAshley Lai tristate "IBM VTPM Interface" 1195b266032SKent Yoder depends on PPC_PSERIES 120132f7629SAshley Lai ---help--- 121132f7629SAshley Lai If you have IBM virtual TPM (VTPM) support say Yes and it 122132f7629SAshley Lai will be accessible from within Linux. To compile this driver 123132f7629SAshley Lai as a module, choose M here; the module will be called tpm_ibmvtpm. 124132f7629SAshley Lai 125e2683957SDaniel De Graafconfig TCG_XEN 126e2683957SDaniel De Graaf tristate "XEN TPM Interface" 127e2683957SDaniel De Graaf depends on TCG_TPM && XEN 128713efcabSKonrad Rzeszutek Wilk select XEN_XENBUS_FRONTEND 129e2683957SDaniel De Graaf ---help--- 130e2683957SDaniel De Graaf If you want to make TPM support available to a Xen user domain, 131e2683957SDaniel De Graaf say Yes and it will be accessible from within Linux. See 132e2683957SDaniel De Graaf the manpages for xl, xl.conf, and docs/misc/vtpm.txt in 133e2683957SDaniel De Graaf the Xen source repository for more details. 134e2683957SDaniel De Graaf To compile this driver as a module, choose M here; the module 135e2683957SDaniel De Graaf will be called xen-tpmfront. 136e2683957SDaniel De Graaf 13730fc8d13SJarkko Sakkinenconfig TCG_CRB 13830fc8d13SJarkko Sakkinen tristate "TPM 2.0 CRB Interface" 13930fc8d13SJarkko Sakkinen depends on X86 && ACPI 14030fc8d13SJarkko Sakkinen ---help--- 14130fc8d13SJarkko Sakkinen If you have a TPM security chip that is compliant with the 14230fc8d13SJarkko Sakkinen TCG CRB 2.0 TPM specification say Yes and it will be accessible 14330fc8d13SJarkko Sakkinen from within Linux. To compile this driver as a module, choose 14430fc8d13SJarkko Sakkinen M here; the module will be called tpm_crb. 14530fc8d13SJarkko Sakkinen 1466f99612eSStefan Bergerconfig TCG_VTPM_PROXY 1476f99612eSStefan Berger tristate "VTPM Proxy Interface" 1486f99612eSStefan Berger depends on TCG_TPM 149a6885a53SArnd Bergmann select ANON_INODES 1506f99612eSStefan Berger ---help--- 1516f99612eSStefan Berger This driver proxies for an emulated TPM (vTPM) running in userspace. 1526f99612eSStefan Berger A device /dev/vtpmx is provided that creates a device pair 1536f99612eSStefan Berger /dev/vtpmX and a server-side file descriptor on which the vTPM 1546f99612eSStefan Berger can receive commands. 1556f99612eSStefan Berger 1566f99612eSStefan Berger 157bf38b871SChristophe Ricardsource "drivers/char/tpm/st33zp24/Kconfig" 1587126b75cSJan Engelhardtendif # TCG_TPM 159