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