84 lines
2.0 KiB
C
84 lines
2.0 KiB
C
/**
|
|
* 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 <zephyr/kernel.h>
|
|
#include <stdio.h>
|
|
#ifdef CONFIG_SDIO_STACK
|
|
#include <zephyr/sd/sd.h>
|
|
#include <zephyr/sd/sdio.h>
|
|
#endif
|
|
#include <zephyr/drivers/gpio.h>
|
|
#include <zephyr/net/wifi_mgmt.h>
|
|
#include <zephyr/net/dhcpv4_server.h>
|
|
|
|
#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
|