From 40facd8ae11f17a9ffe5e27527f3538a24e243fa Mon Sep 17 00:00:00 2001 From: Hui Bai Date: Wed, 12 Nov 2025 17:27:48 +0800 Subject: [PATCH 1/3] drivers: wifi: Add new config CONFIG_NXP_WIFI_WAKE_TIMER_ENABLE Added new config CONFIG_NXP_WIFI_WAKE_TIMER_ENABLE and enable it for NXP wifi chips. Signed-off-by: Hui Bai --- drivers/wifi/nxp/Kconfig.nxp | 8 ++++++++ samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf | 1 + samples/net/wifi/shell/nxp/overlay_iw610.conf | 1 + samples/net/wifi/shell/nxp/overlay_rw612.conf | 1 + 4 files changed, 11 insertions(+) diff --git a/drivers/wifi/nxp/Kconfig.nxp b/drivers/wifi/nxp/Kconfig.nxp index 73ae46e580cc6..8d66855fda821 100644 --- a/drivers/wifi/nxp/Kconfig.nxp +++ b/drivers/wifi/nxp/Kconfig.nxp @@ -1071,6 +1071,14 @@ config NXP_WIFI_HOST_SLEEP help This option enables HOST Sleep support for MCU. +config NXP_WIFI_WAKE_TIMER_ENABLE + bool "Wake Timer Enable" + depends on NXP_WIFI_HOST_SLEEP + help + This option enables wake timer in the Wi-Fi driver and the duration is 5 + seconds. Once wake timer is enabled, low power mode will be blocked for 5 + seconds after device wakes up from sleep. + config NXP_WIFI_MEF_CFG bool "Memory Efficient Filtering" default y if PM diff --git a/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf b/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf index cc97e1e2955b2..9b7b497a5f269 100644 --- a/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf +++ b/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf @@ -73,3 +73,4 @@ CONFIG_PM=y CONFIG_PM_DEVICE=y CONFIG_PM_LOG_LEVEL_OFF=y CONFIG_PM_DEVICE_LOG_LEVEL_OFF=y +CONFIG_NXP_WIFI_WAKE_TIMER_ENABLE=y diff --git a/samples/net/wifi/shell/nxp/overlay_iw610.conf b/samples/net/wifi/shell/nxp/overlay_iw610.conf index a4a0faec0dded..70523f7c2f849 100644 --- a/samples/net/wifi/shell/nxp/overlay_iw610.conf +++ b/samples/net/wifi/shell/nxp/overlay_iw610.conf @@ -31,6 +31,7 @@ CONFIG_NXP_WIFI_SOFTAP_SUPPORT=y CONFIG_WIFI_SHELL_MAX_AP_STA=8 CONFIG_NXP_WIFI_TX_RX_ZERO_COPY=y CONFIG_NXP_WIFI_FW_DEBUG=y +CONFIG_NXP_WIFI_WAKE_TIMER_ENABLE=y # net CONFIG_NET_IPV4=y diff --git a/samples/net/wifi/shell/nxp/overlay_rw612.conf b/samples/net/wifi/shell/nxp/overlay_rw612.conf index 29d79a1038df7..d482dff418297 100644 --- a/samples/net/wifi/shell/nxp/overlay_rw612.conf +++ b/samples/net/wifi/shell/nxp/overlay_rw612.conf @@ -31,6 +31,7 @@ CONFIG_NXP_WIFI_SOFTAP_SUPPORT=y CONFIG_WIFI_SHELL_MAX_AP_STA=8 CONFIG_NXP_WIFI_TX_RX_ZERO_COPY=y CONFIG_NXP_WIFI_FW_DEBUG=y +CONFIG_NXP_WIFI_WAKE_TIMER_ENABLE=y # net CONFIG_NET_IPV4=y From 57393d061195dd9890ecd15c422ba80f4fb8df4a Mon Sep 17 00:00:00 2001 From: Hui Bai Date: Thu, 20 Nov 2025 16:14:53 +0800 Subject: [PATCH 2/3] west.yml: Sync hal_nxp repo Sync hal_nxp repo Signed-off-by: Hui Bai --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 514850b131bca..a2d1010c28bd3 100644 --- a/west.yml +++ b/west.yml @@ -210,7 +210,7 @@ manifest: groups: - hal - name: hal_nxp - revision: b374adf9c08434b849fe9dcdb0b099cafc4f31ae + revision: a7f64ac242138179b7f893eb440ccb0c5655f8e9 path: modules/hal/nxp groups: - hal From f00373de2e07a0d3369f0a9d2bc638dab5d825b5 Mon Sep 17 00:00:00 2001 From: Hui Bai Date: Thu, 20 Nov 2025 16:18:14 +0800 Subject: [PATCH 3/3] drivers: wifi: Update debug level of wakeup source dump function Update wakeup source dump function to DBG level. This function will print and clear wakeup source registers of NXP wifi chips with CONFIG_WIFI_LOG_LEVEL_DBG enabled. By changing debug level of this file, user can avoid wakeup source clear. Signed-off-by: Hui Bai --- drivers/wifi/nxp/nxp_wifi_drv.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/wifi/nxp/nxp_wifi_drv.c b/drivers/wifi/nxp/nxp_wifi_drv.c index 1c83caaedb059..e02caa0d7e25b 100644 --- a/drivers/wifi/nxp/nxp_wifi_drv.c +++ b/drivers/wifi/nxp/nxp_wifi_drv.c @@ -2207,16 +2207,18 @@ static int nxp_wifi_set_config(const struct device *dev, enum ethernet_config_ty #ifdef CONFIG_NXP_RW610 void device_pm_dump_wakeup_source(void) { +#ifdef CONFIG_WIFI_LOG_LEVEL_DBG if (POWER_GetWakeupStatus(IMU_IRQ_N)) { - LOG_INF("Wakeup by WLAN"); + LOG_DBG("Wakeup by WLAN"); POWER_ClearWakeupStatus(IMU_IRQ_N); } else if (POWER_GetWakeupStatus(41)) { - LOG_INF("Wakeup by OSTIMER"); + LOG_DBG("Wakeup by OSTIMER"); POWER_ClearWakeupStatus(41); } else if (POWER_GetWakeupStatus(32)) { - LOG_INF("Wakeup by RTC"); + LOG_DBG("Wakeup by RTC"); POWER_ClearWakeupStatus(32); } +#endif } #endif @@ -2283,7 +2285,7 @@ static int device_wlan_pm_action(const struct device *dev, enum pm_device_action } wlan_hs_hanshake_cfg(false); } else { - LOG_INF("Wakeup by other sources"); + LOG_DBG("Wakeup by other sources"); wlan_hs_hanshake_cfg(true); } #ifdef CONFIG_NXP_RW610