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	imply WIFI_NM_HOSTAPD_WPS if WIFI_NM_HOSTAPD_AP && WIFI_NM_WPA_SUPPLICANT_WPS
543	imply WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE if WIFI_NM_HOSTAPD_AP && WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
544	default y
545	help
546	  Option to enable Wi-Fi SoftAP functions in the Wi-Fi driver.
547
548if NXP_WIFI_SOFTAP_SUPPORT
549
550config NXP_WIFI_SOFTAP_IP_ADDRESS
551	string "NXP SoftAP mode IP Address"
552	default "192.168.10.1"
553
554config NXP_WIFI_SOFTAP_IP_GATEWAY
555	string "Gateway Address"
556	default "192.168.10.1"
557
558config NXP_WIFI_SOFTAP_IP_MASK
559	string "Network Mask"
560	default "255.255.255.0"
561
562config NXP_WIFI_SOFTAP_IP_BASE
563	string "NXP SoftAP base address"
564	default "192.168.10.2"
565
566config NXP_WIFI_CAPA
567	bool "Wi-Fi Soft AP Capability"
568	default y
569	help
570	  This option enables uAP Wi-Fi Capability in the Wi-Fi driver.
571
572config NXP_WIFI_UAP_STA_MAC_ADDR_FILTER
573	bool "Wi-Fi SoftAP clients white/black list"
574	default y
575	help
576	  Allow/Block MAC addresses specified in the allowed list.
577
578config NXP_WIFI_UAP_WORKAROUND_STICKY_TIM
579	bool "Sticky Tim"
580	default y
581	help
582	  This config enables the workaround of a
583	  particular firmware issue which causes packets
584	  being sent on air even if STA is in IEEE PS. When
585	  enabled this will enable the sticky TIM bit
586	  workaround. A downside of this is that the STA
587	  client of the uAP will not be able to go in IEEE PS.
588
589endif
590
591menu "Wi-Fi SDIO Multi Port Aggregation"
592
593config NXP_WIFI_SDIO_MULTI_PORT_RX_AGGR
594	bool "SDIO Multiport Rx Aggregation"
595	default y if !SOC_SERIES_RW6XX
596	help
597	  This option enables SDIO Multiport Rx Aggregation support in the Wi-Fi driver.
598
599config NXP_WIFI_SDIO_MULTI_PORT_TX_AGGR
600	bool "SDIO Multiport Tx Aggregation"
601	default y if !SOC_SERIES_RW6XX
602	depends on NXP_WIFI_WMM
603	help
604	  This option enables SDIO Multiport Rx Aggregation support in the Wi-Fi driver.
605
606endmenu
607
608config NXP_WIFI_11AX
609	bool "802.11AX Support"
610	default y
611	select NXP_WIFI_11AC
612	select NXP_WIFI_WMM
613	depends on NXP_RW610 || NXP_IW61X || NXP_WIFI_CUSTOM
614	help
615	  This option enables the use of 802.11ax support.
616
617config NXP_WIFI_11AC
618	bool "802.11AC Support"
619	default y
620	select NXP_WIFI_WMM
621	depends on NXP_RW610 || NXP_IW61X || NXP_88W8987 || NXP_WIFI_CUSTOM
622	help
623	  This option enables the use of 802.11ac support.
624
625config NXP_WIFI_WMM
626	bool "802.11 WMM Support"
627	default y
628	help
629	  This option enables the use of 802.11 WMM support.
630
631config NXP_WIFI_SET_SU
632	bool "Single User Support"
633	default y
634	depends on NXP_WIFI_11AX
635	help
636	  This option enables the use of single user support.
637
638config NXP_WIFI_MULTI_BSSID_SUPPORT
639	bool "Multiple BSSID Support"
640	default y
641	depends on NXP_WIFI_11AX
642	help
643	  This option enables the use of multiple BSSID support.
644
645config NXP_WIFI_FRAG_THRESHOLD
646	bool "Set Fragment Threshold Support"
647	default y
648	help
649	  This option enables the set of fragment threshold support.
650
651config NXP_WIFI_FORCE_RTS
652	bool "Force RTS Support"
653	default y
654	help
655	  This option enables the set of force RTS support.
656
657config NXP_WIFI_TX_AMPDU_PROT_MODE
658	bool "TX AMPDU Protection Mode Support"
659	default y
660	help
661	  This option enables TX AMPDU protection mode support.
662
663config NXP_WIFI_EXTERNAL_COEX_PTA
664	bool "External COEX PTA Support"
665	default y
666	help
667	  This option enables the use of external coex PTA support.
668
669config NXP_WIFI_TURBO_MODE
670	bool "Turbo Mode"
671	default y
672	depends on NXP_WIFI_WMM
673	depends on !NXP_88W8801
674	help
675	  This option enables WMM Turbo Mode support in the Wi-Fi driver.
676
677config NXP_WIFI_IPV6
678	bool "IPv6 Support"
679	default y
680	depends on NET_IPV6
681	help
682	  This option enables the use of IPv6 support.
683
684config NXP_WIFI_5GHz_SUPPORT
685	bool "5GHz Support(Band A)"
686	default y
687	depends on !NXP_88W8801
688	help
689	  This option enables the use of 5GHz.
690
691config NXP_WIFI_TX_RX_ZERO_COPY
692	bool "Zero memory copy TX/RX data packets"
693	default y if NXP_RW610
694	imply NET_IPV4_FRAGMENT
695	help
696	  This option enables the Zero memory copy of data packets in Wi-Fi driver data path.
697
698config NXP_WIFI_GET_LOG
699	bool "Get 802.11 log"
700	default y
701	help
702	  This option gets 802.11 log in the Wi-Fi driver.
703
704config NXP_WIFI_TX_PER_TRACK
705	bool "TX packet error tracking"
706	help
707	  This option is used to track Tx packet error ratio.
708
709config NXP_WIFI_CSI
710	bool "CSI support"
711	default y
712	depends on NXP_RW610 || NXP_88W8987 || NXP_WIFI_CUSTOM
713	help
714	  This option enable/disable channel state information collection.
715
716config NXP_WIFI_RESET
717	bool "Wi-Fi reset"
718	default y
719	help
720	  This option is used to enable/disable/reset Wi-Fi.
721
722config NXP_WIFI_ECSA
723	bool "ECSA"
724	default y
725	depends on NXP_WIFI_SOFTAP_SUPPORT
726	help
727	  This option is used to do channel switch according to spec.
728
729config NXP_WIFI_UNII4_BAND_SUPPORT
730	bool "UNII4 support"
731	default y
732	depends on NXP_WIFI_5GHz_SUPPORT
733	help
734	  This option is used to enable/disable UNII4 channels.
735
736config NXP_WIFI_RECOVERY
737	bool "RECOVERY"
738	depends on NXP_RW610
739	help
740	  This option is used to enable wifi recovery support.
741
742if NXP_RW610
743
744config NXP_WIFI_FW_VDLLV2
745	bool "Firmware virtual dynamic link library version 2"
746	default y
747	help
748	  This option is to load some firmware features in run-time.
749
750config NXP_WIFI_AUTO_NULL_TX
751	bool "Auto send null frame"
752	default y
753	help
754	  This option is to support sending null frame in period for CSI.
755
756config NXP_WIFI_NET_MONITOR
757	bool "Networking monitor"
758	default y
759	help
760	  This option is used to set/get network monitor configuration.
761
762config NXP_WIFI_CAU_TEMPERATURE
763	bool "Cau temperature"
764	default y
765	help
766	  This option is used to enable/disable Cau temperature.
767
768config NXP_WIFI_TSP
769	bool "Thermal Safeguard Protection"
770	default y
771	help
772	  This option is used to set and get Thermal Safeguard Protection configuration.
773
774config NXP_WIFI_IPS
775	bool "IPS"
776	default y
777	help
778	  This option enable/disable config for IPS in the Wi-Fi driver.
779
780config NXP_WIFI_RX_ABORT_CFG
781	bool "RX abort support"
782	default y
783	help
784	  This option enables rx abort config with static RSSI threshold
785	  in the Wi-Fi driver.
786
787config NXP_WIFI_RX_ABORT_CFG_EXT
788	bool "RX abort extension support"
789	default y
790	help
791	  This option enables rx abort extension config with dynamic
792	  RSSI threshold in the Wi-Fi driver.
793
794config NXP_WIFI_CCK_DESENSE_CFG
795	bool "CCK desense mode support"
796	default y
797	help
798	  This option enables cck desense mode in the Wi-Fi driver.
799
800config NXP_WIFI_COEX_DUTY_CYCLE
801	bool "Set duty cycle"
802	default y
803	help
804	  This option sets duty cycle in the Wi-Fi driver.
805
806config NXP_WIFI_MMSF
807	bool "11AX density config"
808	default y
809	help
810	  This option is used to specify/get 11ax density config in the Wi-Fi driver.
811
812config NXP_WIFI_IMD3_CFG
813	bool "Set imd validation parameters"
814	default y
815	help
816	  This option is used to set IM3 configuration for Wi-Fi,
817	  BLE coex mode and antenna isolation debug.
818
819config NXP_WIFI_ANT_DETECT
820	bool "Antenna automatic detection"
821	default y
822	help
823	  This option is used to auto detect which two antennas are present and
824	  then configure corresponding evaluate Mode-X to firmware and enable antenna diversity.
825
826config NXP_WIFI_WLAN_CALDATA_1ANT
827	bool "One antenna"
828	help
829	  This option is used to enable one antenna.
830
831config NXP_WIFI_WLAN_CALDATA_1ANT_WITH_DIVERSITY
832	bool "One antenna diversity"
833	help
834	  This option is used to enable one antenna diversity.
835
836config NXP_WIFI_WLAN_CALDATA_3ANT_DIVERSITY
837	bool "Three antenna diversity"
838	help
839	  This option is used to enable three antenna diversity.
840
841config NXP_OVERRIDE_CALIBRATION_DATA
842	bool "override default calibriation data"
843	help
844	  This option is used to override default calibration data.
845
846endif # NXP_RW610
847
848config NXP_WIFI_11AX_TWT
849	bool "802.11ax TWT support"
850	default y
851	depends on NXP_WIFI_11AX
852	help
853	  This option enables 11ax TWT in the Wi-Fi driver.
854
855config NXP_WIFI_PKT_FWD
856	bool "Wi-Fi packet forward"
857	default y if NXP_RW610
858	depends on NXP_WIFI_SOFTAP_SUPPORT
859	help
860	  This option enables Wi-Fi packet forward on SoftAP.
861
862config NXP_WIFI_DTIM_PERIOD
863	bool "Wi-Fi DTIM period"
864	default y
865	help
866	  This option is used to set dtim period in the Wi-Fi driver.
867
868config NXP_WIFI_MEM_ACCESS
869	bool
870	default y if NXP_RW610
871	help
872	  This option enables memory access cmd in the Wi-Fi driver.
873
874config NXP_WIFI_REG_ACCESS
875	bool
876	default y if NXP_RW610
877	help
878	  This option enables register access cmd in the Wi-Fi driver.
879
880config NXP_WIFI_SUBSCRIBE_EVENT_SUPPORT
881	bool "Subscribe event from firmware"
882	default y if NXP_RW610
883	help
884	  This option prints the get subscribe event from firmware for user test.
885
886config NXP_WIFI_TX_RX_HISTOGRAM
887	bool "TX/RX statistics"
888	default y if NXP_RW610
889	help
890	  This option enables TX/RX statistics in the Wi-Fi driver.
891
892config NXP_WIFI_RF_TEST_MODE
893	bool "WLAN RF Test Mode"
894	default y if NXP_RW610
895	help
896	  This option enables WLAN test mode commands.
897
898config NXP_WIFI_EU_VALIDATION
899	bool "EU Validation"
900	default y
901	help
902	  This option enables EU Validation Support.
903
904if NXP_RW610 || NXP_IW61X
905
906config NXP_WIFI_CLOCKSYNC
907	bool "Clock sync using TSF latch"
908	default y
909	help
910	  This option enables clock synchronization of TSF latches.
911
912config NXP_WIFI_COMPRESS_TX_PWTBL
913	bool "Compress TX Power Table Support"
914	default y
915	help
916	  This option enables the use of Compress TX Power Table support.
917
918config NXP_WIFI_COMPRESS_RU_TX_PWTBL
919	bool "Compress RU TX Power Table Support"
920	default y
921	help
922	  This option enables the use of Compress RU TX Power Table support.
923
924endif
925
926config NXP_WIFI_EU_CRYPTO
927	bool "Wi-Fi EU Crypto"
928	default y
929	depends on !NXP_88W8801
930	help
931	  This option enables Wi-Fi EU Crypto support in the Wi-Fi driver.
932
933config NXP_WIFI_HOST_SLEEP
934	bool "HOST Sleep"
935	default y if PM
936	help
937	  This option enables HOST Sleep support for MCU.
938
939config NXP_WIFI_MEF_CFG
940	bool "Memory Efficient Filtering"
941	default y if PM
942	help
943	  This option enables Memory Efficient Filtering support in the Wi-Fi driver.
944
945config NXP_WIFI_FIPS
946	bool "FIPS"
947	help
948	  This option enables Wi-Fi FIPS support in the Wi-Fi driver.
949
950config NXP_WIFI_OWE
951	bool "Opportunistic Wireless Encryption"
952	default y
953	help
954	  This option enables Wi-Fi Opportunistic Wireless Encryption support
955	  in the Wi-Fi driver.
956
957config NXP_WIFI_TC_RELOCATE
958	bool "Traffic api relocate to RAM"
959	default y
960	help
961	  Relocate Wi-Fi transmit and receive api to RAM to increase
962	  traffic throughput.
963
964config NXP_WIFI_CUSTOM_CALDATA
965	bool "Set caldata by drv"
966	help
967	  This option force to use custom calibration data.
968
969if NXP_88W8987 || NXP_IW416
970
971config NXP_WIFI_FW_AUTO_RECONNECT
972	bool "Firmware Auto Reconnect"
973	default y
974	help
975	  This option enables the use of firmware auto recoonect support.
976
977config NXP_WIFI_IND_DNLD
978	bool "Parallel Firmware Download"
979	help
980	  This option enables the use of Parallel firmware download support.
981
982config NXP_WIFI_IND_RESET
983	bool "Wi-Fi Independent Reset"
984	help
985	  This option enables the use of Wi-Fi independent reset support.
986
987endif
988
989config NXP_WIFI_SMOKE_TESTS
990	bool "Smoke Tests"
991	select NET_SHELL
992	select KERNEL_SHELL
993	select SHELL_BACKEND_TELNET
994	select SHELL_TELNET_SUPPORT_COMMAND
995	help
996	  This option is for development smoke tests in the Wi-Fi driver.
997
998if NXP_WIFI_SMOKE_TESTS
999
1000config NXP_WIFI_SIGMA_AGENT
1001	bool "Wi-Fi Alliance Sigma Agent Support"
1002	select POSIX_API
1003	select POSIX_THREADS
1004	select PTHREAD_CREATE_BARRIER
1005	select POSIX_TIMERS
1006	help
1007	  This option is to enable Wi-Fi Alliance Sigma Agent support in the Wi-Fi driver.
1008
1009choice
1010	prompt "NXP SM IP Address configuration"
1011	default NXP_WIFI_SM_IP_DHCP
1012	help
1013	  Choose whether to use an IP assigned by DHCP Server or
1014	  configure a static IP Address.
1015
1016config NXP_WIFI_SM_IP_DHCP
1017	bool "DHCP"
1018	help
1019	  Use DHCP to get an IP Address.
1020
1021config NXP_WIFI_SM_IP_STATIC
1022	bool "Static"
1023	help
1024	  Setup Static IP Address.
1025
1026endchoice
1027
1028if NXP_WIFI_SM_IP_STATIC
1029
1030config NXP_WIFI_SM_IP_ADDRESS
1031	string "NXP Station mode IP Address"
1032
1033config NXP_WIFI_SM_IP_GATEWAY
1034	string "Gateway Address"
1035
1036config NXP_WIFI_SM_IP_MASK
1037	string "Network Mask"
1038
1039endif
1040
1041endif # NXP_WIFI_SMOKE_TESTS
1042
1043menu "Development and Debugging"
1044
1045config NXP_WIFI_ENABLE_ERROR_LOGS
1046	bool "WiFi driver error logs control"
1047	default y if WIFI_LOG_LEVEL_ERR || WIFI_LOG_LEVEL_DBG
1048	help
1049	  If you enable this, error messages will be printed in case of error
1050	  conditions. This will increase the size of the image. It is strongly
1051	  recommended to keep it enabled during development, to quickly
1052	  localize problems.
1053
1054config NXP_WIFI_ENABLE_WARNING_LOGS
1055	bool "WiFi driver warning logs control"
1056	default y if WIFI_LOG_LEVEL_WRN || WIFI_LOG_LEVEL_DBG
1057	help
1058	  If you enable this, error messages will be printed in case of error
1059	  conditions. This will increase the size of the image. It is strongly
1060	  recommended to keep it enabled during development, to quickly
1061	  localize problems.
1062
1063config NXP_WIFI_DEBUG_BUILD
1064	bool "Debug build"
1065	depends on WIFI_LOG_LEVEL_DBG
1066	help
1067	  If you enable this the debug options will be
1068	  enabled. Asserts will be also be enabled.
1069
1070config NXP_WIFI_OS_DEBUG
1071	bool "OS debug"
1072	depends on NXP_WIFI_DEBUG_BUILD
1073	help
1074	  If you enable this the OS abstraction APIs debugs will be enabled.
1075
1076config NXP_WIFI_NET_DEBUG
1077	bool "NET debug"
1078	depends on NXP_WIFI_DEBUG_BUILD
1079	help
1080	  If you enable this the network driver abstraction APIs debugs will be enabled.
1081
1082config NXP_WIFI_WLCMGR_DEBUG
1083	bool "Wireless Connection Manager"
1084	depends on NXP_WIFI_DEBUG_BUILD
1085	help
1086	  If you enable this the WLAN Connection Manager APIs debugs will be enabled.
1087
1088menu "Wifi extra debug options"
1089
1090config NXP_WIFI_EXTRA_DEBUG
1091	bool "WiFi driver extra debug control"
1092	depends on WIFI_LOG_LEVEL_DBG
1093	help
1094	  This macro helps you to get additional debugging
1095	  information from the wifi driver. For e.g. more
1096	  detailed reason will be given if an assoc failure
1097	  happens.
1098
1099config NXP_WIFI_UAP_DEBUG
1100	bool "WiFi driver uAP debug"
1101	depends on NXP_WIFI_EXTRA_DEBUG
1102	depends on NXP_WIFI_SOFTAP_SUPPORT
1103	help
1104	  Enabling this will print out logs related
1105	  to the uAP. This is enable to developer
1106	  to localize issues related to uAP. Apart from
1107	  other logs, uAP initialization and configuration
1108	  logs are printed out.
1109
1110config NXP_WIFI_EVENTS_DEBUG
1111	bool "Dump event information"
1112	depends on NXP_WIFI_EXTRA_DEBUG
1113	help
1114	  Enabling this will dump event codes of
1115	  events received on from the firmware.
1116	  This helps the developer to checks the
1117	  events received from the firmware along
1118	  with their timestamp.
1119
1120config NXP_WIFI_CMD_RESP_DEBUG
1121	bool "Dump command and response codes"
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.
1127
1128config NXP_WIFI_PS_DEBUG
1129	bool "Power save debug"
1130	depends on NXP_WIFI_EXTRA_DEBUG
1131	help
1132	  Enabling this will dump command and response
1133	  codes send to and received from firmware
1134	  respectively for power save commands.
1135
1136config NXP_WIFI_SCAN_DEBUG
1137	bool "Scan debug"
1138	depends on NXP_WIFI_EXTRA_DEBUG
1139	help
1140	  Enabling this will enable scan code logs
1141	  This helps the developer to localize wlan
1142	  scan related issues like split scan, channel
1143	  selections, etc
1144
1145config NXP_WIFI_PKT_DEBUG
1146	bool "Packet debug"
1147	depends on NXP_WIFI_EXTRA_DEBUG
1148	help
1149	  Enabling this will enable packet TX/RX code logs
1150	  This helps the developer to localize wlan
1151	  data path related issues like tx/rx failures, etc
1152
1153config NXP_WIFI_IO_INFO_DUMP
1154	bool "Input-Output debug (basic)"
1155	depends on NXP_WIFI_EXTRA_DEBUG
1156	help
1157	  Enabling this will dump information
1158	  about input/output data packets. This information
1159	  has information like packet size and interface
1160	  for which packet is destined.
1161
1162config NXP_WIFI_IO_DEBUG
1163	bool "Input-Output debug (advanced)"
1164	depends on NXP_WIFI_EXTRA_DEBUG
1165	help
1166	  Enabling this will enable I/O debugging
1167	  of wifi driver. This enables you to see
1168	  how the driver is interacting with the
1169	  SDIO bus.
1170
1171config NXP_WIFI_IO_DUMP
1172	bool "Hex Dump packets"
1173	depends on NXP_WIFI_EXTRA_DEBUG
1174	help
1175	  Enabling this will enable I/O debugging
1176	  of wifi driver. This enables you to see
1177	  all the packets that are received/sent from/to
1178	  the SDIO bus.
1179
1180config NXP_WIFI_MEM_DEBUG
1181	bool "Allocations debug"
1182	depends on NXP_WIFI_EXTRA_DEBUG
1183	help
1184	  Enabling this will enable monitoring
1185	  memory allocations and frees done by
1186	  the wifi driver. This enables you to gauge
1187	  and/or debug heap memory used by the driver.
1188
1189config NXP_WIFI_AMPDU_DEBUG
1190	bool "AMPDU debug"
1191	depends on NXP_WIFI_EXTRA_DEBUG
1192	help
1193	  Enabling this will help you to  monitor what
1194	  is happening to AMPDU Rx packets. Note
1195	  that AMPDU Tx is not supported by the driver. Note that
1196	  you will need to enable timer debug separately to see
1197	  timer activity going on during out of order packets
1198	  handling.
1199
1200config NXP_WIFI_TIMER_DEBUG
1201	bool "Timers debug"
1202	depends on NXP_WIFI_EXTRA_DEBUG
1203	help
1204	  Enable this to monitor timer activity of the
1205	  driver. Timers are generally used for AMPDU out of
1206	  order packet handling. It is also used for command
1207	  timeout related functionality.
1208
1209config NXP_WIFI_SDIO_DEBUG
1210	bool "SDIO debug"
1211	depends on NXP_WIFI_EXTRA_DEBUG
1212	help
1213	  Enable this to monitor SDIO init deinit errors
1214
1215config NXP_WIFI_SDIO_IO_DEBUG
1216	bool "SDIO IO debug"
1217	depends on NXP_WIFI_EXTRA_DEBUG
1218	help
1219	  Enable this to monitor SDIO driver read write errors
1220	  for data and command operations.
1221
1222config NXP_WIFI_FWDNLD_IO_DEBUG
1223	bool "FW download debug"
1224	depends on NXP_WIFI_EXTRA_DEBUG
1225	help
1226	  Enable this to monitor FW download debug logs
1227
1228config NXP_WIFI_FW_DEBUG
1229	bool "FW debug"
1230	depends on NXP_WIFI_EXTRA_DEBUG
1231	help
1232	  Enable this to monitor debug logs from FW
1233
1234config NXP_WIFI_FW_VDLL_DEBUG
1235	bool "VDLL debug"
1236	depends on NXP_WIFI_EXTRA_DEBUG
1237	help
1238	  Enable this to monitor VDLL debug logs
1239
1240endmenu # Wifi extra debug options
1241endmenu # Development and Debugging
1242
1243# Create hidden config options that are used in NXP Wi-Fi driver.
1244# This way we do not need to mark them as allowed for CI checks.
1245# And also someone else cannot use the same name options.
1246
1247config RX_CHAN_INFO
1248	bool
1249	default y
1250
1251config TXPD_RXPD_V3
1252	bool
1253	default y
1254
1255endif # WIFI_NXP
1256