Kconfig 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #
  2. # TPM subsystem configuration
  3. #
  4. menu "TPM support"
  5. comment "Please select only one TPM revision"
  6. depends on TPM_V1 && TPM_V2
  7. config TPM_V1
  8. bool "TPMv1.x support"
  9. depends on TPM
  10. default y
  11. help
  12. Major TPM versions are not compatible at all, choose either
  13. one or the other. This option enables TPMv1.x drivers/commands.
  14. if TPM_V1 && !TPM_V2
  15. config TPM_TIS_SANDBOX
  16. bool "Enable sandbox TPM driver"
  17. depends on TPM_V1 && SANDBOX
  18. help
  19. This driver emulates a TPMv1.x, providing access to base functions
  20. such as reading and writing TPM private data. This is enough to
  21. support Chrome OS verified boot. Extend functionality is not
  22. implemented.
  23. config TPM_ATMEL_TWI
  24. bool "Enable Atmel TWI TPM device driver"
  25. depends on TPM_V1
  26. help
  27. This driver supports an Atmel TPM device connected on the I2C bus.
  28. The usual tpm operations and the 'tpm' command can be used to talk
  29. to the device using the standard TPM Interface Specification (TIS)
  30. protocol
  31. config TPM_TIS_INFINEON
  32. bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
  33. depends on TPM_V1 && DM_I2C
  34. help
  35. This driver supports Infineon TPM devices connected on the I2C bus.
  36. The usual tpm operations and the 'tpm' command can be used to talk
  37. to the device using the standard TPM Interface Specification (TIS)
  38. protocol
  39. config TPM_TIS_I2C_BURST_LIMITATION
  40. bool "Enable I2C burst length limitation"
  41. depends on TPM_TIS_INFINEON
  42. help
  43. Some broken TPMs have a limitation on the number of bytes they can
  44. receive in one message. Enable this option to allow you to set this
  45. option. The can allow a broken TPM to be used by splitting messages
  46. into separate pieces.
  47. config TPM_TIS_I2C_BURST_LIMITATION_LEN
  48. int "Length"
  49. depends on TPM_TIS_I2C_BURST_LIMITATION
  50. help
  51. Use this to set the burst limitation length
  52. config TPM_TIS_LPC
  53. bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
  54. depends on TPM_V1 && X86
  55. select TPM_DRIVER_SELECTED
  56. help
  57. This driver supports Infineon TPM devices connected on the LPC bus.
  58. The usual tpm operations and the 'tpm' command can be used to talk
  59. to the device using the standard TPM Interface Specification (TIS)
  60. protocol
  61. config TPM_AUTH_SESSIONS
  62. bool "Enable TPM authentication session support"
  63. depends on TPM_V1
  64. help
  65. Enable support for authorised (AUTH1) commands as specified in the
  66. TCG Main Specification 1.2. OIAP-authorised versions of the commands
  67. TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
  68. available using the 'tpm' command, too.
  69. config TPM_ST33ZP24_I2C
  70. bool "STMicroelectronics ST33ZP24 I2C TPM"
  71. depends on TPM_V1 && DM_I2C
  72. ---help---
  73. This driver supports STMicroelectronics TPM devices connected on the I2C bus.
  74. The usual tpm operations and the 'tpm' command can be used to talk
  75. to the device using the standard TPM Interface Specification (TIS)
  76. protocol
  77. config TPM_ST33ZP24_SPI
  78. bool "STMicroelectronics ST33ZP24 SPI TPM"
  79. depends on TPM_V1 && DM_SPI
  80. ---help---
  81. This driver supports STMicroelectronics TPM devices connected on the SPI bus.
  82. The usual tpm operations and the 'tpm' command can be used to talk
  83. to the device using the standard TPM Interface Specification (TIS)
  84. protocol
  85. config TPM_FLUSH_RESOURCES
  86. bool "Enable TPM resource flushing support"
  87. depends on TPM_V1
  88. help
  89. Enable support to flush specific resources (e.g. keys) from the TPM.
  90. The functionality is available via the 'tpm' command as well.
  91. config TPM_LOAD_KEY_BY_SHA1
  92. bool "Enable TPM key loading by SHA1 support"
  93. depends on TPM_V1
  94. help
  95. Enable support to load keys into the TPM by identifying
  96. their parent via the public key's SHA1 hash.
  97. The functionality is available via the 'tpm' command as well.
  98. config TPM_LIST_RESOURCES
  99. bool "Enable TPM resource listing support"
  100. depends on TPM_V1
  101. help
  102. Enable support to list specific resources (e.g. keys) within the TPM.
  103. The functionality is available via the 'tpm' command as well.
  104. endif # TPM_V1
  105. config TPM_V2
  106. bool "TPMv2.x support"
  107. depends on TPM
  108. help
  109. Major TPM versions are not compatible at all, choose either
  110. one or the other. This option enables TPMv2.x drivers/commands.
  111. if TPM_V2 && !TPM_V1
  112. config TPM2_TIS_SANDBOX
  113. bool "Enable sandbox TPMv2.x driver"
  114. depends on TPM_V2 && SANDBOX
  115. select TPM_DRIVER_SELECTED
  116. help
  117. This driver emulates a TPMv2.x, providing access to base functions
  118. such as basic configuration, PCR extension and PCR read. Extended
  119. functionalities are not implemented.
  120. config TPM2_TIS_SPI
  121. bool "Enable support for TPMv2.x SPI chips"
  122. depends on TPM_V2 && DM_SPI
  123. select TPM_DRIVER_SELECTED
  124. help
  125. This driver supports TPMv2.x devices connected on the SPI bus.
  126. The usual TPM operations and the 'tpm' command can be used to talk
  127. to the device using the standard TPM Interface Specification (TIS)
  128. protocol.
  129. endif # TPM_V2
  130. endmenu