Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
fsl_xcvr_common_config.c
00001 /* 00002 * Copyright (c) 2015, Freescale Semiconductor, Inc. 00003 * Copyright 2016-2017 NXP 00004 * 00005 * Redistribution and use in source and binary forms, with or without modification, 00006 * are permitted provided that the following conditions are met: 00007 * 00008 * o Redistributions of source code must retain the above copyright notice, this list 00009 * of conditions and the following disclaimer. 00010 * 00011 * o Redistributions in binary form must reproduce the above copyright notice, this 00012 * list of conditions and the following disclaimer in the documentation and/or 00013 * other materials provided with the distribution. 00014 * 00015 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its 00016 * contributors may be used to endorse or promote products derived from this 00017 * software without specific prior written permission. 00018 * 00019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 00020 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00021 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00022 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 00023 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00024 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00025 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 00026 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00027 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00028 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 */ 00030 00031 #include "fsl_xcvr.h " 00032 00033 /******************************************************************************* 00034 * Definitions 00035 ******************************************************************************/ 00036 00037 /******************************************************************************* 00038 * Prototypes 00039 ******************************************************************************/ 00040 00041 /******************************************************************************* 00042 * Variables 00043 ******************************************************************************/ 00044 00045 /******************************************************************************* 00046 * Code 00047 ******************************************************************************/ 00048 const xcvr_common_config_t xcvr_common_config = 00049 { 00050 /* XCVR_ANA configs */ 00051 .ana_sy_ctrl1.mask = XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_MASK, 00052 .ana_sy_ctrl1.init = XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL(3), /* PLL Analog Loop Filter */ 00053 00054 #define hpm_vcm_tx 0 00055 #define hpm_vcm_cal 1 00056 #define hpm_fdb_res_tx 0 00057 #define hpm_fdb_res_cal 1 00058 #define modulation_word_manual 0 00059 #define mod_disable 0 00060 #define hpm_mod_manual 0 00061 #define hpm_mod_disable 0 00062 #define hpm_sdm_out_manual 0 00063 #define hpm_sdm_out_disable 0 00064 #define channel_num 0 00065 #define boc 0 00066 #define bmr 1 00067 #define zoc 0 00068 #define ctune_ldf_lev 8 00069 #define ftf_rx_thrsh 33 00070 #define ftw_rx 0 00071 #define ftf_tx_thrsh 6 00072 #define ftw_tx 0 00073 #define freq_count_go 0 00074 #define freq_count_time 0 00075 #define hpm_sdm_in_manual 0 00076 #define hpm_sdm_out_invert 0 00077 #define hpm_sdm_in_disable 0 00078 #define hpm_lfsr_size 4 00079 #define hpm_dth_scl 0 00080 #define hpm_dth_en 1 00081 #define hpm_integer_scale 0 00082 #define hpm_integer_invert 0 00083 #define hpm_cal_invert 1 00084 #define hpm_mod_in_invert 1 00085 #define hpm_cal_not_bumped 0 00086 #define hpm_cal_count_scale 0 00087 #define hp_cal_disable 0 00088 #define hpm_cal_factor_manual 0 00089 #define hpm_cal_array_size 1 00090 #define hpm_cal_time 0 00091 #define hpm_sdm_denom 256 00092 #define hpm_count_adjust 0 00093 #define pll_ld_manual 0 00094 #define pll_ld_disable 0 00095 #define lpm_sdm_inv 0 00096 #define lpm_disable 0 00097 #define lpm_dth_scl 8 00098 #define lpm_d_ctrl 1 00099 #define lpm_d_ovrd 1 00100 #define lpm_scale 8 00101 #define lpm_sdm_use_neg 0 00102 #define hpm_array_bias 0 00103 #define lpm_intg 38 00104 #define sdm_map_disable 0 00105 #define lpm_sdm_delay 4 00106 #define hpm_sdm_delay 0 00107 #define hpm_integer_delay 0 00108 #define ctune_target_manual 0 00109 #define ctune_target_disable 0 00110 #define ctune_adjust 0 00111 #define ctune_manual 0 00112 #define ctune_disable 0 00113 00114 /*-------------------------------------------------------------------------------------------------*/ 00115 00116 .pll_hpm_bump = XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL(hpm_fdb_res_cal) | 00117 XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX(hpm_fdb_res_tx) | 00118 XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL(hpm_vcm_cal) | 00119 XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX(hpm_vcm_tx), 00120 00121 /*-------------------------------------------------------------------------------------------------*/ 00122 00123 .pll_mod_ctrl = XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE(hpm_mod_disable) | 00124 XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL(hpm_mod_manual) | 00125 XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE(hpm_sdm_out_disable) | 00126 XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL(hpm_sdm_out_manual) | 00127 XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE(mod_disable) | 00128 XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL(modulation_word_manual), 00129 00130 /*-------------------------------------------------------------------------------------------------*/ 00131 00132 .pll_chan_map = XCVR_PLL_DIG_CHAN_MAP_BMR(bmr) | 00133 XCVR_PLL_DIG_CHAN_MAP_BOC(boc) | 00134 XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM(channel_num) 00135 #if !RADIO_IS_GEN_2P1 00136 | XCVR_PLL_DIG_CHAN_MAP_ZOC(zoc) 00137 #endif /* !RADIO_IS_GEN_2P1 */ 00138 , 00139 00140 /*-------------------------------------------------------------------------------------------------*/ 00141 00142 .pll_lock_detect = XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV(ctune_ldf_lev) | 00143 XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO(freq_count_go) | 00144 XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME(freq_count_time) | 00145 XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH(ftf_rx_thrsh) | 00146 XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH(ftf_tx_thrsh) | 00147 XCVR_PLL_DIG_LOCK_DETECT_FTW_RX(ftw_rx) | 00148 XCVR_PLL_DIG_LOCK_DETECT_FTW_TX(ftw_tx), 00149 00150 /*-------------------------------------------------------------------------------------------------*/ 00151 00152 .pll_hpm_ctrl = XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT(hpm_cal_invert) | 00153 XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN(hpm_dth_en) | 00154 XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL(hpm_dth_scl) | 00155 XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT(hpm_integer_invert) | 00156 XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE(hpm_integer_scale) | 00157 XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE(hpm_lfsr_size) | 00158 XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT(hpm_mod_in_invert) | 00159 XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE(hpm_sdm_in_disable) | 00160 XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL(hpm_sdm_in_manual) | 00161 XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT(hpm_sdm_out_invert), 00162 /*-------------------------------------------------------------------------------------------------*/ 00163 #if !RADIO_IS_GEN_2P1 00164 .pll_hpmcal_ctrl = XCVR_PLL_DIG_HPMCAL_CTRL_HP_CAL_DISABLE(hp_cal_disable) | 00165 XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_ARRAY_SIZE(hpm_cal_array_size) | 00166 XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_COUNT_SCALE(hpm_cal_count_scale) | 00167 XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_FACTOR_MANUAL(hpm_cal_factor_manual) | 00168 XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_NOT_BUMPED(hpm_cal_not_bumped) | 00169 XCVR_PLL_DIG_HPMCAL_CTRL_HPM_CAL_TIME(hpm_cal_time), 00170 #endif /* !RADIO_IS_GEN_2P1 */ 00171 /*-------------------------------------------------------------------------------------------------*/ 00172 .pll_hpm_sdm_res = XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST(hpm_count_adjust) | 00173 XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM(hpm_sdm_denom), 00174 /*-------------------------------------------------------------------------------------------------*/ 00175 .pll_lpm_ctrl = XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL(lpm_d_ctrl) | 00176 XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD(lpm_d_ovrd) | 00177 XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE(lpm_disable) | 00178 XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL(lpm_dth_scl) | 00179 XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE(lpm_scale) | 00180 XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV(lpm_sdm_inv) | 00181 XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG(lpm_sdm_use_neg) | 00182 XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE(pll_ld_disable) | 00183 XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL(pll_ld_manual), 00184 /*-------------------------------------------------------------------------------------------------*/ 00185 .pll_lpm_sdm_ctrl1 = XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS(hpm_array_bias) | 00186 XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG(lpm_intg) | 00187 XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE(sdm_map_disable), 00188 /*-------------------------------------------------------------------------------------------------*/ 00189 .pll_delay_match = XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY(hpm_integer_delay) | 00190 XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY(hpm_sdm_delay) | 00191 XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY(lpm_sdm_delay), 00192 /*-------------------------------------------------------------------------------------------------*/ 00193 .pll_ctune_ctrl = XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST(ctune_adjust) | 00194 XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE(ctune_disable) | 00195 XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL(ctune_manual) | 00196 XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE(ctune_target_disable) | 00197 XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL(ctune_target_manual), 00198 /*-------------------------------------------------------------------------------------------------*/ 00199 00200 /* XCVR_RX_DIG configs */ 00201 /* NOTE: Clock specific settings are embedded in the mode dependent configs */ 00202 .rx_dig_ctrl_init = XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE(0) | 00203 XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS(0) | 00204 #if !RADIO_IS_GEN_2P1 00205 XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_RAW_EN(0) | 00206 #endif /* !RADIO_IS_GEN_2P1 */ 00207 XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL(0) | 00208 XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_EN(1) | 00209 XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN(1) | 00210 XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN(1) | 00211 XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN(1) | 00212 XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN(1) | 00213 XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP(0) | 00214 XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN(0) | 00215 XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS(1), 00216 00217 .agc_ctrl_0_init = XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN(1) | 00218 XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC(2) | 00219 XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN(1) | 00220 XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_PRE_OR_AA(0) | 00221 XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN(1) | 00222 XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC(0) | 00223 XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ(2) | 00224 XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ(2) | 00225 XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH(0xe7), 00226 00227 .agc_ctrl_3_init = XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME(21) | 00228 XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY(2) | 00229 XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S(20) | 00230 XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ(6) | 00231 XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ(2), 00232 00233 /* DCOC configs */ 00234 .dcoc_ctrl_0_init_26mhz = XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION(16) | /* Only the duration changes between 26MHz and 32MHz ref osc settings */ 00235 #if (RADIO_IS_GEN_2P1) 00236 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN(0) | 00237 #endif /* (RADIO_IS_GEN_2P1) */ 00238 XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO(0) | 00239 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN(1) | 00240 XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL(0) | 00241 XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL(0) | 00242 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC(1), 00243 .dcoc_ctrl_0_init_32mhz = XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION(20) | /* Only the duration changes between 26MHz and 32MHz ref osc settings */ 00244 #if (RADIO_IS_GEN_2P1) 00245 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN(0) | 00246 #endif /* (RADIO_IS_GEN_2P1) */ 00247 XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO(0) | 00248 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN(1) | 00249 XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL(0) | 00250 XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL(0) | 00251 XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC(1), 00252 00253 .dcoc_ctrl_1_init = XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX(26), 00254 00255 .dc_resid_ctrl_init = XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE(4) | 00256 XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA(1) | 00257 XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN(1) | 00258 XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX(26), 00259 00260 .dcoc_cal_gain_init = XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1(1) | 00261 XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1(1) | 00262 XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2(1) | 00263 XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2(2) | 00264 XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3(3) | 00265 XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3(1) , 00266 00267 .dcoc_cal_rcp_init = XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP(1) | 00268 XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(711), 00269 00270 .lna_gain_val_3_0 = XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0(0x1DU) | 00271 XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1(0x32U) | 00272 XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2(0x09U) | 00273 XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3(0x38U), 00274 00275 .lna_gain_val_7_4 = XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4(0x4FU) | 00276 XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5(0x5BU) | 00277 XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6(0x72U) | 00278 XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7(0x8AU), 00279 .lna_gain_val_8 = XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8(0xA0U) | 00280 XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9(0xB6U), 00281 00282 .bba_res_tune_val_7_0 = XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0(0x0) | 00283 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1(0x0) | 00284 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2(0x0) | 00285 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3(0x0) | 00286 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4(0x0) | 00287 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5(0x0) | 00288 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6(0x0) | 00289 XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7(0xF), 00290 .bba_res_tune_val_10_8 = XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8(0x0) | 00291 XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9(0x1) | 00292 XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10(0x2), 00293 00294 .lna_gain_lin_val_2_0_init = XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0(0) | 00295 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1(0) | 00296 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2(1), 00297 00298 .lna_gain_lin_val_5_3_init = XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3(3) | 00299 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4(5) | 00300 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5(7), 00301 00302 .lna_gain_lin_val_8_6_init = XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6(14) | 00303 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7(27) | 00304 XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8(50), 00305 00306 .lna_gain_lin_val_9_init = XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9(91), 00307 00308 .bba_res_tune_lin_val_3_0_init = XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0(8) | 00309 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1(11) | 00310 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2(16) | 00311 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3(22), 00312 00313 .bba_res_tune_lin_val_7_4_init = XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4(31) | 00314 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5(44) | 00315 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6(62) | 00316 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7(42), /* Has 2 fractional bits unlike other BBA_RES_TUNE_LIN_VALs */ 00317 00318 .bba_res_tune_lin_val_10_8_init = XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8(128) | 00319 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9(188) | 00320 XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10(288), 00321 00322 .dcoc_bba_step_init = XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP(939) | 00323 XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP(279), 00324 00325 .dcoc_tza_step_00_init = XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0(77) | 00326 XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0(3404), 00327 .dcoc_tza_step_01_init = XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1(108) | 00328 XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1(2439), 00329 .dcoc_tza_step_02_init = XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2(155) | 00330 XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2(1691), 00331 .dcoc_tza_step_03_init = XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3(220) | 00332 XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3(1192), 00333 .dcoc_tza_step_04_init = XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4(314) | 00334 XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4(835), 00335 .dcoc_tza_step_05_init = XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5(436) | 00336 XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5(601), 00337 .dcoc_tza_step_06_init = XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6(614) | 00338 XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6(427), 00339 .dcoc_tza_step_07_init = XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7(845) | 00340 XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7(310), 00341 .dcoc_tza_step_08_init = XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8(1256) | 00342 XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8(209), 00343 .dcoc_tza_step_09_init = XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9(1805) | 00344 XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9(145), 00345 .dcoc_tza_step_10_init = XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10(2653) | 00346 XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10(99), 00347 #if (RADIO_IS_GEN_2P1) 00348 .dcoc_cal_fail_th_init = XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH(20) | 00349 XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH(10), 00350 .dcoc_cal_pass_th_init = XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH(16) | 00351 XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH(2), 00352 #endif /* (RADIO_IS_GEN_2P1) */ 00353 /* AGC Configs */ 00354 .agc_gain_tbl_03_00_init = XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00(0) | 00355 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00(0) | 00356 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01(1) | 00357 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01(1) | 00358 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02(2) | 00359 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02(1) | 00360 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03(2) | 00361 XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03(2), 00362 00363 .agc_gain_tbl_07_04_init = XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04(2) | 00364 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04(3) | 00365 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05(3) | 00366 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05(0) | 00367 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06(3) | 00368 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06(1) | 00369 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07(3) | 00370 XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07(2), 00371 00372 .agc_gain_tbl_11_08_init = XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08(3) | 00373 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08(3) | 00374 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09(4) | 00375 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09(2) | 00376 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10(4) | 00377 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10(3) | 00378 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11(4) | 00379 XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11(4), 00380 00381 .agc_gain_tbl_15_12_init = XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12(5) | 00382 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12(4) | 00383 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13(5) | 00384 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13(5) | 00385 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14(6) | 00386 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14(4) | 00387 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15(6) | 00388 XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15(5), 00389 00390 .agc_gain_tbl_19_16_init = XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16(6) | 00391 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16(6) | 00392 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17(6) | 00393 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17(7) | 00394 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18(7) | 00395 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18(6) | 00396 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19(7) | 00397 XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19(7), 00398 00399 .agc_gain_tbl_23_20_init = XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20(8) | 00400 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20(6) | 00401 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21(8) | 00402 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21(7) | 00403 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22(9) | 00404 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22(6) | 00405 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23(9) | 00406 XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23(7), 00407 00408 .agc_gain_tbl_26_24_init = XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24(9) | 00409 XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24(8) | 00410 XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25(9) | 00411 XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25(9) | 00412 XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26(9) | 00413 XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26(10), 00414 00415 .rssi_ctrl_0_init = XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS(1) | 00416 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC(0) | 00417 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN(1) | 00418 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(0) | 00419 #if !RADIO_IS_GEN_2P1 00420 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_AVG(1) | 00421 #else 00422 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB(1) | 00423 #endif /* !RADIO_IS_GEN_2P1 */ 00424 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY(4) | 00425 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WEIGHT(3) | 00426 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE(3) | 00427 XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ(0xE8) , 00428 00429 .cca_ed_lqi_ctrl_0_init = XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH(0) | 00430 XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH(0) | 00431 XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR(0x1A) | 00432 XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ(0), 00433 00434 .cca_ed_lqi_ctrl_1_init = XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY(0) | 00435 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR(0) | 00436 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT(0x4) | 00437 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS(0x7) | 00438 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS(0) | 00439 #if !RADIO_IS_GEN_2P1 00440 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE(0) | 00441 #endif /* !RADIO_IS_GEN_2P1 */ 00442 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE(0) | 00443 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS(0) | 00444 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE(0) | 00445 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_AA_MATCH(0) | 00446 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT(0x5) | 00447 XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS(0x2), 00448 00449 /* XCVR_TSM configs */ 00450 .tsm_ctrl = XCVR_TSM_CTRL_PA_RAMP_SEL(PA_RAMP_SEL) | 00451 XCVR_TSM_CTRL_DATA_PADDING_EN(DATA_PADDING_EN) | 00452 XCVR_TSM_CTRL_TSM_IRQ0_EN(0) | 00453 XCVR_TSM_CTRL_TSM_IRQ1_EN(0) | 00454 XCVR_TSM_CTRL_RAMP_DN_DELAY(0x4) | 00455 XCVR_TSM_CTRL_TX_ABORT_DIS(0) | 00456 XCVR_TSM_CTRL_RX_ABORT_DIS(0) | 00457 XCVR_TSM_CTRL_ABORT_ON_CTUNE(0) | 00458 XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP(0) | 00459 XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG(0) | 00460 XCVR_TSM_CTRL_BKPT(0xFF) , 00461 00462 .tsm_ovrd2_init = XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(0) | XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK, 00463 .end_of_seq_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(END_OF_RX_WU_26MHZ) | B1(END_OF_TX_WD) | B0(END_OF_TX_WU), 00464 .end_of_seq_init_32mhz = B3(END_OF_RX_WD) | B2(END_OF_RX_WU) | B1(END_OF_TX_WD) | B0(END_OF_TX_WU), 00465 00466 #if !RADIO_IS_GEN_2P1 00467 .lpps_ctrl_init = B3(102) | B2(40) | B1(0) | B0(0), 00468 #endif /* !RADIO_IS_GEN_2P1 */ 00469 00470 .tsm_fast_ctrl2_init_26mhz = B3(102 + ADD_FOR_26MHZ) | B2(40 + ADD_FOR_26MHZ) | B1(66) | B0(8), 00471 .tsm_fast_ctrl2_init_32mhz = B3(102) | B2(40) | B1(66) | B0(8), 00472 00473 .pa_ramp_tbl_0_init = XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0(PA_RAMP_0) | XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1(PA_RAMP_1) | 00474 XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2(PA_RAMP_2) | XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3(PA_RAMP_3), 00475 .pa_ramp_tbl_1_init = XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4(PA_RAMP_4) | XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5(PA_RAMP_5) | 00476 XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6(PA_RAMP_6) | XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7(PA_RAMP_7), 00477 00478 .recycle_count_init_26mhz = B3(0) | B2(0x1C + ADD_FOR_26MHZ) | B1(0x06) | B0(0x66 + ADD_FOR_26MHZ), 00479 .recycle_count_init_26mhz = B3(0) | B2(0x1C) | B1(0x06) | B0(0x66), 00480 00481 .tsm_timing_00_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_hf_en */ 00482 .tsm_timing_01_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_adcdac_en */ 00483 .tsm_timing_02_init = B3(END_OF_RX_WD) | B2(0x00) | B1(0xFF) | B0(0xFF), /* bb_ldo_bba_en */ 00484 .tsm_timing_03_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_pd_en */ 00485 .tsm_timing_04_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_fdbk_en */ 00486 .tsm_timing_05_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_vcolo_en */ 00487 .tsm_timing_06_init = B3(END_OF_RX_WD) | B2(0x00) | B1(END_OF_TX_WD) | B0(0x00), /* bb_ldo_vtref_en */ 00488 .tsm_timing_07_init = B3(0x05) | B2(0x00) | B1(0x05) | B0(0x00), /* bb_ldo_fdbk_bleed_en */ 00489 .tsm_timing_08_init = B3(0x03) | B2(0x00) | B1(0x03) | B0(0x00), /* bb_ldo_vcolo_bleed_en */ 00490 .tsm_timing_09_init = B3(0x03) | B2(0x00) | B1(0x03) | B0(0x00), /* bb_ldo_vcolo_fastcharge_en */ 00491 00492 .tsm_timing_10_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x03), /* bb_xtal_pll_ref_clk_en */ 00493 .tsm_timing_11_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD) | B0(0x03), /* bb_xtal_dac_ref_clk_en */ 00494 .tsm_timing_12_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_vco_ref_clk_en */ 00495 .tsm_timing_13_init = B3(0x18) | B2(0x00) | B1(0x4C) | B0(0x00), /* sy_vco_autotune_en */ 00496 .tsm_timing_14_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x31+ADD_FOR_26MHZ) | B1(END_OF_TX_WU + PD_CYCLE_SLIP_TX_LO_ADJ) | B0(0x63 + PD_CYCLE_SLIP_TX_HI_ADJ), /* sy_pd_cycle_slip_ld_ft_en */ 00497 .tsm_timing_14_init_32mhz = B3(END_OF_RX_WD) | B2(0x31 + AUX_PLL_DELAY) | B1(END_OF_TX_WU + PD_CYCLE_SLIP_TX_LO_ADJ) | B0(0x63 + PD_CYCLE_SLIP_TX_HI_ADJ), 00498 .tsm_timing_15_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x03), /* sy_vco_en */ 00499 .tsm_timing_16_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x1C + ADD_FOR_26MHZ) | B1(0xFF) | B0(0xFF), /* sy_lo_rx_buf_en */ 00500 .tsm_timing_16_init_32mhz = B3(END_OF_RX_WD) | B2(0x1C + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00501 .tsm_timing_17_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD) | B0(0x55), /* sy_lo_tx_buf_en */ 00502 .tsm_timing_18_init = B3(END_OF_RX_WD) | B2(0x05 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x05), /* sy_divn_en */ 00503 .tsm_timing_19_init = B3(0x18+AUX_PLL_DELAY) | B2(0x03 + AUX_PLL_DELAY) | B1(0x4C) | B0(0x03), /* sy_pd_filter_charge_en */ 00504 00505 .tsm_timing_20_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x03), /* sy_pd_en */ 00506 .tsm_timing_21_init = B3(END_OF_RX_WD) | B2(0x04 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x04), /* sy_lo_divn_en */ 00507 .tsm_timing_22_init = B3(END_OF_RX_WD) | B2(0x04 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* sy_lo_rx_en */ 00508 .tsm_timing_23_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD) | B0(0x04), /*sy_lo_tx_en */ 00509 .tsm_timing_24_init = B3(0x18) | B2(0x00) | B1(0x4C) | B0(0x00), /* sy_divn_cal_en */ 00510 .tsm_timing_25_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x1D + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_lna_mixer_en */ 00511 .tsm_timing_25_init_32mhz = B3(END_OF_RX_WD) | B2(0x1D + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00512 .tsm_timing_26_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD) | B0(0x58), /* tx_pa_en */ 00513 .tsm_timing_27_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_adc_i_q_en */ 00514 .tsm_timing_27_init_32mhz = B3(END_OF_RX_WD) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00515 .tsm_timing_28_init_26mhz = B3(0x21 + ADD_FOR_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_adc_reset_en */ 00516 .tsm_timing_28_init_32mhz = B3(0x21 + AUX_PLL_DELAY) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00517 .tsm_timing_29_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x1E + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_bba_i_q_en */ 00518 .tsm_timing_29_init_32mhz = B3(END_OF_RX_WD) | B2(0x1E + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00519 00520 .tsm_timing_30_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_bba_pdet_en */ 00521 .tsm_timing_30_init_32mhz = B3(END_OF_RX_WD) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00522 .tsm_timing_31_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x1F + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_bba_tza_dcoc_en */ 00523 .tsm_timing_31_init_32mhz = B3(END_OF_RX_WD) | B2(0x1F + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00524 .tsm_timing_32_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x1D + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_tza_i_q_en */ 00525 .tsm_timing_32_init_32mhz = B3(END_OF_RX_WD) | B2(0x1D + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00526 .tsm_timing_33_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_tza_pdet_en */ 00527 .tsm_timing_33_init_32mhz = B3(END_OF_RX_WD) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00528 .tsm_timing_34_init = B3(END_OF_RX_WD) | B2(0x07 + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x07), /* pll_dig_en */ 00529 .tsm_timing_35_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD), /* tx_dig_en - Byte 0 comes from mode specific settings */ 00530 .tsm_timing_36_init_26mhz = B3(END_OF_RX_WD) | B2(0x66 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_dig_en */ 00531 .tsm_timing_36_init_32mhz = B3(END_OF_RX_WD) | B2(0x66 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00532 .tsm_timing_37_init_26mhz = B3(0x67 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B2(0x66 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_init */ 00533 .tsm_timing_37_init_32mhz = B3(0x67 + AUX_PLL_DELAY) | B2(0x66 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00534 .tsm_timing_38_init = B3(END_OF_RX_WD) | B2(0x0E + AUX_PLL_DELAY) | B1(END_OF_TX_WD) | B0(0x42), /* sigma_delta_en */ 00535 .tsm_timing_39_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x66 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rx_phy_en */ 00536 .tsm_timing_39_init_32mhz = B3(END_OF_RX_WD) | B2(0x66 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00537 00538 .tsm_timing_40_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x26 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* dcoc_en */ 00539 .tsm_timing_40_init_32mhz = B3(END_OF_RX_WD) | B2(0x26 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00540 .tsm_timing_41_init_26mhz = B3(0x27 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B2(0x26 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* dcoc_init */ 00541 .tsm_timing_41_init_32mhz = B3(0x27 + AUX_PLL_DELAY) | B2(0x26 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00542 .tsm_timing_51_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_bias_en */ 00543 .tsm_timing_52_init_26mhz = B3(0x17 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B2(0x06 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_fcal_en */ 00544 .tsm_timing_52_init_32mhz = B3(0x17 + AUX_PLL_DELAY) | B2(0x06 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00545 .tsm_timing_53_init = B3(END_OF_RX_WD) | B2(0x03 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_lf_pd_en */ 00546 .tsm_timing_54_init_26mhz = B3(0x17 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B2(0x03 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_pd_lf_filter_charge_en */ 00547 .tsm_timing_54_init_32mhz = B3(0x17 + AUX_PLL_DELAY) | B2(0x03 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00548 .tsm_timing_55_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_adc_buf_en */ 00549 .tsm_timing_55_init_32mhz = B3(END_OF_RX_WD) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00550 .tsm_timing_56_init_26mhz = B3(END_OF_RX_WD_26MHZ) | B2(0x20 + ADD_FOR_26MHZ + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /* rxtx_auxpll_dig_buf_en */ 00551 .tsm_timing_56_init_32mhz = B3(END_OF_RX_WD) | B2(0x20 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), 00552 .tsm_timing_57_init = B3(0x1A + AUX_PLL_DELAY) | B2(0x03 + AUX_PLL_DELAY) | B1(0xFF) | B0(0xFF), /*rxtx_rccal_en */ 00553 .tsm_timing_58_init = B3(0xFF) | B2(0xFF) | B1(END_OF_TX_WD) | B0(0x03), /* tx_hpm_dac_en */ 00554 00555 /* XCVR_TX_DIG configs */ 00556 #define radio_dft_mode 0 00557 #define lfsr_length 4 00558 #define lfsr_en 0 00559 #define dft_clk_sel 4 00560 #define tx_dft_en 0 00561 #define soc_test_sel 0 00562 #define tx_capture_pol 0 00563 #define freq_word_adj 0 00564 #define lrm 0 00565 #define data_padding_pat_1 0x55 00566 #define data_padding_pat_0 0xAA 00567 #define gfsk_multiply_table_manual 0 00568 #define gfsk_mi 1 00569 #define gfsk_mld 0 00570 #define gfsk_fld 0 00571 #define gfsk_mod_index_scaling 0 00572 #define tx_image_filter_ovrd_en 0 00573 #define tx_image_filter_0_ovrd 0 00574 #define tx_image_filter_1_ovrd 0 00575 #define tx_image_filter_2_ovrd 0 00576 #define gfsk_filter_coeff_manual2 0xC0630401 00577 #define gfsk_filter_coeff_manual1 0xBB29960D 00578 #define fsk_modulation_scale_0 0x1800 00579 #define fsk_modulation_scale_1 0x0800 00580 #define dft_mod_patternval 0 00581 #define ctune_bist_go 0 00582 #define ctune_bist_thrshld 0 00583 #define pa_am_mod_freq 0 00584 #define pa_am_mod_entries 0 00585 #define pa_am_mod_en 0 00586 #define syn_bist_go 0 00587 #define syn_bist_all_channels 0 00588 #define freq_count_threshold 0 00589 #define hpm_inl_bist_go 0 00590 #define hpm_dnl_bist_go 0 00591 #define dft_max_ram_size 0 00592 00593 .tx_ctrl = XCVR_TX_DIG_CTRL_RADIO_DFT_MODE(radio_dft_mode) | 00594 XCVR_TX_DIG_CTRL_LFSR_LENGTH(lfsr_length) | 00595 XCVR_TX_DIG_CTRL_LFSR_EN(lfsr_en) | 00596 XCVR_TX_DIG_CTRL_DFT_CLK_SEL(dft_clk_sel) | 00597 XCVR_TX_DIG_CTRL_TX_DFT_EN(tx_dft_en) | 00598 XCVR_TX_DIG_CTRL_SOC_TEST_SEL(soc_test_sel) | 00599 XCVR_TX_DIG_CTRL_TX_CAPTURE_POL(tx_capture_pol) | 00600 XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ(freq_word_adj), 00601 /*-------------------------------------------------------------------------------------------------*/ 00602 .tx_data_padding = XCVR_TX_DIG_DATA_PADDING_LRM(lrm) | 00603 XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1(data_padding_pat_1) | 00604 XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0(data_padding_pat_0), 00605 /*-------------------------------------------------------------------------------------------------*/ 00606 .tx_dft_pattern = XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN(dft_mod_patternval), 00607 #if !RADIO_IS_GEN_2P1 00608 /*-------------------------------------------------------------------------------------------------*/ 00609 .rf_dft_bist_1 = XCVR_TX_DIG_RF_DFT_BIST_1_CTUNE_BIST_GO(ctune_bist_go) | 00610 XCVR_TX_DIG_RF_DFT_BIST_1_CTUNE_BIST_THRSHLD(ctune_bist_thrshld) | 00611 XCVR_TX_DIG_RF_DFT_BIST_1_PA_AM_MOD_FREQ(pa_am_mod_freq) | 00612 XCVR_TX_DIG_RF_DFT_BIST_1_PA_AM_MOD_ENTRIES(pa_am_mod_entries) | 00613 XCVR_TX_DIG_RF_DFT_BIST_1_PA_AM_MOD_EN(pa_am_mod_en), 00614 /*-------------------------------------------------------------------------------------------------*/ 00615 .rf_dft_bist_2 = XCVR_TX_DIG_RF_DFT_BIST_2_SYN_BIST_GO(syn_bist_go) | 00616 XCVR_TX_DIG_RF_DFT_BIST_2_SYN_BIST_ALL_CHANNELS(syn_bist_all_channels) | 00617 XCVR_TX_DIG_RF_DFT_BIST_2_FREQ_COUNT_THRESHOLD(freq_count_threshold) | 00618 XCVR_TX_DIG_RF_DFT_BIST_2_HPM_INL_BIST_GO(hpm_inl_bist_go) | 00619 XCVR_TX_DIG_RF_DFT_BIST_2_HPM_DNL_BIST_GO(hpm_dnl_bist_go) | 00620 XCVR_TX_DIG_RF_DFT_BIST_2_DFT_MAX_RAM_SIZE(dft_max_ram_size), 00621 #endif /* !RADIO_IS_GEN_2P1 */ 00622 }; 00623
Generated on Wed Jul 13 2022 07:46:57 by
1.7.2