Kconfig 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config CNSS2
  3. tristate "CNSS2 Platform Driver for Wi-Fi Module"
  4. depends on !CNSS && PCI_MSM
  5. select CNSS_PLAT_IPC_QMI_SVC
  6. help
  7. This module adds the support for Connectivity Subsystem (CNSS) used
  8. for PCIe based Wi-Fi devices with QCA6174/QCA6290 chipsets.
  9. This driver also adds support to integrate WLAN module to subsystem
  10. restart framework.
  11. config CNSS2_DEBUG
  12. bool "CNSS2 Platform Driver Debug Support"
  13. depends on CNSS2
  14. help
  15. This option is to enable CNSS2 platform driver debug support which
  16. primarily includes providing additional verbose logs for certain
  17. features, enabling kernel panic for certain cases to aid the
  18. debugging, and enabling any other debug mechanisms.
  19. config CNSS2_QMI
  20. bool "CNSS2 Platform Driver QMI support"
  21. select CNSS_QMI_SVC
  22. depends on CNSS2
  23. help
  24. CNSS2 platform driver uses QMI framework to communicate with WLAN
  25. firmware. It sends and receives boot handshake messages to WLAN
  26. firmware, which includes hardware and software capabilities and
  27. configurations. It also sends WLAN on/off control message to
  28. firmware over QMI channel.
  29. config CNSS_ASYNC
  30. bool "Enable/disable CNSS platform driver asynchronous probe"
  31. depends on CNSS2
  32. help
  33. If enabled, CNSS platform driver would do asynchronous probe.
  34. Using asynchronous probe will allow CNSS platform driver to
  35. probe in parallel with other device drivers and will help to
  36. reduce kernel boot time.
  37. config BUS_AUTO_SUSPEND
  38. bool "Enable/Disable Runtime PM support for PCIe based WLAN Drivers"
  39. depends on CNSS2
  40. depends on PCI
  41. help
  42. Runtime Power Management is supported for PCIe based WLAN Drivers.
  43. The features enable cld wlan driver to suspend pcie bus when APPS
  44. is awake based on the driver inactivity with the Firmware.
  45. The Feature uses runtime power management framework from kernel to
  46. track bus access clients and to synchronize the driver activity
  47. during system pm.
  48. This config flag controls the feature per target based. The feature
  49. requires CNSS driver support.
  50. config CNSS_QCA6290
  51. bool "Enable CNSS QCA6290 chipset specific changes"
  52. depends on CNSS2
  53. help
  54. This enables the changes from WLAN host driver that are specific to
  55. CNSS QCA6290 chipset.
  56. These changes are needed to support the new hardware architecture
  57. for CNSS QCA6290 chipset.
  58. config CNSS_QCA6390
  59. bool "Enable CNSS QCA6390 chipset specific changes"
  60. depends on CNSS2
  61. help
  62. This enables the changes from WLAN host driver that are specific to
  63. CNSS QCA6390 chipset.
  64. These changes are needed to support the new hardware architecture
  65. for CNSS QCA6390 chipset.
  66. config CNSS_EMULATION
  67. bool "Enable specific changes for emulation hardware"
  68. depends on CNSS2
  69. help
  70. This enables the changes from WLAN drivers that are specific to
  71. emulation hardware.
  72. These changes are needed for WLAN drivers to support and meet the
  73. requirement of emulation hardware.
  74. config CNSS_QCA6490
  75. bool "Enable CNSS QCA6490 chipset specific changes"
  76. depends on CNSS2
  77. help
  78. This enables the changes from WLAN host driver that are specific to
  79. CNSS QCA6490 chipset.
  80. These changes are needed to support the new hardware architecture
  81. for CNSS QCA6490 chipset.
  82. config CNSS_REQ_FW_DIRECT
  83. bool "Enable request_firmware_direct for firmware or configuration file"
  84. depends on CNSS2
  85. help
  86. This enables calling request_firmware_direct for firmware or
  87. configuration file to avoid 60s timeout while search file under user
  88. space failure.
  89. config CNSS_SUPPORT_DUAL_DEV
  90. bool "Enable cnss2 support dual wlan card"
  91. depends on CNSS2 && !CNSS_ASYNC
  92. help
  93. This enables the changes from cnss2 platform driver to support dual
  94. wlan card attach. Now just supports QCA6390 chip and does not support
  95. asynchronous probe.
  96. config CNSS2_CONDITIONAL_POWEROFF
  97. bool "Enable/Disable conditional bus suspend and device power off"
  98. depends on CNSS2
  99. depends on PCI
  100. help
  101. Conditional pcie bus suspend and device powering off for wlan after
  102. driver probe for the first time.
  103. With this feature enabled, pcie bus suspend and device powering off
  104. will not take place for certain wlan chipsets after driver probing
  105. for the first time to avoid potential subsequent failures during
  106. device re-probe(after wlan function driver loaded) under very bad
  107. thermal conditions.
  108. config DISABLE_CNSS_SRAM_DUMP
  109. bool "Disable sram_dump"
  110. depends on CNSS2
  111. depends on CNSS2_DEBUG
  112. help
  113. If enabled, CNSS plafrom driver will not dump sram when MHI power on
  114. timeout for CNSS QCA6490 chipset only. Since this feature about
  115. sram dump costs 4M memory.
  116. config CNSS2_SMMU_DB_SUPPORT
  117. bool "Enable early trace stop support"
  118. depends on CNSS2
  119. help
  120. If enabled, CNSS platform driver will notify wlan fw to stop
  121. traces by ringing MHI host doorbell register. This feature helps
  122. to get traces which contain smmu fault address and enables
  123. debugging.
  124. config CNSS_HW_SECURE_DISABLE
  125. bool "Enable HW secure disable"
  126. depends on CNSS2
  127. help
  128. If enabled, WLAN HW can be securely disabled. It would be able to
  129. handle WLAN cold boot initialization sequence changes if HW is
  130. disabled at boot and WLAN resume sequence after WLAN HW is enabled.
  131. config CNSS_HW_SECURE_SMEM
  132. bool "Enable SMEM API based HW peripheral security"
  133. depends on CNSS2
  134. help
  135. If enabled, CNSS platform driver will use SMEM APIs intead of SCM
  136. APIs to check peripheral secure state of HW.
  137. config CNSS2_SSR_DRIVER_DUMP
  138. bool "Enable Host SSR DRIVER DUMP Collection"
  139. depends on CNSS2
  140. help
  141. If enabled, host driver dump will be collected upon SSR.
  142. config CNSS_OUT_OF_TREE
  143. bool "Enable Out of Tree Usage"
  144. depends on CNSS2
  145. help
  146. If enabled, CNSS platform driver modules would be able to access
  147. functions from the other modules in the platform driver.
  148. config WCNSS_MEM_PRE_ALLOC
  149. tristate "WCNSS pre-alloc memory support"
  150. help
  151. Pre-allocate memory for the WLAN driver module.
  152. This feature enable cld wlan driver to use pre allocated memory
  153. for it's internal usage and release it to back to pre allocated pool.
  154. This memory is allocated at the cold boot time.
  155. config CNSS2_ENUM_WITH_LOW_SPEED
  156. bool "Enable/Disable enumurate with low speed feature"
  157. depends on CNSS2
  158. depends on PCI
  159. help
  160. Set link target speed to Gen1 before enum, and then restore default
  161. RC speed to re-establish link speed. For Genoa chip, needn't restore.