1# Copyright 2022-2024 NXP
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig WIFI_NXP
5	bool "NXP Wi-Fi driver support"
6	select NET_L2_WIFI_MGMT if NETWORKING
7	select WIFI_USE_NATIVE_NETWORKING if NETWORKING
8	select NET_L2_ETHERNET_MGMT if NETWORKING && NET_L2_ETHERNET
9	select SDHC if !SOC_SERIES_RW6XX
10	select SDIO_STACK if !SOC_SERIES_RW6XX
11	select WIFI_NM
12	depends on DT_HAS_NXP_WIFI_ENABLED
13	help
14	  Enable NXP SoC Wi-Fi support.
15
16if WIFI_NXP
17
18module = WIFI_NXP
19
20config HEAP_MEM_POOL_ADD_SIZE_NXP_WIFI
21	def_int 25984 if WIFI_NM_WPA_SUPPLICANT
22	def_int 51200
23
24config WIFI_MGMT_SCAN_CHAN_MAX_MANUAL
25	default 50
26
27config NXP_WIFI_CUSTOM
28	bool "Custom NXP Wi-Fi part"
29	help
30	  Customize NXP Wi-Fi chip support.
31
32choice NXP_WIFI_PART
33	prompt "Select NXP Wi-Fi part"
34	depends on !NXP_WIFI_CUSTOM
35	help
36	  Choose NXP Wi-Fi chip support.
37
38config NXP_RW610
39	bool "NXP RW610-based Chipset"
40	depends on SOC_SERIES_RW6XX
41	select NXP_FW_LOADER
42	select NXP_RF_IMU
43	help
44	  Select this option if you have a NXP RW610-based
45	  Wireless chip. This option will enable support
46	  for NXP RW610-based series boards.
47
48config NXP_88W8987
49	bool "NXP 88W8987 [EXPERIMENTAL]"
50	select EXPERIMENTAL
51	help
52	  Enable NXP 88W8987 Wi-Fi connectivity,
53	  More information about 88W8987 device you can find on
54	  https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-5-802-11ac-plus-bluetooth-5-2-solution:88W8987
55
56config NXP_IW416
57	bool "NXP IW416 [EXPERIMENTAL]"
58	select EXPERIMENTAL
59	help
60	  Enable NXP IW416 Wi-Fi connectivity,
61	  More information about IW416 device you can find on
62	  https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-4-802-11n-plus-bluetooth-5-2-solution:IW416
63
64config NXP_IW61X
65	bool "NXP IW61X [EXPERIMENTAL]"
66	select EXPERIMENTAL
67	help
68	  Enable NXP IW61X Wi-Fi connectivity,
69	  More information about IW61X device you can find on
70	  https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5ghz-dual-band-1x1-wi-fi-6-802-11ax-plus-bluetooth-5-2-solution:IW611
71	  https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-6-802-11ax-plus-bluetooth-5-2-plus-802-15-4-tri-radio-solution:IW612
72
73config NXP_88W8801
74	bool "NXP 88W8801 [EXPERIMENTAL]"
75	select EXPERIMENTAL
76	help
77	  Enable NXP 88W8801 Wi-Fi connectivity,
78	  More information about 88W8801 device you can find on
79	  https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-ghz-single-band-1x1-wi-fi-4-802-11n-solution:88W8801
80
81endchoice
82
83choice NXP_88W8987_MODULE
84	prompt "Select NXP 88W8987 module"
85	depends on NXP_88W8987 && !NXP_WIFI_CUSTOM
86
87config NXP_88W8987_AW_CM358_USD
88	bool "NXP AW-CM358-USD"
89	help
90	  Azurewave Type CM358 module based on NXP 88W8987 combo LGA chipset
91	  which supports which supports Wi-Fi® 802.11a/b/g/n/ac +
92	  Bluetooth® 5.1 BR/EDR/LE up to 433Mbps PHY data rate on Wi-Fi® and
93	  3Mbps PHY data rate on Bluetooth®.
94
95	  Detailed information about Azurewave Type AW CM358 module you can find on
96	  https://www.azurewave.com/wireless-modules-nxp.html
97
98config NXP_88W8987_AW_CM358MA_M2
99	bool "NXP AW-CM358MA-M2"
100	help
101	  Azurewave Type CM358MA module based on NXP 88W8987 combo LGA chipset
102	  which supports which supports Wi-Fi® 802.11a/b/g/n/ac +
103	  Bluetooth® 5.1 BR/EDR/LE up to 433Mbps PHY data rate on Wi-Fi® and
104	  3Mbps PHY data rate on Bluetooth®.
105
106	  Detailed information about Murata Type AW CM358MA module you can find on
107	  https://www.azurewave.com/wireless-modules-nxp.html
108
109config NXP_88W8987_MURATA_1ZM_USD
110	bool "NXP MURATA-1ZM-USD"
111	help
112	  Murata Type 1ZM is a small and very high performance module based on
113	  NXP 88W8987 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac +
114	  Bluetooth® 5.1 BR/EDR/LE up to 433Mbps PHY data rate on Wi-Fi® and
115	  3Mbps PHY data rate on Bluetooth®.
116
117	  Detailed information about Murata Type 1ZM module you can find on
118	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1zm
119	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter
120
121config NXP_88W8987_MURATA_1ZM_M2
122	bool "NXP MURATA-1ZM-M2"
123	help
124	  Murata Type 1ZM is a small and very high performance module based on
125	  NXP 88W8987 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac +
126	  Bluetooth® 5.1 BR/EDR/LE up to 433Mbps PHY data rate on Wi-Fi® and
127	  3Mbps PHY data rate on Bluetooth®.
128
129	  Detailed information about Murata Type 1ZM module you can find on
130	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1zm
131
132endchoice
133
134choice NXP_IW416_MODULE
135	prompt "Select NXP IW416 module"
136	depends on NXP_IW416 && !NXP_WIFI_CUSTOM
137
138config NXP_IW416_AW_AM457_USD
139	bool "NXP IW416-AW-AM457-USD"
140	help
141	  Azurewave Type AM457 is a small and high performance module based on
142	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
143	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
144	  3Mbps PHY data rate on Bluetooth®.
145
146	  Detailed information about Type AW AM457 module you can find on
147	  https://www.azurewave.com/wireless-modules-nxp.html
148
149config NXP_IW416_AW_AM457MA_M2
150	bool "NXP IW416-AW-AM457MA-M2"
151	help
152	  Azurewave Type AM457MA is a small and high performance module based on
153	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
154	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
155	  3Mbps PHY data rate on Bluetooth®.
156
157	  Detailed information about Type AW AM457MA module you can find on
158	  https://www.azurewave.com/wireless-modules-nxp.html
159
160config NXP_IW416_AW_AM510_USD
161	bool "NXP IW416-AW-AM510-USD"
162	help
163	  Azurewave Type AM510 is a small and high performance module based on
164	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
165	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
166	  3Mbps PHY data rate on Bluetooth®.
167
168	  Detailed information about Type AW AM510 module you can find on
169	  https://www.azurewave.com/wireless-modules-nxp.html
170
171config NXP_IW416_AW_AM510MA_M2
172	bool "NXP IW416-AW-AM510MA-M2"
173	help
174	  Azurewave Type AM510MA is a small and high performance module based on
175	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
176	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
177	  3Mbps PHY data rate on Bluetooth®.
178
179	  Detailed information about Type AW AM510MA module you can find on
180	  https://www.azurewave.com/wireless-modules-nxp.html
181
182config NXP_IW416_MURATA_1XK_USD
183	bool "NXP IW416-MURATA-1XK-USD"
184	help
185	  Murata Type 1XK is a small and high performance module based on
186	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
187	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
188	  3Mbps PHY data rate on Bluetooth®.
189
190	  Detailed information about Type 1XK module you can find on
191	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1xk
192	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter
193
194config NXP_IW416_MURATA_1XK_M2
195	bool "NXP IW416-MURATA-1XK-M2"
196	help
197	  Murata Type 1XK is a small and high performance module based on
198	  NXP IW416 combo chipset which supports Wi-Fi® 802.11a/b/g/n +
199	  Bluetooth® 5.2 BR/EDR/LE up to 150 Mbps PHY data rate on Wi-Fi® and
200	  3Mbps PHY data rate on Bluetooth®.
201
202	  Detailed information about Type 1XK module you can find on
203	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1xk
204
205endchoice
206
207choice NXP_IW61X_MODULE
208	prompt "Select NXP IW61X module"
209	depends on NXP_IW61X && !NXP_WIFI_CUSTOM
210
211config NXP_IW612_MURATA_2EL_USD
212	bool "NXP IW612-MURATA-2EL-USD"
213	help
214	  Murata Type 2EL is a small and very high performance module based on
215	  NXP IW612 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac/ax +
216	  Bluetooth® 5.3 BR/EDR/LE + 802.15.4 up to 601Mbps PHY data rate on Wi-fi®
217	  and 2Mbps PHY data rate on Bluetooth®.
218
219	  Detailed information about Type 2EL module you can find on
220	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2el
221	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter
222
223config NXP_IW612_MURATA_2EL_M2
224	bool "NXP IW612-MURATA-2EL-M2"
225	help
226	  Murata Type 2EL is a small and very high performance module based on
227	  NXP IW612 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac/ax +
228	  Bluetooth® 5.3 BR/EDR/LE + 802.15.4 up to 601Mbps PHY data rate on Wi-fi®
229	  and 2Mbps PHY data rate on Bluetooth®.
230
231	  Detailed information about Type 2EL module you can find on
232	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2el
233
234config NXP_IW611_MURATA_2DL_USD
235	bool "NXP IW611-MURATA-2DL-USD"
236	help
237	  Murata Type 2DL is a small and very high performance module based on
238	  NXP IW611 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac/ax +
239	  Bluetooth® 5.3 BR/EDR/LE up to 601Mbps PHY data rate on Wi-fi® and
240	  2Mbps PHY data rate on Bluetooth®.
241
242	  Detailed information about Type 2DL module you can find on
243	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2dl
244	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter
245
246config NXP_IW611_MURATA_2DL_M2
247	bool "NXP IW611-MURATA-2DL-M2"
248	help
249	  Murata Type 2DL is a small and very high performance module based on
250	  NXP IW611 combo chipset which supports Wi-Fi® 802.11a/b/g/n/ac/ax +
251	  Bluetooth® 5.3 BR/EDR/LE up to 601Mbps PHY data rate on Wi-fi® and
252	  2Mbps PHY data rate on Bluetooth®.
253
254	  Detailed information about Type 2DL module you can find on
255	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2dl
256
257endchoice
258
259choice NXP_88W8801_MODULE
260	prompt "Select NXP 88W8801 module"
261	depends on NXP_88W8801 && !NXP_WIFI_CUSTOM
262
263config NXP_88W8801_AW_NM191_USD
264	bool "NXP AW-NM191-USD"
265	help
266	  Azurewave Type NM191 is a small high-performance module (integrated PCB
267	  antenna) based on NXP 88W8801 chipset which supports Wi-Fi® 802.11b/g/n
268	  up to 72.2 Mbps PHY data rate.
269
270	  Detailed information about Murata Type AW NM191 module you can find on
271	  https://www.azurewave.com/wireless-modules-nxp.html
272
273config NXP_88W8801_AW_NM191MA_M2
274	bool "NXP AW-NM191MA-M2"
275	help
276	  Azurewave Type NM191MA is a small high-performance module (integrated PCB
277	  antenna) based on NXP 88W8801 chipset which supports Wi-Fi® 802.11b/g/n
278	  up to 72.2 Mbps PHY data rate.
279
280	  Detailed information about Murata Type AW NM191MA module you can find on
281	  https://www.azurewave.com/wireless-modules-nxp.html
282
283config NXP_88W8801_MURATA_2DS_USD
284	bool "NXP MURATA-2DS-USD"
285	help
286	  Murata Type 2DS is a small high-performance module (integrated PCB antenna)
287	  based on NXP 88W8801 chipset which supports Wi-Fi® 802.11b/g/n
288	  up to 72.2 Mbps PHY data rate.
289
290	  Detailed information about Murata Type 2DS module you can find on
291	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2ds
292	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter
293
294config NXP_88W8801_MURATA_2DS_USD
295	bool "NXP MURATA-2DS-M2"
296	help
297	  Murata Type 2DS is a small high-performance module (integrated PCB antenna)
298	  based on NXP 88W8801 chipset which supports Wi-Fi® 802.11b/g/n
299	  up to 72.2 Mbps PHY data rate.
300
301	  Detailed information about Murata Type 2DS module you can find on
302	  https://www.murata.com/en-us/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type2ds
303
304endchoice
305
306config NXP_WIFI_SHELL
307	bool "NXP Wi-Fi shell"
308	depends on SHELL
309	help
310	  NXP Wi-Fi shell commands support.
311
312menu "Wi-Fi driver Stack configurations"
313
314config NXP_WIFI_MON_TASK_STACK_SIZE
315	int "Mon thread stack size"
316	depends on NXP_RW610
317	default 3072
318	help
319	  This option specifies the size of the stack used by the mon task.
320
321config NXP_WIFI_WLCMGR_TASK_STACK_SIZE
322	int "Wlcmgr thread stack size"
323	default 5120
324	help
325	  This option specifies the size of the stack used by the wlcmgr task.
326
327config NXP_WIFI_POWERSAVE_TASK_STACK_SIZE
328	int "Wifi powersave task stack size"
329	default 1024
330	help
331	  This option specifies the size of the stack used by the wifi powersave task.
332
333config NXP_WIFI_TX_TASK_STACK_SIZE
334	int "Wifi driver TX task stack size"
335	default 2048
336	depends on NXP_WIFI_WMM
337	help
338	  This option specifies the size of the stack used by the wifi driver TX task.
339
340config NXP_WIFI_DRIVER_TASK_STACK_SIZE
341	int "Wifi driver task stack size"
342	default 2048
343	help
344	  This option specifies the size of the stack used by the wifi driver task.
345
346config NXP_WIFI_SCAN_TASK_STACK_SIZE
347	int "Wifi scan task stack size"
348	default 2048
349	help
350	  This option specifies the size of the stack used by the wifi scan task.
351
352endmenu
353
354menu "Wi-Fi thread priority configurations"
355
356config NXP_WIFI_MON_TASK_PRIO
357	int "Mon task priority"
358	depends on NXP_RW610
359	default 4
360	help
361	  This option specifies the priority of the mon task.
362
363config NXP_WIFI_WLCMGR_TASK_PRIO
364	int "Wlcmgr task priority"
365	default 2
366	help
367	  This option specifies the priority of the wlcmgr task.
368
369config NXP_WIFI_POWERSAVE_TASK_PRIO
370	int "Wifi powersave task priority"
371	default 4
372	help
373	  This option specifies the priority of the wifi powersave task.
374
375config NXP_WIFI_TX_TASK_PRIO
376	int "Wifi driver TX task priority"
377	default 3
378	depends on NXP_WIFI_WMM
379	help
380	  This option specifies the priority of the wifi driver TX task,
381	  and better to keep all the TX/RX tasks having same priority to
382	  get higher throughput. The relative priorities of different tasks
383	  need to remain the same as the current ones, which are tuned.
384
385config NXP_WIFI_DRIVER_TASK_PRIO
386	int "Wifi driver task priority"
387	default 2
388	help
389	  This option specifies the priority of the wifi driver task.
390
391config NXP_WIFI_SCAN_TASK_PRIO
392	int "Wifi scan task priority"
393	default 4
394	help
395	  This option specifies the priority of the wifi scan task.
396
397endmenu
398
399menu "Wi-Fi Station Support"
400
401config NXP_WIFI_STA_AUTO_CONN
402	bool "Automatically starts STA connection"
403	default n
404	help
405	  This option enables Station auto connection support.
406
407if NXP_WIFI_STA_AUTO_CONN
408
409config NXP_WIFI_STA_AUTO_SSID
410	string "NXP Wi-Fi STA auto connect SSID"
411	depends on NXP_WIFI_STA_AUTO_CONN
412	default "myssid"
413	help
414	  This option specifies the SSID of the external Access Point
415	  for auto connection.
416	  Maximum length is 32 ascii characters.
417
418config NXP_WIFI_STA_AUTO_PASSWORD
419	string "NXP Wi-Fi STA auto connect password"
420	depends on NXP_WIFI_STA_AUTO_CONN
421	default ""
422	help
423	  This option specifies the Passphrase of the external
424	  Access Point for auto connection.
425	  Only support PSK security or open security by default.
426	  Length range 8 - 64, or 0 for open security.
427
428endif
429
430config NXP_WIFI_STA_RECONNECT
431	bool "Automatically starts STA Reconnection"
432	default y
433	help
434	  This option enables Station auto reconnection support,
435	  when disconnected from current associated Access Point.
436
437config NXP_WIFI_AUTO_POWER_SAVE
438	bool "Automatically starts Power Save support"
439	default y
440	help
441	  WiFi driver will automatically initiate power save when initialized.
442
443menu "Wi-Fi Scan Support"
444
445config NXP_WIFI_EXT_SCAN_SUPPORT
446	bool "Extended Scan Support"
447	default y
448	depends on !NXP_88W8801
449	help
450	  This option enables the use of extended scan support.
451
452config NXP_WIFI_SCAN_WITH_RSSIFILTER
453	bool "Scan with rssi filter"
454	default y
455	help
456	  This option enables rssi threshold support in the Wi-Fi driver.
457
458config NXP_WIFI_MAX_AP_ENTRIES
459	int "Maximum scan entries"
460	range 1 30
461	default 10
462	help
463	  This is the maximum number of entries in the
464	  list of APs stored by wifi driver. Each entry takes
465	  about 400 bytes of RAM. The value should
466	  be decided based on number of APs expected
467	  to be present in the end user environment.
468	  Note that the wifi driver automatically keeps
469	  only the highest signal strength APs in the list.
470
471config NXP_WIFI_SCAN_CHANNEL_GAP
472	int "Max scan channel gap"
473	default 1
474	help
475	  This option sets the max scan channel gap time between two scan commands.
476
477endmenu
478
479config NXP_WIFI_WMM_UAPSD
480	bool "UAPSD mode"
481	default y
482	help
483	  This option enables WMM UAPSD in the Wi-Fi driver.
484
485config NXP_WIFI_ROAMING
486	bool "Wi-Fi Soft Roaming"
487	default y
488	select WIFI_NM_WPA_SUPPLICANT_ROAMING if WIFI_NM_WPA_SUPPLICANT
489	select WIFI_NM_WPA_SUPPLICANT_SKIP_DHCP_ON_ROAMING if WIFI_NM_WPA_SUPPLICANT
490	help
491	  This option enables Soft Roaming support in the Wi-Fi driver.
492
493config NXP_WIFI_CLOUD_KEEP_ALIVE
494	bool "Cloud Keep Alive"
495	help
496	  This option enables Cloud Keep Alive support in the Wi-Fi driver.
497
498config NXP_WIFI_11K
499	bool "802.11K Support"
500	default y
501	help
502	  This option enables the use of 802.11k support.
503
504config NXP_WIFI_11V
505	bool "802.11V Support"
506	default y
507	help
508	  This option enables the use of 802.11v support.
509
510config NXP_WIFI_11R
511	bool "802.11R Support"
512	default n if (NXP_RW610 && !WIFI_NM_WPA_SUPPLICANT)
513	default y
514	depends on NXP_88W8987 || NXP_IW416 || NXP_RW610 || NXP_WIFI_CUSTOM
515	help
516	  This option enables the use of 802.11r support.
517
518config NXP_WIFI_RTS_THRESHOLD
519	bool "Set RTS Threshold Support"
520	default y
521	help
522	  This option enables the set of rts threshold support.
523
524config NXP_WIFI_INACTIVITY_TIMEOUT_EXT
525	bool "Inactivity Timeout Ext Support"
526	default y
527	help
528	  This option enables the use of Inactivity Timeout Ext support.
529
530endmenu
531
532config NXP_WIFI_MAX_PRIO
533	int
534	default 1
535	help
536	  This option sets Wi-Fi max priority in the Wi-Fi driver.
537
538config NXP_WIFI_SOFTAP_SUPPORT
539	bool "Wi-Fi SoftAP Support"
540	select NET_DHCPV4_SERVER
541	select WIFI_NM_HOSTAPD_AP if WIFI_NM_WPA_SUPPLICANT
542	default y
543	help
544	  Option to enable Wi-Fi SoftAP functions in the Wi-Fi driver.
545
546if NXP_WIFI_SOFTAP_SUPPORT
547
548config NXP_WIFI_SOFTAP_IP_ADDRESS
549	string "NXP SoftAP mode IP Address"
550	default "192.168.10.1"
551
552config NXP_WIFI_SOFTAP_IP_GATEWAY
553	string "Gateway Address"
554	default "192.168.10.1"
555
556config NXP_WIFI_SOFTAP_IP_MASK
557	string "Network Mask"
558	default "255.255.255.0"
559
560config NXP_WIFI_SOFTAP_IP_BASE
561	string "NXP SoftAP base address"
562	default "192.168.10.2"
563
564config NXP_WIFI_CAPA
565	bool "Wi-Fi Soft AP Capability"
566	default y
567	help
568	  This option enables uAP Wi-Fi Capability in the Wi-Fi driver.
569
570config NXP_WIFI_UAP_STA_MAC_ADDR_FILTER
571	bool "Wi-Fi SoftAP clients white/black list"
572	default y
573	help
574	  Allow/Block MAC addresses specified in the allowed list.
575
576config NXP_WIFI_UAP_WORKAROUND_STICKY_TIM
577	bool "Sticky Tim"
578	default y
579	help
580	  This config enables the workaround of a
581	  particular firmware issue which causes packets
582	  being sent on air even if STA is in IEEE PS. When
583	  enabled this will enable the sticky TIM bit
584	  workaround. A downside of this is that the STA
585	  client of the uAP will not be able to go in IEEE PS.
586
587endif
588
589menu "Wi-Fi SDIO Multi Port Aggregation"
590
591config NXP_WIFI_SDIO_MULTI_PORT_RX_AGGR
592	bool "SDIO Multiport Rx Aggregation"
593	default y if !SOC_SERIES_RW6XX
594	help
595	  This option enables SDIO Multiport Rx Aggregation support in the Wi-Fi driver.
596
597config NXP_WIFI_SDIO_MULTI_PORT_TX_AGGR
598	bool "SDIO Multiport Tx Aggregation"
599	default y if !SOC_SERIES_RW6XX
600	depends on NXP_WIFI_WMM
601	help
602	  This option enables SDIO Multiport Rx Aggregation support in the Wi-Fi driver.
603
604endmenu
605
606config NXP_WIFI_11AX
607	bool "802.11AX Support"
608	default y
609	select NXP_WIFI_11AC
610	select NXP_WIFI_WMM
611	depends on NXP_RW610 || NXP_IW61X || NXP_WIFI_CUSTOM
612	help
613	  This option enables the use of 802.11ax support.
614
615config NXP_WIFI_11AC
616	bool "802.11AC Support"
617	default y
618	select NXP_WIFI_WMM
619	depends on NXP_RW610 || NXP_IW61X || NXP_88W8987 || NXP_WIFI_CUSTOM
620	help
621	  This option enables the use of 802.11ac support.
622
623config NXP_WIFI_WMM
624	bool "802.11 WMM Support"
625	default y
626	help
627	  This option enables the use of 802.11 WMM support.
628
629config NXP_WIFI_SET_SU
630	bool "Single User Support"
631	default y
632	depends on NXP_WIFI_11AX
633	help
634	  This option enables the use of single user support.
635
636config NXP_WIFI_MULTI_BSSID_SUPPORT
637	bool "Multiple BSSID Support"
638	default y
639	depends on NXP_WIFI_11AX
640	help
641	  This option enables the use of multiple BSSID support.
642
643config NXP_WIFI_FRAG_THRESHOLD
644	bool "Set Fragment Threshold Support"
645	default y
646	help
647	  This option enables the set of fragment threshold support.
648
649config NXP_WIFI_FORCE_RTS
650	bool "Force RTS Support"
651	default y
652	help
653	  This option enables the set of force RTS support.
654
655config NXP_WIFI_TX_AMPDU_PROT_MODE
656	bool "TX AMPDU Protection Mode Support"
657	default y
658	help
659	  This option enables TX AMPDU protection mode support.
660
661config NXP_WIFI_EXTERNAL_COEX_PTA
662	bool "External COEX PTA Support"
663	default y
664	help
665	  This option enables the use of external coex PTA support.
666
667config NXP_WIFI_TURBO_MODE
668	bool "Turbo Mode"
669	default y
670	depends on NXP_WIFI_WMM
671	depends on !NXP_88W8801
672	help
673	  This option enables WMM Turbo Mode support in the Wi-Fi driver.
674
675config NXP_WIFI_IPV6
676	bool "IPv6 Support"
677	default y
678	depends on NET_IPV6
679	help
680	  This option enables the use of IPv6 support.
681
682config NXP_WIFI_5GHz_SUPPORT
683	bool "5GHz Support(Band A)"
684	default y
685	depends on !NXP_88W8801
686	help
687	  This option enables the use of 5GHz.
688
689config NXP_WIFI_TX_RX_ZERO_COPY
690	bool "Zero memory copy TX/RX data packets"
691	default y if NXP_RW610
692	imply NET_IPV4_FRAGMENT
693	help
694	  This option enables the Zero memory copy of data packets in Wi-Fi driver data path.
695
696config NXP_WIFI_GET_LOG
697	bool "Get 802.11 log"
698	default y
699	help
700	  This option gets 802.11 log in the Wi-Fi driver.
701
702config NXP_WIFI_TX_PER_TRACK
703	bool "TX packet error tracking"
704	help
705	  This option is used to track Tx packet error ratio.
706
707config NXP_WIFI_CSI
708	bool "CSI support"
709	default y
710	depends on NXP_RW610 || NXP_88W8987 || NXP_WIFI_CUSTOM
711	help
712	  This option enable/disable channel state information collection.
713
714config NXP_WIFI_RESET
715	bool "Wi-Fi reset"
716	default y
717	help
718	  This option is used to enable/disable/reset Wi-Fi.
719
720config NXP_WIFI_ECSA
721	bool "ECSA"
722	default y
723	help
724	  This option is used to do channel switch according to spec.
725
726config NXP_WIFI_UNII4_BAND_SUPPORT
727	bool "UNII4 support"
728	default y
729	depends on NXP_WIFI_5GHz_SUPPORT
730	help
731	  This option is used to enable/disable UNII4 channels.
732
733config NXP_WIFI_RECOVERY
734	bool "RECOVERY"
735	depends on NXP_RW610
736	help
737	  This option is used to enable wifi recovery support.
738
739if NXP_RW610
740
741config NXP_WIFI_FW_VDLLV2
742	bool "Firmware virtual dynamic link library version 2"
743	default y
744	help
745	  This option is to load some firmware features in run-time.
746
747config NXP_WIFI_AUTO_NULL_TX
748	bool "Auto send null frame"
749	default y
750	help
751	  This option is to support sending null frame in period for CSI.
752
753config NXP_WIFI_NET_MONITOR
754	bool "Networking monitor"
755	default y
756	help
757	  This option is used to set/get network monitor configuration.
758
759config NXP_WIFI_CAU_TEMPERATURE
760	bool "Cau temperature"
761	default y
762	help
763	  This option is used to enable/disable Cau temperature.
764
765config NXP_WIFI_TSP
766	bool "Thermal Safeguard Protection"
767	default y
768	help
769	  This option is used to set and get Thermal Safeguard Protection configuration.
770
771config NXP_WIFI_IPS
772	bool "IPS"
773	default y
774	help
775	  This option enable/disable config for IPS in the Wi-Fi driver.
776
777config NXP_WIFI_RX_ABORT_CFG
778	bool "RX abort support"
779	default y
780	help
781	  This option enables rx abort config with static RSSI threshold
782	  in the Wi-Fi driver.
783
784config NXP_WIFI_RX_ABORT_CFG_EXT
785	bool "RX abort extension support"
786	default y
787	help
788	  This option enables rx abort extension config with dynamic
789	  RSSI threshold in the Wi-Fi driver.
790
791config NXP_WIFI_CCK_DESENSE_CFG
792	bool "CCK desense mode support"
793	default y
794	help
795	  This option enables cck desense mode in the Wi-Fi driver.
796
797config NXP_WIFI_COEX_DUTY_CYCLE
798	bool "Set duty cycle"
799	default y
800	help
801	  This option sets duty cycle in the Wi-Fi driver.
802
803config NXP_WIFI_MMSF
804	bool "11AX density config"
805	default y
806	help
807	  This option is used to specify/get 11ax density config in the Wi-Fi driver.
808
809config NXP_WIFI_IMD3_CFG
810	bool "Set imd validation parameters"
811	default y
812	help
813	  This option is used to set IM3 configuration for Wi-Fi,
814	  BLE coex mode and antenna isolation debug.
815
816config NXP_WIFI_ANT_DETECT
817	bool "Antenna automatic detection"
818	default y
819	help
820	  This option is used to auto detect which two antennas are present and
821	  then configure corresponding evaluate Mode-X to firmware and enable antenna diversity.
822
823config NXP_WIFI_WLAN_CALDATA_1ANT
824	bool "One antenna"
825	help
826	  This option is used to enable one antenna.
827
828config NXP_WIFI_WLAN_CALDATA_1ANT_WITH_DIVERSITY
829	bool "One antenna diversity"
830	help
831	  This option is used to enable one antenna diversity.
832
833config NXP_WIFI_WLAN_CALDATA_3ANT_DIVERSITY
834	bool "Three antenna diversity"
835	help
836	  This option is used to enable three antenna diversity.
837
838endif # NXP_RW610
839
840config NXP_WIFI_11AX_TWT
841	bool "802.11ax TWT support"
842	default y
843	depends on NXP_WIFI_11AX
844	help
845	  This option enables 11ax TWT in the Wi-Fi driver.
846
847config NXP_WIFI_PKT_FWD
848	bool "Wi-Fi packet forward"
849	default y if NXP_RW610
850	depends on NXP_WIFI_SOFTAP_SUPPORT
851	help
852	  This option enables Wi-Fi packet forward on SoftAP.
853
854config NXP_WIFI_DTIM_PERIOD
855	bool "Wi-Fi DTIM period"
856	default y
857	help
858	  This option is used to set dtim period in the Wi-Fi driver.
859
860config NXP_WIFI_MEM_ACCESS
861	bool
862	default y if NXP_RW610
863	help
864	  This option enables memory access cmd in the Wi-Fi driver.
865
866config NXP_WIFI_REG_ACCESS
867	bool
868	default y if NXP_RW610
869	help
870	  This option enables register access cmd in the Wi-Fi driver.
871
872config NXP_WIFI_SUBSCRIBE_EVENT_SUPPORT
873	bool "Subscribe event from firmware"
874	default y if NXP_RW610
875	help
876	  This option prints the get subscribe event from firmware for user test.
877
878config NXP_WIFI_TX_RX_HISTOGRAM
879	bool "TX/RX statistics"
880	default y if NXP_RW610
881	help
882	  This option enables TX/RX statistics in the Wi-Fi driver.
883
884config NXP_WIFI_RF_TEST_MODE
885	bool "WLAN RF Test Mode"
886	default y if NXP_RW610
887	help
888	  This option enables WLAN test mode commands.
889
890config NXP_WIFI_EU_VALIDATION
891	bool "EU Validation"
892	default y
893	help
894	  This option enables EU Validation Support.
895
896if NXP_RW610 || NXP_IW61X
897
898config NXP_WIFI_CLOCKSYNC
899	bool "Clock sync using TSF latch"
900	default y
901	help
902	  This option enables clock synchronization of TSF latches.
903
904config NXP_WIFI_COMPRESS_TX_PWTBL
905	bool "Compress TX Power Table Support"
906	default y
907	help
908	  This option enables the use of Compress TX Power Table support.
909
910config NXP_WIFI_COMPRESS_RU_TX_PWTBL
911	bool "Compress RU TX Power Table Support"
912	default y
913	help
914	  This option enables the use of Compress RU TX Power Table support.
915
916endif
917
918config NXP_WIFI_EU_CRYPTO
919	bool "Wi-Fi EU Crypto"
920	default y
921	depends on !NXP_88W8801
922	help
923	  This option enables Wi-Fi EU Crypto support in the Wi-Fi driver.
924
925config NXP_WIFI_HOST_SLEEP
926	bool "HOST Sleep"
927	default y if PM
928	help
929	  This option enables HOST Sleep support for MCU.
930
931config NXP_WIFI_MEF_CFG
932	bool "Memory Efficient Filtering"
933	default y if PM
934	help
935	  This option enables Memory Efficient Filtering support in the Wi-Fi driver.
936
937config NXP_WIFI_FIPS
938	bool "FIPS"
939	help
940	  This option enables Wi-Fi FIPS support in the Wi-Fi driver.
941
942config NXP_WIFI_OWE
943	bool "Opportunistic Wireless Encryption"
944	default y
945	help
946	  This option enables Wi-Fi Opportunistic Wireless Encryption support
947	  in the Wi-Fi driver.
948
949config NXP_WIFI_TC_RELOCATE
950	bool "Traffic api relocate to RAM"
951	default y
952	help
953	  Relocate Wi-Fi transmit and receive api to RAM to increase
954	  traffic throughput.
955
956config NXP_WIFI_CUSTOM_CALDATA
957	bool "Set caldata by drv"
958	help
959	  This option force to use custom calibration data.
960
961if NXP_88W8987 || NXP_IW416
962
963config NXP_WIFI_FW_AUTO_RECONNECT
964	bool "Firmware Auto Reconnect"
965	default y
966	help
967	  This option enables the use of firmware auto recoonect support.
968
969config NXP_WIFI_IND_DNLD
970	bool "Parallel Firmware Download"
971	help
972	  This option enables the use of Parallel firmware download support.
973
974config NXP_WIFI_IND_RESET
975	bool "Wi-Fi Independent Reset"
976	help
977	  This option enables the use of Wi-Fi independent reset support.
978
979endif
980
981config NXP_WIFI_SMOKE_TESTS
982	bool "Smoke Tests"
983	select NET_SHELL
984	select KERNEL_SHELL
985	select SHELL_BACKEND_TELNET
986	select SHELL_TELNET_SUPPORT_COMMAND
987	help
988	  This option is for development smoke tests in the Wi-Fi driver.
989
990if NXP_WIFI_SMOKE_TESTS
991
992config NXP_WIFI_SIGMA_AGENT
993	bool "Wi-Fi Alliance Sigma Agent Support"
994	select POSIX_API
995	select PTHREAD_IPC
996	select PTHREAD_CREATE_BARRIER
997	select TIMER
998	help
999	  This option is to enable Wi-Fi Alliance Sigma Agent support in the Wi-Fi driver.
1000
1001choice
1002	prompt "NXP SM IP Address configuration"
1003	default NXP_WIFI_SM_IP_DHCP
1004	help
1005	  Choose whether to use an IP assigned by DHCP Server or
1006	  configure a static IP Address.
1007
1008config NXP_WIFI_SM_IP_DHCP
1009	bool "DHCP"
1010	help
1011	  Use DHCP to get an IP Address.
1012
1013config NXP_WIFI_SM_IP_STATIC
1014	bool "Static"
1015	help
1016	  Setup Static IP Address.
1017
1018endchoice
1019
1020if NXP_WIFI_SM_IP_STATIC
1021
1022config NXP_WIFI_SM_IP_ADDRESS
1023	string "NXP Station mode IP Address"
1024
1025config NXP_WIFI_SM_IP_GATEWAY
1026	string "Gateway Address"
1027
1028config NXP_WIFI_SM_IP_MASK
1029	string "Network Mask"
1030
1031endif
1032
1033endif # NXP_WIFI_SMOKE_TESTS
1034
1035menu "Development and Debugging"
1036
1037config NXP_WIFI_ENABLE_ERROR_LOGS
1038	bool "WiFi driver error logs control"
1039	default y if WIFI_LOG_LEVEL_ERR || WIFI_LOG_LEVEL_DBG
1040	help
1041	  If you enable this, error messages will be printed in case of error
1042	  conditions. This will increase the size of the image. It is strongly
1043	  recommended to keep it enabled during development, to quickly
1044	  localize problems.
1045
1046config NXP_WIFI_ENABLE_WARNING_LOGS
1047	bool "WiFi driver warning logs control"
1048	default y if WIFI_LOG_LEVEL_WRN || WIFI_LOG_LEVEL_DBG
1049	help
1050	  If you enable this, error messages will be printed in case of error
1051	  conditions. This will increase the size of the image. It is strongly
1052	  recommended to keep it enabled during development, to quickly
1053	  localize problems.
1054
1055config NXP_WIFI_DEBUG_BUILD
1056	bool "Debug build"
1057	depends on WIFI_LOG_LEVEL_DBG
1058	help
1059	  If you enable this the debug options will be
1060	  enabled. Asserts will be also be enabled.
1061
1062config NXP_WIFI_OS_DEBUG
1063	bool "OS debug"
1064	depends on NXP_WIFI_DEBUG_BUILD
1065	help
1066	  If you enable this the OS abstraction APIs debugs will be enabled.
1067
1068config NXP_WIFI_NET_DEBUG
1069	bool "NET debug"
1070	depends on NXP_WIFI_DEBUG_BUILD
1071	help
1072	  If you enable this the network driver abstraction APIs debugs will be enabled.
1073
1074config NXP_WIFI_WLCMGR_DEBUG
1075	bool "Wireless Connection Manager"
1076	depends on NXP_WIFI_DEBUG_BUILD
1077	help
1078	  If you enable this the WLAN Connection Manager APIs debugs will be enabled.
1079
1080menu "Wifi extra debug options"
1081
1082config NXP_WIFI_EXTRA_DEBUG
1083	bool "WiFi driver extra debug control"
1084	depends on WIFI_LOG_LEVEL_DBG
1085	help
1086	  This macro helps you to get additional debugging
1087	  information from the wifi driver. For e.g. more
1088	  detailed reason will be given if an assoc failure
1089	  happens.
1090
1091config NXP_WIFI_UAP_DEBUG
1092	bool "WiFi driver uAP debug"
1093	depends on NXP_WIFI_EXTRA_DEBUG
1094	depends on NXP_WIFI_SOFTAP_SUPPORT
1095	help
1096	  Enabling this will print out logs related
1097	  to the uAP. This is enable to developer
1098	  to localize issues related to uAP. Apart from
1099	  other logs, uAP initialization and configuration
1100	  logs are printed out.
1101
1102config NXP_WIFI_EVENTS_DEBUG
1103	bool "Dump event information"
1104	depends on NXP_WIFI_EXTRA_DEBUG
1105	help
1106	  Enabling this will dump event codes of
1107	  events received on from the firmware.
1108	  This helps the developer to checks the
1109	  events received from the firmware along
1110	  with their timestamp.
1111
1112config NXP_WIFI_CMD_RESP_DEBUG
1113	bool "Dump command and response codes"
1114	depends on NXP_WIFI_EXTRA_DEBUG
1115	help
1116	  Enabling this will dump command and response
1117	  codes send to and received from firmware
1118	  respectively.
1119
1120config NXP_WIFI_PS_DEBUG
1121	bool "Power save debug"
1122	depends on NXP_WIFI_EXTRA_DEBUG
1123	help
1124	  Enabling this will dump command and response
1125	  codes send to and received from firmware
1126	  respectively for power save commands.
1127
1128config NXP_WIFI_SCAN_DEBUG
1129	bool "Scan debug"
1130	depends on NXP_WIFI_EXTRA_DEBUG
1131	help
1132	  Enabling this will enable scan code logs
1133	  This helps the developer to localize wlan
1134	  scan related issues like split scan, channel
1135	  selections, etc
1136
1137config NXP_WIFI_PKT_DEBUG
1138	bool "Packet debug"
1139	depends on NXP_WIFI_EXTRA_DEBUG
1140	help
1141	  Enabling this will enable packet TX/RX code logs
1142	  This helps the developer to localize wlan
1143	  data path related issues like tx/rx failures, etc
1144
1145config NXP_WIFI_IO_INFO_DUMP
1146	bool "Input-Output debug (basic)"
1147	depends on NXP_WIFI_EXTRA_DEBUG
1148	help
1149	  Enabling this will dump information
1150	  about input/output data packets. This information
1151	  has information like packet size and interface
1152	  for which packet is destined.
1153
1154config NXP_WIFI_IO_DEBUG
1155	bool "Input-Output debug (advanced)"
1156	depends on NXP_WIFI_EXTRA_DEBUG
1157	help
1158	  Enabling this will enable I/O debugging
1159	  of wifi driver. This enables you to see
1160	  how the driver is interacting with the
1161	  SDIO bus.
1162
1163config NXP_WIFI_IO_DUMP
1164	bool "Hex Dump packets"
1165	depends on NXP_WIFI_EXTRA_DEBUG
1166	help
1167	  Enabling this will enable I/O debugging
1168	  of wifi driver. This enables you to see
1169	  all the packets that are received/sent from/to
1170	  the SDIO bus.
1171
1172config NXP_WIFI_MEM_DEBUG
1173	bool "Allocations debug"
1174	depends on NXP_WIFI_EXTRA_DEBUG
1175	help
1176	  Enabling this will enable monitoring
1177	  memory allocations and frees done by
1178	  the wifi driver. This enables you to gauge
1179	  and/or debug heap memory used by the driver.
1180
1181config NXP_WIFI_AMPDU_DEBUG
1182	bool "AMPDU debug"
1183	depends on NXP_WIFI_EXTRA_DEBUG
1184	help
1185	  Enabling this will help you to  monitor what
1186	  is happening to AMPDU Rx packets. Note
1187	  that AMPDU Tx is not supported by the driver. Note that
1188	  you will need to enable timer debug separately to see
1189	  timer activity going on during out of order packets
1190	  handling.
1191
1192config NXP_WIFI_TIMER_DEBUG
1193	bool "Timers debug"
1194	depends on NXP_WIFI_EXTRA_DEBUG
1195	help
1196	  Enable this to monitor timer activity of the
1197	  driver. Timers are generally used for AMPDU out of
1198	  order packet handling. It is also used for command
1199	  timeout related functionality.
1200
1201config NXP_WIFI_SDIO_DEBUG
1202	bool "SDIO debug"
1203	depends on NXP_WIFI_EXTRA_DEBUG
1204	help
1205	  Enable this to monitor SDIO init deinit errors
1206
1207config NXP_WIFI_SDIO_IO_DEBUG
1208	bool "SDIO IO debug"
1209	depends on NXP_WIFI_EXTRA_DEBUG
1210	help
1211	  Enable this to monitor SDIO driver read write errors
1212	  for data and command operations.
1213
1214config NXP_WIFI_FWDNLD_IO_DEBUG
1215	bool "FW download debug"
1216	depends on NXP_WIFI_EXTRA_DEBUG
1217	help
1218	  Enable this to monitor FW download debug logs
1219
1220config NXP_WIFI_FW_DEBUG
1221	bool "FW debug"
1222	depends on NXP_WIFI_EXTRA_DEBUG
1223	help
1224	  Enable this to monitor debug logs from FW
1225
1226config NXP_WIFI_FW_VDLL_DEBUG
1227	bool "VDLL debug"
1228	depends on NXP_WIFI_EXTRA_DEBUG
1229	help
1230	  Enable this to monitor VDLL debug logs
1231
1232endmenu # Wifi extra debug options
1233endmenu # Development and Debugging
1234
1235# Create hidden config options that are used in NXP Wi-Fi driver.
1236# This way we do not need to mark them as allowed for CI checks.
1237# And also someone else cannot use the same name options.
1238
1239config RX_CHAN_INFO
1240	bool
1241	default y
1242
1243config TXPD_RXPD_V3
1244	bool
1245	default y
1246
1247endif # WIFI_NXP
1248