Radio Test mode

The Radio Test mode is used for testing the RF performance of the nRF70 Series device, mainly to characterize the RF.

Note

Documentation for data structure definitions is disabled for this module. It will be enabled in the future.

Source file: nrf_wifi/fw_if/umac_if/src/radio_test/fmac_api.c
group nrf_wifi_api_radio_test

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.

TODO: This file is not added doxygen to avoid duplicate warnings.

Functions

struct nrf_wifi_fmac_priv *nrf_wifi_fmac_init_rt(void)

Initializes the UMAC IF layer.

This function initializes the UMAC IF layer of the RPU WLAN FullMAC driver. It does the following:

- Creates and initializes the context for the UMAC IF layer.
- Initializes the OS abstraction Layer
- Initializes the HAL layer.
- Registers the driver to the underlying Operating System.

Returns:

Pointer to the context of the UMAC IF layer.

enum nrf_wifi_status nrf_wifi_fmac_radio_test_init(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, struct rpu_conf_params *params)

Initialize the RPU for radio tests.

This function is used to send a command to:

  • The RPU firmware to initialize it for radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • params – Parameters necessary for the initialization.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_radio_test_prog_tx(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, struct rpu_conf_params *params)

Start TX tests in radio test mode.

This function is used to send a command to:

  • The RPU firmware to start the TX tests in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • params – Parameters necessary for the TX tests.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_radio_test_prog_rx(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, struct rpu_conf_params *params)

Start RX tests in radio test mode.

This function is used to send a command to:

  • The RPU firmware to start the RX tests in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • params – Parameters necessary for the RX tests.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_test_rx_cap(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, enum nrf_wifi_rf_test rf_test_type, void *cap_data, unsigned short int num_samples, unsigned char lna_gain, unsigned char bb_gain)

Start RF test capture in radio test mode.

This function is used to send a command to:

  • The RPU firmware to start the RF test capture in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • rf_test_type – Type of RF test to be performed.

  • cap_data – Pointer to the memory where the RF test capture is to be stored.

  • num_samples – Number of RF test samples to capture.

  • lna_gain – LNA gain value.

  • bb_gain – Baseband gain value.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_test_tx_tone(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char enable, signed char tone_freq, signed char tx_power)

Start/Stop RF TX tone test in radio test mode.

This function is used to send a command to:

  • The RPU firmware to start the RF TX tone test in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • enable – Enable/Disable TX tone test.

  • tone_freq – Desired tone frequency in MHz in steps of 1 MHz from -10 MHz to +10 MHz.

  • tx_power – Desired TX power in the range -16dBm to +24dBm.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_test_dpd(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char enable)

Start/Stop RF DPD test in radio test mode.

This function is used to send a command to:

  • The RPU firmware to start the RF DPD test in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • enable – Enable/Disable DPD test.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_get_temp(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)

Get temperature in Fahrenheit using temperature sensor.

This function is used to send a command to:

  • The RPU firmware to get the current temperature using the radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_get_rf_rssi(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)

Get RF RSSI status.

This function is used to send a command to:

  • The RPU firmware to get RF RSSI status in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_set_xo_val(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned char value)

Set XO adjustment value.

This function is used to send a command to:

  • The RPU firmware to set XO adjustment value in radio test mode.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

  • value – XO adjustment value.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

enum nrf_wifi_status nrf_wifi_fmac_rf_test_compute_xo(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)

Get XO calibrated value.

This function is used to send a command to:

  • The RPU firmware wherein the RPU firmware estimates and returns optimal XO value.

Parameters:
  • fmac_dev_ctx – Pointer to the UMAC IF context for a RPU WLAN device.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

void nrf_wifi_fmac_deinit_rt(struct nrf_wifi_fmac_priv *fpriv)

De-initializes the UMAC IF layer.

This function de-initializes the UMAC IF layer of the RPU WLAN FullMAC driver. It does the following:

  • De-initializes the HAL layer.

  • Frees the context for the UMAC IF layer.

Parameters:
  • fpriv – Pointer to the context of the UMAC IF layer.

Returns:

None

void nrf_wifi_fmac_dev_rem_rt(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)

Removes a RPU instance.

This function handles the removal of an RPU instance at the UMAC IF layer.

Parameters:
  • fmac_dev_ctx – Pointer to the context of the RPU instance to be removed.

Returns:

None.

enum nrf_wifi_status nrf_wifi_fmac_dev_init_rt(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx, unsigned int phy_calib, enum op_band op_band, bool beamforming, struct nrf_wifi_tx_pwr_ctrl_params *tx_pwr_ctrl, struct nrf_wifi_tx_pwr_ceil_params *tx_pwr_ceil_params)

Initializes a RPU instance.

This function initializes the firmware of an RPU instance.

Parameters:
  • fmac_dev_ctx – Pointer to the context of the RPU instance to be removed.

  • sleep_type – Type of RPU sleep.

  • phy_calib – PHY calibration flags to be passed to the RPU.

  • op_band – Operating band of the RPU.

  • beamforming – Enable/disable Wi-Fi beamforming.

  • tx_pwr_ctrl – TX power control parameters to be passed to the RPU.

Return values:
  • NRF_WIFI_STATUS_SUCCESS – On Success

  • NRF_WIFI_STATUS_FAIL – On failure to execute command

void nrf_wifi_fmac_dev_deinit_rt(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx)

De-initializes a RPU instance.

This function de-initializes the firmware of an RPU instance.

Parameters:
  • fmac_dev_ctx – Pointer to the context of the RPU instance to be removed.

Returns:

None.

struct nrf_wifi_fmac_dev_ctx_rt
#include <fmac_structs.h>

Structure to hold per device context information for the UMAC IF layer.

This structure maintains the context information necessary for a single instance of a FullMAC-based RPU.

Public Members

enum nrf_wifi_rf_test rf_test_type

Firmware RF test command type.

void *rf_test_cap_data

Firmware RF test capability data.

unsigned int rf_test_cap_sz

Firmware RF test capability data size.

bool radio_cmd_done

Firmware RF test command is completed.

enum nrf_wifi_radio_test_err_status radio_cmd_status

Firmware RF test command status.