Skip to content

Commit 7d1c795

Browse files
MaochenWang1dleach02
authored andcommitted
mcux: wifi_nxp: update wifi driver version to v1.3.r50.z_up.p6
Update wifi_nxp version to v1.3.r50.z_up.p6 to include bug fixes. Support intra-BSS forwarding. Support STA and uAP interface de-couple. Signed-off-by: Maochen Wang <[email protected]>
1 parent b4e6f88 commit 7d1c795

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+3241
-2385
lines changed

mcux/middleware/wifi_nxp/CMakeLists.txt

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,13 @@ file(GLOB WIFI_SRC ./wifidriver/*.c)
200200
list(FILTER WIFI_SRC EXCLUDE REGEX ".*imu.c$")
201201
list(FILTER WIFI_SRC EXCLUDE REGEX ".*sdio.c$")
202202
list(FILTER WIFI_SRC EXCLUDE REGEX ".*firmware_dnld.c$")
203+
list(FILTER WIFI_SRC EXCLUDE REGEX ".*uap.*.c$")
204+
205+
zephyr_library_sources_ifdef(CONFIG_NXP_WIFI_SOFTAP_SUPPORT
206+
wifidriver/wifi-uap.c
207+
wifidriver/mlan_uap_ioctl.c
208+
wifidriver/mlan_uap_cmdevent.c
209+
)
203210

204211
zephyr_library_sources_ifdef(CONFIG_NXP_RW610
205212
wifidriver/wifi-imu.c
@@ -281,16 +288,26 @@ zephyr_code_relocate(FILES
281288
file(GLOB ZPERF_SRC ${ZEPHYR_BASE}/subsys/net/lib/zperf/*.c)
282289
zephyr_code_relocate(FILES ${ZPERF_SRC} LOCATION RAM_TEXT)
283290

284-
file(GLOB SOCKET_SRC ${ZEPHYR_BASE}/subsys/net/lib/sockets/*.c)
285-
zephyr_code_relocate(FILES ${SOCKET_SRC} LOCATION RAM_TEXT)
286-
287-
file(GLOB NET_SRC ${ZEPHYR_BASE}/subsys/net/ip/*.c)
288-
zephyr_code_relocate(FILES ${NET_SRC} LOCATION RAM_TEXT)
289-
290-
file(GLOB ETH_SRC ${ZEPHYR_BASE}/subsys/net/l2/ethernet/*.c)
291-
zephyr_code_relocate(FILES ${ETH_SRC} LOCATION RAM_TEXT)
292-
293-
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/lib/net_buf/buf.c LOCATION RAM_TEXT)
291+
zephyr_code_relocate(FILES
292+
${ZEPHYR_BASE}/subsys/net/lib/sockets/sockets_packet.c
293+
${ZEPHYR_BASE}/subsys/net/lib/sockets/sockets.c
294+
${ZEPHYR_BASE}/subsys/net/ip/connection.c
295+
${ZEPHYR_BASE}/subsys/net/ip/ipv4.c
296+
${ZEPHYR_BASE}/subsys/net/ip/ipv4_fragment.c
297+
${ZEPHYR_BASE}/subsys/net/ip/ipv6.c
298+
${ZEPHYR_BASE}/subsys/net/ip/ipv6_fragment.c
299+
${ZEPHYR_BASE}/subsys/net/ip/net_context.c
300+
${ZEPHYR_BASE}/subsys/net/ip/net_core.c
301+
${ZEPHYR_BASE}/subsys/net/ip/net_if.c
302+
${ZEPHYR_BASE}/subsys/net/ip/net_pkt.c
303+
${ZEPHYR_BASE}/subsys/net/ip/net_tc.c
304+
${ZEPHYR_BASE}/subsys/net/ip/packet_socket.c
305+
${ZEPHYR_BASE}/subsys/net/ip/tcp.c
306+
${ZEPHYR_BASE}/subsys/net/ip/udp.c
307+
${ZEPHYR_BASE}/subsys/net/ip/utils.c
308+
${ZEPHYR_BASE}/subsys/net/l2/ethernet/ethernet.c
309+
${ZEPHYR_BASE}/lib/net_buf/buf.c
310+
LOCATION RAM_TEXT)
294311

295312
zephyr_code_relocate(FILES
296313
${ZEPHYR_BASE}/kernel/mem_slab.c

mcux/middleware/wifi_nxp/README.txt

Lines changed: 71 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,83 @@ doxy/refman/.
77
*
88
* \section intro Introduction
99
*
10-
* NXP's WiFi functionality enables customers to
11-
* quickly develop applications of interest to add connectivity to
12-
* different sensors and appliances.
10+
* NXP wireless SoCs require a combination of firmware binary image
11+
* streamed into the radio subsystem, and driver source code compiled
12+
* onto the application MCU. The radio driver source code
13+
* provides APIs that enable a developer to send and receive packets over
14+
* the radio interfaces by communicating with the firmware images that
15+
* are streamed into the radio subsystems on start-up.
1316
*
1417
* \subsection devdoc Developer Documentation
1518
*
16-
* This manual provides developer reference documentation for WiFi driver and
17-
* WLAN Connection Manager.
18-
*
19-
* In addition to the reference documentation in this manual, you can
20-
* also explore the source code.
19+
* This manual provides developer reference documentation for Wi-Fi driver and
20+
* Wi-Fi Connection Manager.
21+
* Refer to the source code for additional information.
2122
*
2223
* \note
2324
* The File Documentation provides documentation for all the APIs that are
24-
* available in WiFi driver and connection manager.
25-
*
25+
* available in Wi-Fi driver and connection manager.\n
26+
* \n
27+
* Abbreviations and acronyms\n
28+
* ACS auto channel selection\n
29+
* AID association ID\n
30+
* AMPDU aggregate medium access control protocol data unit\n
31+
* AP Access Point\n
32+
* ARP address resolution protocol\n
33+
* BSS basic service set\n
34+
* BSSID basic servivce set ID\n
35+
* BTM BSS transition management\n
36+
* CA Certificate Authority\n
37+
* CCK complementary code keying\n
38+
* CLI command line input\n
39+
* CSI channel state information\n
40+
* CW continuous wave\n
41+
* DH Diffie Hellman\n
42+
* DPP device provisioning protocol\n
43+
* DTIM delivery traffic indication map\n
44+
* EAP Extensible Authentication Protocol\n
45+
* EAP TLS Extensible Authentication Protocol Transport Layer Security\n
46+
* FCS frame check sequence\n
47+
* FTM fine timing measurement\n
48+
* GI guard interval\n
49+
* HE 802.11ax high efficiency\n
50+
* HT 802.11n high throughput\n
51+
* HTC high throughput control\n
52+
* LDPC low density parity check\n
53+
* MBO multi band operation\n
54+
* MEF memory efficient filtering\n
55+
* MFPC Management Frame Protection Capable\n
56+
* MFPR Management frame protection required\n
57+
* NSS N*N MIMO spatial stream\n
58+
* OBSS overlapping basic service set\n
59+
* OCE Optimized connectivity experience\n
60+
* OMI operating mode indication\n
61+
* OWE opportunistic wireless encryption\n
62+
* PBC push button configuration\n
63+
* PEAP Protected Extensible Authentication Protocol\n
64+
* PKEX Public Key Exchange\n
65+
* PMF protected management frame\n
66+
* PMK pairwise master key\n
67+
* PMKSA pairwise master key security association\n
68+
* PS power save\n
69+
* PTA packet traffic arbitration\n
70+
* PWE Password Element\n
71+
* QoS quality of service\n
72+
* RSSI received signal strength indicator\n
73+
* RTS request to send\n
74+
* SAD software antenna diversity\n
75+
* SAE Simultaneous Authentication of Equals\n
76+
* SSID service set ID\n
77+
* STBC space time block code\n
78+
* TBTT target beacon transmission time\n
79+
* TIM Traffic Indication Map\n
80+
* TRPC transient receptor potential canonical\n
81+
* TSF timing synchronization function\n
82+
* TSP thermal safeguard protection\n
83+
* TWT target wake time\n
84+
* UAPSD unscheduled automatic power save delivery\n
85+
* VHT 802.11ac very high throughput\n
86+
* WLCMGR Wi-Fi command manager
2687
*/
2788

2889

mcux/middleware/wifi_nxp/incl/nxp_wifi.h

Lines changed: 61 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,6 @@ extern "C" {
130130
#define CONFIG_ECSA 1
131131
#endif
132132

133-
#if CONFIG_NXP_TX_AMPDU_PROT_MODE
134-
#define CONFIG_TX_AMPDU_PROT_MODE 1
135-
#endif
136-
137133
#if CONFIG_NXP_WIFI_UNII4_BAND_SUPPORT
138134
#define CONFIG_UNII4_BAND_SUPPORT 1
139135
#endif
@@ -142,6 +138,10 @@ extern "C" {
142138
#define CONFIG_WIFI_RECOVERY 1
143139
#endif
144140

141+
#if CONFIG_NXP_WIFI_PKT_FWD
142+
#define CONFIG_WIFI_PKT_FWD 1
143+
#endif
144+
145145
#if CONFIG_NXP_WIFI_TSP
146146
#define CONFIG_TSP 1
147147
#endif
@@ -250,6 +250,39 @@ extern "C" {
250250
#define CONFIG_WLAN_CALDATA_3ANT_DIVERSITY 1
251251
#endif
252252

253+
#if CONFIG_NXP_OVERRIDE_CALIBRATION_DATA
254+
#define OVERRIDE_CALIBRATION_DATA "wifi_cal_data_rw61x_override.h"
255+
#endif
256+
257+
#if !CONFIG_NXP_OVERRIDE_CALIBRATION_DATA
258+
#if defined(RW610)
259+
/*
260+
* FRDMRW610
261+
*/
262+
#if defined(FRDMRW610)
263+
/* FRDMRW610 1ANT */
264+
#define DEFAULT_CALDATA_RW610 "wifi_cal_data_frdmrw61x_1ant.h"
265+
#else
266+
/*
267+
* RW610
268+
*/
269+
/* RW610 1ANT */
270+
#if CONFIG_WLAN_CALDATA_1ANT
271+
#define DEFAULT_CALDATA_RW610 "wifi_cal_data_rw61x_1ant.h"
272+
/* RW610 3ANT_DIVERSITY */
273+
#elif CONFIG_WLAN_CALDATA_3ANT_DIVERSITY
274+
#define DEFAULT_CALDATA_RW610 "wifi_cal_data_rw61x_3ant_diversity.h"
275+
/* RW610 1ANT_DIVERSITY */
276+
#elif CONFIG_WLAN_CALDATA_1ANT_WITH_DIVERSITY
277+
#define DEFAULT_CALDATA_RW610 "wifi_cal_data_rw61x_1ant_diversity.h"
278+
/* RW610 2ANT */
279+
#else
280+
#define DEFAULT_CALDATA_RW610 "wifi_cal_data_rw61x_2ant.h"
281+
#endif
282+
#endif
283+
#endif /* RW610 */
284+
#endif /* CONFIG_NXP_OVERRIDE_CALIBRATION_DATA */
285+
253286
#if CONFIG_NXP_WIFI_EU_VALIDATION
254287
#define CONFIG_EU_VALIDATION 1
255288
#endif
@@ -451,6 +484,10 @@ extern "C" {
451484
#define CONFIG_DHCP_SERVER_DEBUG 1
452485
#endif
453486

487+
#if CONFIG_NXP_WIFI_HTC_DEBUG
488+
#define CONFIG_WIFI_HTC_DEBUG 1
489+
#endif
490+
454491
#if CONFIG_NXP_WIFI_SMOKE_TESTS
455492
#define CONFIG_WIFI_SMOKE_TESTS 1
456493
#endif
@@ -463,10 +500,6 @@ extern "C" {
463500
#define CONFIG_SIGMA_AGENT 1
464501
#endif
465502

466-
#if CONFIG_NXP_WIFI_CUSTOM_CALDATA
467-
#define CONFIG_CUSTOM_CALDATA 1
468-
#endif
469-
470503
#if CONFIG_WIFI_NM_WPA_SUPPLICANT
471504
#define CONFIG_WPA_SUPP 1
472505
#endif
@@ -516,18 +549,32 @@ extern "C" {
516549

517550
#if CONFIG_11AX
518551

519-
#if !CONFIG_11K
520-
#define CONFIG_11K 1
552+
#if !CONFIG_WPA_SUPP
553+
#define CONFIG_DRIVER_MBO 1
521554
#endif
522555

523-
#if !CONFIG_11V
524-
#define CONFIG_11V 1
525556
#endif
526557

527-
#if !CONFIG_WPA_SUPP
528-
#define CONFIG_DRIVER_MBO 1
558+
#ifndef CONFIG_NXP_WIFI_SOFTAP_SUPPORT
559+
#if UAP_SUPPORT
560+
#undef UAP_SUPPORT
561+
#define UAP_SUPPORT 0
562+
#endif
563+
564+
#if UAP_HOST_MLME
565+
#undef UAP_HOST_MLME
566+
#define UAP_HOST_MLME 0
529567
#endif
530568

569+
#if CONFIG_UAP_AMPDU_TX
570+
#undef CONFIG_UAP_AMPDU_TX
571+
#define CONFIG_UAP_AMPDU_TX 0
572+
#endif
573+
574+
#if CONFIG_UAP_AMPDU_RX
575+
#undef CONFIG_UAP_AMPDU_RX
576+
#define CONFIG_UAP_AMPDU_RX 0
577+
#endif
531578
#endif
532579

533580
#ifdef __cplusplus

mcux/middleware/wifi_nxp/incl/port/net/zephyr/wm_net.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,28 @@ static inline void *net_stack_buffer_get_payload(void *buf)
306306
return net_pkt_data((struct net_pkt *)buf);
307307
}
308308

309+
#if CONFIG_WIFI_PKT_FWD
310+
/** Send packet from Wi-Fi driver
311+
*
312+
* \param[in] interface Wi-Fi interface.
313+
* \param[in] stack_buffer net stack buffer pointer.
314+
*
315+
* \return WM_SUCCESS on success
316+
* \return -WM_FAIL otherwise
317+
*/
318+
int net_wifi_packet_send(uint8_t interface, void *stack_buffer);
319+
320+
/** Generate TX net packet buffer
321+
*
322+
* \param[in] interface Wi-Fi interface.
323+
* \param[in] payload source data payload pointer.
324+
* \param[in] datalen data length.
325+
*
326+
* \return net packet
327+
*/
328+
struct net_pkt *gen_tx_pkt_from_data(uint8_t interface, uint8_t *payload, uint16_t datalen);
329+
#endif
330+
309331
/** Converts Internet host address in network byte order to a string in IPv4
310332
* dotted-decimal notation
311333
*
@@ -370,12 +392,14 @@ int net_wlan_deinit(void);
370392
*/
371393
struct netif *net_get_sta_interface(void);
372394

395+
#if UAP_SUPPORT
373396
/** Get uAP interface netif structure pointer
374397
*
375398
* \rerurn A pointer to uAP interface netif structure
376399
*
377400
*/
378401
struct netif *net_get_uap_interface(void);
402+
#endif
379403

380404
/** Get interface name for given netif
381405
*
@@ -405,6 +429,7 @@ int net_alloc_client_data_id();
405429
void *net_get_sta_handle(void);
406430
#define net_get_mlan_handle() net_get_sta_handle()
407431

432+
#if UAP_SUPPORT
408433
/** Get micro-AP interface handle
409434
*
410435
* Some APIs require the interface handle to be passed to them. The handle can
@@ -413,6 +438,7 @@ void *net_get_sta_handle(void);
413438
* \return micro-AP interface handle
414439
*/
415440
void *net_get_uap_handle(void);
441+
#endif
416442

417443
/** Take interface up
418444
*

0 commit comments

Comments
 (0)