Kconfig 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #
  2. # TPM device configuration
  3. #
  4. menuconfig TCG_TPM
  5. tristate "TPM Hardware Support"
  6. depends on HAS_IOMEM
  7. select SECURITYFS
  8. select CRYPTO
  9. select CRYPTO_HASH_INFO
  10. ---help---
  11. If you have a TPM security chip in your system, which
  12. implements the Trusted Computing Group's specification,
  13. say Yes and it will be accessible from within Linux. For
  14. more information see <http://www.trustedcomputinggroup.org>.
  15. An implementation of the Trusted Software Stack (TSS), the
  16. userspace enablement piece of the specification, can be
  17. obtained at: <http://sourceforge.net/projects/trousers>. To
  18. compile this driver as a module, choose M here; the module
  19. will be called tpm. If unsure, say N.
  20. Notes:
  21. 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
  22. and CONFIG_PNPACPI.
  23. 2) Without ACPI enabled, the BIOS event log won't be accessible,
  24. which is required to validate the PCR 0-7 values.
  25. if TCG_TPM
  26. config HW_RANDOM_TPM
  27. bool "TPM HW Random Number Generator support"
  28. depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
  29. default y
  30. ---help---
  31. This setting exposes the TPM's Random Number Generator as a hwrng
  32. device. This allows the kernel to collect randomness from the TPM at
  33. boot, and provides the TPM randomines in /dev/hwrng.
  34. If unsure, say Y.
  35. config TCG_TIS_CORE
  36. tristate
  37. ---help---
  38. TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
  39. into the TPM kernel APIs. Physical layers will register against it.
  40. config TCG_TIS
  41. tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
  42. depends on X86 || OF
  43. select TCG_TIS_CORE
  44. ---help---
  45. If you have a TPM security chip that is compliant with the
  46. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  47. specification (TPM2.0) say Yes and it will be accessible from
  48. within Linux. To compile this driver as a module, choose M here;
  49. the module will be called tpm_tis.
  50. config TCG_TIS_SPI
  51. tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)"
  52. depends on SPI
  53. select TCG_TIS_CORE
  54. ---help---
  55. If you have a TPM security chip which is connected to a regular,
  56. non-tcg SPI master (i.e. most embedded platforms) that is compliant with the
  57. TCG TIS 1.3 TPM specification (TPM1.2) or the TCG PTP FIFO
  58. specification (TPM2.0) say Yes and it will be accessible from
  59. within Linux. To compile this driver as a module, choose M here;
  60. the module will be called tpm_tis_spi.
  61. config TCG_TIS_I2C_ATMEL
  62. tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)"
  63. depends on I2C
  64. ---help---
  65. If you have an Atmel I2C TPM security chip say Yes and it will be
  66. accessible from within Linux.
  67. To compile this driver as a module, choose M here; the module will
  68. be called tpm_tis_i2c_atmel.
  69. config TCG_TIS_I2C_INFINEON
  70. tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)"
  71. depends on I2C
  72. ---help---
  73. If you have a TPM security chip that is compliant with the
  74. TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack
  75. Specification 0.20 say Yes and it will be accessible from within
  76. Linux.
  77. To compile this driver as a module, choose M here; the module
  78. will be called tpm_i2c_infineon.
  79. config TCG_TIS_I2C_NUVOTON
  80. tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)"
  81. depends on I2C
  82. ---help---
  83. If you have a TPM security chip with an I2C interface from
  84. Nuvoton Technology Corp. say Yes and it will be accessible
  85. from within Linux.
  86. To compile this driver as a module, choose M here; the module
  87. will be called tpm_i2c_nuvoton.
  88. config TCG_NSC
  89. tristate "National Semiconductor TPM Interface"
  90. depends on X86
  91. ---help---
  92. If you have a TPM security chip from National Semiconductor
  93. say Yes and it will be accessible from within Linux. To
  94. compile this driver as a module, choose M here; the module
  95. will be called tpm_nsc.
  96. config TCG_ATMEL
  97. tristate "Atmel TPM Interface"
  98. depends on PPC64 || HAS_IOPORT_MAP
  99. ---help---
  100. If you have a TPM security chip from Atmel say Yes and it
  101. will be accessible from within Linux. To compile this driver
  102. as a module, choose M here; the module will be called tpm_atmel.
  103. config TCG_INFINEON
  104. tristate "Infineon Technologies TPM Interface"
  105. depends on PNP
  106. ---help---
  107. If you have a TPM security chip from Infineon Technologies
  108. (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
  111. will be called tpm_infineon.
  112. Further information on this driver and the supported hardware
  113. can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
  114. config TCG_IBMVTPM
  115. tristate "IBM VTPM Interface"
  116. depends on PPC_PSERIES
  117. ---help---
  118. If you have IBM virtual TPM (VTPM) support say Yes and it
  119. will be accessible from within Linux. To compile this driver
  120. as a module, choose M here; the module will be called tpm_ibmvtpm.
  121. config TCG_XEN
  122. tristate "XEN TPM Interface"
  123. depends on TCG_TPM && XEN
  124. select XEN_XENBUS_FRONTEND
  125. ---help---
  126. If you want to make TPM support available to a Xen user domain,
  127. say Yes and it will be accessible from within Linux. See
  128. the manpages for xl, xl.conf, and docs/misc/vtpm.txt in
  129. the Xen source repository for more details.
  130. To compile this driver as a module, choose M here; the module
  131. will be called xen-tpmfront.
  132. config TCG_CRB
  133. tristate "TPM 2.0 CRB Interface"
  134. depends on ACPI
  135. ---help---
  136. If you have a TPM security chip that is compliant with the
  137. TCG CRB 2.0 TPM specification say Yes and it will be accessible
  138. from within Linux. To compile this driver as a module, choose
  139. M here; the module will be called tpm_crb.
  140. config TCG_VTPM_PROXY
  141. tristate "VTPM Proxy Interface"
  142. depends on TCG_TPM
  143. select ANON_INODES
  144. ---help---
  145. This driver proxies for an emulated TPM (vTPM) running in userspace.
  146. A device /dev/vtpmx is provided that creates a device pair
  147. /dev/vtpmX and a server-side file descriptor on which the vTPM
  148. can receive commands.
  149. source "drivers/char/tpm/st33zp24/Kconfig"
  150. endif # TCG_TPM