Kconfig 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menu "Qualcomm technologies inc. MSM specific device drivers"
  3. depends on ARCH_QCOM
  4. config MSM_EXT_DISPLAY
  5. bool "MSM External Display Driver"
  6. default y if ARCH_QCOM && DRM
  7. help
  8. Enabling this option adds MSM External Display Driver.
  9. External Display driver was added to support the communication
  10. between external display driver and its counterparts.
  11. This should be enabled to support audio & video over HDMI or
  12. DP for hot pluggable sink devices.
  13. config QPNP_REVID
  14. tristate "QPNP Revision ID Peripheral"
  15. depends on SPMI
  16. help
  17. Say 'y' here to include support for the Qualcomm Technologies, Inc.
  18. QPNP REVID peripheral. REVID prints out the PMIC type and revision
  19. numbers in the kernel log along with the PMIC option status. The PMIC
  20. type is mapped to a QTI chip part number and logged as well.
  21. config SPS
  22. bool "SPS support"
  23. select GENERIC_ALLOCATOR
  24. help
  25. The SPS (Smart Peripheral Switch) is a DMA engine.
  26. It can move data in the following modes:
  27. 1. Peripheral-to-Peripheral.
  28. 2. Peripheral-to-Memory.
  29. 3. Memory-to-Memory.
  30. config SPS_SUPPORT_BAMDMA
  31. bool "SPS support BAM DMA"
  32. depends on SPS
  33. default n
  34. help
  35. The BAM-DMA is used for Memory-to-Memory transfers.
  36. The main use cases is RPC between processors.
  37. The BAM-DMA hardware has 2 registers sets:
  38. 1. A BAM HW like all the peripherals.
  39. 2. A DMA channel configuration (i.e. channel priority).
  40. config SPS_SUPPORT_NDP_BAM
  41. bool "SPS support NDP BAM"
  42. depends on SPS
  43. default n
  44. help
  45. No-Data-Path BAM is used to improve BAM performance.
  46. NDP BAMs enables peripherals with fast fabric connectivity
  47. to do the actual data transfer themselves, instead of the
  48. BAM.
  49. config GSI
  50. bool "GSI support"
  51. help
  52. This driver provides the transport needed to talk to the
  53. IPA core. It replaces the BAM transport used previously.
  54. The GSI connects to a peripheral component via uniform TLV
  55. interface, and allows it to interface with other peripherals
  56. and CPUs over various types of interfaces such as MHI, xDCI,
  57. xHCI, GPI, WDI, Ethernet, etc.
  58. config GSI_REGISTER_VERSION_2
  59. bool "GSI core Version 2 Registers SWI Support"
  60. depends on GSI
  61. help
  62. GSI core registers Software interface version 2 has updated
  63. registers interface to communicate with GSI. This includes
  64. new registers offsets, new registers fields structure and
  65. new registers.
  66. config IPA3
  67. tristate "IPA3 support"
  68. select GSI
  69. depends on NET
  70. help
  71. This driver supports the Internet Packet Accelerator (IPA3) core.
  72. IPA is a programmable protocol processor HW block.
  73. It is designed to support generic HW processing of UL/DL IP packets
  74. for various use cases independent of radio technology.
  75. The driver support client connection and configuration
  76. for the IPA core.
  77. Kernel and user-space processes can call the IPA driver
  78. to configure IPA core.
  79. config IPA
  80. tristate "IPA support"
  81. depends on SPS && NET
  82. help
  83. This driver supports the Internet Packet Accelerator (IPA3) core.
  84. IPA is a programmable protocol processor HW block.
  85. It is designed to support generic HW processing of UL/DL IP packets
  86. for various use cases independent of radio technology.
  87. The driver support client connection and configuration
  88. for the IPA core.
  89. Kernel and user-space processes can call the IPA driver
  90. to configure IPA core.
  91. config RMNET_IPA
  92. tristate "IPA RMNET WWAN Network Device"
  93. depends on IPA && QCOM_QMI_HELPERS
  94. help
  95. This WWAN Network Driver implements network stack class device.
  96. It supports Embedded data transfer from A7 to Q6. Configures IPA HW
  97. for RmNet Data Driver and also exchange of QMI messages between
  98. A7 and Q6 IPA-driver.
  99. config IPA_DEBUG
  100. bool "IPA DEBUG for non-perf build"
  101. depends on IPA3
  102. help
  103. This driver support more debug info for non-perf build.
  104. If you use the non-perf build and want to have more debug
  105. info enabled, then this flag can be enabled.
  106. It is not suggested to enable this flag for perf build.
  107. config IPA_WDI_UNIFIED_API
  108. bool "IPA WDI unified API support"
  109. depends on IPA3
  110. help
  111. This driver supports IPA WDI unified API.
  112. WDI is the interface between IPA micro controller and WLAN chipset.
  113. It is designed to support IPA HW accelerating path for WLAN use case.
  114. The IPA WDI unified API supports all WDI versions through a unified
  115. interface.
  116. config RMNET_IPA3
  117. tristate "IPA3 RMNET WWAN Network Device"
  118. depends on IPA3 && QCOM_QMI_HELPERS
  119. help
  120. This WWAN Network Driver implements network stack class device.
  121. It supports Embedded data transfer from A7 to Q6. Configures IPA HW
  122. for RmNet Data Driver and also exchange of QMI messages between
  123. A7 and Q6 IPA-driver.
  124. config ECM_IPA
  125. tristate "STD ECM LAN Driver support"
  126. depends on IPA || IPA3
  127. help
  128. Enables LAN between applications processor and a tethered
  129. host using the STD ECM protocol.
  130. This Network interface is aimed to allow data path go through
  131. IPA core while using STD ECM protocol.
  132. config RNDIS_IPA
  133. tristate "RNDIS_IPA Network Interface Driver support"
  134. depends on IPA || IPA3
  135. help
  136. Enables LAN between applications processor and a tethered
  137. host using the RNDIS protocol.
  138. This Network interface is aimed to allow data path go through
  139. IPA core while using RNDIS protocol.
  140. config IPA3_MHI_PROXY
  141. tristate "IPA3 MHI proxy driver"
  142. depends on RMNET_IPA3
  143. help
  144. This driver is used as a proxy between modem and MHI host driver.
  145. Its main functionality is to setup MHI Satellite channels on behalf of
  146. modem and provide the ability of modem to MHI device communication.
  147. Once the configuration is done modem will communicate directly with
  148. the MHI device without AP involvement, with the exception of
  149. power management.
  150. config IPA3_MHI_PRIME_MANAGER
  151. tristate "IPA3_MHI Prime Manager driver"
  152. depends on IPA3
  153. help
  154. This driver functionality is to setup MHI Prime channels between Host and
  155. modem and enable the ability for MHI Prime communication.
  156. Once the configuration is done modem will communicate directly with
  157. the Host without AP involvement for tethering data offload.
  158. config IPA_UT
  159. tristate "IPA Unit-Test Framework and Test Suites"
  160. depends on IPA3 && DEBUG_FS
  161. help
  162. This Module implements IPA in-kernel test framework.
  163. The framework supports defining and running tests, grouped
  164. into suites according to the sub-unit of the IPA being tested.
  165. The user interface to run and control the tests is debugfs file
  166. system.
  167. config MSM_11AD
  168. tristate "Platform driver for 11ad chip"
  169. depends on PCI
  170. depends on PCI_MSM
  171. default n
  172. help
  173. This module adds required platform support for wireless adapter based on
  174. Qualcomm Technologies, Inc. 11ad chip, integrated into MSM platform
  175. If you choose to build it as a module, it will be called
  176. msm_11ad_proxy.
  177. config IPA_EMULATION
  178. bool "IPA on X86 Linux (IPA emulation support)"
  179. depends on X86 && IPA3
  180. help
  181. This options is used only when building the X86 version of
  182. the IPA/GSI driver. On this mode, IPA driver will be probed
  183. as PCIE device (and not platform device) where IPA emulation
  184. shall be connected via PCIE to X86 machine.
  185. config USB_BAM
  186. bool "USB BAM Driver"
  187. depends on SPS && USB_GADGET
  188. help
  189. Enabling this option adds USB BAM Driver.
  190. USB BAM driver was added to supports Smart Peripheral Subsystem
  191. Peripheral-to-Peripheral transfers between the USB and other
  192. peripheral.
  193. config QCOM_GENI_SE
  194. tristate "QCOM GENI Serial Engine Driver"
  195. help
  196. This module is used to interact with GENI based Serial Engines on
  197. Qualcomm Technologies, Inc. Universal Peripheral(QUPv3). This
  198. module is used to configure and read the configuration from the
  199. Serial Engines.
  200. config IPA3_REGDUMP
  201. bool "Dump or collect IPA/GSI register values on Linux crash"
  202. depends on IPA3
  203. help
  204. This option is to be used when the saving of IPA register state is
  205. desired upon a fatal system exception. When an exception occurs,
  206. an IPA register collection algorithm will be run in the context of
  207. the exception handler. A predefined set of registers will be read
  208. and their values will be placed into a static hierarchical data
  209. structure that can be perused post crash.
  210. choice
  211. prompt "Platform whose registers are to be dumped/collected"
  212. depends on IPA3_REGDUMP
  213. help
  214. The choices within represent the possible platforms this build is
  215. intended for. The choices are mutually exclusive. By selecting
  216. one, you effect the inclusion path used, such that the relevant
  217. register definitions will be found. Each platform has unique
  218. register definitions.
  219. config IPA3_REGDUMP_IPA_4_5
  220. bool "The 4.5 IPA"
  221. depends on IPA3_REGDUMP
  222. depends on ARCH_KONA
  223. help
  224. Set this to enable the 4.5 IPA's registers to be dumped/collected.
  225. endchoice
  226. config IPA3_REGDUMP_NUM_EXTRA_ENDP_REGS
  227. int "The number of extra endp registers for remaining pipes"
  228. depends on IPA3_REGDUMP
  229. default 0
  230. help
  231. If the platform has extra endpoint registers for remaining
  232. pipes, please express how many here.
  233. endmenu