Kconfig 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. bool "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_GENI_SE
  27. tristate "QCOM GENI Serial Engine Driver"
  28. depends on ARCH_QCOM || COMPILE_TEST
  29. help
  30. This driver is used to manage Generic Interface (GENI) firmware based
  31. Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
  32. driver is also used to manage the common aspects of multiple Serial
  33. Engines present in the QUP.
  34. config QCOM_GLINK_SSR
  35. tristate "Qualcomm Glink SSR driver"
  36. depends on RPMSG
  37. depends on QCOM_RPROC_COMMON
  38. help
  39. Say y here to enable GLINK SSR support. The GLINK SSR driver
  40. implements the SSR protocol for notifying the remote processor about
  41. neighboring subsystems going up or down.
  42. config QCOM_GSBI
  43. tristate "QCOM General Serial Bus Interface"
  44. depends on ARCH_QCOM || COMPILE_TEST
  45. select MFD_SYSCON
  46. help
  47. Say y here to enable GSBI support. The GSBI provides control
  48. functions for connecting the underlying serial UART, SPI, and I2C
  49. devices to the output pins.
  50. config QCOM_LLCC
  51. tristate "Qualcomm Technologies, Inc. LLCC driver"
  52. depends on ARCH_QCOM || COMPILE_TEST
  53. help
  54. Qualcomm Technologies, Inc. platform specific
  55. Last Level Cache Controller(LLCC) driver. This provides interfaces
  56. to clients that use the LLCC. Say yes here to enable LLCC slice
  57. driver.
  58. config QCOM_SDM845_LLCC
  59. tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
  60. depends on QCOM_LLCC
  61. help
  62. Say yes here to enable the LLCC driver for SDM845. This provides
  63. data required to configure LLCC so that clients can start using the
  64. LLCC slices.
  65. config QCOM_MDT_LOADER
  66. tristate
  67. select QCOM_SCM
  68. config QCOM_PM
  69. bool "Qualcomm Power Management"
  70. depends on ARCH_QCOM && !ARM64
  71. select ARM_CPU_SUSPEND
  72. select QCOM_SCM
  73. help
  74. QCOM Platform specific power driver to manage cores and L2 low power
  75. modes. It interface with various system drivers to put the cores in
  76. low power modes.
  77. config QCOM_QMI_HELPERS
  78. tristate
  79. depends on ARCH_QCOM || COMPILE_TEST
  80. depends on NET
  81. config QCOM_RMTFS_MEM
  82. tristate "Qualcomm Remote Filesystem memory driver"
  83. depends on ARCH_QCOM
  84. select QCOM_SCM
  85. help
  86. The Qualcomm remote filesystem memory driver is used for allocating
  87. and exposing regions of shared memory with remote processors for the
  88. purpose of exchanging sector-data between the remote filesystem
  89. service and its clients.
  90. Say y here if you intend to boot the modem remoteproc.
  91. config QCOM_RPMH
  92. bool "Qualcomm RPM-Hardened (RPMH) Communication"
  93. depends on ARCH_QCOM && ARM64 || COMPILE_TEST
  94. help
  95. Support for communication with the hardened-RPM blocks in
  96. Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
  97. internal bus to transmit state requests for shared resources. A set
  98. of hardware components aggregate requests for these resources and
  99. help apply the aggregated state on the resource.
  100. config QCOM_RPMHPD
  101. bool "Qualcomm RPMh Power domain driver"
  102. depends on QCOM_RPMH && QCOM_COMMAND_DB
  103. help
  104. QCOM RPMh Power domain driver to support power-domains with
  105. performance states. The driver communicates a performance state
  106. value to RPMh which then translates it into corresponding voltage
  107. for the voltage rail.
  108. config QCOM_RPMPD
  109. bool "Qualcomm RPM Power domain driver"
  110. depends on QCOM_SMD_RPM=y
  111. help
  112. QCOM RPM Power domain driver to support power-domains with
  113. performance states. The driver communicates a performance state
  114. value to RPM which then translates it into corresponding voltage
  115. for the voltage rail.
  116. config QCOM_SMEM
  117. tristate "Qualcomm Shared Memory Manager (SMEM)"
  118. depends on ARCH_QCOM || COMPILE_TEST
  119. depends on HWSPINLOCK
  120. help
  121. Say y here to enable support for the Qualcomm Shared Memory Manager.
  122. The driver provides an interface to items in a heap shared among all
  123. processors in a Qualcomm platform.
  124. config QCOM_SMD_RPM
  125. tristate "Qualcomm Resource Power Manager (RPM) over SMD"
  126. depends on ARCH_QCOM || COMPILE_TEST
  127. depends on RPMSG
  128. help
  129. If you say yes to this option, support will be included for the
  130. Resource Power Manager system found in the Qualcomm 8974 based
  131. devices.
  132. This is required to access many regulators, clocks and bus
  133. frequencies controlled by the RPM on these devices.
  134. Say M here if you want to include support for the Qualcomm RPM as a
  135. module. This will build a module called "qcom-smd-rpm".
  136. config QCOM_SMEM_STATE
  137. bool
  138. config QCOM_SMP2P
  139. tristate "Qualcomm Shared Memory Point to Point support"
  140. depends on MAILBOX
  141. depends on QCOM_SMEM
  142. select QCOM_SMEM_STATE
  143. select IRQ_DOMAIN
  144. help
  145. Say yes here to support the Qualcomm Shared Memory Point to Point
  146. protocol.
  147. config QCOM_SMSM
  148. tristate "Qualcomm Shared Memory State Machine"
  149. depends on QCOM_SMEM
  150. select QCOM_SMEM_STATE
  151. select IRQ_DOMAIN
  152. help
  153. Say yes here to support the Qualcomm Shared Memory State Machine.
  154. The state machine is represented by bits in shared memory.
  155. config QCOM_SOCINFO
  156. tristate "Qualcomm socinfo driver"
  157. depends on QCOM_SMEM
  158. select SOC_BUS
  159. help
  160. Say yes here to support the Qualcomm socinfo driver, providing
  161. information about the SoC to user space.
  162. config QCOM_WCNSS_CTRL
  163. tristate "Qualcomm WCNSS control driver"
  164. depends on ARCH_QCOM || COMPILE_TEST
  165. depends on RPMSG
  166. help
  167. Client driver for the WCNSS_CTRL SMD channel, used to download nv
  168. firmware to a newly booted WCNSS chip.
  169. config QCOM_APR
  170. tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
  171. depends on ARCH_QCOM || COMPILE_TEST
  172. depends on RPMSG
  173. help
  174. Enable APR IPC protocol support between
  175. application processor and QDSP6. APR is
  176. used by audio driver to configure QDSP6
  177. ASM, ADM and AFE modules.
  178. endmenu