Commit graph

807 commits

Author SHA1 Message Date
Maochen Wang
8bb7d35d75 drivers: wifi: nxp: update Kconfig to support FW dump
Remove the redundant dependency of NXP_WIFI_EXTRA_DEBUG in Kconfig.
Add NXP_FW_DUMP_FLASH_START_ADDR for the start address in flash to
store FW dump.
Add NXP_FW_DUMP_FLASH_ERASE_LENGTH for the erased length in flash
to store FW dump.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Abhinav Kulkarni
2ccb1128b9 drivers: wifi: nxp: Add host sleep support
Added host sleep support for IW416 and IW61X soc.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-10-15 12:06:12 +03:00
Chaitanya Tata
9a13407e3e drivers: nrf_wifi: Rejig band config
nRF71 supports tri-band, so, to cater both nRF70 and nRF71, rejig the
configuration and add a helper to convert from Kconfig to the interface
structs.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Chaitanya Tata
91c0e15720 drivers: nrf_wifi: Use new nRF71 interface files
nRF70 and nRF71 now use different interface files, fix the build.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Chaitanya Tata
8c5a5ae199 drivers: nrf_wifi: Fix NRF71 build
NRF71 doesn't have direct memory access, so, disabled the rpu stats
memory variant.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Abhinav Kulkarni
2de3cb9e6d Drivers: wifi: nxp: kconfig update
Update kconfig file to support CSI feature on IW416 and IW612 soc's.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-10-14 17:25:45 -04:00
Chaitanya Tata
fdd7100933 drivers: nrf_wifi: Implement vendor stats
Populate the vendor stats with nRF70 FW statistics, this is handy in
debugging.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-14 07:44:51 -04:00
Muhammad Waleed Badar
c2384c5a5d wifi: esp32: simplify DHCP4 auto-negotiation Kconfig
Remove redundant NET_DHCPV4 dependency and add default
behavior.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2025-10-09 20:35:58 -04:00
Hui Bai
50ac559152 drivers: wifi: Add WLAN wakeup for MIMXRT1060-EVK
Added wlan wakeup pin in IW610 overlay file. This WLAN wakeup
support is for IW610 and MIMXRT1060-EVK acts as host. Add wakeup
pin configuration when doing device related initialization.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2025-10-07 22:55:21 -04:00
Alberto Escolar Piedras
61e12a4c75 drivers: wifi: eswifi: Fix callback prototype
net_tcp_accept_cb_t takes a socklen_t as 3rd argument,
which type was changed in
c546c1cad1
and is not anymore equivalent to size_t.
So let's correct it.

As a freebie, let's define that function as static as it is.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-06 20:00:20 +03:00
Rex Chen
e8e4d2159e mcux: wifi_nxp: Enable IMU IRQ after event initialized
After running 'kernel reboot' cmd on coex application,
zephyr os clean bss section, IMU13 IRQ event data set as 0,
then CPU3 receive IMU13 IRQ from CPU1, need access IMU13 IRQ event,
cause hang.
Put enable IMU13 IRQ operation after related task and event created
to fix this issue.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2025-10-01 17:14:15 -04:00
Pieter De Gendt
8d94c3b091 drivers: wifi: nrf_wifi: Set device config pointer to NULL
Commit 2de30ff782
moved the driver ops from the config pointer to the API. As the config
pointer isn't used, set it to NULL and allow future updates to actually add
a configuration struct.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-10-01 17:20:52 +03:00
Declan Snyder
570b445a61 drivers: Convert to use SPI macro without delay parameters
Convert all drivers and other consumers to use SPI macros without the
delay parameters.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-01 14:39:36 +03:00
Marcin Niestroj
7fc8051b0f drivers: wifi: esp_at: return WIFI_STATUS_* connect error codes
Return `enum wifi_conn_status` after failed connection attempt. Parse
`+CWJAP:` messages to get failure reason.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2025-09-27 14:00:09 -04:00
Jan Masek
09cea656b6 eswifi: fix include path to use tls credentials
Include path is missing when CONFIG_TLS_CREDENTIALS is set.
Fixes #92243

Signed-off-by: Jan Masek <jan.masek@spotflow.io>
2025-09-23 12:08:22 -04:00
Mahesh Mahadevan
efe34d04d2 drivers: nxp: Use a MACRO to enable Wakeup signals
Switch to using the new NXP_ENABLE_WAKEUP_SIGNAL and
NXP_DISABLE_WAKEUP_SIGNAL macros to avoid adding
platform specific calls in the Zephyr drivers.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Chaitanya Tata
386dcbe72c drivers: nrf_wifi: Fix scan crash for 2nd VIF
Move the VIF initialization to top to do it for both VIFs, this fixes a
crash when scanning on the 2nd VIF.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
1c6a00bd5d drivers: wifi: nrf7002: Add support for multiple virtual interfaces (VIFs)
Description:
The nRF7002 firmware supports two virtual interfaces (VIFs) that can
operate in different modes (e.g., AP and STA). However, the existing
Zephyr driver only utilizes a single VIF, preventing full
multi-interface support.

This commit extends the nRF7002 driver to support multiple VIFs by
making the following modifications:

* The driver already contains an array of vif_ctx_zep, but only the
first item was being used. Now, a second Ethernet device is registered
using vif_ctx_zep[1], enabling multi-VIF operation.
* Introduced vif_ctx_cnt to keep track of active interfaces and manage
their state effectively.
* Ensured that FMAC (Firmware MAC) is initialized only once, avoiding
redundant initializations when multiple VIFs are present.
* The UMAC control commands previously did not associate responses with
the issuing VIF. A queue is now introduced to track the originating VIF
for each command and correctly route the response event to the
corresponding interface.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Arunmani Alagarsamy
86cc0f99c8 drivers: wifi: siwx91x: Round up listen interval calculation
Use DIV_ROUND_UP to ensure listen_interval is rounded up instead of
being truncated during division by the beacon interval.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-09-11 09:55:13 +02:00
Arunmani Alagarsamy
b48cdc40fc drivers: wifi: siwx91x: Disable HT capabilities on channel 14
In the Japan regulatory domain, channel 14 is restricted to
802.11b/g operation and does not support HT (802.11n) capabilities.
Disable HT capabilities when operating on channel 14 in AP mode.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-09-11 09:53:48 +02:00
Kapil Bhatt
e7d5d7e804 drivers: nrf_wifi: Disable VHT capabilities for softAP mode
Disable VHT (Wi-Fi 5) capabilities when building with softAP support
to ensure consistent Wi-Fi 4 only behavior across all channels and
frequency bands.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-09-05 17:11:01 +02:00
Benjamin Cabé
0132ea07fb doc: fix spelling errors tree-wide
fix some spelling errors in code comments and Kconfig helps

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-03 17:04:13 +02:00
Joel Guittet
7837f5e509 drivers: wifi: esp32: fix integration of connection manager
Connection manager doesn't depends on ESP32 Wi-FI AP+STA mode.
This modification fix integration of connection manager binding
in the Wi-Fi ESP32 driver.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2025-09-02 18:43:56 +02:00
Qiankun Li
e045e397e1 drivers: wifi: nxp: Set default bandwidth for softap
When params->bandwidth is 0, set it
as a default value(WIFI_FREQ_BANDWIDTH_20MHZ).

Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
2025-09-02 12:33:01 +02:00
Muzaffar Ahmed
d94b2fd4e4 drivers: wifi: siwx91x: Add support for definitive MFP config
Replaced the MFP config logic with dedicated getter and setter APIs

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-09-02 11:09:39 +02:00
Muzaffar Ahmed
42c065f9cc drivers: wifi: siwx91x: Add support for RTS Threshold
Implemented siwx91x_set_rts_threshold and siwx91x_get_rts_threshold

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-09-01 16:40:40 +02:00
Ajay Parida
092347cdb1 driver: nrf_wifi: TWT setup duration
Build time configuration option to set TWT setup duration.
If AP does not respond to TWT setup request for this period,
STA will timeout and report setup failure.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-08-26 11:34:45 +02:00
Arunmani Alagarsamy
06158853c3 drivers: wifi: siwx91x: Add support for regulatory domain GET
Added support for retrieving the regulatory domain information from
the siwx91x driver. Since the SDK does not provide a GET API for
region details, the driver now stores the country code and reuse
the configuration `sli_si91x_set_region_ap_request_t` to get the
channel information. This stored data is returned when a GET
operation is requested.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Arunmani Alagarsamy
eac7784574 soc: silabs: siwg917: Relocate country code mapping function
Moved the `siwx91x_map_country_code_to_region()` function
from the Wi-Fi driver source file to nwp.c.

This change prepares the codebase for upcoming enhancements
related to the regulatory domain GET operation.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Arunmani Alagarsamy
72a3f7e4c9 drivers: wifi: siwx91x: Add support for setting regulatory domain
Add support for configuring the regulatory domain (region code) to
ensure the device operates in compliance with local RF regulations.

The region must be set before the Wi-Fi interface becomes active
i.e., before scan or connection in STA mode, or before starting in
AP mode.

Since the SDK does not support setting the country code directly,
the driver maps country codes to region codes

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Kapil Bhatt
9fad784fb9 drivers: nrf_wifi: Add check for minimum RX buffer size
Add check for the RX data buffer size. It should be atleast 400 bytes,
anthing less than that scan fails.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-08-07 13:14:28 +02:00
Arunmani Alagarsamy
a9dd0c932d drivers: wifi: siwx91x: Support max TX power configuration via Device Tree
Add support for configuring the maximum TX power for STA and AP modes using
a Device Tree property (`max-tx-power`). If unspecified, the default value
is set to 31 dBm.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-06 12:03:39 -04:00
Muzaffar Ahmed
ce6ef6ac95 drivers: wifi: siwx91x: Add support for link mode query
Mapped the link mode (wireless mode) from wireless info to the wifi
status API.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-08-06 16:20:14 +02:00
Gaetan Perrot
13a6dc5391 drivers: wifi: nrf_wifi: add NULL check in parse_sband
Ensure event is not NULL before accessing its members in
nrf_wifi_parse_sband().

This adds a defensive check to avoid potential null dereference and ensures
the function returns early when event data is invalid (i.e., zero channels
or bitrates).

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-08-06 17:12:51 +03:00
Chaitanya Tata
1e5c8f75ae drivers: nrf_wifi: Fix the interoperability issues
With few APs we have seen unexplained disconnections and sending
keepalive often solves the problem, so, to fix interoperability reduce
the keepalive period to 30s.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-08-04 19:55:27 +01:00
Maochen Wang
22a05e6a4e drivers: wifi: nxp: update the TX data API
Update the TX data API to support distinguishing if this packet is from
net stack or from internal packet forwarding case.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-08-01 07:49:55 -04:00
Magpie Embedded
dec8a04508 modules: hal: infineon: Add Kconfig option for pullups in Wifi Host Driver
This option allows board configurations to specify how to set the SDIO
pull ups when the SPI bus goes to sleep, using the Infineon WHD.
This is a board specific value.

Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
2025-07-30 17:36:05 -04:00
Chun-Chieh Li
e9fee35b02 drivers: wifi: esp_at: fix AT+CIPSEND premature timeout
For TCP socket, this fixes AT+CIPSEND command with too short timeout.
ESP modem replies SEND OK/SEND FAIL dependent on network traffic
condition, so this timeout config changes as Kconfig option for being
configurable by user.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-07-30 17:35:30 -04:00
Chaitanya Tata
7fe693029f drivers: nrf_wifi: Fix the issue of delayed keepalive
Supplicant sends keepalive on timer expiry but due to driver + nRF70
delays it is delayed to the AP, meanwhile some APs disconnect due to
lack of keepalive.

Set the processing delay to 700ms (based on tests) to fix.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-29 11:24:44 -04:00
Maochen Wang
eeabf28d02 drivers: wifi: nxp: IW610 aligns with RW612's config
Keep IW610 kconfig same as RW612, as it has similar Wi-Fi FW.
Remove NXP_WIFI_CAU_TEMPERATURE as it's not used.
NXP_WIFI_MEM_ACCESS, NXP_WIFI_REG_ACCESS and NXP_WIFI_OWE should not be
enabled by default.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-07-28 08:45:21 -04:00
Kavita Sharma
006302dc99 drivers: wifi: nxp: add calibration config for IW61x
Added the below config to overide default calibration data and
select 2Ant Isolation.
NXP_OVERRIDE_CALIBRATION_DATA
WLAN_CALDATA_2ANT_HI_ISO
WLAN_CALDATA_2ANT_LO_ISO

Signed-off-by: Kavita Sharma <kavita.sharma_1@nxp.com>
2025-07-28 08:45:21 -04:00
Chaitanya Tata
40b7b87ad7 drivers: nrf_wifi: Fix defaults to avoid false recovery
In case of a busy environment and if STA is far, then we see many
retries for the frames that cause the RPU to be awake though host has
de-asserted wakeup_now signal, this leads to WDT interrupt and host
thinks that it has given sleep opportunity to RPU and initiates a
recovery.

To handle this, increase the sleep opportunity window to 5s to cover all
the retries, this solves the false recovery problem. While at it, also
increase the range, no reason to limit to lower window. And update the
help text with the warning about power consumption.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-28 08:34:49 -04:00
Ajay Parida
3e9b7cbeb4 drivers: wifi: Pass the connection type
Firmware needs to know the connection type to be established.
use the wpa_proto field to derive the connection type.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-07-25 17:03:38 +01:00
Ajay Parida
c70b3504bb net: l2: wifi: Configure BSS max idle period
Support to configure BSS max idle period at runtime.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-07-25 17:03:38 +01:00
Chaitanya Tata
be51ddcf08 nrf_wifi: Fix the DTS compat for nRF71
Use specific chipset for compat instead of a generic Series.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-25 07:50:09 -04:00
Chaitanya Tata
90717047e0 drivers: nrf_wifi: Fix deadlock in display scan and recovery
When running Zperf traffic + scan in the background eventual we hit a
deadlock:

 * sysworkq: recovery->stop_zep->vif_lock->hal_disable->wait lock_rx
 * nrf70_bh_wq: event_tasklet->lock_rx->disp_scan_done->
             disp_scan_res_get_zep-> waiting on vif_lock

The traffic triggers recovery (another bug) and conflicts with display
scan.

Fix by moving scan results processing to system workqueue instead of
doing it in the FMAC event callback context, this is how supplicant scan
also works.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-24 17:00:17 +01:00
Kapil Bhatt
0d4472ae44 drivers: nrf_wifi: Remove station mode from monitor mode
Monitor mode doesn't require station mode. Disabling station mode
require necessary changes to work monitor mode.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-07-22 19:36:37 -04:00
Pieter De Gendt
c5a2542ad9 drivers: wifi: esp_hosted: select NANOPB_ENABLE_MALLOC
Use Kconfig symbol instead of the manual definition.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-07-19 15:46:08 -04:00
Jordan Yates
79edfc0128 wifi: nrf_wifi: ignore interface if TX disabled
Automatically hide the nRF7x interface from the connection manager if
the TX path is disabled (scan only mode). This prevents function calls
like `conn_mgr_all_if_up(true)` from bringing up the interface which
can never result in a connection.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-19 15:35:31 -04:00
Kapil Bhatt
dd7413d269 drivers: nrf_wifi: Fix rpu recovery debug info
Rpu recovey debug stats are stored in hal_dev_ctx which is not
persistent in case of interface is brought down/up. Need to add
in nrf_wifi_ctx_zep and update before interface goes down.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-07-19 13:47:04 -04:00