inwudriver-weibo/target/config/nv/soc_phy_nv.h

270 lines
6.5 KiB
C
Raw Normal View History

/*
* Copyright (c) CompanyNameMagicTag 2012-2018. All rights reserved.
* Description: Phy NV definitions
* Author: CompanyName
* Create: 2012-07-16
*/
#ifndef PHY_NV_21_H
#define PHY_NV_21_H
#include "soc_types.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Base value of the changed ID of the NV item */
/* Base value of the changed ID of the NV item */
#define DIAG_CMD_TONEMASK_NV_STRU_ID 0x020
#define DIAG_CMD_PHY_MAIN_PARAM_NV_STRU_ID 0x021
#define DIAG_CMD_NTB_CALC_NV_ID 0x022
#define DIAG_CMD_PHY_STUB_NV_STRU_ID 0x023
#define DIAG_CMD_DIGITAL_PWR_NV_STRU_ID 0x024
#define DIAG_CMD_AFE_PWR_NV_STRU_ID 0x025
#define DIAG_CMD_SPC_NV_STRU_ID 0x02d
#define DIAG_CMD_MAX_NV_ID DIAG_CMD_SPC_NV_STRU_ID
#define MAX_FREQ_NUM_V100 9 /* Number of V100 frequency bands (7) */
#define FREQ_MAX_CNT 8
#define MAX_TONEMASK_NUM 8
#define NBI_START_STOP_CNT 3
#define FREQ_BAND_CNT 3
#define FREQ_INFO_LEN 15
/* Data Structure Definition */
typedef struct {
td_u8 param1;
td_u8 param2;
td_u8 param3;
td_u8 param4;
} freq_self_detect_mask_stru;
typedef struct {
td_u32 param1 : 8;
td_u32 param2 : 1;
td_u32 param3 : 8;
td_u32 param4 : 6;
td_u32 param5 : 3;
td_u32 param6 : 6;
td_u32 param7 : 2;
td_u32 param8 : 7;
td_u32 param9 : 7;
td_u32 param10 : 7;
td_u32 param11 : 7;
td_u32 param12 : 1;
td_u32 param13 : 1;
freq_self_detect_mask_stru param14[4]; /* 4 items in mask entry */
td_u32 param15 : 1;
td_u32 param16 : 7;
td_s32 param17 : 7;
td_u32 param18 : 14;
td_u32 param19 : 3;
td_u32 param20 : 5;
td_u32 param21 : 6;
td_u32 param22 : 1;
td_u32 param23 : 20;
td_u32 param24 : 14;
td_u32 param25 : 14;
td_u32 param26 : 4;
td_u32 param27 : 14;
td_u32 param28 : 5;
td_u32 param29 : 1;
td_u32 param30 : 5;
td_u32 param31 : 7;
td_u32 param33 : 8;
td_u32 param34 : 8;
td_u32 param35 : 8;
td_u32 param36 : 8;
td_u32 param37;
td_u8 param38 : 1;
td_u8 param39 : 1;
td_u8 param40 : 1;
td_u8 param41 : 4;
td_u8 param42 : 1;
td_u8 param43[NBI_START_STOP_CNT];
td_u8 param44[NBI_START_STOP_CNT];
td_u8 param45;
td_u16 param46[NBI_START_STOP_CNT];
td_u16 param47 : 8;
td_u16 param48 : 8;
td_u8 param49;
td_u8 param50;
td_s8 param51;
td_s8 param52;
td_u16 param53 : 12;
td_u16 param54 : 3;
td_u16 param55 : 1;
td_u8 param56;
td_u8 param57;
td_u8 param58;
td_u8 param59;
td_u16 param60;
td_u32 param61 : 1;
td_u32 param62 : 1;
td_u32 param63 : 1;
td_u32 param64 : 8;
td_u32 param65 : 21;
} diag_cmd_phy_main_param_nv_stru;
typedef struct {
td_u32 param[MAX_TONEMASK_NUM];
} diag_cmd_tonemask_nv_mask_stru; /* 32 bytes in total */
typedef struct {
td_u16 param1;
td_u8 param2;
td_u8 param3;
td_u32 param4;
td_u16 param5;
td_u16 param6;
} diag_cmd_ntb_calc_nv_mask_stru; /* 30 bytes in total */
typedef struct {
td_u8 param1[FREQ_MAX_CNT];
} diag_cmd_digital_pwr_nv_mask_stru; /* 8 bytes in total */
typedef struct {
td_u8 param1;
td_u8 param2[3]; /* Reserved 3Bytes */
} diag_cmd_afe_pwr_nv_mask_stru; /* 4 bytes in total */
typedef struct {
td_u8 power_adjust[FREQ_MAX_CNT]; /* Indicates the adjusted transmit power. Value range: -40 to +26.
* The configured value is the corresponding complement.
*/
} diag_cmd_digital_pwr_nv_stru; /* 8 bytes in total */
typedef struct {
td_u8 mpw_afe_gain;
td_u8 pad[3]; /* Reserved 3Bytes */
} diag_cmd_afe_pwr_nv_stru; /* 4 bytes in total */
typedef struct {
td_u8 param1;
td_u8 param2;
td_u8 param3;
td_u8 param4;
td_u8 param5;
td_u8 param6;
td_u8 param7;
td_u8 param8;
td_u8 param9;
td_u8 param10;
td_u8 param11;
td_u8 param12;
td_u8 param13;
td_u8 param14;
td_u16 param15;
td_u8 param16;
td_u8 param17;
td_u8 param18;
td_u8 param19;
td_u32 param20;
td_u32 param21;
td_u32 param22;
td_u32 param23;
td_u16 param24;
td_u8 param25;
td_u8 param26;
} diag_cmd_phy_stub_nv_mask_stru; /* 36 bytes in total */
typedef struct {
td_u32 param_w0 : 1;
td_u32 param_w1 : 1;
td_u32 param_w2 : 1;
td_u32 param_w3 : 1;
td_u32 param_w4 : 1;
td_u32 param_w5 : 1;
td_u32 param_w6 : 1;
td_u32 param_w7 : 1;
td_u32 param_w8 : 1;
td_u32 param_w9 : 1;
td_u32 param_w10 : 1;
td_u32 reserve : 21;
} param_w_stru;
typedef struct {
td_u16 spc_cycle_num;
td_bool is_rcv_win_enable; /* Indicates whether the receive window is enabled. */
td_u8 spc_rxlpf_mul2_en;
td_u8 spc_rx_dec51200_mul2_en;
td_u8 spc_rx_dec10240_mul2_en;
td_u8 spc_rx_dec2048_mul2_en;
td_u8 spc_rx_dec512_mul2_en;
td_u8 spc_rx_dec128_mul2_en;
td_u8 spc_rx_dec32_mul2_en;
td_u8 spc_rx_dec8_mul2_en;
td_u8 tx_space_en;
td_u8 tx_mark_en;
td_bool is_spc_enable;
td_u8 tx_right_shift;
td_u8 tx6p25shift_num;
td_u8 tx_up_convert_freq;
td_u8 peakdisttoler;
td_u8 syn_cc_window_en;
td_u8 sync_win_advance;
td_u8 smallhalfwinmin;
td_u8 smallhalfwinmax;
td_u8 largehalfwin;
td_u8 absscale;
td_u8 sumscale;
td_u8 valley_scale;
td_u8 plc_chl_timeout; /* Timeout interval for switching to the PLC mode, in seconds. */
td_u8 gold_code_rep_num;
td_u8 gold_thres_large;
td_u8 gold_thres_small;
td_u8 cont_lost_sync_thres;
td_u8 total_lost_sync_thres;
td_u16 clear_identify_result_time_max; /* Maximum time for clearing the recognition result, in seconds. */
td_u16 gold_cycle_num;
/*
* Whether the function of ending the identification status
* upon receiving a network identification request is enabled
*/
td_bool is_single_rcv_to_over_enable;
td_bool is_sync_atten_enable; /* Indicates whether the attenuation threshold policy is enabled
* during synchronization.
*/
td_u8 neighbor_net_atten_thres;
td_u8 is_lock_snid_disable;
param_w_stru param_w;
} diag_cmd_spc_nv_stru; /* 32 bytes in total */
#ifdef __cplusplus
}
#endif
#endif