/** * Copyright 2023-2024 NXP * SPDX-License-Identifier: Apache-2.0 * * @file nxp_wifi_drv.h * Shim layer between wifi driver connection manager and zephyr * Wi-Fi L2 layer */ #ifndef ZEPHYR_DRIVERS_WIFI_NNP_WIFI_DRV_H_ #define ZEPHYR_DRIVERS_WIFI_NXP_WIFI_DRV_H_ #include #include #ifdef CONFIG_SDIO_STACK #include #include #endif #include #include #include #include "wlan_bt_fw.h" #include "wlan.h" #include "wm_net.h" #if defined(CONFIG_NXP_WIFI_SHELL) #include "wifi_shell.h" #endif #if defined(CONFIG_WIFI_NM_WPA_SUPPLICANT) #include "wifi_nxp.h" #include "rtos_wpa_supp_if.h" #endif #define MAX_DATA_SIZE 1600 #define NXP_WIFI_SYNC_TIMEOUT_MS K_FOREVER #define NXP_WIFI_UAP_NETWORK_NAME "uap-network" #define NXP_WIFI_STA_NETWORK_NAME "sta-network" #define NXP_WIFI_EVENT_BIT(event) (1 << event) #define NXP_WIFI_SYNC_INIT_GROUP \ NXP_WIFI_EVENT_BIT(WLAN_REASON_INITIALIZED) | \ NXP_WIFI_EVENT_BIT(WLAN_REASON_INITIALIZATION_FAILED) #define NXP_WIFI_SYNC_PS_GROUP \ NXP_WIFI_EVENT_BIT(WLAN_REASON_PS_ENTER) | NXP_WIFI_EVENT_BIT(WLAN_REASON_PS_EXIT) enum nxp_wifi_ret { NXP_WIFI_RET_SUCCESS, NXP_WIFI_RET_FAIL, NXP_WIFI_RET_NOT_FOUND, NXP_WIFI_RET_AUTH_FAILED, NXP_WIFI_RET_ADDR_FAILED, NXP_WIFI_RET_NOT_CONNECTED, NXP_WIFI_RET_NOT_READY, NXP_WIFI_RET_TIMEOUT, NXP_WIFI_RET_BAD_PARAM, }; enum nxp_wifi_state { NXP_WIFI_NOT_INITIALIZED, NXP_WIFI_INITIALIZED, NXP_WIFI_STARTED, }; struct nxp_wifi_dev { struct net_if *iface; scan_result_cb_t scan_cb; struct k_mutex mutex; }; int nxp_wifi_wlan_event_callback(enum wlan_event_reason reason, void *data); #if defined(CONFIG_NXP_WIFI_SHELL) void nxp_wifi_shell_register(struct nxp_wifi_dev *dev); #else #define nxp_wifi_shell_register(dev) #endif #endif