nRF WiFi
Loading...
Searching...
No Matches
FMAC API

Header containing API declarations for the FMAC IF Layer of the Wi-Fi driver. More...

Data Structures

struct  nrf_wifi_fmac_callbk_fns
 Callback functions to be invoked by UMAC IF layer when a particular event occurs. More...
 
struct  peers_info
 Structure to hold peer context information. More...
 
struct  tx_config
 Structure to hold transmit path context information. More...
 
struct  nrf_wifi_sys_fmac_priv
 Structure to hold context information for the UMAC IF layer. More...
 
struct  nrf_wifi_sys_fmac_dev_ctx
 Structure to hold per device context information for the UMAC IF layer. More...
 
struct  nrf_wifi_fmac_vif_ctx
 Structure to hold per VIF context information for the UMAC IF layer. More...
 
struct  nrf_wifi_fmac_buf_map_info
 Structure to hold TX/RX buffer pool configuration data. More...
 
struct  rpu_sys_op_stats
 
  • Structure to hold per device host and firmware statistics.
More...
 

Macros

#define MAX_PEERS   5
 
#define MAX_SW_PEERS   (MAX_PEERS + 1)
 
#define NRF_WIFI_AC_TWT_PRIORITY_EMERGENCY   0xFF
 
#define NRF_WIFI_MAGIC_NUM_RAWTX   0x12345678
 

Enumerations

enum  nrf_wifi_fmac_ac {
  NRF_WIFI_FMAC_AC_BK , NRF_WIFI_FMAC_AC_BE , NRF_WIFI_FMAC_AC_VI , NRF_WIFI_FMAC_AC_VO ,
  NRF_WIFI_FMAC_AC_MC , NRF_WIFI_FMAC_AC_MAX
}
 WLAN access categories. More...
 
enum  nrf_wifi_fmac_if_op_state { NRF_WIFI_FMAC_IF_OP_STATE_DOWN , NRF_WIFI_FMAC_IF_OP_STATE_UP , NRF_WIFI_FMAC_IF_OP_STATE_INVALID }
 The operational state of an interface. More...
 
enum  nrf_wifi_fmac_if_carr_state { NRF_WIFI_FMAC_IF_CARR_STATE_OFF , NRF_WIFI_FMAC_IF_CARR_STATE_ON , NRF_WIFI_FMAC_IF_CARR_STATE_INVALID }
 The carrier state of an interface. More...
 
enum  nrf_wifi_fmac_twt_state { NRF_WIFI_FMAC_TWT_STATE_SLEEP , NRF_WIFI_FMAC_TWT_STATE_AWAKE }
 The TWT sleep state of device. More...
 

Functions

struct nrf_wifi_fmac_privnrf_wifi_sys_fmac_init (struct nrf_wifi_data_config_params *data_config, struct rx_buf_pool_params *rx_buf_pools, struct nrf_wifi_fmac_callbk_fns *callbk_fns)
 Initialize the UMAC IF layer in the system mode of operation.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_scan (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_scan_info *scan_info)
 Issue a scan request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_scan_res_get (void *fmac_dev_ctx, unsigned char if_idx, int scan_type)
 Issue a scan results request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_abort_scan (void *fmac_dev_ctx, unsigned char if_idx)
 Issue abort of an ongoing scan to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_auth (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_auth_info *auth_info)
 Issue an 802.11 authentication request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_deauth (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_disconn_info *deauth_info)
 Issue an 802.11 de-authentication request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_assoc (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_assoc_info *assoc_info)
 Issue an 802.11 association request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_disassoc (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_disconn_info *disassoc_info)
 Issue an 802.11 disassociation request to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_add_key (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_key_info *key_info, const char *mac_addr)
 Add an 802.11 security key into the RPU security database.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_del_key (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_key_info *key_info, const char *mac_addr)
 Delete an 802.11 key from the RPU security database.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_key (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_key_info *key_info)
 Set a key as a default for data or management traffic in the RPU security database.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_bss (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_bss_info *bss_info)
 Set BSS parameters for an AP mode interface in the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_chg_bcn (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_set_beacon_info *data)
 Update the Beacon Template.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_start_ap (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_start_ap_info *ap_info)
 Start a SoftAP.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_stop_ap (void *fmac_dev_ctx, unsigned char if_idx)
 Stop a SoftAP.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_p2p_dev_start (void *fmac_dev_ctx, unsigned char if_idx)
 Start P2P mode on an interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_p2p_dev_stop (void *fmac_dev_ctx, unsigned char if_idx)
 Start P2P mode on an interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_p2p_roc_start (void *fmac_dev_ctx, unsigned char if_idx, struct remain_on_channel_info *roc_info)
 Start p2p remain on channel.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_p2p_roc_stop (void *fmac_dev_ctx, unsigned char if_idx, unsigned long long cookie)
 Stop p2p remain on channel.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_mgmt_tx (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_mgmt_tx_info *mgmt_tx_info)
 Transmit a management frame.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_del_sta (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_del_sta_info *del_sta_info)
 Remove a station.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_add_sta (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_add_sta_info *add_sta_info)
 Indicate a new STA connection to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_chg_sta (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_chg_sta_info *chg_sta_info)
 Indicate changes to STA connection parameters to the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_mgmt_frame_reg (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_mgmt_frame_info *frame_info)
 Register the mgmt frame type which needs to be sent up to the host by the RPU firmware.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_mac_addr (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char *addr)
 Get unused MAC address from base mac address.
 
unsigned char nrf_wifi_sys_fmac_add_vif (void *fmac_dev_ctx, void *os_vif_ctx, struct nrf_wifi_umac_add_vif_info *vif_info)
 Add a new virtual interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_del_vif (void *fmac_dev_ctx, unsigned char if_idx)
 Deletes a virtual interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_chg_vif (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_chg_vif_attr_info *vif_info)
 Change the attributes of an interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_chg_vif_state (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_chg_vif_state_info *vif_info)
 Change the state of a virtual interface.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_vif_macaddr (void *fmac_dev_ctx, unsigned char if_idx, unsigned char *mac_addr)
 Set MAC address on interface.
 
enum nrf_wifi_status nrf_wifi_fmac_start_xmit (void *fmac_dev_ctx, unsigned char if_idx, void *netbuf)
 Transmit a frame to the RPU.
 
enum nrf_wifi_status nrf_wifi_fmac_suspend (void *fmac_dev_ctx)
 Inform the RPU firmware that host is going to suspend state.
 
enum nrf_wifi_status nrf_wifi_fmac_resume (void *fmac_dev_ctx)
 Notify RPU firmware that host has resumed from a suspended state.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_tx_power (void *fmac_dev_ctx, unsigned int if_idx)
 Get tx power.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_channel (void *fmac_dev_ctx, unsigned int if_idx)
 Get channel definition.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_station (void *fmac_dev_ctx, unsigned int if_idx, unsigned char *mac)
 Get station statistics.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_interface (void *dev_ctx, unsigned int if_idx)
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_power_save (void *fmac_dev_ctx, unsigned char if_idx, bool state)
 Configure WLAN power management.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_uapsd_queue (void *fmac_dev_ctx, unsigned char if_idx, unsigned int uapsd_queue)
 Configure WLAN U-APSD queue.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_power_save_timeout (void *fmac_dev_ctx, unsigned char if_idx, int ps_timeout)
 Configure Power save timeout.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_qos_map (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_qos_map_info *qos_info)
 Configure qos_map of for data.
 
enum nrf_wifi_status nrf_wifi_fmac_set_wowlan (void *fmac_dev_ctx, unsigned int var)
 Configure WoWLAN.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_wiphy (void *fmac_dev_ctx, unsigned char if_idx)
 Get PHY configuration.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_register_frame (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_mgmt_frame_info *frame_info)
 Register to get MGMT frames.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_wiphy_params (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_set_wiphy_info *wiphy_info)
 Set wiphy parameters.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_twt_setup (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_config_twt_info *twt_info)
 TWT setup command.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_twt_teardown (void *fmac_dev_ctx, unsigned char if_idx, struct nrf_wifi_umac_config_twt_info *twt_info)
 TWT teardown command.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_conn_info (void *fmac_dev_ctx, unsigned char if_idx)
 Get connection info from RPU.
 
struct nrf_wifi_fmac_dev_ctxnrf_wifi_sys_fmac_dev_add (struct nrf_wifi_fmac_priv *fpriv, void *os_dev_ctx)
 Adds a RPU instance.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_dev_init (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, int sleep_type, unsigned int phy_calib, enum op_band op_band, bool beamforming, struct nrf_wifi_tx_pwr_ctrl_params *tx_pwr_ctrl_params, struct nrf_wifi_tx_pwr_ceil_params *tx_pwr_ceil_params, struct nrf_wifi_board_params *board_params, unsigned char *country_code)
 Initialize an RPU instance.
 
void nrf_wifi_sys_fmac_dev_deinit (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)
 De-initialize a RPU instance.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_listen_interval (void *fmac_dev_ctx, unsigned char if_idx, unsigned short listen_interval)
 Configure WLAN listen interval.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_ps_wakeup_mode (void *fmac_dev_ctx, unsigned char if_idx, bool ps_wakeup_mode)
 Configure WLAN PS wakeup mode to DTIM interval or listen interval.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_ps_exit_strategy (void *fmac_dev_ctx, unsigned char if_idx, unsigned int ps_exit_strategy)
 Configure power save exit strategy.
 
enum nrf_wifi_status nrf_wifi_check_mode_validity (unsigned char mode)
 Check if a valid mode is being set.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_rf_params_get (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, struct nrf_wifi_phy_rf_params *rf_params)
 Get the RF parameters to be programmed to the RPU.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_set_tx_rate (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char rate_flag, int data_rate)
 
enum nrf_wifi_status nrf_wifi_sys_fmac_get_host_rpu_ps_ctrl_state (void *fmac_dev_ctx, int *rpu_ps_ctrl_state)
 Get the RPU power save status from host perspective.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_conf_ltf_gi (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char he_ltf, unsigned char he_gi, unsigned char enabled)
 Configure HE LTF and GI parameters.
 
enum nrf_wifi_status nrf_wifi_sys_fmac_stats_get (struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, enum rpu_stats_type stats_type, struct rpu_sys_op_stats *stats)
 Issue a request to get stats from the RPU.
 

Detailed Description

Header containing API declarations for the FMAC IF Layer of the Wi-Fi driver.

Header containing declarations for utility functions for FMAC IF Layer of the Wi-Fi driver.