Kconfig 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # For a description of the syntax of this configuration file,
  4. # see Documentation/kbuild/kconfig-language.rst.
  5. #
  6. menu "Qualcomm firmware drivers"
  7. config QCOM_SCM
  8. select QCOM_TZMEM
  9. tristate
  10. config QCOM_TZMEM
  11. tristate
  12. select GENERIC_ALLOCATOR
  13. choice
  14. prompt "TrustZone interface memory allocator mode"
  15. depends on QCOM_TZMEM
  16. default QCOM_TZMEM_MODE_GENERIC
  17. help
  18. Selects the mode of the memory allocator providing memory buffers of
  19. suitable format for sharing with the TrustZone. If in doubt, select
  20. 'Generic'.
  21. config QCOM_TZMEM_MODE_GENERIC
  22. bool "Generic"
  23. help
  24. Use the generic allocator mode. The memory is page-aligned, non-cachable
  25. and physically contiguous.
  26. config QCOM_TZMEM_MODE_SHMBRIDGE
  27. bool "SHM Bridge"
  28. help
  29. Use Qualcomm Shared Memory Bridge. The memory has the same alignment as
  30. in the 'Generic' allocator but is also explicitly marked as an SHM Bridge
  31. buffer.
  32. With this selected, all buffers passed to the TrustZone must be allocated
  33. using the TZMem allocator or else the TrustZone will refuse to use them.
  34. endchoice
  35. config QCOM_QSEECOM
  36. bool "Qualcomm QSEECOM interface driver"
  37. depends on QCOM_SCM=y
  38. select AUXILIARY_BUS
  39. help
  40. Various Qualcomm SoCs have a Secure Execution Environment (SEE) running
  41. in the Trust Zone. This module provides an interface to that via the
  42. QSEECOM mechanism, using SCM calls.
  43. The QSEECOM interface allows, among other things, access to applications
  44. running in the SEE. An example of such an application is 'uefisecapp',
  45. which is required to access UEFI variables on certain systems. If
  46. selected, the interface will also attempt to detect and register client
  47. devices for supported applications.
  48. Select Y here to enable the QSEECOM interface driver.
  49. config QCOM_QSEECOM_UEFISECAPP
  50. bool "Qualcomm SEE UEFI Secure App client driver"
  51. depends on QCOM_QSEECOM
  52. depends on EFI
  53. help
  54. Various Qualcomm SoCs do not allow direct access to EFI variables.
  55. Instead, these need to be accessed via the UEFI Secure Application
  56. (uefisecapp), residing in the Secure Execution Environment (SEE).
  57. This module provides a client driver for uefisecapp, installing efivar
  58. operations to allow the kernel accessing EFI variables, and via that also
  59. provide user-space with access to EFI variables via efivarfs.
  60. Select Y here to provide access to EFI variables on the aforementioned
  61. platforms.
  62. endmenu