WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
fe_rf_dev.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2023. All rights reserved.
3 * Description: Header file of RF resource management interfaces.
4 */
5
6#ifndef FE_RF_DEV_ROM_H
7#define FE_RF_DEV_ROM_H
9#include "frw_msg_rom.h"
10#include "dmac_ext_if_rom.h"
11#ifdef __cplusplus
12#if __cplusplus
13extern "C" {
14#endif
15#endif
16
18
20
21/* hal rf device 结构体 */
22typedef struct {
23 osal_u8 rf_id; /* rf device 编号 */
24 osal_u8 pll_id; /* 使用的PLL ID */
25 osal_s16 tx_power_dc; /* 当前通道下TX PWR的DC值,20M/40M/80M实测相差较小,公用使用一个 */
26 hal_rf_chn_param chn_para; /* 工作信道参数 */
27 osal_u32 rf_reg_base; /* rf寄存器基地址 */
28 osal_u32 rf_pll_reg_base; /* rf PLL寄存器基地址 */
29 osal_u32 rf_ctl_reg_offset; /* rf ctl寄存器偏移地址 */
30 osal_u16 aus_base_txpwr_delt_value[WLAN_BAND_BUTT];
31 osal_void *owner; /* 指向当前占用rf dev的hal device */
32 cali_param_stru *cali_data; /* 校准数据指针 */
33 oal_bool_enum_uint8 is_calibrated; /* rf是否已经校准 */
34 hal_rf_power_work_mode_uint8 rf_work_mode; /* rf work状态的工作模式 */
37 osal_u8 base_power[WLAN_BAND_BUTT]; /* 基准最大发射功率 */
39 osal_s16 curr_temperature; /* 保存当前温度 */
41 oal_bool_enum_uint8 upc_code_tobe_updated; /* 是否需要更新upc_code的lut表 */
46 osal_u8 cur_rf_fsm_state; /* 当前rf状态机状态 */
47 hal_dyn_cali_adj_type_enum_uint8 cali_pdet_adjust_flag; /* 动态校准调整状态标志 */
49#ifdef _PRE_WLAN_ONLINE_DPD
50 osal_u32 *dpd_system;
51#endif
52 uintptr_t *_rom; /* ROM化后资源扩展指针 */
54
55/* rf 资源管理结构体 */
56typedef struct {
57 hal_rf_dev *hal_rf_res[WLAN_RF_CHANNEL_NUMS]; /* 指向rf dev数组 */
58 osal_u32 free_bitmap; /* 标记空闲的rf dev */
60 osal_u8 rf_num; /* rf dev的总数 */
61 oal_bool_enum_uint8 comm_rf_ldo_state; /* rf公用的ldo是否打开 打开:true 关闭:false */
65 osal_u8 pll_use_cnt[WLAN_RF_PLL_NUMS]; /* RF对应的PLL的使用计数,对应枚举hal_rf_pll_user_enum_uint8 */
67 uintptr_t *_rom; /* ROM化后资源扩展指针 */
69
71
73
74/* rf dev work状态的工作模式 */
75typedef enum {
76 HAL_RF_WORK_MODE_RX_ONLY, /* 只开接收 */
77 HAL_RF_WORK_MODE_TXRX, /* 收发全开 */
78
81
88
90
91/* PLL使用者标识枚举 */
101
110
111/* 设置是否同时打开两个rf的电源 */
112static inline osal_void rf_res_set_is_mimo(osal_u8 rf_chain)
113{
114 unref_param(rf_chain);
116}
117
118
121
123
125
127
131
136
138
141
143
145
149
155#ifdef __cplusplus
156#if __cplusplus
157}
158#endif
159#endif
160
161#endif
#define unref_param(P)
Definition dmac_misc_type.h:33
osal_void hal_rf_fsm_work_entry(osal_u8 rf_id)
osal_u32 fe_initialize_rf_dev(void)
osal_void hal_rf_res_alloc_by_id(hal_to_dmac_device_stru *device, osal_u8 rf_id, osal_u8 pll_id)
osal_void fe_rf_set_rf_channel(const hal_rf_chn_param *chn_para)
osal_u8 hal_get_rf_switch_cfg(osal_void)
osal_void hal_rf_res_free(const hal_rf_dev *rf_dev)
hal_rf_dev * fe_get_rf_dev(osal_u8 rf_id)
osal_void(* hal_rf_dev_ldo_ops_ptr)(osal_u8 rf_id)
Definition fe_rf_dev.h:72
osal_void fe_rf_dev_sleep(osal_u8 rf_id)
osal_s32 fe_rf_proc_rf_sleep_msg(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_u8 hal_rf_ops_cfg_uint8
Definition fe_rf_dev.h:109
osal_s32 hal_dev_set_rf_option(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_s32 hal_dev_rf_sleep_poweroff(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_void fe_rf_enable_rf_tx(osal_void)
osal_void hal_rf_fsm_set_state_byidx(osal_u8 rf_dev_idx, osal_u8 state)
hal_rf_res_manager * hal_rf_get_res(osal_void)
osal_u8 hal_rf_pll_user_enum_uint8
Definition fe_rf_dev.h:100
osal_void fe_rf_proc_rf_awake(osal_void)
osal_void hal_rf_dev_poweroff(osal_u8 rf_id)
osal_u32 hal_rf_res_init(osal_void)
osal_void fe_rf_dev_enable_tx(osal_u8 rf_id)
hal_rf_pll_user_enum
Definition fe_rf_dev.h:92
@ HAL_RF_PLL_USER_C1
Definition fe_rf_dev.h:95
@ HAL_RF_PLL_USER_MIMO
Definition fe_rf_dev.h:96
@ HAL_RF_PLL_USER_BUTT
Definition fe_rf_dev.h:98
@ HAL_RF_PLL_USER_NONE
Definition fe_rf_dev.h:93
@ HAL_RF_PLL_USER_C0
Definition fe_rf_dev.h:94
osal_void fe_rf_disable_rf_tx(osal_void)
osal_void hal_rf_fsm_set_state(hal_rf_dev *rf_dev, osal_u8 state)
osal_u8 fe_rf_fsm_get_state(osal_u8 rf_id)
osal_u8 hal_rf_power_work_mode_uint8
Definition fe_rf_dev.h:17
hal_rf_dev_ops * hal_rf_get_dev_ops(osal_void)
osal_void fe_rf_proc_rf_sleep(osal_void)
hal_rf_ops_cfg_enum
Definition fe_rf_dev.h:102
@ HAL_RF_SWITCH_ALL_LDO
Definition fe_rf_dev.h:104
@ HAL_RF_ALWAYS_POWER_ON
Definition fe_rf_dev.h:103
@ HAL_RF_SWITCH_PA_PPA
Definition fe_rf_dev.h:105
@ HAL_RF_OPS_CFG_BUTT
Definition fe_rf_dev.h:107
osal_void hal_set_rf_switch_cfg(osal_u8 switch_cfg)
osal_void hal_rf_dev_disable_tx(osal_u8 rf_id)
osal_u32 fe_reset_rf_dev(const hal_to_dmac_device_stru *hal_device)
hal_rf_work_mode_enum
Definition fe_rf_dev.h:75
@ HAL_RF_WORK_MODE_RX_ONLY
Definition fe_rf_dev.h:76
@ HAL_RF_WORK_MODE_BUTT
Definition fe_rf_dev.h:79
@ HAL_RF_WORK_MODE_TXRX
Definition fe_rf_dev.h:77
osal_void hal_rf_dev_poweron(osal_u8 rf_id)
osal_u8 hal_dyn_cali_adj_type_enum_uint8
Definition hal_common_ops_device_rom.h:501
#define HAL_POW_UPC_LUT_NUM
Definition hal_common_ops_device_rom.h:134
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
#define OSAL_FALSE
Definition osal_types.h:56
char osal_char
Definition osal_types.h:16
short osal_s16
Definition osal_types.h:18
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition dmac_ext_if_rom.h:106
Definition frw_msg_rom.h:74
Definition hal_common_ops_device_rom.h:525
Definition fe_extern_if_device.h:34
Definition fe_rf_dev.h:82
hal_rf_dev_ldo_ops_ptr dis_tx
Definition fe_rf_dev.h:86
hal_rf_dev_ldo_ops_ptr tx
Definition fe_rf_dev.h:85
hal_rf_dev_ldo_ops_ptr poweroff
Definition fe_rf_dev.h:84
hal_rf_dev_ldo_ops_ptr poweron
Definition fe_rf_dev.h:83
Definition fe_rf_dev.h:22
osal_s16 upc_amend
Definition fe_rf_dev.h:40
osal_u32 rf_ctl_reg_offset
Definition fe_rf_dev.h:29
osal_s16 tx_power_dc
Definition fe_rf_dev.h:25
osal_char dp_2gofdm20
Definition fe_rf_dev.h:43
osal_u8 pll_id
Definition fe_rf_dev.h:24
cali_param_stru * cali_data
Definition fe_rf_dev.h:32
osal_void * owner
Definition fe_rf_dev.h:31
osal_u8 rf_id
Definition fe_rf_dev.h:23
osal_u8 cur_rf_fsm_state
Definition fe_rf_dev.h:46
osal_s16 curr_temperature
Definition fe_rf_dev.h:39
osal_u32 rf_reg_base
Definition fe_rf_dev.h:27
osal_u8 cur_cali_upc
Definition fe_rf_dev.h:36
hal_dyn_cali_adj_type_enum_uint8 cali_pdet_adjust_flag
Definition fe_rf_dev.h:47
hal_pwr_fit_para_stru * pwr_fit_para_2g
Definition fe_rf_dev.h:45
oal_bool_enum_uint8 upc_code_tobe_updated
Definition fe_rf_dev.h:41
hal_rf_power_work_mode_uint8 rf_work_mode
Definition fe_rf_dev.h:34
osal_char dp_2gofdm40
Definition fe_rf_dev.h:44
osal_u8 rf_power_state
Definition fe_rf_dev.h:35
osal_u32 rf_pll_reg_base
Definition fe_rf_dev.h:28
osal_char dp_2g11b
Definition fe_rf_dev.h:42
osal_s16 delt_dbb_scale_dyn_val
Definition fe_rf_dev.h:48
hal_rf_chn_param chn_para
Definition fe_rf_dev.h:26
oal_bool_enum_uint8 is_calibrated
Definition fe_rf_dev.h:33
uintptr_t * _rom
Definition fe_rf_dev.h:52
Definition fe_rf_dev.h:56
oal_bool_enum_uint8 is_mimo
Definition fe_rf_dev.h:62
osal_u8 pll0_lock_state
Definition fe_rf_dev.h:63
osal_u8 master_rf_id
Definition fe_rf_dev.h:59
uintptr_t * _rom
Definition fe_rf_dev.h:67
osal_u32 free_bitmap
Definition fe_rf_dev.h:58
oal_bool_enum_uint8 comm_rf_ldo_state
Definition fe_rf_dev.h:61
osal_u8 rsv
Definition fe_rf_dev.h:66
osal_u8 rf_num
Definition fe_rf_dev.h:60
osal_u8 pll1_lock_state
Definition fe_rf_dev.h:64
Definition cali_data_type.h:88
Definition hal_ops_common_rom.h:529
unsigned int uintptr_t
Definition td_type.h:65
#define WLAN_RF_CHANNEL_NUMS
Definition wlan_spec_rom.h:214
#define WLAN_RF_PLL_NUMS
Definition wlan_spec_rom.h:216
@ WLAN_BAND_BUTT
Definition wlan_types_base_rom.h:95