120 lines
3.1 KiB
C
120 lines
3.1 KiB
C
#ifndef _RF_TABLE_H_
|
|
#define _RF_TABLE_H_
|
|
|
|
#ifndef SSV_PACKED_STRUCT
|
|
//SSV PACK Definition
|
|
#define SSV_PACKED_STRUCT_BEGIN
|
|
#define SSV_PACKED_STRUCT //__attribute__ ((packed))
|
|
#define SSV_PACKED_STRUCT_END //__attribute__((packed))
|
|
#define SSV_PACKED_STRUCT_STRUCT __attribute__ ((packed))
|
|
#define SSV_PACKED_STRUCT_FIELD(x) x
|
|
#endif
|
|
|
|
SSV_PACKED_STRUCT_BEGIN
|
|
struct st_tempe_table
|
|
{
|
|
uint8_t band_gain[7]; //0:ch1~ch2, 1:ch2~ch3, ..., 6:ch13~ch14
|
|
|
|
uint8_t freq_xi;
|
|
uint8_t freq_xo;
|
|
|
|
uint8_t ldo_rxafe;
|
|
uint8_t ldo_dcdcv;
|
|
uint8_t ldo_dldov;
|
|
|
|
uint8_t pa_vcas1;
|
|
uint8_t pa_vcas2;
|
|
uint8_t pa_vcas3;
|
|
uint8_t pa_bias;
|
|
uint8_t pa_cap;
|
|
|
|
uint8_t padpd_cali;
|
|
}SSV_PACKED_STRUCT_STRUCT;
|
|
SSV_PACKED_STRUCT_END
|
|
|
|
SSV_PACKED_STRUCT_BEGIN
|
|
struct st_rate_gain
|
|
{
|
|
uint8_t rate1;
|
|
uint8_t rate2;
|
|
uint8_t rate3;
|
|
uint8_t rate4;
|
|
}SSV_PACKED_STRUCT_STRUCT;
|
|
SSV_PACKED_STRUCT_END
|
|
|
|
SSV_PACKED_STRUCT_BEGIN
|
|
struct st_tempe_5g_table
|
|
{
|
|
uint8_t bbscale_band0; //Band0 in 0xccb0ada8(31-24)
|
|
uint8_t bbscale_band1; //Band1 in 0xccb0ada8(23-16)
|
|
uint8_t bbscale_band2; //Band2 in 0xccb0ada8(15- 8)
|
|
uint8_t bbscale_band3; //Band3 in 0xccb0ada8( 7- 0)
|
|
uint32_t bias1; // Band0 in 0xccb0a62c(15-0), Band1 in 0xccb0a62c(31-16)
|
|
uint32_t bias2; // Band2 in 0xccb0a630(15-0), Band3 in 0xccb0a630(31-16)
|
|
}SSV_PACKED_STRUCT_STRUCT;
|
|
SSV_PACKED_STRUCT_END
|
|
|
|
SSV_PACKED_STRUCT_BEGIN
|
|
struct st_extpa_table
|
|
{
|
|
uint8_t extpa_en;
|
|
uint8_t lna_trigger_2G;
|
|
uint8_t lna_trigger_5G;
|
|
uint8_t rssi_lna_on_offset;
|
|
uint8_t rssi_lna_off_offset;
|
|
uint8_t rssi_5g_lna_on_offset;
|
|
uint8_t rssi_5g_lna_off_offset;
|
|
uint8_t reserved;
|
|
}SSV_PACKED_STRUCT_STRUCT;
|
|
SSV_PACKED_STRUCT_END
|
|
|
|
SSV_PACKED_STRUCT_BEGIN
|
|
struct st_rf_table
|
|
{
|
|
struct st_tempe_table rt_config;
|
|
struct st_tempe_table ht_config;
|
|
struct st_tempe_table lt_config;
|
|
|
|
uint8_t rf_gain;
|
|
uint8_t rate_gain_b;
|
|
|
|
struct st_rate_gain rate_config_g;
|
|
|
|
struct st_rate_gain rate_config_20n;
|
|
|
|
struct st_rate_gain rate_config_40n;
|
|
int8_t low_boundary;
|
|
int8_t high_boundary;
|
|
/*0xFF: EN_FIRST_BOOT, 0:EN_NOT_FIST_BOOT*/
|
|
uint8_t boot_flag;
|
|
/*0:EN_WORK_NOMAL, 1:EN_WORK_ENGINEER*/
|
|
uint8_t work_mode;
|
|
struct st_tempe_5g_table rt_5g_config;
|
|
struct st_tempe_5g_table ht_5g_config;
|
|
struct st_tempe_5g_table lt_5g_config;
|
|
uint16_t band_f0_threshold;
|
|
uint16_t band_f1_threshold;
|
|
uint16_t band_f2_threshold;
|
|
/* Extend structure members. */
|
|
uint8_t signature[4]; // For check whether the structure exists in flash.
|
|
uint32_t version; // Store structure version, it should be incremented after each structure change.
|
|
uint32_t dcdc_flag; // V.01: DCDC enable flag, 0: Disable 1: Enable
|
|
struct st_extpa_table extpa_tbl;
|
|
}SSV_PACKED_STRUCT_STRUCT;
|
|
SSV_PACKED_STRUCT_END
|
|
|
|
enum{
|
|
EN_FIRST_BOOT=0xFF,
|
|
EN_NOT_FIRST_BOOT=0
|
|
};
|
|
|
|
enum{
|
|
EN_WORK_NOMAL=0,
|
|
EN_WORK_ENGINEER
|
|
};
|
|
|
|
#define RF_API_SIGNATURE "SSV"
|
|
#define RF_API_TABLE_VERSION (0x0002) // It should be incremented after structure st_rf_table change.
|
|
|
|
#endif
|