nRF WiFi
Loading...
Searching...
No Matches
fmac_api.h File Reference
#include "osal_api.h"
#include "host_rpu_umac_if.h"
#include "host_rpu_data_if.h"
#include "host_rpu_sys_if.h"
#include "system/fmac_structs.h"
#include "system/fmac_cmd.h"
#include "system/fmac_event.h"
#include "system/fmac_vif.h"
#include "system/fmac_bb.h"
#include "common/fmac_api_common.h"

Go to the source code of this file.

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.