blob: 0aebdd101af2bac8b44a17a68b244f00175bf6d1 [file] [log] [blame]
/*
* Copyright (C) 2017 Amlogic, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Description:
*/
#ifndef __ADDR_DTMB_SYNC_BIT_H__
#define __ADDR_DTMB_SYNC_BIT_H__
struct DTMB_SYNC_TS_CFO_PN_VALUE_BITS {
unsigned int ts_cfo_pn1_value:16, ts_cfo_pn0_value:16;
};
struct DTMB_SYNC_TS_CFO_ERR_LIMIT_BITS {
unsigned int ts_cfo_err_limit:16, ts_cfo_pn2_value:16;
};
struct DTMB_SYNC_TS_CFO_PN_MODIFY_BITS {
unsigned int ts_cfo_pn1_modify:16, ts_cfo_pn0_modify:16;
};
struct DTMB_SYNC_TS_GAIN_BITS {
unsigned int ts_gain:2,
reserved0:2,
ts_sat_shift:3,
reserved1:1,
ts_fixpn_en:1,
ts_fixpn:2, reserved2:1, ts_cfo_cut:4, ts_cfo_pn2_modify:16;
};
struct DTMB_SYNC_FE_CONFIG_BITS {
unsigned int fe_lock_len:4,
fe_sat_shift:3, reserved3:1, fe_cut:4, reserved4:4, fe_modify:16;
};
struct DTMB_SYNC_PNPHASE_OFFSET_BITS {
unsigned int pnphase_offset2:4,
pnphase_offset1:4, pnphase_offset0:4, reserved5:20;
};
struct DTMB_SYNC_PNPHASE_CONFIG_BITS {
unsigned int pnphase_gain:2,
reserved6:2,
pnphase_sat_shift:4, pnphase_cut:4, reserved7:4, pnphase_modify:16;
};
struct DTMB_SYNC_SFO_SFO_PN0_MODIFY_BITS {
unsigned int sfo_cfo_pn0_modify:16, sfo_sfo_pn0_modify:16;
};
struct DTMB_SYNC_SFO_SFO_PN1_MODIFY_BITS {
unsigned int sfo_cfo_pn1_modify:16, sfo_sfo_pn1_modify:16;
};
struct DTMB_SYNC_SFO_SFO_PN2_MODIFY_BITS {
unsigned int sfo_cfo_pn2_modify:16, sfo_sfo_pn2_modify:16;
};
struct DTMB_SYNC_SFO_CONFIG_BITS {
unsigned int sfo_sat_shift:4,
sfo_gain:2,
reserved8:2,
sfo_dist:2,
reserved9:2,
sfo_cfo_cut:4, sfo_sfo_cut:4, sfo_cci_th:4, reserved10:8;
};
struct DTMB_SYNC_TRACK_CFO_MAX_BITS {
unsigned int track_cfo_max:8,
track_sfo_max:8, track_max_en:1, ctrl_fe_to_th:4, reserved11:11;
};
struct DTMB_SYNC_CCI_DAGC_CONFIG1_BITS {
unsigned int cci_dagc_bypass:1,
cci_dagc_power_alpha:2,
cci_dagc_bw:3,
cci_dagc_gain_ctrl:12,
cci_dagc_gain_step_er:6, cci_dagc_gain_step:6, reserved12:2;
};
struct DTMB_SYNC_CCI_DAGC_CONFIG2_BITS {
unsigned int cci_dagc_target_power_l:8,
cci_dagc_target_power_h:8,
cci_dagc_target_power_ler:8, cci_dagc_target_power_her:8;
};
struct DTMB_SYNC_CCI_RP_BITS {
unsigned int cci_rpsq_n:10, reserved13:2, cci_rp_n:13, reserved14:7;
};
struct DTMB_SYNC_CCI_DET_THRES_BITS {
unsigned int cci_avr_times:5,
reserved15:3, cci_det_thres:3, reserved16:21;
};
struct DTMB_SYNC_CCI_NOTCH1_CONFIG1_BITS {
unsigned int cci_notch1_a1:10,
reserved17:2, cci_notch1_en:1, reserved18:19;
};
struct DTMB_SYNC_CCI_NOTCH1_CONFIG2_BITS {
unsigned int cci_notch1_b1:10,
reserved19:2, cci_notch1_a2:10, reserved20:10;
};
struct DTMB_SYNC_CCI_NOTCH2_CONFIG1_BITS {
unsigned int cci_notch2_a1:10,
reserved21:2, cci_notch2_en:1, reserved22:3, cci_mpthres:16;
};
struct DTMB_SYNC_CCI_NOTCH2_CONFIG2_BITS {
unsigned int cci_notch2_b1:10,
reserved23:2, cci_notch2_a2:10, reserved24:10;
};
#endif