WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
fe_hal_phy_if.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
3 * Description: 校准涉及到的phy功能接口
4 * Date: 2022-09-13
5 */
6
7#ifndef __FE_HAL_PHY_IF_H__
8#define __FE_HAL_PHY_IF_H__
9
10#include "cali_outer_hal_if.h"
11#include "cali_complex_num.h"
13
14#ifdef __cplusplus
15#if __cplusplus
16extern "C" {
17#endif
18#endif
19#define CALI_IQ_COEF_NUM 5
20typedef enum {
23 ADC_FS_320_M = 320
25
26typedef enum {
29 DAC_FS_480_M = 480
31
32/* 单音信号配置结构 */
33typedef struct {
34 osal_u16 iq_cali_delay; /* 延迟iq_cali_delay个TXclk */
35 osal_u8 tone_sign; /* 0:正频率 1:负频率 */
37 cali_single_tone_mask_enum_uint8 tone_mask; /* 信号输出屏蔽选择 */
38 cali_single_tone_amp_enum_uint8 tone_amp; /* 信号幅度档位 */
39 osal_u8 iq_pn_flag; /* 正负单音信号指示 */
40 osal_u8 cfg_tone_en; /* 使能 */
42// phy al tx param
43typedef struct {
44 osal_u8 protocol_mode; /* 发送协议模式 wlan_phy_protocol_enum_uint8 */
45 /*
46 * 0000: BW20
47 * 0001: SU ER 106 tone
48 * 0100: BW40
49 * 0101: BW_20 – Duplicate Legacy in 40MHz
50 * 1000: BW80
51 * 1001: BW_20 – Duplicate Legacy in 80MHz
52 * 其他:保留
53 */
54 osal_u8 bandwidth; /* 带宽 fe_hal_phy_al_tx_bw_enum_uint8 */
55 osal_u8 rf_id; /* 通道 wlan_phy_chain_sel_enum_uint8 */
56 /*
57 * 发送帧的速率
58 * vht/he时,【21:20】表示Nss=1,固定值0;【19:16】跟协议保持一致:0代表mcs0,最高mcs9。
59 * ht时,【21:20】表示Nss=1,固定值0;【19:16】跟协议保持一致:0代表mcs0,最高mcs7;
60 * ht 40m下6'b10_0000表示发mcs32速率。
61 * 11a/g时:
62 * 1011 -> 6 Mbps 1111 -> 9 Mbps 1010 -> 12 Mbps 1110 -> 18 Mbps 1001 -> 24 Mbps 1101 -> 36 Mbps
63 * 1000 -> 48 Mbps 1100 -> 54 Mbps
64 * 11b时:
65 * 0000 -> 1 Mbps 0001 -> 2 Mbps 0010 -> 5.5 Mbps 0011 -> 11 Mbps
66 */
67 osal_u8 nss_mcs_rate; /* 速率 wlan_he_mcs_enum_uint8 wlan_ht_mcs_enum_uint8 wlan_11b_rate_index_enum_uint8 */
68 osal_u32 psdu_len; /* 帧长 */
70 osal_u8 gi_type; /* GI类型 he:wlan_phy_he_gi_type_enum_uint8 other:wlan_gi_type_enum_uint8 */
71 osal_u8 ltf_type; /* LTF类型 wlan_phy_he_ltf_type_enum_uint8 */
72 osal_u16 frame_gap; /* 帧间隔 */
73 osal_u16 frame_num; /* 发帧帧数(0表示一直发直到关闭) */
77 osal_u8 fec_coding; // 编码 bcc ldpc wlan_channel_code_enum_uint8
78 osal_u8 pdet_en; // 动态功率校准使能
80 osal_u8 preamble; /* 11b 0:short 1:long 11n 0:mixed mode 1:gf mode other 0:default 1:rsv */
81 osal_u8 rsv; /* 4字节对齐,1字节保留字段 */
83// 分多档校准的时候,每档的校准配置信息
97// 生成单音
99
102// 设置测试模式
104// 设置phy的测试开始/结束
106// FFT
108 cali_complex_stru *image_fft, osal_s32 tone_freq);
109// TRX IQ
111 cali_complex_stru *multi_tone_fft, osal_u16 tone_fft_size, cali_single_tone_stru tone_cfg);
113 cali_complex_stru *comp, osal_u16 comp_size, osal_u8 enable);
120// abb 时钟配置
122
123// 应用rx_dc数字补偿
125// tx_dc校准phy的准备配置
127// TX DC校准中,发射端由CBB添加一个可配的DC3(如15mV)到I/Q两路上
129// tx_dc校准phy配置恢复
132 osal_u16 txdc_cmp_q, osal_u8 idx);
136 osal_u8 comp_size, osal_u8 idx);
137// 上电功率的硬件常发
141
142// 上电功率校准前配置dbb_scale
144
145// rc校准
154
164// soc 校准相关配置
168// TRX IQ补偿的档位界限值
175#ifdef BOARD_ASIC_WIFI
176osal_void cali_tx_pwr_init_lvl_cfg(cali_txpwr_lvl_cfg_stru* lvl_cfg);
177#endif
178#ifdef __cplusplus
179#if __cplusplus
180}
181#endif
182#endif
183#endif // __CALI_PHY_IF_H__
osal_void fe_hal_phy_config_rx_iq_comp(const hal_device_stru *device, osal_u32 bypass)
osal_void(* fe_hal_common_set_reg_path_func)(osal_u8)
Definition fe_hal_phy_if.h:173
osal_void fe_hal_phy_config_single_tone_beta_comp_chip(const hal_device_stru *device, cali_complex_stru *comp, osal_u16 comp_size, osal_u8 enable)
osal_void fe_hal_soc_config_cali_path(const hal_device_stru *device, osal_u8 cali_type, osal_u8 open)
osal_u32 fe_hal_phy_get_fft_by_freq(const hal_device_stru *device, cali_complex_stru *tone_fft, cali_complex_stru *image_fft, osal_s32 tone_freq)
osal_void fe_hal_phy_set_test_start(const hal_device_stru *device, osal_u32 test_start)
osal_void fe_hal_phy_rx_dc_set_up(const hal_device_stru *device)
osal_void fe_hal_phy_generate_signal_tone(const cali_single_tone_stru *single_tone)
osal_void fe_hal_phy_tx_dc_env_restore(const hal_device_stru *device)
osal_void fe_hal_phy_rx_dc_restore(const hal_device_stru *device)
cali_dac_fs
Definition fe_hal_phy_if.h:26
@ DAC_FS_320_M
Definition fe_hal_phy_if.h:28
@ DAC_FS_160_M
Definition fe_hal_phy_if.h:27
@ DAC_FS_480_M
Definition fe_hal_phy_if.h:29
cali_adc_fs
Definition fe_hal_phy_if.h:20
@ ADC_FS_80_M
Definition fe_hal_phy_if.h:21
@ ADC_FS_320_M
Definition fe_hal_phy_if.h:23
@ ADC_FS_160_M
Definition fe_hal_phy_if.h:22
osal_void fe_hal_phy_iq_recover_cali_path(const hal_device_stru *device)
osal_void fe_hal_phy_tx_dc_add_dc(const hal_device_stru *device, osal_u16 reg_val_i, osal_u16 reg_val_q)
osal_void fe_hal_phy_set_trx_iq_thres(hal_device_stru *device)
osal_u8 fe_hal_phy_get_dac_fs_cfg_dac_fs(const hal_device_stru *device)
osal_void fe_hal_phy_rc_recover_regs(const hal_device_stru *device)
osal_u32 fe_hal_phy_get_cal_accum_q_rpt_accum_q_ready(const hal_device_stru *device)
osal_void fe_hal_phy_tx_dc_env_prepare(const hal_device_stru *device)
osal_void fe_hal_phy_set_tx_dc_comp_by_idx(const hal_device_stru *device, osal_u16 txdc_cmp_i, osal_u16 txdc_cmp_q, osal_u8 idx)
osal_u32 fe_hal_phy_get_cal_accum_rpt_ready_rpt_accum_ready(const hal_device_stru *device)
osal_void fe_hal_phy_config_trx_fifo(const hal_device_stru *device, osal_u8 fifo_en)
osal_void fe_hal_phy_apply_rx_dc_digital_comp(const hal_device_stru *device, cali_complex_stru *rx_dc_digital_comp)
osal_void fe_hal_phy_set_cali_new_add_reg_cfg_fb_pwr_calc_prd(const hal_device_stru *device, osal_u32 val)
osal_u32(* fe_hal_phy_get_reg_func)(osal_void)
Definition fe_hal_phy_if.h:172
osal_void fe_hal_phy_set_tx_control_cfg_en_cont_tx(const hal_device_stru *device, osal_u32 val)
osal_u32 fe_hal_phy_get_cal_trx_iq_ctrl1_rpt_rx_fft_done(const hal_device_stru *device)
osal_void fe_hal_phy_rc_start_sa(const hal_device_stru *device, osal_u16 index)
osal_void fe_hal_phy_config_ls_fir_rx_comp(const hal_device_stru *device, cali_complex_stru *comp, osal_u8 lvl_idx)
osal_void fe_hal_get_txpwr_cali_hw_al_tx_cfg(fe_hal_phy_al_tx_para_stru *param)
osal_void fe_hal_phy_config_ls_fir_tx_comp(const hal_device_stru *device, cali_complex_stru *comp, osal_u8 lvl_idx)
osal_void fe_hal_phy_recover_hw_al_tx(const hal_device_stru *device)
osal_void fe_hal_phy_set_rx_dc_comp(const hal_device_stru *device, const osal_u16 *comp, osal_u8 comp_size, osal_u8 idx)
osal_u32 fe_hal_phy_get_cal_accum_i_rpt_accum_i_ready(const hal_device_stru *device)
osal_u32 fe_hal_phy_get_power_dist_by_tpc_code(osal_u8 tpc_code)
osal_void fe_hal_phy_set_tx_power_accum_delay_power_accum_delay(const hal_device_stru *device, osal_u32 val)
osal_u32 fe_hal_phy_get_cal_accum_q_cal0_accum_q(const hal_device_stru *device)
osal_void fe_hal_phy_cfg_cali_prepare(const hal_device_stru *device)
osal_void fe_hal_phy_set_wlbb_testmode(const hal_device_stru *device, osal_u32 wlbb_testmode)
osal_void fe_hal_phy_set_dbb_scale_pre(osal_u16 dbb_scale)
osal_void fe_hal_phy_config_hw_al_tx(const hal_device_stru *device, fe_hal_phy_al_tx_para_stru *param)
osal_void fe_hal_phy_rc_bypass_dc(const hal_device_stru *device)
osal_u32 fe_hal_phy_get_fft_of_multi_tones(const hal_device_stru *device, cali_complex_stru *multi_tone_fft, osal_u16 tone_fft_size, cali_single_tone_stru tone_cfg)
cali_complex_stru fe_hal_phy_get_cal_trxiq_fft_0_rpt_fft_idx0(const hal_device_stru *device)
osal_void fe_hal_phy_set_rx_dc_thres(hal_device_stru *device)
osal_void fe_hal_phy_set_cal_accum_en_cfg_accum_en(const hal_device_stru *device, osal_u32 val)
osal_u32 fe_hal_phy_get_cal_accum_i_cal0_accum_i(const hal_device_stru *device)
osal_void fe_hal_phy_txpwr_comp_bypass(const hal_device_stru *device)
osal_void(* fe_hal_phy_set_reg_func)(osal_u32)
Definition fe_hal_phy_if.h:171
osal_void fe_hal_phy_config_tx_iq_comp(const hal_device_stru *device, osal_u32 bypass)
osal_void fe_hal_phy_iq_set_cali_path(const hal_device_stru *device)
osal_void fe_hal_phy_rc_set_up_regs(const hal_device_stru *device)
osal_u16 fe_hal_phy_get_fft_freq_to_index(osal_s32 tone_freq)
osal_u32 fe_hal_phy_get_single_pa_lut(const hal_device_stru *device, osal_u16 index)
osal_void fe_hal_phy_rc_recover_sa(const hal_device_stru *device)
osal_u8 cali_single_tone_amp_enum_uint8
Definition fe_hal_phy_reg_if_device.h:64
osal_u8 cali_single_tone_freq_enum_uint8
Definition fe_hal_phy_reg_if_device.h:39
osal_u8 cali_single_tone_mask_enum_uint8
Definition fe_hal_phy_reg_if_device.h:49
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
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 cali_complex_num.h:17
Definition fe_hal_phy_if.h:33
osal_u8 cfg_tone_en
Definition fe_hal_phy_if.h:40
osal_u8 tone_sign
Definition fe_hal_phy_if.h:35
cali_single_tone_freq_enum_uint8 tone_mode
Definition fe_hal_phy_if.h:36
osal_u8 iq_pn_flag
Definition fe_hal_phy_if.h:39
cali_single_tone_amp_enum_uint8 tone_amp
Definition fe_hal_phy_if.h:38
cali_single_tone_mask_enum_uint8 tone_mask
Definition fe_hal_phy_if.h:37
osal_u16 iq_cali_delay
Definition fe_hal_phy_if.h:34
Definition fe_hal_phy_if.h:84
osal_s16 target_power
Definition fe_hal_phy_if.h:85
osal_u16 init_dbb_scale
Definition fe_hal_phy_if.h:87
osal_u8 default_gm_code
Definition fe_hal_phy_if.h:93
osal_u8 gm_code_min
Definition fe_hal_phy_if.h:92
osal_u8 default_lpf_idx
Definition fe_hal_phy_if.h:89
osal_u16 default_ppa_code
Definition fe_hal_phy_if.h:86
osal_u8 default_dac_idx
Definition fe_hal_phy_if.h:90
osal_u8 default_fb_idx
Definition fe_hal_phy_if.h:88
osal_u8 unit_code_min
Definition fe_hal_phy_if.h:95
osal_u8 unit_code_max
Definition fe_hal_phy_if.h:94
osal_u8 gm_code_max
Definition fe_hal_phy_if.h:91
Definition fe_hal_phy_if.h:43
osal_u8 rsv
Definition fe_hal_phy_if.h:81
osal_u8 fec_coding
Definition fe_hal_phy_if.h:77
osal_u8 protocol_mode
Definition fe_hal_phy_if.h:44
osal_u8 dpd_tpc_lvl
Definition fe_hal_phy_if.h:79
osal_u8 pdet_en
Definition fe_hal_phy_if.h:78
osal_u8 rf_id
Definition fe_hal_phy_if.h:55
osal_u16 legacy_len
Definition fe_hal_phy_if.h:69
osal_u8 pe_duration
Definition fe_hal_phy_if.h:76
osal_u32 psdu_len
Definition fe_hal_phy_if.h:68
osal_u8 pre_fec_padding_factor
Definition fe_hal_phy_if.h:75
osal_u16 frame_num
Definition fe_hal_phy_if.h:73
osal_u8 ltf_type
Definition fe_hal_phy_if.h:71
osal_u8 gi_type
Definition fe_hal_phy_if.h:70
osal_u8 nss_mcs_rate
Definition fe_hal_phy_if.h:67
osal_u16 frame_gap
Definition fe_hal_phy_if.h:72
osal_u8 tpc_code
Definition fe_hal_phy_if.h:74
osal_u8 preamble
Definition fe_hal_phy_if.h:80
osal_u8 bandwidth
Definition fe_hal_phy_if.h:54
Definition hal_device_rom.h:39