diff --git a/boards/shields/nxp_m2_wifi_bt/nxp_m2_1xk_wifi_bt.overlay b/boards/shields/nxp_m2_wifi_bt/nxp_m2_1xk_wifi_bt.overlay index b1d29c15c1d07..6129f6f5519b9 100644 --- a/boards/shields/nxp_m2_wifi_bt/nxp_m2_1xk_wifi_bt.overlay +++ b/boards/shields/nxp_m2_wifi_bt/nxp_m2_1xk_wifi_bt.overlay @@ -32,6 +32,8 @@ &m2_wifi_sdio { nxp_wifi { compatible = "nxp,wifi"; + oob-gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; + wakeup-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; status = "okay"; }; }; diff --git a/boards/shields/nxp_m2_wifi_bt/nxp_m2_2el_wifi_bt.overlay b/boards/shields/nxp_m2_wifi_bt/nxp_m2_2el_wifi_bt.overlay index b1d29c15c1d07..5fb1406d636fb 100644 --- a/boards/shields/nxp_m2_wifi_bt/nxp_m2_2el_wifi_bt.overlay +++ b/boards/shields/nxp_m2_wifi_bt/nxp_m2_2el_wifi_bt.overlay @@ -32,6 +32,7 @@ &m2_wifi_sdio { nxp_wifi { compatible = "nxp,wifi"; + wakeup-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; status = "okay"; }; }; diff --git a/drivers/wifi/nxp/Kconfig.nxp b/drivers/wifi/nxp/Kconfig.nxp index 2679a48c85f18..1e78d5067c136 100644 --- a/drivers/wifi/nxp/Kconfig.nxp +++ b/drivers/wifi/nxp/Kconfig.nxp @@ -402,7 +402,7 @@ menu "Wi-Fi driver Stack configurations" config NXP_WIFI_MON_TASK_STACK_SIZE int "Mon thread stack size" - depends on NXP_RW610 || NXP_IW610 + depends on NXP_RW610 || NXP_IW610 || NXP_IW61X || NXP_IW416 default 3072 help This option specifies the size of the stack used by the mon task. @@ -444,7 +444,7 @@ menu "Wi-Fi thread priority configurations" config NXP_WIFI_MON_TASK_PRIO int "Mon task priority" - depends on NXP_RW610 || NXP_IW610 + depends on NXP_RW610 || NXP_IW610 || NXP_IW61X || NXP_IW416 default 4 help This option specifies the priority of the mon task. diff --git a/drivers/wifi/nxp/nxp_wifi_drv.c b/drivers/wifi/nxp/nxp_wifi_drv.c index d2a8e910abe9f..98ded6bd4f1d6 100644 --- a/drivers/wifi/nxp/nxp_wifi_drv.c +++ b/drivers/wifi/nxp/nxp_wifi_drv.c @@ -20,7 +20,7 @@ #include #ifdef CONFIG_PM_DEVICE #include -#ifdef CONFIG_NXP_IW610 +#ifndef CONFIG_NXP_RW610 #include #endif #endif @@ -2018,7 +2018,7 @@ extern void WL_MCI_WAKEUP_DONE0_DriverIRQHandler(void); #endif #ifdef CONFIG_PM_DEVICE -#ifdef CONFIG_NXP_IW610 +#ifndef CONFIG_NXP_RW610 struct gpio_callback wakeup_callback; static void gpio_wakeup_callback(const struct device *port, struct gpio_callback *cb, @@ -2142,8 +2142,10 @@ static bool nxp_wifi_wlan_wakeup(void) { #ifdef CONFIG_NXP_RW610 return POWER_GetWakeupStatus(WL_MCI_WAKEUP0_IRQn); -#elif CONFIG_NXP_IW610 +#elif CONFIG_NXP_IW610 || CONFIG_NXP_IW61X return GPC_GetIRQStatusFlag(GPC, GPIO1_Combined_0_15_IRQn); +#elif CONFIG_NXP_IW416 + return GPC_GetIRQStatusFlag(GPC, GPIO1_Combined_16_31_IRQn); #else return false; #endif diff --git a/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf b/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf index c79d2f844e5bc..aa1fe8bbe9713 100644 --- a/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf +++ b/samples/net/wifi/shell/nxp/overlay_hosted_mcu.conf @@ -1,6 +1,18 @@ # C Library CONFIG_CBPRINTF_FP_SUPPORT=y +# log & stats +CONFIG_WIFI_LOG_LEVEL_DBG=y +CONFIG_THREAD_LOCAL_STORAGE=y +CONFIG_ASSERT=y +CONFIG_ASSERT_LEVEL=2 +CONFIG_LOG_MODE_IMMEDIATE=y +CONFIG_LOG_PRINTK=n +CONFIG_SYS_HEAP_VALIDATE=y +CONFIG_SYS_HEAP_RUNTIME_STATS=y +CONFIG_NET_STATISTICS_WIFI=y +CONFIG_NET_STATISTICS_USER_API=y + # shell CONFIG_SHELL_ARGC_MAX=48 CONFIG_WIFI_SHELL_MAX_AP_STA=8 @@ -53,3 +65,8 @@ CONFIG_NET_IPV6_FRAGMENT_TIMEOUT=3 CONFIG_NET_MAX_CONN=10 CONFIG_NET_DHCPV4_SERVER_ICMP_PROBE_TIMEOUT=100 CONFIG_ETH_DRIVER=n +# power mgmt +CONFIG_PM=y +CONFIG_PM_DEVICE=y +CONFIG_PM_LOG_LEVEL_OFF=y +CONFIG_PM_DEVICE_LOG_LEVEL_OFF=y