The nrf wifi drivers include code related to qspi/spi bus. This work moves bus related files to a new nrf70 bus library which is now independent of the core driver and facilitlates building applications directly using the bus APIs, agnostic to enabling wifi configs. Signed-off-by: Bansidhar P.M <bansidhar.mangalwedhekar@nordicsemi.no>
67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
/*
|
|
* Copyright (c) 2024 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @brief Header containing OS interface specific declarations for the
|
|
* Zephyr OS layer of the Wi-Fi driver.
|
|
*/
|
|
|
|
#ifndef __SHIM_H__
|
|
#define __SHIM_H__
|
|
|
|
#include <zephyr/kernel.h>
|
|
#include <zephyr/drivers/gpio.h>
|
|
#include <zephyr/net/net_pkt.h>
|
|
|
|
/**
|
|
* struct zep_shim_bus_qspi_priv - Structure to hold context information for the Linux OS
|
|
* shim.
|
|
* @pcie_callbk_data: Callback data to be passed to the PCIe callback functions.
|
|
* @pcie_prb_callbk: The callback function to be called when a PCIe device
|
|
* has been probed.
|
|
* @pcie_rem_callbk: The callback function to be called when a PCIe device
|
|
* has been removed.
|
|
*
|
|
* This structure maintains the context information necessary for the operation
|
|
* of the Linux shim. Some of the elements of the structure need to be
|
|
* initialized during the initialization of the Linux shim while others need to
|
|
* be kept updated over the duration of the Linux shim operation.
|
|
*/
|
|
struct zep_shim_bus_qspi_priv {
|
|
void *qspi_dev;
|
|
|
|
bool dev_added;
|
|
bool dev_init;
|
|
};
|
|
|
|
struct zep_shim_intr_priv {
|
|
struct gpio_callback gpio_cb_data;
|
|
void *callbk_data;
|
|
int (*callbk_fn)(void *callbk_data);
|
|
struct k_work_delayable work;
|
|
};
|
|
|
|
struct zep_shim_llist_node {
|
|
sys_dnode_t head;
|
|
void *data;
|
|
};
|
|
|
|
struct zep_shim_llist {
|
|
sys_dlist_t head;
|
|
unsigned int len;
|
|
};
|
|
|
|
void *net_pkt_to_nbuf(struct net_pkt *pkt);
|
|
void *net_pkt_from_nbuf(void *iface, void *frm);
|
|
#if defined(CONFIG_NRF70_RAW_DATA_RX) || defined(CONFIG_NRF70_PROMISC_DATA_RX)
|
|
void *net_raw_pkt_from_nbuf(void *iface,
|
|
void *frm,
|
|
unsigned short raw_hdr_len,
|
|
void *raw_rx_hdr,
|
|
bool pkt_free);
|
|
#endif /* CONFIG_NRF70_RAW_DATA_RX || CONFIG_NRF70_PROMISC_DATA_RX */
|
|
|
|
#endif /* __SHIM_H__ */
|