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