Kconfig 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # QCOM Soc drivers
  4. #
  5. menu "Qualcomm SoC drivers"
  6. config QCOM_AOSS_QMP
  7. tristate "Qualcomm AOSS Driver"
  8. depends on ARCH_QCOM || COMPILE_TEST
  9. depends on MAILBOX
  10. depends on COMMON_CLK && PM
  11. select PM_GENERIC_DOMAINS
  12. help
  13. This driver provides the means of communicating with and controlling
  14. the low-power state for resources related to the remoteproc
  15. subsystems as well as controlling the debug clocks exposed by the Always On
  16. Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP).
  17. config QCOM_COMMAND_DB
  18. tristate "Qualcomm Command DB"
  19. depends on ARCH_QCOM || COMPILE_TEST
  20. depends on OF_RESERVED_MEM
  21. help
  22. Command DB queries shared memory by key string for shared system
  23. resources. Platform drivers that require to set state of a shared
  24. resource on a RPM-hardened platform must use this database to get
  25. SoC specific identifier and information for the shared resources.
  26. config QCOM_CPR
  27. tristate "QCOM Core Power Reduction (CPR) support"
  28. depends on ARCH_QCOM && HAS_IOMEM
  29. select PM_OPP
  30. select REGMAP
  31. help
  32. Say Y here to enable support for the CPR hardware found on Qualcomm
  33. SoCs like QCS404.
  34. This driver populates CPU OPPs tables and makes adjustments to the
  35. tables based on feedback from the CPR hardware. If you want to do
  36. CPUfrequency scaling say Y here.
  37. To compile this driver as a module, choose M here: the module will
  38. be called qcom-cpr
  39. config QCOM_GENI_SE
  40. tristate "QCOM GENI Serial Engine Driver"
  41. depends on ARCH_QCOM || COMPILE_TEST
  42. help
  43. This driver is used to manage Generic Interface (GENI) firmware based
  44. Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
  45. driver is also used to manage the common aspects of multiple Serial
  46. Engines present in the QUP.
  47. config QCOM_GSBI
  48. tristate "QCOM General Serial Bus Interface"
  49. depends on ARCH_QCOM || COMPILE_TEST
  50. select MFD_SYSCON
  51. help
  52. Say y here to enable GSBI support. The GSBI provides control
  53. functions for connecting the underlying serial UART, SPI, and I2C
  54. devices to the output pins.
  55. config QCOM_LLCC
  56. tristate "Qualcomm Technologies, Inc. LLCC driver"
  57. depends on ARCH_QCOM || COMPILE_TEST
  58. help
  59. Qualcomm Technologies, Inc. platform specific
  60. Last Level Cache Controller(LLCC) driver for platforms such as,
  61. SDM845. This provides interfaces to clients that use the LLCC.
  62. Say yes here to enable LLCC slice driver.
  63. config QCOM_KRYO_L2_ACCESSORS
  64. bool
  65. depends on ARCH_QCOM && ARM64 || COMPILE_TEST
  66. config QCOM_MDT_LOADER
  67. tristate
  68. select QCOM_SCM
  69. config QCOM_OCMEM
  70. tristate "Qualcomm On Chip Memory (OCMEM) driver"
  71. depends on ARCH_QCOM
  72. select QCOM_SCM
  73. help
  74. The On Chip Memory (OCMEM) allocator allows various clients to
  75. allocate memory from OCMEM based on performance, latency and power
  76. requirements. This is typically used by the GPU, camera/video, and
  77. audio components on some Snapdragon SoCs.
  78. config QCOM_PDR_HELPERS
  79. tristate
  80. select QCOM_QMI_HELPERS
  81. config QCOM_QMI_HELPERS
  82. tristate
  83. depends on NET
  84. config QCOM_RMTFS_MEM
  85. tristate "Qualcomm Remote Filesystem memory driver"
  86. depends on ARCH_QCOM
  87. select QCOM_SCM
  88. help
  89. The Qualcomm remote filesystem memory driver is used for allocating
  90. and exposing regions of shared memory with remote processors for the
  91. purpose of exchanging sector-data between the remote filesystem
  92. service and its clients.
  93. Say y here if you intend to boot the modem remoteproc.
  94. config QCOM_RPMH
  95. tristate "Qualcomm RPM-Hardened (RPMH) Communication"
  96. depends on ARCH_QCOM || COMPILE_TEST
  97. depends on (QCOM_COMMAND_DB || !QCOM_COMMAND_DB)
  98. help
  99. Support for communication with the hardened-RPM blocks in
  100. Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
  101. internal bus to transmit state requests for shared resources. A set
  102. of hardware components aggregate requests for these resources and
  103. help apply the aggregated state on the resource.
  104. config QCOM_RPMHPD
  105. tristate "Qualcomm RPMh Power domain driver"
  106. depends on QCOM_RPMH && QCOM_COMMAND_DB
  107. help
  108. QCOM RPMh Power domain driver to support power-domains with
  109. performance states. The driver communicates a performance state
  110. value to RPMh which then translates it into corresponding voltage
  111. for the voltage rail.
  112. config QCOM_RPMPD
  113. tristate "Qualcomm RPM Power domain driver"
  114. depends on QCOM_SMD_RPM
  115. help
  116. QCOM RPM Power domain driver to support power-domains with
  117. performance states. The driver communicates a performance state
  118. value to RPM which then translates it into corresponding voltage
  119. for the voltage rail.
  120. config QCOM_SMEM
  121. tristate "Qualcomm Shared Memory Manager (SMEM)"
  122. depends on ARCH_QCOM || COMPILE_TEST
  123. depends on HWSPINLOCK
  124. help
  125. Say y here to enable support for the Qualcomm Shared Memory Manager.
  126. The driver provides an interface to items in a heap shared among all
  127. processors in a Qualcomm platform.
  128. config QCOM_SMD_RPM
  129. tristate "Qualcomm Resource Power Manager (RPM) over SMD"
  130. depends on ARCH_QCOM || COMPILE_TEST
  131. depends on RPMSG
  132. help
  133. If you say yes to this option, support will be included for the
  134. Resource Power Manager system found in the Qualcomm 8974 based
  135. devices.
  136. This is required to access many regulators, clocks and bus
  137. frequencies controlled by the RPM on these devices.
  138. Say M here if you want to include support for the Qualcomm RPM as a
  139. module. This will build a module called "qcom-smd-rpm".
  140. config QCOM_SMEM_STATE
  141. bool
  142. config QCOM_SMP2P
  143. tristate "Qualcomm Shared Memory Point to Point support"
  144. depends on MAILBOX
  145. depends on QCOM_SMEM
  146. select QCOM_SMEM_STATE
  147. select IRQ_DOMAIN
  148. help
  149. Say yes here to support the Qualcomm Shared Memory Point to Point
  150. protocol.
  151. config QCOM_SMSM
  152. tristate "Qualcomm Shared Memory State Machine"
  153. depends on QCOM_SMEM
  154. select QCOM_SMEM_STATE
  155. select IRQ_DOMAIN
  156. help
  157. Say yes here to support the Qualcomm Shared Memory State Machine.
  158. The state machine is represented by bits in shared memory.
  159. config QCOM_SOCINFO
  160. tristate "Qualcomm socinfo driver"
  161. depends on QCOM_SMEM
  162. select SOC_BUS
  163. help
  164. Say yes here to support the Qualcomm socinfo driver, providing
  165. information about the SoC to user space.
  166. config QCOM_WCNSS_CTRL
  167. tristate "Qualcomm WCNSS control driver"
  168. depends on ARCH_QCOM || COMPILE_TEST
  169. depends on RPMSG
  170. help
  171. Client driver for the WCNSS_CTRL SMD channel, used to download nv
  172. firmware to a newly booted WCNSS chip.
  173. config QCOM_APR
  174. tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
  175. depends on ARCH_QCOM || COMPILE_TEST
  176. depends on RPMSG
  177. depends on NET
  178. select QCOM_PDR_HELPERS
  179. help
  180. Enable APR IPC protocol support between
  181. application processor and QDSP6. APR is
  182. used by audio driver to configure QDSP6
  183. ASM, ADM and AFE modules.
  184. endmenu