1 /*
2  * Copyright (c) 2024 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /** @file
8  *
9  * @addtogroup nrf_wifi_api_radio_test FMAC radio test API
10  * @{
11  *
12  * TODO: This file is not added doxygen to avoid duplicate warnings.
13  *
14  * @brief Header containing declarations for utility functions for
15  * FMAC IF Layer of the Wi-Fi driver.
16  */
17 
18 #ifndef __FMAC_STRUCTS_H__
19 #define __FMAC_STRUCTS_H__
20 
21 #include "osal_api.h"
22 #include "host_rpu_umac_if.h"
23 #include "radio_test/phy_rf_params.h"
24 #include "common/fmac_structs_common.h"
25 
26 /**
27  * @brief  Structure to hold per device context information for the UMAC IF layer.
28  *
29  * This structure maintains the context information necessary for
30  * a single instance of a FullMAC-based RPU.
31  */
32 struct nrf_wifi_rt_fmac_dev_ctx {
33 	/** Firmware RF test command type. */
34 	enum nrf_wifi_rf_test rf_test_type;
35 	/** Firmware RF test capability data. */
36 	void *rf_test_cap_data;
37 	/** Firmware RF test capability data size. */
38 	unsigned int rf_test_cap_sz;
39 	/** Firmware RF test command is completed. */
40 	bool radio_cmd_done;
41 	/** Firmware RF test command status. */
42 	enum nrf_wifi_cmd_status radio_cmd_status;
43 	/** Firmware RF test RX capture event status */
44 	unsigned char capture_status;
45 };
46 
47 
48 /**
49  * @brief - Structure to hold per device host and firmware statistics.
50  *
51  */
52 struct rpu_rt_op_stats {
53 	/** Host statistics. */
54 	struct rpu_host_stats host;
55 	/** Firmware statistics. */
56 	struct rpu_rt_fw_stats fw;
57 };
58 
59 /**
60  * @}
61  */
62 #endif /* __FMAC_STRUCTS_H__ */
63