diff --git a/drivers/media/dtv_demod/Makefile b/drivers/media/dtv_demod/Makefile index d31ca60cf..967b0aa67 100644 --- a/drivers/media/dtv_demod/Makefile +++ b/drivers/media/dtv_demod/Makefile @@ -47,17 +47,26 @@ $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/demod_dbg.o $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/aml_demod.o ifneq ($(findstring AML_DEMOD_SUPPORT_DVBS, $(ccflags-y)),) +ccflags-y += -DAML_DVBS_SUPPORT_GPIO_LNBC +ifneq ($(CONFIG_AMLOGIC_ZAPPER_CUT), y) +cflags-y += -DAML_DVBS_SUPPORT_I2C_LNBC +endif $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/dvbs/dvbs.o $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/dvbs/dvbs_frontend.o $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/dvbs/dvbs_diseqc.o $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/dvbs/dvbs_singlecable.o -$(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/lnb_controller/gpio/gpio_lnbc.o -$(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/lnb_controller/wt20_1811/wt20_1811.o ccflags-y += -I$(srctree)/$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/dvbs ccflags-y += -I$(srctree)/$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/lnb_controller +ifneq ($(findstring DAML_DVBS_SUPPORT_GPIO_LNBC, $(ccflags-y)),) +$(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/lnb_controller/gpio/gpio_lnbc.o ccflags-y += -I$(srctree)/$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/lnb_controller/wt20_1811 ccflags-y += -I$(srctree)/$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/lnb_controller/gpio endif +ifneq ($(findstring DAML_DVBS_SUPPORT_I2C_LNBC, $(ccflags-y)),) +$(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/lnb_controller/wt20_1811/wt20_1811.o +ccflags-y += -I$(srctree)/$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/lnb_controller/wt20_1811 +endif +endif ifneq ($(findstring AML_DEMOD_SUPPORT_ISDBT, $(ccflags-y)),) $(MEDIA_MODULE_NAME)-$(CONFIG_AMLOGIC_DTV_DEMOD) += dtv_demod/isdbt/isdbt_func.o diff --git a/drivers/media/dtv_demod/amlfrontend.c b/drivers/media/dtv_demod/amlfrontend.c index 0156838db..a75faf6fd 100644 --- a/drivers/media/dtv_demod/amlfrontend.c +++ b/drivers/media/dtv_demod/amlfrontend.c @@ -163,55 +163,6 @@ int convert_snr(int in_snr) return out_snr; } -//static void dtvdemod_do_8vsb_rst(void) -//{ - //union atsc_cntl_reg_0x20 val; - - //val.bits = atsc_read_reg_v4(ATSC_CNTR_REG_0X20); - //val.b.cpu_rst = 1; - //atsc_write_reg_v4(ATSC_CNTR_REG_0X20, val.bits); - //val.b.cpu_rst = 0; - //atsc_write_reg_v4(ATSC_CNTR_REG_0X20, val.bits); -//} - -//static int amdemod_check_8vsb_rst(struct aml_dtvdemod *demod) -//{ - //int ret = 0; - - /* for tl1/tm2, first time of pwr on, - * reset after signal locked - * for lock event, 0x79 is safe for reset - */ - //if (demod->atsc_rst_done == 0) { - //if (demod->atsc_rst_needed) { - //dtvdemod_do_8vsb_rst(); - //demod->atsc_rst_done = 1; - //ret = 0; - //PR_ATSC("reset done\n"); - //} - - //if (atsc_read_reg_v4(ATSC_CNTR_REG_0X2E) >= 0x79) { - //demod->atsc_rst_needed = 1; - //ret = 0; - //PR_ATSC("need reset\n"); - //} else { - //demod->atsc_rst_wait_cnt++; - //PR_ATSC("wait cnt: %d\n", - //demod->atsc_rst_wait_cnt); - //} - - //if (demod->atsc_rst_wait_cnt >= 3 && - //(atsc_read_reg_v4(ATSC_CNTR_REG_0X2E) >= 0x76)) { - //demod->atsc_rst_done = 1; - //ret = 1; - //} - //} else if (atsc_read_reg_v4(ATSC_CNTR_REG_0X2E) >= 0x76) { - //ret = 1; - //} - - //return ret; -//} - unsigned int demod_is_t5d_cpu(struct amldtvdemod_device_s *devp) { enum dtv_demod_hw_ver_e hw_ver = devp->data->hw_ver; @@ -792,6 +743,7 @@ static void delsys_exit(struct aml_dtvdemod *demod, unsigned int ldelsys, #endif } else if ((is_meson_t5w_cpu() || is_meson_t3_cpu() || demod_is_t5d_cpu(devp)) && ldelsys == SYS_DVBT2) { +#ifdef AML_DEMOD_SUPPORT_DVBT demod_top_write_reg(DEMOD_TOP_CFG_REG_4, 0x182); dvbt_t2_wr_byte_bits(0x09, 1, 4, 1); demod_top_write_reg(DEMOD_TOP_CFG_REG_4, 0x97); @@ -806,8 +758,10 @@ static void delsys_exit(struct aml_dtvdemod *demod, unsigned int ldelsys, if (is_meson_t5w_cpu()) t5w_write_ambus_reg(0x3c4e, 0x1, 23, 1); +#endif } else if ((is_meson_t5w_cpu() || is_meson_t3_cpu() || demod_is_t5d_cpu(devp)) && ldelsys == SYS_ISDBT) { +#ifdef AML_DEMOD_SUPPORT_ISDBT dvbt_isdbt_wr_reg((0x2 << 2), 0x111021b); dvbt_isdbt_wr_reg((0x2 << 2), 0x011021b); dvbt_isdbt_wr_reg((0x2 << 2), 0x011001b); @@ -817,6 +771,7 @@ static void delsys_exit(struct aml_dtvdemod *demod, unsigned int ldelsys, if (is_meson_t5w_cpu()) t5w_write_ambus_reg(0x3c4e, 0x1, 23, 1); +#endif } #endif @@ -2940,7 +2895,6 @@ static int aml_dtvdm_get_property(struct dvb_frontend *fe, struct isdbt_tmcc_info tmcc_info; #endif s16 strength = 0; - int ret = 0; mutex_lock(&devp->lock); @@ -3119,30 +3073,30 @@ static int aml_dtvdm_get_property(struct dvb_frontend *fe, #ifdef AML_DEMOD_SUPPORT_DVBS case SYS_DVBS: case SYS_DVBS2: - ret = dtvdemod_dvbs_read_signal_strength(fe, &strength); + dtvdemod_dvbs_read_signal_strength(fe, &strength); break; #endif #ifdef AML_DEMOD_SUPPORT_DVBC case SYS_DVBC_ANNEX_A: case SYS_DVBC_ANNEX_C: - ret = gxtv_demod_dvbc_read_signal_strength(fe, &strength); + gxtv_demod_dvbc_read_signal_strength(fe, &strength); break; #endif #ifdef AML_DEMOD_SUPPORT_DVBT case SYS_DVBT: case SYS_DVBT2: - ret = gxtv_demod_dvbt_read_signal_strength(fe, &strength); + gxtv_demod_dvbt_read_signal_strength(fe, &strength); break; #endif #ifdef AML_DEMOD_SUPPORT_ISDBT case SYS_ISDBT: - ret = gxtv_demod_isdbt_read_signal_strength(fe, &strength); + gxtv_demod_isdbt_read_signal_strength(fe, &strength); break; #endif #ifdef AML_DEMOD_SUPPORT_ATSC case SYS_ATSC: case SYS_ATSCMH: - ret = gxtv_demod_atsc_read_signal_strength(fe, &strength); + gxtv_demod_atsc_read_signal_strength(fe, &strength); break; #endif #ifdef AML_DEMOD_SUPPORT_J83B @@ -3152,7 +3106,7 @@ static int aml_dtvdm_get_property(struct dvb_frontend *fe, #endif #ifdef AML_DEMOD_SUPPORT_DTMB case SYS_DTMB: - ret = gxtv_demod_dtmb_read_signal_strength(fe, &strength); + gxtv_demod_dtmb_read_signal_strength(fe, &strength); break; #endif default: @@ -3248,10 +3202,20 @@ struct dvb_frontend *aml_dtvdm_attach(const struct demod_config *config) demod->id = devp->index; demod->act_dtmb = false; + +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B demod->timeout_atsc_ms = TIMEOUT_ATSC; +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT demod->timeout_dvbt_ms = TIMEOUT_DVBT; +#endif +#ifdef AML_DEMOD_SUPPORT_DVBS demod->timeout_dvbs_ms = TIMEOUT_DVBS; +#endif +#ifdef AML_DEMOD_SUPPORT_DVBC demod->timeout_dvbc_ms = TIMEOUT_DVBC; +#endif + demod->timeout_ddr_leave = TIMEOUT_DDR_LEAVE; demod->last_qam_mode = QAM_MODE_NUM; demod->last_lock = -1; diff --git a/drivers/media/dtv_demod/demod_dbg.c b/drivers/media/dtv_demod/demod_dbg.c index da500f1cc..c8f4c4d41 100644 --- a/drivers/media/dtv_demod/demod_dbg.c +++ b/drivers/media/dtv_demod/demod_dbg.c @@ -28,7 +28,9 @@ static unsigned int dtmb_mode; #endif +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B static unsigned int atsc_mode_para; +#endif #ifdef AML_DEMOD_SUPPORT_ISDBT #include "isdbt_func.h" @@ -146,7 +148,10 @@ static void seq_dump_regs(struct seq_file *seq) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); struct aml_dtvdemod *demod = NULL; - unsigned int reg_start, polling_en = 1; + unsigned int reg_start; +#ifdef AML_DEMOD_SUPPORT_DVBT + unsigned int polling_en = 1; +#endif if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) { seq_puts(seq, "demod top start\n"); @@ -180,6 +185,7 @@ static void seq_dump_regs(struct seq_file *seq) } break; #endif +#if defined AML_DEMOD_SUPPORT_DVBC || defined AML_DEMOD_SUPPORT_J83B case SYS_DVBC_ANNEX_A: case SYS_DVBC_ANNEX_C: case SYS_DVBC_ANNEX_B: @@ -190,7 +196,8 @@ static void seq_dump_regs(struct seq_file *seq) reg_start, qam_read_reg(demod, reg_start)); } break; - +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT case SYS_DVBT: case SYS_DVBT2: polling_en = devp->demod_thread; @@ -217,6 +224,7 @@ static void seq_dump_regs(struct seq_file *seq) devp->demod_thread = polling_en; break; +#endif #ifdef AML_DEMOD_SUPPORT_DTMB case SYS_DTMB: for (reg_start = 0x0; reg_start <= 0xff; reg_start++) @@ -224,11 +232,13 @@ static void seq_dump_regs(struct seq_file *seq) reg_start, dtmb_read_reg(reg_start)); break; #endif +#ifdef AML_DEMOD_SUPPORT_ISDBT case SYS_ISDBT: for (reg_start = 0x0; reg_start <= 0xff; reg_start++) seq_printf(seq, "[0x%x] = 0x%x\n", reg_start, dvbt_isdbt_rd_reg_new(reg_start)); break; +#endif #ifdef AML_DEMOD_SUPPORT_DVBS case SYS_DVBS: case SYS_DVBS2: @@ -259,7 +269,9 @@ static void seq_dump_status(struct seq_file *seq) #endif int strength = 0; char chip_name[30]; +#if defined AML_DEMOD_SUPPORT_DVBC || defined AML_DEMOD_SUPPORT_J83B struct aml_demod_sts demod_sts; +#endif #ifdef AML_DEMOD_SUPPORT_DVBT unsigned int polling_en = 1; #endif @@ -1013,20 +1025,23 @@ static void info_show(void) struct aml_dtvdemod *demod = NULL; #ifdef AML_DEMOD_SUPPORT_DVBT unsigned int debug_mode = aml_demod_debug; + int fw_ver = 0; #endif char chip_name[30]; +#if defined AML_DEMOD_SUPPORT_DVBC || defined AML_DEMOD_SUPPORT_J83B struct aml_demod_sts demod_sts; - int fw_ver = 0; +#endif PR_INFO("DTV DEMOD state:\n"); PR_INFO("demod_thread: %d.\n", devp->demod_thread); get_chip_name(devp, chip_name); PR_INFO("hw version chip: %d, %s.\n", devp->data->hw_ver, chip_name); +#ifdef AML_DEMOD_SUPPORT_DVBT if (cpu_after_eq(MESON_CPU_MAJOR_ID_T3)) fw_ver = dvbt_t2_rdb(0x48); PR_INFO("version: %s-%s, T2 FW ver: V%d.%s.\n", AMLDTVDEMOD_VER, DTVDEMOD_VER, fw_ver, AMLDTVDEMOD_T2_FW_VER); - +#endif dbg_ic_cfg_addr(devp); PR_INFO("agc_pin_direction: %d.\n", devp->agc_direction); @@ -1088,8 +1103,6 @@ static void info_show(void) ser = atsc_read_ser(); PR_INFO("ser: %d.\n", ser); - - PR_INFO("atsc rst done: %d.\n", demod->atsc_rst_done); break; #endif #ifdef AML_DEMOD_SUPPORT_DVBT @@ -1128,9 +1141,12 @@ static void info_show(void) static void dump_regs(struct aml_dtvdemod *demod) { - unsigned int reg_start, polling_en = 1; enum fe_delivery_system delsys = demod->last_delsys; + unsigned int reg_start; +#ifdef AML_DEMOD_SUPPORT_DVBT struct amldtvdemod_device_s *devp = (struct amldtvdemod_device_s *)demod->priv; + unsigned int polling_en = 1; +#endif if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) { pr_info("demod top start\n"); @@ -1159,6 +1175,7 @@ static void dump_regs(struct aml_dtvdemod *demod) pr_info("atsc end\n"); break; #endif +#if defined AML_DEMOD_SUPPORT_DVBC || defined AML_DEMOD_SUPPORT_J83B case SYS_DVBC_ANNEX_A: case SYS_DVBC_ANNEX_C: case SYS_DVBC_ANNEX_B: @@ -1170,7 +1187,8 @@ static void dump_regs(struct aml_dtvdemod *demod) } pr_info("dvbc/j83b end\n"); break; - +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT case SYS_DVBT: case SYS_DVBT2: pr_info("dvbt/t2 start\n"); @@ -1199,6 +1217,7 @@ static void dump_regs(struct aml_dtvdemod *demod) } pr_info("dvbt/t2 end\n"); break; +#endif #ifdef AML_DEMOD_SUPPORT_DTMB case SYS_DTMB: pr_info("dtmb start\n"); @@ -1208,6 +1227,7 @@ static void dump_regs(struct aml_dtvdemod *demod) pr_info("dtmb end\n"); break; #endif +#ifdef AML_DEMOD_SUPPORT_ISDBT case SYS_ISDBT: pr_info("isdbt start\n"); for (reg_start = 0x0; reg_start <= 0xff; reg_start++) @@ -1215,6 +1235,7 @@ static void dump_regs(struct aml_dtvdemod *demod) pr_info("isdbt end\n"); break; +#endif #ifdef AML_DEMOD_SUPPORT_DVBS case SYS_DVBS: case SYS_DVBS2: @@ -1242,7 +1263,9 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, unsigned int capture_start = 0; unsigned int val = 0; unsigned int addr = 0; +#ifdef AML_DEMOD_SUPPORT_DVBS unsigned int i; +#endif static struct dvb_frontend *fe; struct demod_config config; struct dtv_property tvp; @@ -1379,11 +1402,15 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, demod->timeout_dvbt_ms = val; #endif } else if (!strcmp(parm[0], "timeout_dvbs")) { +#ifdef AML_DEMOD_SUPPORT_DVBS if (parm[1] && (kstrtouint(parm[1], 10, &val)) == 0) demod->timeout_dvbs_ms = val; +#endif } else if (!strcmp(parm[0], "timeout_dvbc")) { +#ifdef AML_DEMOD_SUPPORT_DVBC if (parm[1] && (kstrtouint(parm[1], 10, &val)) == 0) demod->timeout_dvbc_ms = val; +#endif } else if (!strcmp(parm[0], "dump_reg")) { dump_regs(demod); } else if (!strcmp(parm[0], "get_plp")) { @@ -1438,6 +1465,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, if (parm[1] && (kstrtoint(parm[1], 10, &demod->dvbc_sel)) == 0) ; } else if (!strcmp(parm[0], "dvbsw")) { +#ifdef AML_DEMOD_SUPPORT_DVBS if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { if (parm[2] && (kstrtouint(parm[2], 16, &val)) == 0) { dvbs_wr_byte(addr, val); @@ -1457,7 +1485,9 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, i, dvbs_rd_byte(i)); } } +#endif } else if (!strcmp(parm[0], "dvbtr")) { +#ifdef AML_DEMOD_SUPPORT_DVBT if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { val = dvbt_t2_rdb(addr); PR_INFO("dvdt rd addr:0x%x, val:0x%x\n", addr, val); @@ -1469,6 +1499,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, PR_INFO("dvbt wr addr:0x%x, val:0x%x\n", addr, val); } } +#endif } else if (!strcmp(parm[0], "topr")) { if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { val = demod_top_read_reg(addr); @@ -1499,9 +1530,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, val = atsc_read_reg_v4(addr); PR_INFO("atsc rd addr:0x%x, val:0x%x\n", addr, val); } -#endif } else if (!strcmp(parm[0], "atscw")) { -#ifdef AML_DEMOD_SUPPORT_ATSC if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { if (parm[2] && (kstrtouint(parm[2], 16, &val)) == 0) { atsc_write_reg_v4(addr, val); @@ -1510,6 +1539,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, } #endif } else if (!strcmp(parm[0], "dvbcr")) { +#ifdef AML_DEMOD_SUPPORT_DVBC if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { val = qam_read_reg(demod, addr); PR_INFO("dvbc rd addr:0x%x, val:0x%x\n", addr, val); @@ -1521,15 +1551,14 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, PR_INFO("dvbc wr addr:0x%x, val:0x%x\n", addr, val); } } +#endif } else if (!strcmp(parm[0], "dtmbr")) { #ifdef AML_DEMOD_SUPPORT_DTMB if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { val = dtmb_read_reg(addr); PR_INFO("dtmb rd addr:0x%x, val:0x%x\n", addr, val); } -#endif } else if (!strcmp(parm[0], "dtmbw")) { -#ifdef AML_DEMOD_SUPPORT_DTMB if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { if (parm[2] && (kstrtouint(parm[2], 16, &val)) == 0) { dtmb_write_reg(addr, val); @@ -1538,6 +1567,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, } #endif } else if (!strcmp(parm[0], "isdbtr")) { +#ifdef AML_DEMOD_SUPPORT_ISDBT if (parm[1] && (kstrtouint(parm[1], 16, &addr)) == 0) { val = dvbt_isdbt_rd_reg_new(addr); PR_INFO("isdbt rd addr:0x%x, val:0x%x\n", addr, val); @@ -1549,6 +1579,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, PR_INFO("isdbt wr addr:0x%x, val:0x%x\n", addr, val); } } +#endif } else if (!strcmp(parm[0], "demod_thread")) { if (parm[1] && (kstrtouint(parm[1], 16, &val)) == 0) devp->demod_thread = val; @@ -1565,6 +1596,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, PR_INFO("set atsc cr val to 0x%x\n", devp->atsc_cr_step_size_dbg); } else if (!strcmp(parm[0], "ci_mode")) { if (demod->demod_status.delsys == SYS_DVBC_ANNEX_A) { +#ifdef AML_DEMOD_SUPPORT_DVBC if (parm[1] && (kstrtouint(parm[1], 16, &val)) == 0) { if (val == 0) { qam_write_bits(demod, 0x11, 0x90, 24, 8); @@ -1575,6 +1607,7 @@ static ssize_t attr_store(struct class *cls, struct class_attribute *attr, } PR_INFO("ic card set mode to %d\n", val); } +#endif } else { PR_INFO("not dvbc mode,nothing to do\n"); } @@ -1701,6 +1734,7 @@ static ssize_t dtmb_para_store(struct class *cls, struct class_attribute *attr, } #endif +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B static ssize_t atsc_para_show(struct class *cls, struct class_attribute *attr, char *buf) { @@ -1708,8 +1742,10 @@ static ssize_t atsc_para_show(struct class *cls, int snr, lock_status; unsigned int ck; #endif +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B unsigned int ser; int strength = 0; +#endif struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); struct aml_dtvdemod *demod = NULL, *tmp = NULL; @@ -1788,6 +1824,7 @@ static ssize_t atsc_para_store(struct class *cls, struct class_attribute *attr, return count; } +#endif #ifdef AML_DEMOD_SUPPORT_DVBS static ssize_t diseq_cmd_store(struct class *cla, struct class_attribute *attr, diff --git a/drivers/media/dtv_demod/demod_func.c b/drivers/media/dtv_demod/demod_func.c index 9e4ce853d..8ebcd7a66 100644 --- a/drivers/media/dtv_demod/demod_func.c +++ b/drivers/media/dtv_demod/demod_func.c @@ -25,6 +25,1161 @@ MODULE_PARM_DESC(front_agc_target, "\n\t\t front_agc_target"); static unsigned int front_agc_target; module_param(front_agc_target, int, 0644); +unsigned int diseqc_out_invert = 1; +MODULE_PARM_DESC(diseqc_out_invert, "\n\t\t diseqc out polarity invert"); +module_param(diseqc_out_invert, int, 0644); + +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC + +static unsigned char dvbs_agc_target = 0x50; +MODULE_PARM_DESC(dvbs_agc_target, "\n\t\t dvbs agc target"); +module_param(dvbs_agc_target, byte, 0644); + +static struct stchip_register_t l2a_def_val_local[] = { + {0x200, 0x8c},/* REG_RL2A_DVBSX_FSK_FSKTFC2 */ + {0x201, 0x45},/* REG_RL2A_DVBSX_FSK_FSKTFC1 */ + {0x202, 0xc9},/* REG_RL2A_DVBSX_FSK_FSKTFC0 */ + {0x203, 0x01},/* REG_RL2A_DVBSX_FSK_FSKTDELTAF1 */ + {0x204, 0x37},/* REG_RL2A_DVBSX_FSK_FSKTDELTAF0 */ + {0x205, 0x08},/* REG_RL2A_DVBSX_FSK_FSKTCTRL */ + {0x206, 0x10},/* REG_RL2A_DVBSX_FSK_FSKRFC2 */ + {0x207, 0x45},/* REG_RL2A_DVBSX_FSK_FSKRFC1 */ + {0x208, 0xc9},/* REG_RL2A_DVBSX_FSK_FSKRFC0 */ + {0x209, 0x38},/* REG_RL2A_DVBSX_FSK_FSKRK1 */ + {0x20a, 0x71},/* REG_RL2A_DVBSX_FSK_FSKRK2 */ + {0x20b, 0x28},/* REG_RL2A_DVBSX_FSK_FSKRAGCR */ + {0x20c, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRAGC */ + {0x20d, 0x13},/* REG_RL2A_DVBSX_FSK_FSKRALPHA */ + {0x20e, 0x90},/* REG_RL2A_DVBSX_FSK_FSKRPLTH1 */ + {0x20f, 0xbe},/* REG_RL2A_DVBSX_FSK_FSKRPLTH0 */ + {0x210, 0x80},/* REG_RL2A_DVBSX_FSK_FSKRDF1 */ + {0x211, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDF0 */ + {0x212, 0x58},/* REG_RL2A_DVBSX_FSK_FSKRSTEPP */ + {0x213, 0x6f},/* REG_RL2A_DVBSX_FSK_FSKRSTEPM */ + {0x214, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDET1 */ + {0x215, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDET0 */ + {0x216, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDTH1 */ + {0x217, 0xe9},/* REG_RL2A_DVBSX_FSK_FSKRDTH0 */ + {0x218, 0x4d},/* REG_RL2A_DVBSX_FSK_FSKRLOSS */ + {0x219, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRLEAK */ + {0x21a, 0x2a},/* REG_RL2A_DVBSX_FSK_FSKRAGCTH */ + {0x21b, 0x16},/* REG_RL2A_DVBSX_FSK_FSKRFINIIR */ + {0x21c, 0x04},/* REG_RL2A_DVBSX_FSK_FSKRFBIT1 */ + {0x21d, 0xbc},/* REG_RL2A_DVBSX_FSK_FSKRFBIT0 */ + {0x21e, 0x3c},/* REG_RL2A_DVBSX_FSK_FSKRMINSTART */ + {0x21f, 0x8c},/* REG_RL2A_DVBSX_FSK_FSKRMAXSTART */ + {0x220, 0x1e},/* REG_RL2A_DVBSX_FSK_FSKRPEAKDIF */ + {0x221, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMINPK */ + {0x222, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMAXPK */ + {0x223, 0x0a},/* REG_RL2A_DVBSX_FSK_FSKRFWDWN */ + {0x224, 0x32},/* REG_RL2A_DVBSX_FSK_FSKRFWTH */ + {0x225, 0x50},/* REG_RL2A_DVBSX_FSK_FSKRINITDEV */ + {0x226, 0x37},/* REG_RL2A_DVBSX_FSK_FSKRMINDEV */ + {0x227, 0x78},/* REG_RL2A_DVBSX_FSK_FSKRMAXDEV */ + {0x228, 0x40},/* REG_RL2A_DVBSX_FSK_FSKRMAXTERR */ + {0x229, 0x28},/* REG_RL2A_DVBSX_FSK_FSKRKTMG */ + {0x22a, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRLOW */ + {0x22b, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRHIGH */ + {0x22c, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL3 */ + {0x22d, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL2 */ + {0x22e, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL1 */ + {0x22f, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL0 */ + {0x230, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK3 */ + {0x231, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK2 */ + {0x232, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK1 */ + {0x233, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK0 */ + {0x234, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDELAYLG */ + {0x235, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRSTOPLG */ + {0x236, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMESLG */ + {0x237, 0x80},/* REG_RL2A_DVBSX_FSK_FSKRCFG */ + /*{0x300, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISIRQCFG */ + /*{0x301, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISIRQSTAT */ + {0x302, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISTXCFG */ + /*{0x303, 0x20},*//* REG_RL2A_DVBSX_DISEQC_DISTXSTATUS */ + /*{0x304, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXBYTES */ + /*{0x305, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXFIFO */ + /*{0x306, 0xc0},*//* REG_RL2A_DVBSX_DISEQC_DISTXF22 */ + /*{0x307, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXWAIT */ + {0x308, 0x84},/* REG_RL2A_DVBSX_DISEQC_DISTIMEOCFG */ + {0x309, 0x8c},/* REG_RL2A_DVBSX_DISEQC_DISTIMEOUT */ + //{0x30a, 0x04},/* REG_RL2A_DVBSX_DISEQC_DISRXCFG */ + {0x30b, 0x04},/* REG_RL2A_DVBSX_DISEQC_DISRXSTAT1 */ + {0x30c, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXSTAT0 */ + {0x30d, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXBYTES */ + {0x30e, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXPARITY1 */ + {0x30f, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXPARITY0 */ + //{0x310, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXFIFO */ + {0x311, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXDC1 */ + {0x312, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXDC0 */ + {0x313, 0x62},/* REG_RL2A_DVBSX_DISEQC_DISRXKOFF */ + {0x314, 0x01},/* REG_RL2A_DVBSX_DISEQC_DISRXF221 */ + //{0x315, 0x2b},/* REG_RL2A_DVBSX_DISEQC_DISRXF220 */ + //{0x316, 0xa9},/* REG_RL2A_DVBSX_DISEQC_DISRXF100 */ + {0x317, 0x31},/* REG_RL2A_DVBSX_DISEQC_DISRXK1 */ + {0x318, 0xb1},/* REG_RL2A_DVBSX_DISEQC_DISRXK2 */ + {0x319, 0xa8},/* REG_RL2A_DVBSX_DISEQC_DISRXPK */ + {0x31a, 0x46},/* REG_RL2A_DVBSX_DISEQC_DISRXENV */ + {0x31b, 0x0c},/* REG_RL2A_DVBSX_DISEQC_DISRXVMIN */ + {0x31c, 0x0f},/* REG_RL2A_DVBSX_DISEQC_DISRXSHORT22K */ + {0x31e, 0x01},/* REG_RL2A_DVBSX_DISEQC_ACRPRESC */ + {0x31f, 0x14},/* REG_RL2A_DVBSX_DISEQC_ACRDIV */ + {0x330, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISTBUS */ + {0x331, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISTSTCFG */ + {0x332, 0x55},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSEED */ + {0x333, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSCNT1 */ + {0x334, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSCNT0 */ + {0x335, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYERR1 */ + {0x336, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYERR0 */ + {0x337, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYCNT1 */ + {0x338, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYCNT0 */ + {0x339, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXPEAKMEAN1 */ + {0x33a, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXPEAKMEAN0 */ + {0x400, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF1 */ + {0x401, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF2 */ + {0x402, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF3 */ + {0x403, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF4 */ + {0x404, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF5 */ + {0x405, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF6 */ + {0x406, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF7 */ + {0x407, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF8 */ + {0x408, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF9 */ + {0x409, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF10 */ + {0x40a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF11 */ + {0x40b, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF12 */ + {0x40c, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF13 */ + {0x40d, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF14 */ + {0x40e, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF15 */ + {0x40f, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF16 */ + {0x410, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF17 */ + {0x411, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF18 */ + {0x412, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF19 */ + {0x413, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF20 */ + {0x414, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF21 */ + {0x415, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF22 */ + {0x416, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF23 */ + {0x417, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF24 */ + {0x418, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF25 */ + {0x419, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF26 */ + {0x41a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF27 */ + {0x41b, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF28 */ + {0x41c, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF1 */ + {0x41d, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF2 */ + {0x41e, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF3 */ + {0x41f, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF4 */ + {0x420, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF5 */ + {0x421, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF6 */ + {0x422, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF7 */ + {0x423, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF8 */ + {0x424, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF9 */ + {0x425, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF10 */ + {0x426, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF12 */ + {0x427, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF13 */ + {0x428, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF14 */ + {0x429, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF15 */ + {0x42a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF16 */ + {0x42b, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF18 */ + {0x42c, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF19 */ + {0x42d, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF20 */ + {0x42e, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF21 */ + {0x42f, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF22 */ + {0x430, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF24 */ + {0x431, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF25 */ + {0x432, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF26 */ + {0x433, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF27 */ + {0x434, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF33_0 */ + {0x435, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF33_1 */ + {0x436, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF34_0 */ + {0x437, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF34_1 */ + {0x438, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF35_0 */ + {0x439, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF35_1 */ + {0x43a, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF36_0 */ + {0x43b, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF36_1 */ + {0x43c, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF37_0 */ + {0x43d, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF37_1 */ + {0x43e, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF38_0 */ + {0x43f, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF38_1 */ + {0x440, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF39_0 */ + {0x441, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF39_1 */ + {0x442, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF40_0 */ + {0x443, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF40_1 */ + {0x444, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF41_0 */ + {0x445, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF41_1 */ + {0x446, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF42_0 */ + {0x447, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF42_1 */ + {0x448, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF43_0 */ + {0x449, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF43_1 */ + {0x44a, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF44_1 */ + {0x44b, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF45_0 */ + {0x44c, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF45_1 */ + {0x44d, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF46_0 */ + {0x44e, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF46_1 */ + {0x44f, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF47_1 */ + {0x450, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF48_1 */ + {0x451, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF49_1 */ + {0x452, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF50_0 */ + {0x453, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF50_1 */ + {0x454, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF51_0 */ + {0x455, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF51_1 */ + {0x456, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF52_0 */ + {0x457, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF52_1 */ + {0x458, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF53_0 */ + {0x459, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF53_1 */ + {0x45a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF54_0 */ + {0x45b, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF54_1 */ + {0x45c, 0x1a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF55_0 */ + {0x45d, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF55_1 */ + {0x45e, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF56_0 */ + {0x45f, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF56_1 */ + {0x460, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF57_0 */ + {0x461, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF57_1 */ + {0x462, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF58_0 */ + {0x463, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF58_1 */ + {0x464, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF59_0 */ + {0x465, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF59_1 */ + {0x466, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF60_0 */ + {0x467, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF60_1 */ + {0x468, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF61_0 */ + {0x469, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF61_1 */ + {0x46a, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF62_0 */ + {0x470, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR13 */ + {0x471, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR12 */ + {0x472, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR11 */ + {0x473, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR10 */ + {0x474, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR9 */ + {0x475, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR8 */ + {0x476, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR7 */ + {0x477, 0x05},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR6 */ + {0x478, 0x5b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR5 */ + {0x479, 0x96},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR4 */ + {0x47a, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR3 */ + {0x47b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR2 */ + {0x47c, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR1 */ + {0x47d, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR0 */ + {0x480, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF1 */ + {0x481, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF2 */ + {0x482, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF3 */ + {0x483, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF4 */ + {0x484, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF5 */ + {0x485, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF6 */ + {0x486, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF7 */ + {0x487, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF8 */ + {0x488, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF9 */ + {0x489, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF10 */ + {0x48a, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF11 */ + {0x48b, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF12 */ + {0x48c, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF13 */ + {0x48d, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF14 */ + {0x48e, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF15 */ + {0x48f, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF16 */ + {0x490, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF17 */ + {0x491, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF18 */ + {0x492, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF19 */ + {0x493, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF20 */ + {0x494, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF21 */ + {0x495, 0x27},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF22 */ + {0x496, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF23 */ + {0x497, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF24 */ + {0x498, 0x50},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF25 */ + {0x499, 0x60},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF26 */ + {0x49a, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF27 */ + {0x49b, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF28 */ + {0x49c, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF1 */ + {0x49d, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF2 */ + {0x49e, 0x1E},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF3 */ + {0x49f, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF4 */ + {0x4a0, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF5 */ + {0x4a1, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF6 */ + {0x4a2, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF7 */ + {0x4a3, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF8 */ + {0x4a4, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF9 */ + {0x4a5, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF10 */ + {0x4a6, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF12 */ + {0x4a7, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF13 */ + {0x4a8, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF14 */ + {0x4a9, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF15 */ + {0x4aa, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF16 */ + {0x4ab, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF18 */ + {0x4ac, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF19 */ + {0x4ad, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF20 */ + {0x4ae, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF21 */ + {0x4af, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF22 */ + {0x4b0, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF24 */ + {0x4b1, 0x50},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF25 */ + {0x4b2, 0x60},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF26 */ + {0x4b3, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF27 */ + {0x4b4, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF33_0 */ + {0x4b5, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF33_1 */ + {0x4b6, 0x1f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF34_0 */ + {0x4b7, 0x1D},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF34_1 */ + {0x4b8, 0x1E},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF35_0 */ + {0x4b9, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF35_1 */ + {0x4ba, 0x22},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF36_0 */ + {0x4bb, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF36_1 */ + {0x4bc, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF37_0 */ + {0x4bd, 0x1f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF37_1 */ + {0x4be, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF38_0 */ + {0x4bf, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF38_1 */ + {0x4c0, 0x21},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF39_0 */ + {0x4c1, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF39_1 */ + {0x4c2, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF40_0 */ + {0x4c3, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF40_1 */ + {0x4c4, 0x2A},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF41_0 */ + {0x4c5, 0x25},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF41_1 */ + {0x4c6, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF42_0 */ + {0x4c7, 0x30},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF42_1 */ + {0x4c8, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF43_0 */ + {0x4c9, 0x45},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF43_1 */ + {0x4ca, 0x53},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF44_1 */ + {0x4cb, 0x57},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF45_0 */ + {0x4cc, 0x62},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF45_1 */ + {0x4cd, 0x71},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF46_0 */ + {0x4ce, 0x76},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF46_1 */ + {0x4cf, 0x83},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF47_1 */ + {0x4d0, 0x84},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF48_1 */ + {0x4d1, 0x84},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF49_1 */ + {0x4d2, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF50_0 */ + {0x4d3, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF50_1 */ + {0x4d4, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF51_0 */ + {0x4d5, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF51_1 */ + {0x4d6, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF52_0 */ + {0x4d7, 0x36},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF52_1 */ + {0x4d8, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF53_0 */ + {0x4d9, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF53_1 */ + {0x4da, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF54_0 */ + {0x4db, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF54_1 */ + {0x4dc, 0x1a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF55_0 */ + {0x4dd, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF55_1 */ + {0x4de, 0x25},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF56_0 */ + {0x4df, 0x2B},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF56_1 */ + {0x4e0, 0x12},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF57_0 */ + {0x4e1, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF57_1 */ + {0x4e2, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF58_0 */ + {0x4e3, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF58_1 */ + {0x4e4, 0x1A},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF59_0 */ + {0x4e5, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF59_1 */ + {0x4e6, 0x1D},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF60_0 */ + {0x4e7, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF60_1 */ + {0x4e8, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF61_0 */ + {0x4e9, 0x3B},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF61_1 */ + {0x4ea, 0x41},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF62_0 */ + {0x4f0, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GENCFG */ + {0x4f1, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_CFGEXT */ + {0x4f2, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITERNOERR */ + {0x4f3, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_MODCOD */ + {0x4f4, 0x0c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_DIFFDIV */ + {0x4f5, 0x33},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITERDIV */ + {0x4f6, 0x28},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER1 */ + {0x4f7, 0x86},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER2 */ + {0x4f8, 0x0a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER3 */ + {0x4f9, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER4 */ + {0x500, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER13 */ + {0x501, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER12 */ + {0x502, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER11 */ + {0x503, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER10 */ + {0x504, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER9 */ + {0x505, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER8 */ + {0x506, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER7 */ + {0x507, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER6 */ + {0x508, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER5 */ + {0x509, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER4 */ + {0x50a, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER3 */ + {0x50b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER2 */ + {0x50c, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER1 */ + {0x50d, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER0 */ + {0x510, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBFROVERFLOW */ + {0x511, 0x08},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBFR_CHECK */ + {0x520, 0x22},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_CONTROLLDPC */ + {0x521, 0x07},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_MAXEXTRAITER */ + {0x522, 0x08},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LGTHSTOPITER */ + {0x523, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBLAYERSTOP */ + {0x524, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_THSTOP */ + {0x525, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_FRACTSET */ + {0x560, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCERR1 */ + {0x561, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCERR0 */ + {0x562, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_BCHERR */ + {0x563, 0x05},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_STATUSITER */ + {0x564, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_STATUSMAXITER */ + {0x565, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCSYND */ + {0x566, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCDBGINIT */ + {0x567, 0x07},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL1 */ + {0x568, 0xb5},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL2 */ + {0x569, 0x2f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL3 */ + {0x56a, 0xc4},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL4 */ + {0x56b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL1 */ + {0x56c, 0x0b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL2 */ + {0x56d, 0x6d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL3 */ + {0x56e, 0xc4},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL4 */ + {0x899, 0x3b},/* REG_RL2A_DVBSX_HWARE_GEN_RCDEBUG1 */ + {0x89a, 0x1b},/* REG_RL2A_DVBSX_HWARE_GEN_RCDEBUG0 */ + {0x8a0, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGENERAL */ + {0x8a1, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGENCFG2 */ + {0x8a2, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGSTATUS */ + {0x8a3, 0x0c},/* REG_RL2A_DVBSX_HWARE_GEN_TSRSCFG */ + {0x8a4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSTTSRS */ + {0x8c0, 0x06},/* REG_RL2A_DVBSX_HWARE_GEN_GCTRL */ + {0x8c1, 0xc8},/* REG_RL2A_DVBSX_HWARE_GEN_FFTCTRL */ + {0x8c2, 0x0a},/* REG_RL2A_DVBSX_HWARE_GEN_FFT_ACC */ + {0x8c3, 0x04},/* REG_RL2A_DVBSX_HWARE_GEN_THRESHOLD */ + {0x8c4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_GAINCONT */ + {0x8c5, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_UPDCONT */ + {0x8c6, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_GSTAT */ + {0x8c7, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_EXPMAX */ + {0x8c8, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX1 */ + {0x8c9, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX0 */ + {0x8ca, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX2 */ + {0x8cb, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX1 */ + {0x8cc, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX0 */ + {0x8cd, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX21 */ + {0x8ce, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX20 */ + {0x8cf, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX22 */ + {0x8d0, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX21 */ + {0x8d1, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX20 */ + {0x8d2, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX31 */ + {0x8d3, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX30 */ + {0x8d4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX32 */ + {0x8d5, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX31 */ + {0x8d6, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX30 */ + {0x8d7, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CPTACC */ + {0x8d8, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CTESTAT */ + {0x8da, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CFOEST1 */ + {0x8db, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CFOEST0 */ + {0x8ec, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_DEBUG1 */ + {0x8ed, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_MEMADDR1 */ + {0x8ee, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_MEMADDR0 */ + {0x8ef, 0x01},/* REG_RL2A_DVBSX_HWARE_GEN_MEMSTAT */ + {0x8f0, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA01 */ + {0x8f1, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA00 */ + {0x8f2, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA11 */ + {0x8f3, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA10 */ + {0x8f4, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA21 */ + {0x8f5, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA20 */ + {0x8f6, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA31 */ + {0x8f7, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA30 */ + {0x8f8, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA41 */ + {0x8f9, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA40 */ + {0x8fa, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA51 */ + {0x8fb, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA50 */ + {0x8fc, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA61 */ + {0x8fd, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA60 */ + {0x8fe, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA71 */ + {0x8ff, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA70 */ + {0x900, 0x00},/* REG_RL2A_DVBSX_DEMOD_IQCONST */ + {0x901, 0x00},/* REG_RL2A_DVBSX_DEMOD_IQOPTION */ + {0x902, 0xe5},/* REG_RL2A_DVBSX_DEMOD_ISYMB */ + {0x903, 0xe0},/* REG_RL2A_DVBSX_DEMOD_QSYMB */ + {0x910, 0x54},/* REG_RL2A_DVBSX_DEMOD_AGC1CFG */ + {0x911, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1RFN */ + {0x912, 0x99},/* REG_RL2A_DVBSX_DEMOD_AGC1CN */ + /* change from 0x58 to 0x50 */ + {0x913, 0x50},/* REG_RL2A_DVBSX_DEMOD_AGC1REF */ + {0x914, 0xe2},/* REG_RL2A_DVBSX_DEMOD_AGC1IDCCOMP */ + {0x915, 0xf1},/* REG_RL2A_DVBSX_DEMOD_AGC1QDCCOMP */ + {0x916, 0x43},/* REG_RL2A_DVBSX_DEMOD_AGC1POWERI */ + {0x917, 0x34},/* REG_RL2A_DVBSX_DEMOD_AGC1POWERQ */ + {0x918, 0x0e},/* REG_RL2A_DVBSX_DEMOD_AGC1AMM */ + {0x919, 0x05},/* REG_RL2A_DVBSX_DEMOD_AGC1QUAD */ + {0x91a, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1IQIN1 */ + {0x91b, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1IQIN0 */ + {0x91c, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1SHDB */ + {0x91d, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1OPT */ + {0x920, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMOD */ + /* REG_RL2A_DVBSX_DEMOD_DMDCFGMD, important dvbs/s2/s2x auto search */ + /* value changed from 0xcc to 0xdc, enable auto sr */ + {0x922, 0xcc}, /*0xdc to enable auto sr ,0xcc to disable autosr*/ + {0x923, 0x3b},/* REG_RL2A_DVBSX_DEMOD_DMDCFG2 */ + {0x924, 0x15},/* REG_RL2A_DVBSX_DEMOD_DMDISTATE */ + {0x925, 0x40},/* REG_RL2A_DVBSX_DEMOD_DMDT0M */ + {0x926, 0xc0},/* REG_RL2A_DVBSX_DEMOD_DMDT0L */ + {0x927, 0x99},/* REG_RL2A_DVBSX_DEMOD_DMDT1M */ + {0x928, 0xee},/* REG_RL2A_DVBSX_DEMOD_DMDT1L */ + {0x929, 0x08},/* REG_RL2A_DVBSX_DEMOD_DMDCFG3 */ + {0x92a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDCFG4 */ + {0x92b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDCFG5 */ + {0x930, 0x03},/* REG_RL2A_DVBSX_DEMOD_DMDMODCOD */ + {0x931, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDPLFNUM */ + {0x932, 0x09},/* REG_RL2A_DVBSX_DEMOD_DMDSTATE */ + {0x933, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDFLYW */ + {DSTATUS, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS */ + {0x935, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS2 */ + {0x936, 0x80},/* REG_RL2A_DVBSX_DEMOD_DSTATUS3 */ + {0x937, 0x60},/* REG_RL2A_DVBSX_DEMOD_DSTATUS4 */ + {0x938, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS5 */ + {0x939, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS6 */ + {0x93a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDERRORS */ + {0x940, 0x15},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG2 */ + {0x941, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG1 */ + {0x942, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG0 */ + {0x943, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSAMPDLY */ + {0x944, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSYMBDLY */ + {0x948, 0x00},/* REG_RL2A_DVBSX_DEMOD_SHDBFIFO21 */ + {0x949, 0x00},/* REG_RL2A_DVBSX_DEMOD_SHDBFIFO20 */ + {0x94a, 0x21},/* REG_RL2A_DVBSX_DEMOD_SHDBPARAL */ + {0x950, 0x80},/* REG_RL2A_DVBSX_DEMOD_SLICEADR */ + {0x951, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICEDATA */ + {0x952, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICECFG */ + {0x953, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICENBR */ + {0x954, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB2 */ + {0x955, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB1 */ + {0x956, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB0 */ + {0x957, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICERATIO */ + {0x958, 0x73},/* REG_RL2A_DVBSX_DEMOD_SLICESTAT */ + {0x959, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICEMAX */ + {0x95a, 0xff},/* REG_RL2A_DVBSX_DEMOD_SLICEMIN */ + {0x95b, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESEL */ + {0x95c, 0x05},/* REG_RL2A_DVBSX_DEMOD_SLICEANC */ + {0x95d, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMODAUX */ + {0x95e, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG4 */ + {0x970, 0x00},/* REG_RL2A_DVBSX_DEMOD_FILTCFGM */ + {0x971, 0x00},/* REG_RL2A_DVBSX_DEMOD_FILTCFGL */ + {0x972, 0x1e},/* REG_RL2A_DVBSX_DEMOD_IQFILT0 */ + {0x973, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT1 */ + {0x974, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT2 */ + {0x975, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT3 */ + /* REG_RL2A_DVBSX_DEMOD_CORRELMANT, 0x58 for tracking low CNR, 0x8C for acquisiton */ + {0x980, 0x8C}, + {0x981, 0x60},/* REG_RL2A_DVBSX_DEMOD_CORRELABS */ + {0x982, 0x40},/* REG_RL2A_DVBSX_DEMOD_CORRELABSM */ + {0x983, 0xaa},/* REG_RL2A_DVBSX_DEMOD_CORRELEXP */ + {0x984, 0x20},/* REG_RL2A_DVBSX_DEMOD_CORRELCOEF */ + {0x985, 0x01},/* REG_RL2A_DVBSX_DEMOD_CORRELCFG */ + {0x986, 0x70},/* REG_RL2A_DVBSX_DEMOD_CORRELFREQ */ + {0x987, 0x02},/* REG_RL2A_DVBSX_DEMOD_PLHMODCOD */ + {0x988, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDREG */ + {0x990, 0x5b},/* REG_RL2A_DVBSX_DEMOD_AGC2O */ + {0x991, 0x40},/* REG_RL2A_DVBSX_DEMOD_AGC2REF */ + {0x992, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGCNADJ */ + {0x993, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGCKS */ + {0x994, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCRSADJ */ + {0x995, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCRQ8ADJ */ + {0x996, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR1ADJ */ + {0x997, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR2ADJ */ + {0x998, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR3ADJ */ + {0x999, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR4ADJ */ + {0x99a, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR5ADJ */ + {0x99b, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR6ADJ */ + {0x99c, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR7ADJ */ + {0x99d, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR8ADJ */ + {0x99e, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR1BADJ */ + {0x99f, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGC2ADJ */ + {0x9a0, 0x6e},/* REG_RL2A_DVBSX_DEMOD_AGC2I1 */ + {0x9a1, 0x04},/* REG_RL2A_DVBSX_DEMOD_AGC2I0 */ + {0x9a2, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC2IMP */ + {0x9a3, 0x58},/* REG_RL2A_DVBSX_DEMOD_AGC1ADJ */ + {0x9a4, 0x96},/* REG_RL2A_DVBSX_DEMOD_AGC2R10DB */ + {0x9a5, 0xb8},/* REG_RL2A_DVBSX_DEMOD_AGC2R20DB */ + {0x9a6, 0xc9},/* REG_RL2A_DVBSX_DEMOD_AGC2AMPL */ + {0x9a7, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC2VAR */ + {0x9a8, 0x80},/* REG_RL2A_DVBSX_DEMOD_AGC2RATIO */ + {0x9b0, 0xc6},/* REG_RL2A_DVBSX_DEMOD_CARCFG */ + {0x9b1, 0x2a},/* REG_RL2A_DVBSX_DEMOD_ACLCNLK */ + {0x9b2, 0x18},/* REG_RL2A_DVBSX_DEMOD_BCLCNLK */ + {0x9b3, 0x28},/* REG_RL2A_DVBSX_DEMOD_ACLCLK */ + {0x9b4, 0x18},/* REG_RL2A_DVBSX_DEMOD_BCLCLK */ + {0x9b5, 0x79},/* REG_RL2A_DVBSX_DEMOD_CARFREQ */ + {0x9b6, 0x04},/* REG_RL2A_DVBSX_DEMOD_CARHDR */ + {0x9b7, 0xd0},/* REG_RL2A_DVBSX_DEMOD_LDT */ + {0x9b8, 0xb8},/* REG_RL2A_DVBSX_DEMOD_LDT2 */ + {0x9b9, 0xf8},/* REG_RL2A_DVBSX_DEMOD_CFRICFG */ + {0x9ba, 0x67},/* REG_RL2A_DVBSX_DEMOD_CFR1BCFG */ + {0x9bb, 0xe9},/* REG_RL2A_DVBSX_DEMOD_CFRULB1 */ + {0x9bc, 0x7c},/* REG_RL2A_DVBSX_DEMOD_CFRULB0 */ + {0x9bd, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR2 */ + {0x9be, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR1 */ + {0x9bf, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR0 */ + {0x9c0, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE2 */ + {0x9c1, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE1 */ + {0x9c2, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE0 */ + {0x9c3, 0xff},/* REG_RL2A_DVBSX_DEMOD_CFRINIT2 */ + {0x9c4, 0x33},/* REG_RL2A_DVBSX_DEMOD_CFRINIT1 */ + {0x9c5, 0x3c},/* REG_RL2A_DVBSX_DEMOD_CFRINIT0 */ + {0x9c6, 0x0c},/* REG_RL2A_DVBSX_DEMOD_CFRUP2 */ + {0x9c7, 0xcc},/* REG_RL2A_DVBSX_DEMOD_CFRUP1 */ + {0x9c8, 0x46},/* REG_RL2A_DVBSX_DEMOD_CFRUP0 */ + {0x9c9, 0xf3},/* REG_RL2A_DVBSX_DEMOD_CFRLOW2 */ + {0x9ca, 0x33},/* REG_RL2A_DVBSX_DEMOD_CFRLOW1 */ + {0x9cb, 0xba},/* REG_RL2A_DVBSX_DEMOD_CFRLOW0 */ + {0x9cc, 0x01},/* REG_RL2A_DVBSX_DEMOD_CFRINC2 */ + {0x9cd, 0x99},/* REG_RL2A_DVBSX_DEMOD_CFRINC1 */ + {0x9ce, 0x88},/* REG_RL2A_DVBSX_DEMOD_CFRINC0 */ + {0x9cf, 0xfc},/* REG_RL2A_DVBSX_DEMOD_CFR12 */ + {0x9d0, 0x70},/* REG_RL2A_DVBSX_DEMOD_CFR11 */ + {0x9d1, 0x8b},/* REG_RL2A_DVBSX_DEMOD_CFR10 */ + {0x9d2, 0xbb},/* REG_RL2A_DVBSX_DEMOD_LDI */ + {0x9d3, 0xfc},/* REG_RL2A_DVBSX_DEMOD_CFR1F2 */ + {0x9d4, 0x70},/* REG_RL2A_DVBSX_DEMOD_CFR1F1 */ + {0x9d5, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1F0 */ + {0x9d6, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1G */ + {0x9d7, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B2 */ + {0x9d8, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B1 */ + {0x9d9, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B0 */ + {0x9da, 0x98},/* REG_RL2A_DVBSX_DEMOD_GAUSSR0 */ + {0x9db, 0x30},/* REG_RL2A_DVBSX_DEMOD_CCIR0 */ + {0x9dc, 0xac},/* REG_RL2A_DVBSX_DEMOD_CCIQUANT */ + {0x9dd, 0x50},/* REG_RL2A_DVBSX_DEMOD_CCITHRES */ + {0x9de, 0x00},/* REG_RL2A_DVBSX_DEMOD_CCIACC */ + {0x9e0, 0xd3},/* REG_RL2A_DVBSX_DEMOD_TMGCFG */ + {0x9e1, 0x88},/* REG_RL2A_DVBSX_DEMOD_RTCNLK */ + {0x9e2, 0x33},/* REG_RL2A_DVBSX_DEMOD_RTCLK */ + {0x9e3, 0x20},/* REG_RL2A_DVBSX_DEMOD_TMGTHRISE */ + {0x9e4, 0x08},/* REG_RL2A_DVBSX_DEMOD_TMGTHFALL */ + {0x9e5, 0x30},/* REG_RL2A_DVBSX_DEMOD_SFRUPRATIO */ + {0x9e6, 0xf0},/* REG_RL2A_DVBSX_DEMOD_SFRLOWRATIO */ + {0x9e7, 0xa0},/* REG_RL2A_DVBSX_DEMOD_KTTMG */ + {0x9e8, 0xf5},/* REG_RL2A_DVBSX_DEMOD_KREFTMG */ + {0x9e9, 0x88},/* REG_RL2A_DVBSX_DEMOD_SFRSTEP */ + {0x9ea, 0x40},/* REG_RL2A_DVBSX_DEMOD_TMGCFG2 */ + {0x9eb, 0x50},/* REG_RL2A_DVBSX_DEMOD_KREFTMG2 */ + /* value changed from 0x6 to 0,enable auto sr upper and low */ + {0x9ec, 0x06},/* REG_RL2A_DVBSX_DEMOD_TMGCFG3 */ + {0x9ed, 0x91},/* REG_RL2A_DVBSX_DEMOD_TMGMTHRES */ + //{0x9f0, 0x19},/* REG_RL2A_DVBSX_DEMOD_SFRINIT2 */ + //{0x9f1, 0x98},/* REG_RL2A_DVBSX_DEMOD_SFRINIT1 */ + //{0x9f2, 0x8d},/* REG_RL2A_DVBSX_DEMOD_SFRINIT0 */ + + /* auto sr upper begin */ + {0x9f3, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP2 */ + {0x9f4, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP1 */ + {0x9f5, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP0 */ + /* auto sr upper end */ + + /* auto sr low begin */ + {0x9f6, 0x01},/* REG_RL2A_DVBSX_DEMOD_SFRLOW2 */ + {0x9f7, 0xe5},/* REG_RL2A_DVBSX_DEMOD_SFRLOW1 */ + {0x9f8, 0x73},/* REG_RL2A_DVBSX_DEMOD_SFRLOW0 */ + /* auto sr low end */ + + //{0x9fc, 0x19},/* REG_RL2A_DVBSX_DEMOD_SFR3 */ + //{0x9fd, 0x98},/* REG_RL2A_DVBSX_DEMOD_SFR2 */ + //{0x9fe, 0x8d},/* REG_RL2A_DVBSX_DEMOD_SFR1 */ + //{0x9ff, 0x00},/* REG_RL2A_DVBSX_DEMOD_SFR0 */ + {0xa00, 0xfd},/* REG_RL2A_DVBSX_DEMOD_TMGREG2 */ + {0xa01, 0x30},/* REG_RL2A_DVBSX_DEMOD_TMGREG1 */ + {0xa02, 0x08},/* REG_RL2A_DVBSX_DEMOD_TMGREG0 */ + {0xa03, 0x04},/* REG_RL2A_DVBSX_DEMOD_TMGLOCK1 */ + {0xa04, 0x24},/* REG_RL2A_DVBSX_DEMOD_TMGLOCK0 */ + {0xa05, 0x00},/* REG_RL2A_DVBSX_DEMOD_TMGOBS */ + {0xa06, 0x7f},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR2 */ + {0xa07, 0xff},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR1 */ + {0xa08, 0xff},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR0 */ + {0xa10, 0x41},/* REG_RL2A_DVBSX_DEMOD_DFECFG */ + {0xa11, 0x41},/* REG_RL2A_DVBSX_DEMOD_FFECFG */ + {0xa12, 0x00},/* REG_RL2A_DVBSX_DEMOD_XFECFG */ + {0xa13, 0x00},/* REG_RL2A_DVBSX_DEMOD_XFECFG2 */ + {0xa14, 0x00},/* REG_RL2A_DVBSX_DEMOD_PEGALCFG */ + {0xa15, 0x42},/* REG_RL2A_DVBSX_DEMOD_WDFECFG */ + {0xa16, 0x91},/* REG_RL2A_DVBSX_DEMOD_WDFERCFG */ + {0xa17, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMPOS */ + {0xa18, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMI */ + {0xa19, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMQ */ + {0xa1a, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFEROBS */ + {0xa1b, 0x89},/* REG_RL2A_DVBSX_DEMOD_DFESTNBR */ + {0xa1c, 0x04},/* REG_RL2A_DVBSX_DEMOD_FFESTNBR */ + {0xa20, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI1 */ + {0xa21, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ1 */ + {0xa22, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI2 */ + {0xa23, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAQ2 */ + {0xa24, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAI3 */ + {0xa25, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ3 */ + {0xa26, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI4 */ + {0xa27, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ4 */ + {0xa28, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI5 */ + {0xa29, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ5 */ + {0xa2a, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI6 */ + {0xa2b, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ6 */ + {0xa2c, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI7 */ + {0xa2d, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ7 */ + {0xa2e, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI8 */ + {0xa2f, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ8 */ + {0xa30, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEI1 */ + {0xa31, 0xff},/* REG_RL2A_DVBSX_DEMOD_FFEQ1 */ + {0xa32, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEI2 */ + {0xa33, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEQ2 */ + {0xa34, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEI3 */ + {0xa35, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEQ3 */ + {0xa36, 0xff},/* REG_RL2A_DVBSX_DEMOD_FFEI4 */ + {0xa37, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEQ4 */ + {0xa38, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEI5 */ + {0xa39, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEQ5 */ + {0xa40, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAI9 */ + {0xa41, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ9 */ + {0xa42, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI10 */ + {0xa43, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ10 */ + {0xa44, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI11 */ + {0xa45, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ11 */ + {0xa46, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI12 */ + {0xa47, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ12 */ + {0xa48, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI13 */ + {0xa49, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ13 */ + {0xa4a, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI14 */ + {0xa4b, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ14 */ + {0xa4c, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI15 */ + {0xa4d, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ15 */ + {0xa4e, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI16 */ + {0xa4f, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ16 */ + {0xa60, 0x06},/* REG_RL2A_DVBSX_DEMOD_CAR2CFG */ + {0xa61, 0x23},/* REG_RL2A_DVBSX_DEMOD_CFR2CFR1 */ + {0xa62, 0xc0},/* REG_RL2A_DVBSX_DEMOD_CAR3CFG */ + {0xa63, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR22 */ + {0xa64, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR21 */ + {0xa65, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR20 */ + {0xa68, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S1 */ + {0xa69, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2Q */ + {0xa6a, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S28 */ + {0xa6b, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S216A */ + {0xa6c, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S232A */ + {0xa6d, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S264A */ + {0xa6e, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2128A */ + {0xa6f, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2256A */ + {0xa70, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S1 */ + {0xa71, 0xc6},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2Q */ + {0xa72, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S28 */ + {0xa73, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S216A */ + {0xa74, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S232A */ + {0xa75, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S264A */ + {0xa76, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2128A */ + {0xa77, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2256A */ + {0xa84, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2MAX1 */ + {0xa85, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2MAX0 */ + {0xa86, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2FR1 */ + {0xa87, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2FR0 */ + {0xa88, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR2AVRGE1 */ + {0xa89, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR2AVRGE0 */ + {0xa8a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DPILOTMAX1 */ + {0xa8b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DPILOTMAX0 */ + {0xa98, 0x3f},/* REG_RL2A_DVBSX_DEMOD_NOSCFG */ + {0xa99, 0x00},/* REG_RL2A_DVBSX_DEMOD_NOSCFGF1 */ + {0xa9a, 0x00},/* REG_RL2A_DVBSX_DEMOD_NOSCFGF2 */ + {0xaa0, 0x25},/* REG_RL2A_DVBSX_DEMOD_NNOSDATAT1 */ + {0xaa1, 0xcf},/* REG_RL2A_DVBSX_DEMOD_NNOSDATAT0 */ + {0xaa2, 0x17},/* REG_RL2A_DVBSX_DEMOD_NNOSDATA1 */ + {0xaa3, 0xb9},/* REG_RL2A_DVBSX_DEMOD_NNOSDATA0 */ + {0xaa4, 0x24},/* REG_RL2A_DVBSX_DEMOD_NNOSPLHT1 */ + {0xaa5, 0xa6},/* REG_RL2A_DVBSX_DEMOD_NNOSPLHT0 */ + {0xaa6, 0x1b},/* REG_RL2A_DVBSX_DEMOD_NNOSPLH1 */ + {0xaa7, 0xf8},/* REG_RL2A_DVBSX_DEMOD_NNOSPLH0 */ + {0xaa8, 0x22},/* REG_RL2A_DVBSX_DEMOD_NOSDATAT1 */ + {0xaa9, 0x0c},/* REG_RL2A_DVBSX_DEMOD_NOSDATAT0 */ + {0xaaa, 0x1b},/* REG_RL2A_DVBSX_DEMOD_NNOSFRAME1 */ + {0xaab, 0x00},/* REG_RL2A_DVBSX_DEMOD_NNOSFRAME0 */ + {0xaac, 0x00},/* REG_RL2A_DVBSX_DEMOD_NNOSRAD1 */ + {0xaad, 0x7f},/* REG_RL2A_DVBSX_DEMOD_NNOSRAD0 */ + {0xaae, 0x1e},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCNR1 */ + {0xaaf, 0x86},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCNR0 */ + {0xac0, 0x60},/* REG_RL2A_DVBSX_DEMOD_NOSTHRES1 */ + {0xac1, 0x69},/* REG_RL2A_DVBSX_DEMOD_NOSTHRES2 */ + {0xac2, 0xd3},/* REG_RL2A_DVBSX_DEMOD_NOSDIFF1 */ + {0xac3, 0x35},/* REG_RL2A_DVBSX_DEMOD_RAINFADE */ + {0xac4, 0x28},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCFG */ + {0xac5, 0x14},/* REG_RL2A_DVBSX_DEMOD_NOSRAMPOS */ + {0xac6, 0x09},/* REG_RL2A_DVBSX_DEMOD_NOSRAMVAL */ + {0xad0, 0x80},/* REG_RL2A_DVBSX_DEMOD_SOFCODE3 */ + {0xad1, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE2 */ + {0xad2, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE1 */ + {0xad3, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE0 */ + {0xad4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB7 */ + {0xad5, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB6 */ + {0xad6, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB5 */ + {0xad7, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB4 */ + {0xad8, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB3 */ + {0xad9, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB2 */ + {0xada, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB1 */ + {0xadb, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB0 */ + {0xadc, 0x70},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMBB */ + {0xadd, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMBA */ + {0xade, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB9 */ + {0xadf, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB8 */ + {0xae0, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB7 */ + {0xae1, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB6 */ + {0xae2, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB5 */ + {0xae3, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB4 */ + {0xae4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB3 */ + {0xae5, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB2 */ + {0xae6, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB1 */ + {0xae7, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB0 */ + {0xaec, 0x24},/* REG_RL2A_DVBSX_DEMOD_PLROOT2 */ + {0xaed, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLROOT1 */ + {0xaee, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLROOT0 */ + {0xb00, 0xff},/* REG_RL2A_DVBSX_DEMOD_MODCODLST0 */ + {0xb01, 0xcc},/* REG_RL2A_DVBSX_DEMOD_MODCODLST1 */ + {0xb02, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST2 */ + {0xb03, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST3 */ + {0xb04, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST4 */ + {0xb05, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST5 */ + {0xb06, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST6 */ + {0xb07, 0xc0},/* REG_RL2A_DVBSX_DEMOD_MODCODLST7 */ + {0xb08, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST8 */ + {0xb09, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST9 */ + {0xb0a, 0xc0},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTA */ + {0xb0b, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTB */ + {0xb0c, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTC */ + {0xb0d, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTD */ + {0xb0e, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTE */ + {0xb0f, 0x0f},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTF */ + {0xb10, 0xfc},/* REG_RL2A_DVBSX_DEMOD_MODCODLS10 */ + {0xb11, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS11 */ + {0xb12, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS12 */ + {0xb13, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS13 */ + {0xb14, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS14 */ + {0xb15, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS15 */ + {0xb16, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS16 */ + {0xb17, 0x33},/* REG_RL2A_DVBSX_DEMOD_MODCODLS17 */ + {0xb18, 0x30},/* REG_RL2A_DVBSX_DEMOD_MODCODLS18 */ + {0xb19, 0x03},/* REG_RL2A_DVBSX_DEMOD_MODCODLS19 */ + {0xb1a, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1A */ + {0xb1b, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1B */ + {0xb1c, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1C */ + {0xb1d, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1D */ + {0xb1e, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1E */ + {0xb1f, 0x0f},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1F */ + {0xb20, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH3 */ + {0xb21, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH2 */ + {0xb22, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH1 */ + {0xb23, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCHM */ + {0xb24, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDRESCFG */ + {0xb25, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESADR */ + {0xb26, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA7 */ + {0xb27, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA6 */ + {0xb28, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA5 */ + {0xb29, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA4 */ + {0xb2a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA3 */ + {0xb2b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA2 */ + {0xb2c, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA1 */ + {0xb2d, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA0 */ + {0xb2e, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA8 */ + {0xb2f, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA9 */ + {0xb30, 0x00},/* REG_RL2A_DVBSX_DEMOD_TNRCFG */ + {0xb31, 0x02},/* REG_RL2A_DVBSX_DEMOD_TNRCFG2 */ + {0xb80, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF7 */ + {0xb81, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF6 */ + {0xb82, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF5 */ + {0xb83, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF4 */ + {0xb84, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF3 */ + {0xb85, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF2 */ + {0xb86, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF1 */ + {0xb87, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF0 */ + {0xb88, 0x00},/* REG_RL2A_DVBSX_DEMOD_SDEMAP */ + {0xb89, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM2 */ + {0xb8a, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM1 */ + {0xb8b, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM0 */ + {0xba0, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS5 */ + {0xba1, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS4 */ + {0xba2, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS3 */ + {0xba3, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS2 */ + {0xba4, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS1 */ + {0xba5, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS0 */ + {0xba6, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBSCFG */ + {0xbb0, 0xf3},/* REG_RL2A_DVBSX_DEMOD_DMDPLHSTAT */ + {0xbb1, 0x20},/* REG_RL2A_DVBSX_DEMOD_DMDSELOBS */ + {0xbb2, 0x00},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME3 */ + {0xbb3, 0x8d},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME2 */ + {0xbb4, 0x20},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME1 */ + {0xbb5, 0x1c},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME0 */ + {0xbc0, 0x04},/* REG_RL2A_DVBSX_DEMOD_CALCFG */ + {0xbc1, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALADDR */ + {0xbc2, 0x09},/* REG_RL2A_DVBSX_DEMOD_CALSTART */ + {0xbc3, 0x3f},/* REG_RL2A_DVBSX_DEMOD_CALMASK */ + {0xbc4, 0x0e},/* REG_RL2A_DVBSX_DEMOD_CALSTOP */ + {0xbc5, 0x1f},/* REG_RL2A_DVBSX_DEMOD_CALOBS */ + {0xbc6, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRESINC */ + {0xbc7, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRESDEC */ + {0xbc8, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRLIST */ + {0xbe0, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHCCMP1 */ + {0xbe1, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHCCMP0 */ + {0xbe2, 0x0f},/* REG_RL2A_DVBSX_DEMOD_DMDTIMER */ + {0xbe3, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDATTEMPT */ + {0xbe4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLFHEADER1 */ + {0xbe5, 0xbb},/* REG_RL2A_DVBSX_DEMOD_PLFHEADER0 */ + {0xbe6, 0xff},/* REG_RL2A_DVBSX_DEMOD_PLHSFRDIFF1 */ + {0xbe7, 0x40},/* REG_RL2A_DVBSX_DEMOD_PLHSFRDIFF0 */ + {0xbe8, 0x0c},/* REG_RL2A_DVBSX_DEMOD_PLHRCMP1 */ + {0xbe9, 0x3e},/* REG_RL2A_DVBSX_DEMOD_PLHRCMP0 */ + {0xbea, 0x06},/* REG_RL2A_DVBSX_DEMOD_PLHRECORD1 */ + {0xbeb, 0xf4},/* REG_RL2A_DVBSX_DEMOD_PLHRECORD0 */ + {0xbec, 0x07},/* REG_RL2A_DVBSX_DEMOD_PLHRECNCO1 */ + {0xbed, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHRECNCO0 */ + {0xbee, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDELTAF1 */ + {0xbef, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDELTAF0 */ + {0xc00, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP5 */ + {0xc01, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP4 */ + {0xc02, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP3 */ + {0xc03, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP2 */ + {0xc04, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP1 */ + {0xc05, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP0 */ + {0xc06, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDEBUG */ + {0xcc0, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTDMD */ + {0xcc1, 0x00},/* REG_RL2A_DVBSX_DEMOD_TPOLY */ + {0xcc2, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTR */ + {0xcc3, 0x00},/* REG_RL2A_DVBSX_DEMOD_TAGC2 */ + {0xcc4, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL1 */ + {0xcc5, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL2 */ + {0xcc6, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL3 */ + {0xcc8, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL4 */ + {0xcc9, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTCAR3 */ + {0xcca, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTHDEBIT */ + {0xcf0, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMODEND */ + {0xd00, 0x38},/* REG_RL2A_DVBSX_VITERBI_SIGPOWER */ + {0xd01, 0x32},/* REG_RL2A_DVBSX_VITERBI_DEMAPVIT */ + {0xd02, 0x00},/* REG_RL2A_DVBSX_VITERBI_VITSCALE */ + {0xd03, 0x10},/* REG_RL2A_DVBSX_VITERBI_FECM */ + {0xd04, 0xd7},/* REG_RL2A_DVBSX_VITERBI_VTH12 */ + {0xd05, 0x85},/* REG_RL2A_DVBSX_VITERBI_VTH23 */ + {0xd06, 0x58},/* REG_RL2A_DVBSX_VITERBI_VTH34 */ + {0xd07, 0x3a},/* REG_RL2A_DVBSX_VITERBI_VTH56 */ + {0xd08, 0x34},/* REG_RL2A_DVBSX_VITERBI_VTH67 */ + {0xd09, 0x28},/* REG_RL2A_DVBSX_VITERBI_VTH78 */ + {0xd0a, 0xbf},/* REG_RL2A_DVBSX_VITERBI_PRVIT */ + {0xd0b, 0x00},/* REG_RL2A_DVBSX_VITERBI_VAVSRVIT */ + {0xd10, 0x32},/* REG_RL2A_DVBSX_VITERBI_VITCURPUN */ + {0xd11, 0x00},/* REG_RL2A_DVBSX_VITERBI_VERROR */ + {0xd12, 0x7f},/* REG_RL2A_DVBSX_VITERBI_VITCNR */ + {0xd13, 0x85},/* REG_RL2A_DVBSX_VITERBI_VTHINUSE */ + {0xd14, 0x24},/* REG_RL2A_DVBSX_VITERBI_VSTATUSVIT */ + {0xd18, 0x27},/* REG_RL2A_DVBSX_VITERBI_KDIV12 */ + {0xd19, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV23 */ + {0xd1a, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV34 */ + {0xd1b, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV56 */ + {0xd1c, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV67 */ + {0xd1d, 0x50},/* REG_RL2A_DVBSX_VITERBI_KDIV78 */ + {0xd20, 0x00},/* REG_RL2A_DVBSX_VITERBI_SELOUT */ + {0xd21, 0x00},/* REG_RL2A_DVBSX_VITERBI_TSYNC */ + {0xd22, 0x00},/* REG_RL2A_DVBSX_VITERBI_TSTERR */ + {0xd80, 0xb0},/* REG_RL2A_DVBSX_SUPERFEC_SFAVSR */ + {0xd81, 0x22},/* REG_RL2A_DVBSX_SUPERFEC_SFDEMAP */ + {0xd82, 0xcc},/* REG_RL2A_DVBSX_SUPERFEC_SFERROR */ + {0xd83, 0x14},/* REG_RL2A_DVBSX_SUPERFEC_SFECCNR */ + {0xd84, 0x1f},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV12 */ + {0xd85, 0x22},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV23 */ + {0xd86, 0x24},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV34 */ + {0xd87, 0x24},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV56 */ + {0xd88, 0x29},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV67 */ + {0xd89, 0x2c},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV78 */ + {0xd8a, 0x08},/* REG_RL2A_DVBSX_SUPERFEC_SFECSTATUS */ + {0xd8d, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSTSFMET */ + {0xd8e, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSFSYNC */ + {0xd8f, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSTSFERR */ + {0xe00, 0xf0},/* REG_RL2A_DVBSX_HWARE_TSSTATE1 */ + {0xe01, 0x12},/* REG_RL2A_DVBSX_HWARE_TSSTATE0 */ + {0xe02, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG2 */ + {0xe03, 0x04},/* REG_RL2A_DVBSX_HWARE_TSCFG1 */ + /* change value from 0x20 to 0xa0 to support CI+ card */ + {0xe04, 0x20},/* REG_RL2A_DVBSX_HWARE_TSCFG0 */ + {0xe05, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSYNC */ + {0xe06, 0x03},/* REG_RL2A_DVBSX_HWARE_TSDIVN */ + {0xe07, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG4 */ + {0xe08, 0x00},/* REG_RL2A_DVBSX_HWARE_TSHEMCFG */ + {0xe09, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCPLPCFG */ + {0xe0a, 0x80},/* REG_RL2A_DVBSX_HWARE_TSPCRCFG */ + {0xe0b, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSPCRPID1 */ + {0xe0c, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCRPID0 */ + {0xe0d, 0x84},/* REG_RL2A_DVBSX_HWARE_TSNCRCFG */ + {0xe0e, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSNCRPID1 */ + {0xe0f, 0xff},/* REG_RL2A_DVBSX_HWARE_TSNCRPID0 */ + {0xe10, 0xe0},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ2 */ + {0xe11, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ1 */ + {0xe12, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ0 */ + {0xe13, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTM */ + {0xe14, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTL */ + {0xe15, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTC */ + {0xe16, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLYSET2 */ + {0xe17, 0x93},/* REG_RL2A_DVBSX_HWARE_TSDLYSET1 */ + {0xe18, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLYSET0 */ + {0xe19, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELH */ + {0xe1a, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELM */ + {0xe1b, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELL */ + {0xe1c, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG5 */ + {0xe1d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG6 */ + {0xe1e, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTD */ + {0xe1f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSAMPDLY */ + {0xe20, 0xff},/* REG_RL2A_DVBSX_HWARE_TSMINSPEED */ + {0xe21, 0x04},/* REG_RL2A_DVBSX_HWARE_TSMAXSPEED */ + {0xe22, 0xff},/* REG_RL2A_DVBSX_HWARE_TSSPEED */ + {0xe24, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDILSTK1 */ + {0xe25, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDILSTK0 */ + {0xe26, 0x52},/* REG_RL2A_DVBSX_HWARE_TSSTATUS */ + {0xe27, 0x28},/* REG_RL2A_DVBSX_HWARE_TSSTATUS2 */ + {0xe28, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSTATUS3 */ + {0xe29, 0x0f},/* REG_RL2A_DVBSX_HWARE_TSMODCOD1 */ + {0xe2a, 0x10},/* REG_RL2A_DVBSX_HWARE_TSMODCOD0 */ + {0xe30, 0x0c},/* REG_RL2A_DVBSX_HWARE_TSBITRATE1 */ + {0xe31, 0xdc},/* REG_RL2A_DVBSX_HWARE_TSBITRATE0 */ + {0xe32, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPACKLEN1 */ + {0xe33, 0xed},/* REG_RL2A_DVBSX_HWARE_TSPACKLEN0 */ + {0xe34, 0x7f},/* REG_RL2A_DVBSX_HWARE_TSBLOCLEN1 */ + {0xe35, 0x44},/* REG_RL2A_DVBSX_HWARE_TSBLOCLEN0 */ + {0xe36, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY2 */ + {0xe37, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY1 */ + {0xe38, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY0 */ + {0xe39, 0x00},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT2 */ + {0xe3a, 0x01},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT1 */ + {0xe3b, 0x00},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT0 */ + {0xe3c, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNPDAV */ + {0xe3d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT2 */ + {0xe3e, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT1 */ + {0xe3f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT0 */ + {0xe40, 0x00},/* REG_RL2A_DVBSX_HWARE_TSXCROBS1 */ + {0xe41, 0x00},/* REG_RL2A_DVBSX_HWARE_TSXCROBS0 */ + {0xe42, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR272 */ + {0xe43, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR271 */ + {0xe44, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR270 */ + {0xe50, 0x48},/* REG_RL2A_DVBSX_HWARE_TSDEBUG1 */ + {0xe51, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDEBUG0 */ + {0xe52, 0x00},/* REG_RL2A_DVBSX_HWARE_TSOBSCFG */ + {0xe53, 0x47},/* REG_RL2A_DVBSX_HWARE_TSOBS1 */ + {0xe54, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSOBS0 */ + {0xe60, 0x35},/* REG_RL2A_DVBSX_HWARE_ERRCTRL1 */ + {0xe61, 0x80},/* REG_RL2A_DVBSX_HWARE_ERRCNT12 */ + {0xe62, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT11 */ + {0xe63, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT10 */ + {0xe64, 0xc1},/* REG_RL2A_DVBSX_HWARE_ERRCTRL2 */ + {0xe65, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT22 */ + {0xe66, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT21 */ + {0xe67, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT20 */ + {0xe70, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS1 */ + {0xe71, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS2 */ + {0xe72, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS3 */ + {0xe73, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS4 */ + {0xe74, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS5 */ + {0xe75, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS6 */ + {0xe76, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS7 */ + {0xe77, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTCPLP */ + {0xe80, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSCFG */ + {0xe81, 0x20},/* REG_RL2A_DVBSX_HWARE_TSRCSSTAT */ + {0xe82, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART5 */ + {0xe83, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART4 */ + {0xe84, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART3 */ + {0xe85, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART2 */ + {0xe86, 0x02},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART1 */ + {0xe87, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART0 */ + {0xe88, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND5 */ + {0xe89, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND4 */ + {0xe8a, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND3 */ + {0xe8b, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND2 */ + {0xe8c, 0x02},/* REG_RL2A_DVBSX_HWARE_TSRCSEND1 */ + {0xe8d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND0 */ + {0xe8f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSPRE */ + {0xe90, 0x66},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME5 */ + {0xe91, 0x0b},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME4 */ + {0xe92, 0x11},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME3 */ + {0xe93, 0xe2},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME2 */ + {0xe94, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME1 */ + {0xe95, 0xd9},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME0 */ + {0xec0, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDILSTK1 */ + {0xec1, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDILSTK0 */ + {0xec2, 0x46},/* REG_RL2A_DVBSX_HWARE_SFSTATUS */ + {0xec3, 0x80},/* REG_RL2A_DVBSX_HWARE_SFDLY2 */ + {0xec4, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLY1 */ + {0xec5, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLY0 */ + {0xec6, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLYSET2 */ + {0xec7, 0x6b},/* REG_RL2A_DVBSX_HWARE_SFDLYSET1 */ + {0xec8, 0x64},/* REG_RL2A_DVBSX_HWARE_SFDLYSET0 */ + {0xec9, 0x00},/* REG_RL2A_DVBSX_HWARE_SFOBSCFG */ + {0xeca, 0x47},/* REG_RL2A_DVBSX_HWARE_SFOBS1 */ + {0xecb, 0x05},/* REG_RL2A_DVBSX_HWARE_SFOBS0 */ + {0xecc, 0x30},/* REG_RL2A_DVBSX_HWARE_SFECINFO */ + {0xed0, 0x94},/* REG_RL2A_DVBSX_HWARE_SFERRCTRL */ + {0xed1, 0x80},/* REG_RL2A_DVBSX_HWARE_SFERRCNT2 */ + {0xed2, 0x00},/* REG_RL2A_DVBSX_HWARE_SFERRCNT1 */ + {0xed3, 0x00},/* REG_RL2A_DVBSX_HWARE_SFERRCNT0 */ + {0xed8, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF1 */ + {0xed9, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF2 */ + {0xeda, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF3 */ + {0xf00, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL0 */ + {0xf01, 0x20},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL1 */ + {0xf02, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL2 */ + {0xf03, 0x01},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL3 */ + {0xf04, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL4 */ + {0xf05, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBHCTRL1 */ + {0xf06, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBHCTRL2 */ + {0xf07, 0x41},/* REG_RL2A_DVBSX_PKTDELIN_HYSTTHRESH */ + {0xf08, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIENTRY */ + {0xf09, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIBITENA */ + {0xf0c, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELDBGM */ + {0xf0d, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELDBGL */ + {0xf10, 0xf0},/* REG_RL2A_DVBSX_PKTDELIN_MATCST1 */ + {0xf11, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_MATCST0 */ + {0xf12, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPLCST1 */ + {0xf13, 0x77},/* REG_RL2A_DVBSX_PKTDELIN_UPLCST0 */ + {0xf14, 0xff},/* REG_RL2A_DVBSX_PKTDELIN_DFLCST1 */ + {0xf15, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_DFLCST0 */ + {0xf16, 0x47},/* REG_RL2A_DVBSX_PKTDELIN_SYNCCST */ + {0xf17, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDCST1 */ + {0xf18, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDCST0 */ + {0xf20, 0xf0},/* REG_RL2A_DVBSX_PKTDELIN_MATSTR1 */ + {0xf21, 0xe0},/* REG_RL2A_DVBSX_PKTDELIN_MATSTR0 */ + {0xf22, 0x05},/* REG_RL2A_DVBSX_PKTDELIN_UPLSTR1 */ + {0xf23, 0x80},/* REG_RL2A_DVBSX_PKTDELIN_UPLSTR0 */ + {0xf24, 0x7d},/* REG_RL2A_DVBSX_PKTDELIN_DFLSTR1 */ + {0xf25, 0x80},/* REG_RL2A_DVBSX_PKTDELIN_DFLSTR0 */ + {0xf26, 0x47},/* REG_RL2A_DVBSX_PKTDELIN_SYNCSTR */ + {0xf27, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDSTR1 */ + {0xf28, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDSTR0 */ + {0xf29, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIMAXSTR */ + {0xf2a, 0xff},/* REG_RL2A_DVBSX_PKTDELIN_ISIMINSTR */ + {0xf30, 0x9c},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS1 */ + {0xf31, 0x10},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS2 */ + {0xf32, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS3 */ + {0xf34, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBFCRCKO1 */ + {0xf35, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBFCRCKO0 */ + {0xf36, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPCRCKO1 */ + {0xf37, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPCRCKO0 */ + {0xf3f, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_TPKTDELIN */ + {0xf80, 0x88},/* REG_RL2A_DVBSX_FECSPY_FECSPY */ + {0xf81, 0x2c},/* REG_RL2A_DVBSX_FECSPY_FSPYCFG */ + {0xf82, 0xba},/* REG_RL2A_DVBSX_FECSPY_FSPYDATA */ + {0xf83, 0x06},/* REG_RL2A_DVBSX_FECSPY_FSPYOUT */ + {0xf84, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYBER */ + {0xf85, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOPT */ + {0xf88, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATUS */ + {0xf89, 0x00},/* REG_RL2A_DVBSX_FECSPY_FGOODPACK */ + {0xf8a, 0xff},/* REG_RL2A_DVBSX_FECSPY_FPACKCNT */ + {0xf8b, 0xe9},/* REG_RL2A_DVBSX_FECSPY_FSPYMISC */ + {0xf8c, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATES1 */ + {0xf8d, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATES0 */ + {0xf90, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT4 */ + {0xf91, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT3 */ + {0xf92, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT2 */ + {0xf93, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT1 */ + {0xf94, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT0 */ + {0xf95, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR2 */ + {0xf96, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR1 */ + {0xf97, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR0 */ + {0xf98, 0x02},/* REG_RL2A_DVBSX_FECSPY_FSPYDIST1 */ + {0xf99, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYDIST0 */ + {0xf9a, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYPCR1 */ + {0xf9b, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYPCR0 */ + {0xf9c, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYNCR1 */ + {0xf9d, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYNCR0 */ + {0xfa0, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS7 */ + {0xfa1, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS6 */ + {0xfa2, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS5 */ + {0xfa3, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS4 */ + {0xfa4, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS3 */ + {0xfa5, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS2 */ + {0xfa6, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS1 */ + {0xfa7, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS0 */ + {0xfae, 0x10},/* REG_RL2A_DVBSX_FECSPY_NCRVDESCM */ + {0xfaf, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVDESCL */ + {0xfb0, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS3 */ + {0xfb1, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS2 */ + {0xfb2, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS1 */ + {0xfb3, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS0 */ + {0xfb4, 0x01},/* REG_RL2A_DVBSX_FECSPY_NCRVCFG */ + {0xfb5, 0x01},/* REG_RL2A_DVBSX_FECSPY_NCRVPID1 */ + {0xfb6, 0x80},/* REG_RL2A_DVBSX_FECSPY_NCRVPID0 */ + {0xfb7, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCFG2 */ + {0xfb8, 0x80},/* REG_RL2A_DVBSX_FECSPY_NCRVMAX1 */ + {0xfb9, 0xff},/* REG_RL2A_DVBSX_FECSPY_NCRVMAX0 */ + {0xfba, 0x7f},/* REG_RL2A_DVBSX_FECSPY_NCRVMIN1 */ + {0xfbb, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVMIN0 */ + {0xfbc, 0xff},/* REG_RL2A_DVBSX_FECSPY_NCRVABS1 */ + {0xfbd, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVABS0 */ + {0xfbe, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCPT1 */ + {0xfbf, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCPT0 */ + {0xffff, 0},/*table end*/ +}; + +#endif + /* protect register access */ static struct mutex mp; static struct mutex dtvpll_init_lock; @@ -633,6 +1788,7 @@ int clocks_set_sys_defaults(struct aml_dtvdemod *demod, unsigned int adc_clk) return sts_pll; } +#ifdef AML_DEMOD_SUPPORT_DTMB void dtmb_write_reg(unsigned int reg_addr, unsigned int reg_data) { if (!get_dtvpll_init_flag()) @@ -674,7 +1830,9 @@ void dtmb_write_reg_bits(u32 addr, const u32 data, const u32 start, const u32 le val |= (((data) & ((1L << (len)) - 1)) << (start)); dtmb_write_reg(addr, val); } +#endif +#if defined AML_DEMOD_SUPPORT_ISDBT || defined AML_DEMOD_SUPPORT_DVBT void dvbt_isdbt_wr_reg(unsigned int addr, unsigned int data) { if (!get_dtvpll_init_flag()) @@ -744,7 +1902,9 @@ unsigned int dvbt_isdbt_rd_reg_new(unsigned int addr) return tmp; } +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT void dvbt_t2_wrb(unsigned int addr, unsigned char data) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); @@ -838,7 +1998,9 @@ unsigned int riscv_ctl_read_reg(unsigned int addr) { return dvbt_t2_read_w(addr); } +#endif +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC void dvbs_wr_byte(unsigned int addr, unsigned char data) { if (!get_dtvpll_init_flag()) @@ -883,6 +2045,98 @@ void dvbs_write_bits(u32 reg_addr, const u32 reg_data, /*demod_mutex_unlock();*/ } +void demod_init_local(unsigned int symb_rate_kbs, unsigned int is_blind_scan) +{ + unsigned int reg = 0; +#ifdef AML_DEMOD_SUPPORT_DVBS + unsigned char data = 0; +#endif + struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); + + do { + if (l2a_def_val_local[reg].addr == 0xffff) + break; + + /* for wider frequency offset when low SR. */ + if (symb_rate_kbs < (SR_LOW_THRD / 1000) && !is_blind_scan && + l2a_def_val_local[reg].addr == 0x9b0) { + dvbs_wr_byte(0x9b0, 0x6); + } else if (is_blind_scan && l2a_def_val_local[reg].addr == AUTOSR_REG) { + dvbs_wr_byte(AUTOSR_REG, AUTOSR_OFF); + } else if (l2a_def_val_local[reg].addr == 0xe60) { + dvbs_wr_byte(0xe60, 0x75); + } else if (l2a_def_val_local[reg].addr == DVBS_REG_DISTXCFG) { +#ifdef AML_DEMOD_SUPPORT_DVBS + if (!devp->diseqc.tone_on) + data = l2a_def_val_local[reg].value | 0x2; + else + data = l2a_def_val_local[reg].value & (~0x3); + + if (devp->diseqc.lnbc.is_internal_tone) + data = data | 0x8; + + dvbs_wr_byte(DVBS_REG_DISTXCFG, data); +#endif + } else if (l2a_def_val_local[reg].addr == 0x913) { + dvbs_wr_byte(0x913, dvbs_agc_target); + } else if (l2a_def_val_local[reg].addr == DVBS_REG_DISTIMEOCFG && + devp->data->hw_ver == DTVDEMOD_HW_S1A) { +#ifdef AML_DEMOD_SUPPORT_DVBS + dvbs_wr_byte(DVBS_REG_DISTIMEOCFG, l2a_def_val_local[reg].value | + (diseqc_out_invert << 3)); +#endif + } else { + dvbs_wr_byte(l2a_def_val_local[reg].addr, + l2a_def_val_local[reg].value); + } + reg++; + } while (1); +} + +void dvbs2_reg_initial(unsigned int symb_rate_kbs, unsigned int is_blind_scan) +{ + unsigned int tmp = 0; + + /* BW/(1+ROLLOFF)=SYMBOLRATE */ + tmp = symb_rate_kbs * ((ALIGN_24 + ADC_CLK_135M / 2) / ADC_CLK_135M); + + dvbs_wr_byte(0x9fc, (tmp >> 16) & 0xff); + dvbs_wr_byte(0x9fd, (tmp >> 8) & 0xff); + dvbs_wr_byte(0x9fe, tmp & 0xff); + + dvbs_wr_byte(0x9f0, (tmp >> 16) & 0xff); + dvbs_wr_byte(0x9f1, (tmp >> 8) & 0xff); + dvbs_wr_byte(0x9f2, tmp & 0xff); + + PR_DVBS("reg initial is_blind_scan:%d\n", is_blind_scan); + demod_init_local(symb_rate_kbs, is_blind_scan); + + dvbs_wr_byte(0x110, 0x00); + dvbs_wr_byte(0x111, 0x00); + dvbs_wr_byte(0x130, 0x00); + dvbs_wr_byte(0x120, 0x04); +} + +#endif + +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B +unsigned int atsc_read_reg_v4(unsigned int addr) +{ + unsigned int tmp; + + if (!get_dtvpll_init_flag()) + return 0; + + demod_mutex_lock(); + + tmp = readl(gbase_atsc() + (addr << 2)); + + demod_mutex_unlock(); + + return tmp; +} +#endif + #ifndef CONFIG_AMLOGIC_ZAPPER_CUT void t3_revb_set_ambus_state(bool enable, bool is_t2) { @@ -1147,6 +2401,7 @@ int demod_set_sys(struct aml_dtvdemod *demod, struct aml_demod_sys *demod_sys) return 0; } +#ifdef AML_DEMOD_SUPPORT_J83B /*TL1*/ void set_j83b_filter_reg_v4(struct aml_dtvdemod *demod) { @@ -1168,6 +2423,7 @@ void set_j83b_filter_reg_v4(struct aml_dtvdemod *demod) qam_write_reg(demod, 0x4b, 0x3401cf0b); qam_write_reg(demod, 0x4c, 0x10d00a1); } +#endif void demod_set_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) { @@ -1190,10 +2446,12 @@ void demod_set_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) } switch (demod_reg->mode) { +#ifdef AML_DEMOD_SUPPORT_DTMB case REG_MODE_DTMB: dtmb_write_reg(demod_reg->addr, demod_reg->val); break; - +#endif +#ifdef AML_DEMOD_SUPPORT_ISDBT case REG_MODE_DVBT_ISDBT: if (demod_reg->access_mode == ACCESS_WORD) dvbt_isdbt_wr_reg_new(demod_reg->addr, demod_reg->val); @@ -1201,11 +2459,13 @@ void demod_set_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) dvbt_isdbt_wr_bits_new(demod_reg->addr, demod_reg->val, demod_reg->start_bit, demod_reg->bit_width); break; - +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT case REG_MODE_DVBT_T2: if (demod_reg->access_mode == ACCESS_BYTE) dvbt_t2_wrb(demod_reg->addr, demod_reg->val); break; +#endif #ifdef AML_DEMOD_SUPPORT_ATSC case REG_MODE_ATSC: if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) @@ -1217,11 +2477,11 @@ void demod_set_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) case REG_MODE_OTHERS: demod_set_cbus_reg(demod_reg->val, demod_reg->addr); break; - +#ifdef AML_DEMOD_SUPPORT_J83B case REG_MODE_DVBC_J83B: qam_write_reg(demod, demod_reg->addr, demod_reg->val); break; - +#endif case REG_MODE_FRONT: if (demod_reg->access_mode == ACCESS_BITS) front_write_bits(demod_reg->addr, demod_reg->val, @@ -1265,19 +2525,23 @@ void demod_get_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) demod_reg->addr = demod_reg->addr + gphybase_demod(); switch (demod_reg->mode) { +#ifdef AML_DEMOD_SUPPORT_DTMB case REG_MODE_DTMB: demod_reg->val = dtmb_read_reg(demod_reg->addr); break; - +#endif +#ifdef AML_DEMOD_SUPPORT_ISDBT case REG_MODE_DVBT_ISDBT: demod_reg->val = dvbt_isdbt_rd_reg_new(demod_reg->addr); break; - +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT case REG_MODE_DVBT_T2: if (demod_reg->access_mode == ACCESS_BYTE) demod_reg->val = dvbt_t2_rdb(demod_reg->addr); break; +#endif #ifdef AML_DEMOD_SUPPORT_ATSC case REG_MODE_ATSC: if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) @@ -1286,10 +2550,11 @@ void demod_get_reg(struct aml_dtvdemod *demod, struct aml_demod_reg *demod_reg) demod_reg->val = atsc_read_reg(demod_reg->addr); break; #endif +#ifdef AML_DEMOD_SUPPORT_J83B case REG_MODE_DVBC_J83B: demod_reg->val = qam_read_reg(demod, demod_reg->addr); break; - +#endif case REG_MODE_FRONT: demod_reg->val = front_read_reg(demod_reg->addr); break; @@ -1432,6 +2697,8 @@ void monitor_isdbt(void) } #endif +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC || \ + defined AML_DEMOD_SUPPORT_J83B /*dvbc_write_reg -> apb_write_reg in dvbc_func*/ /*dvbc_read_reg -> apb_read_reg in dvbc_func*/ #if 0 @@ -1466,6 +2733,7 @@ unsigned int dvbc_read_reg(unsigned int addr) return tmp; } #endif +#endif void demod_top_write_reg(unsigned int addr, unsigned int data) { @@ -1575,6 +2843,7 @@ unsigned int front_read_reg(unsigned int addr) } +#ifdef AML_DEMOD_SUPPORT_ISDBT void isdbt_write_reg_v4(unsigned int addr, unsigned int data) { demod_mutex_lock(); @@ -1598,7 +2867,9 @@ unsigned int isdbt_read_reg_v4(unsigned int addr) return tmp; } +#endif +#if defined AML_DEMOD_SUPPORT_DVBC || defined AML_DEMOD_SUPPORT_J83B /*dvbc v3:*/ void qam_write_reg(struct aml_dtvdemod *demod, unsigned int reg_addr, unsigned int reg_data) @@ -1666,6 +2937,7 @@ void qam_write_bits(struct aml_dtvdemod *demod, demod_mutex_unlock(); } +#endif int dd_hiu_reg_write(unsigned int reg, unsigned int val) { @@ -2621,17 +3893,7 @@ void demod_enable_frontend_agc(struct aml_dtvdemod *demod, } } -static int x_to_power_y(int number, unsigned int power) -{ - unsigned int i; - int result = 1; - - for (i = 0; i < power; i++) - result *= number; - - return result; -} - +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC void fe_l2a_set_symbol_rate(struct fe_l2a_internal_param *pparams, unsigned int symbol_rate) { //unsigned int reg_field2, reg_field1, reg_field0; @@ -2676,6 +3938,19 @@ void fe_l2a_set_symbol_rate(struct fe_l2a_internal_param *pparams, unsigned int tmp_f = tmp * 135 / 16777216; PR_DVBC(" after %s init 9f0 sr = %d %d Mbps\n", __func__, tmp, tmp_f); } +#endif + +#ifdef AML_DEMOD_SUPPORT_DVBC +static int x_to_power_y(int number, unsigned int power) +{ + unsigned int i; + int result = 1; + + for (i = 0; i < power; i++) + result *= number; + + return result; +} void fe_l2a_get_agc2accu(struct fe_l2a_internal_param *pparams, unsigned int *pintegrator) { @@ -2729,4 +4004,5 @@ void fe_l2a_get_agc2accu(struct fe_l2a_internal_param *pparams, unsigned int *pi PR_DVBC("Integrator is %d\n", *pintegrator); } } +#endif diff --git a/drivers/media/dtv_demod/dvbs/dvbs.c b/drivers/media/dtv_demod/dvbs/dvbs.c index dac353a2e..3bd9b13ca 100644 --- a/drivers/media/dtv_demod/dvbs/dvbs.c +++ b/drivers/media/dtv_demod/dvbs/dvbs.c @@ -10,10 +10,6 @@ static unsigned char dvbs_iq_swap; MODULE_PARM_DESC(dvbs_iq_swap, "\n\t\t dvbs IQ swap"); module_param(dvbs_iq_swap, byte, 0644); -static unsigned char dvbs_agc_target = 0x50; -MODULE_PARM_DESC(dvbs_agc_target, "\n\t\t dvbs agc target"); -module_param(dvbs_agc_target, byte, 0644); - static unsigned int blind_search_agc2bandwidth = BLIND_SEARCH_AGC2BANDWIDTH_60; MODULE_PARM_DESC(blind_search_agc2bandwidth, "\n\t\tblind_search_agc2bandwidth"); module_param(blind_search_agc2bandwidth, int, 0644); @@ -26,1153 +22,6 @@ static unsigned int blind_search_pow_th = BLIND_SEARCH_POW_TH2; MODULE_PARM_DESC(blind_search_pow_th, "\n\t\tblind_search_pow_th"); module_param(blind_search_pow_th, int, 0644); -static unsigned int diseqc_out_invert = 1; -MODULE_PARM_DESC(diseqc_out_invert, "\n\t\t diseqc out polarity invert"); -module_param(diseqc_out_invert, int, 0644); - -static struct stchip_register_t l2a_def_val_local[] = { - {0x200, 0x8c},/* REG_RL2A_DVBSX_FSK_FSKTFC2 */ - {0x201, 0x45},/* REG_RL2A_DVBSX_FSK_FSKTFC1 */ - {0x202, 0xc9},/* REG_RL2A_DVBSX_FSK_FSKTFC0 */ - {0x203, 0x01},/* REG_RL2A_DVBSX_FSK_FSKTDELTAF1 */ - {0x204, 0x37},/* REG_RL2A_DVBSX_FSK_FSKTDELTAF0 */ - {0x205, 0x08},/* REG_RL2A_DVBSX_FSK_FSKTCTRL */ - {0x206, 0x10},/* REG_RL2A_DVBSX_FSK_FSKRFC2 */ - {0x207, 0x45},/* REG_RL2A_DVBSX_FSK_FSKRFC1 */ - {0x208, 0xc9},/* REG_RL2A_DVBSX_FSK_FSKRFC0 */ - {0x209, 0x38},/* REG_RL2A_DVBSX_FSK_FSKRK1 */ - {0x20a, 0x71},/* REG_RL2A_DVBSX_FSK_FSKRK2 */ - {0x20b, 0x28},/* REG_RL2A_DVBSX_FSK_FSKRAGCR */ - {0x20c, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRAGC */ - {0x20d, 0x13},/* REG_RL2A_DVBSX_FSK_FSKRALPHA */ - {0x20e, 0x90},/* REG_RL2A_DVBSX_FSK_FSKRPLTH1 */ - {0x20f, 0xbe},/* REG_RL2A_DVBSX_FSK_FSKRPLTH0 */ - {0x210, 0x80},/* REG_RL2A_DVBSX_FSK_FSKRDF1 */ - {0x211, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDF0 */ - {0x212, 0x58},/* REG_RL2A_DVBSX_FSK_FSKRSTEPP */ - {0x213, 0x6f},/* REG_RL2A_DVBSX_FSK_FSKRSTEPM */ - {0x214, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDET1 */ - {0x215, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDET0 */ - {0x216, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDTH1 */ - {0x217, 0xe9},/* REG_RL2A_DVBSX_FSK_FSKRDTH0 */ - {0x218, 0x4d},/* REG_RL2A_DVBSX_FSK_FSKRLOSS */ - {0x219, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRLEAK */ - {0x21a, 0x2a},/* REG_RL2A_DVBSX_FSK_FSKRAGCTH */ - {0x21b, 0x16},/* REG_RL2A_DVBSX_FSK_FSKRFINIIR */ - {0x21c, 0x04},/* REG_RL2A_DVBSX_FSK_FSKRFBIT1 */ - {0x21d, 0xbc},/* REG_RL2A_DVBSX_FSK_FSKRFBIT0 */ - {0x21e, 0x3c},/* REG_RL2A_DVBSX_FSK_FSKRMINSTART */ - {0x21f, 0x8c},/* REG_RL2A_DVBSX_FSK_FSKRMAXSTART */ - {0x220, 0x1e},/* REG_RL2A_DVBSX_FSK_FSKRPEAKDIF */ - {0x221, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMINPK */ - {0x222, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMAXPK */ - {0x223, 0x0a},/* REG_RL2A_DVBSX_FSK_FSKRFWDWN */ - {0x224, 0x32},/* REG_RL2A_DVBSX_FSK_FSKRFWTH */ - {0x225, 0x50},/* REG_RL2A_DVBSX_FSK_FSKRINITDEV */ - {0x226, 0x37},/* REG_RL2A_DVBSX_FSK_FSKRMINDEV */ - {0x227, 0x78},/* REG_RL2A_DVBSX_FSK_FSKRMAXDEV */ - {0x228, 0x40},/* REG_RL2A_DVBSX_FSK_FSKRMAXTERR */ - {0x229, 0x28},/* REG_RL2A_DVBSX_FSK_FSKRKTMG */ - {0x22a, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRLOW */ - {0x22b, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRHIGH */ - {0x22c, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL3 */ - {0x22d, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL2 */ - {0x22e, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL1 */ - {0x22f, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRWORDVAL0 */ - {0x230, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK3 */ - {0x231, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK2 */ - {0x232, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK1 */ - {0x233, 0xff},/* REG_RL2A_DVBSX_FSK_FSKRWORDMSK0 */ - {0x234, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRDELAYLG */ - {0x235, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRSTOPLG */ - {0x236, 0x00},/* REG_RL2A_DVBSX_FSK_FSKRMESLG */ - {0x237, 0x80},/* REG_RL2A_DVBSX_FSK_FSKRCFG */ - /*{0x300, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISIRQCFG */ - /*{0x301, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISIRQSTAT */ - {0x302, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISTXCFG */ - /*{0x303, 0x20},*//* REG_RL2A_DVBSX_DISEQC_DISTXSTATUS */ - /*{0x304, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXBYTES */ - /*{0x305, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXFIFO */ - /*{0x306, 0xc0},*//* REG_RL2A_DVBSX_DISEQC_DISTXF22 */ - /*{0x307, 0x00},*//* REG_RL2A_DVBSX_DISEQC_DISTXWAIT */ - {0x308, 0x84},/* REG_RL2A_DVBSX_DISEQC_DISTIMEOCFG */ - {0x309, 0x8c},/* REG_RL2A_DVBSX_DISEQC_DISTIMEOUT */ - //{0x30a, 0x04},/* REG_RL2A_DVBSX_DISEQC_DISRXCFG */ - {0x30b, 0x04},/* REG_RL2A_DVBSX_DISEQC_DISRXSTAT1 */ - {0x30c, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXSTAT0 */ - {0x30d, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXBYTES */ - {0x30e, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXPARITY1 */ - {0x30f, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXPARITY0 */ - //{0x310, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXFIFO */ - {0x311, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXDC1 */ - {0x312, 0x00},/* REG_RL2A_DVBSX_DISEQC_DISRXDC0 */ - {0x313, 0x62},/* REG_RL2A_DVBSX_DISEQC_DISRXKOFF */ - {0x314, 0x01},/* REG_RL2A_DVBSX_DISEQC_DISRXF221 */ - //{0x315, 0x2b},/* REG_RL2A_DVBSX_DISEQC_DISRXF220 */ - //{0x316, 0xa9},/* REG_RL2A_DVBSX_DISEQC_DISRXF100 */ - {0x317, 0x31},/* REG_RL2A_DVBSX_DISEQC_DISRXK1 */ - {0x318, 0xb1},/* REG_RL2A_DVBSX_DISEQC_DISRXK2 */ - {0x319, 0xa8},/* REG_RL2A_DVBSX_DISEQC_DISRXPK */ - {0x31a, 0x46},/* REG_RL2A_DVBSX_DISEQC_DISRXENV */ - {0x31b, 0x0c},/* REG_RL2A_DVBSX_DISEQC_DISRXVMIN */ - {0x31c, 0x0f},/* REG_RL2A_DVBSX_DISEQC_DISRXSHORT22K */ - {0x31e, 0x01},/* REG_RL2A_DVBSX_DISEQC_ACRPRESC */ - {0x31f, 0x14},/* REG_RL2A_DVBSX_DISEQC_ACRDIV */ - {0x330, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISTBUS */ - {0x331, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISTSTCFG */ - {0x332, 0x55},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSEED */ - {0x333, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSCNT1 */ - {0x334, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISPRBSCNT0 */ - {0x335, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYERR1 */ - {0x336, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYERR0 */ - {0x337, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYCNT1 */ - {0x338, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXSPYCNT0 */ - {0x339, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXPEAKMEAN1 */ - {0x33a, 0x00},/* REG_RL2A_DVBSX_DISEQCTST_DISRXPEAKMEAN0 */ - {0x400, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF1 */ - {0x401, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF2 */ - {0x402, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF3 */ - {0x403, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF4 */ - {0x404, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF5 */ - {0x405, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF6 */ - {0x406, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF7 */ - {0x407, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF8 */ - {0x408, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF9 */ - {0x409, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF10 */ - {0x40a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF11 */ - {0x40b, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF12 */ - {0x40c, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF13 */ - {0x40d, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF14 */ - {0x40e, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF15 */ - {0x40f, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF16 */ - {0x410, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF17 */ - {0x411, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF18 */ - {0x412, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF19 */ - {0x413, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF20 */ - {0x414, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF21 */ - {0x415, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF22 */ - {0x416, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF23 */ - {0x417, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF24 */ - {0x418, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF25 */ - {0x419, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF26 */ - {0x41a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF27 */ - {0x41b, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF28 */ - {0x41c, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF1 */ - {0x41d, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF2 */ - {0x41e, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF3 */ - {0x41f, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF4 */ - {0x420, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF5 */ - {0x421, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF6 */ - {0x422, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF7 */ - {0x423, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF8 */ - {0x424, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF9 */ - {0x425, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF10 */ - {0x426, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF12 */ - {0x427, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF13 */ - {0x428, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF14 */ - {0x429, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF15 */ - {0x42a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF16 */ - {0x42b, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF18 */ - {0x42c, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF19 */ - {0x42d, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF20 */ - {0x42e, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF21 */ - {0x42f, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF22 */ - {0x430, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF24 */ - {0x431, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF25 */ - {0x432, 0x1d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF26 */ - {0x433, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF27 */ - {0x434, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF33_0 */ - {0x435, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF33_1 */ - {0x436, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF34_0 */ - {0x437, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF34_1 */ - {0x438, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF35_0 */ - {0x439, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF35_1 */ - {0x43a, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF36_0 */ - {0x43b, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF36_1 */ - {0x43c, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF37_0 */ - {0x43d, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF37_1 */ - {0x43e, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF38_0 */ - {0x43f, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF38_1 */ - {0x440, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF39_0 */ - {0x441, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF39_1 */ - {0x442, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF40_0 */ - {0x443, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF40_1 */ - {0x444, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF41_0 */ - {0x445, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF41_1 */ - {0x446, 0x17},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF42_0 */ - {0x447, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF42_1 */ - {0x448, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF43_0 */ - {0x449, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF43_1 */ - {0x44a, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF44_1 */ - {0x44b, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF45_0 */ - {0x44c, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF45_1 */ - {0x44d, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF46_0 */ - {0x44e, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF46_1 */ - {0x44f, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF47_1 */ - {0x450, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF48_1 */ - {0x451, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF49_1 */ - {0x452, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF50_0 */ - {0x453, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF50_1 */ - {0x454, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF51_0 */ - {0x455, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF51_1 */ - {0x456, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF52_0 */ - {0x457, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF52_1 */ - {0x458, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF53_0 */ - {0x459, 0x16},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_NF53_1 */ - {0x45a, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF54_0 */ - {0x45b, 0x19},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF54_1 */ - {0x45c, 0x1a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF55_0 */ - {0x45d, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF55_1 */ - {0x45e, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF56_0 */ - {0x45f, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF56_1 */ - {0x460, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF57_0 */ - {0x461, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF57_1 */ - {0x462, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF58_0 */ - {0x463, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF58_1 */ - {0x464, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF59_0 */ - {0x465, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF59_1 */ - {0x466, 0x15},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF60_0 */ - {0x467, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF60_1 */ - {0x468, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF61_0 */ - {0x469, 0x1b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF61_1 */ - {0x46a, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITER_SF62_0 */ - {0x470, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR13 */ - {0x471, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR12 */ - {0x472, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR11 */ - {0x473, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR10 */ - {0x474, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR9 */ - {0x475, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR8 */ - {0x476, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR7 */ - {0x477, 0x05},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR6 */ - {0x478, 0x5b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR5 */ - {0x479, 0x96},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR4 */ - {0x47a, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR3 */ - {0x47b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR2 */ - {0x47c, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR1 */ - {0x47d, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_SELSATUR0 */ - {0x480, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF1 */ - {0x481, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF2 */ - {0x482, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF3 */ - {0x483, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF4 */ - {0x484, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF5 */ - {0x485, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF6 */ - {0x486, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF7 */ - {0x487, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF8 */ - {0x488, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF9 */ - {0x489, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF10 */ - {0x48a, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF11 */ - {0x48b, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF12 */ - {0x48c, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF13 */ - {0x48d, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF14 */ - {0x48e, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF15 */ - {0x48f, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF16 */ - {0x490, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF17 */ - {0x491, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF18 */ - {0x492, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF19 */ - {0x493, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF20 */ - {0x494, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF21 */ - {0x495, 0x27},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF22 */ - {0x496, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF23 */ - {0x497, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF24 */ - {0x498, 0x50},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF25 */ - {0x499, 0x60},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF26 */ - {0x49a, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF27 */ - {0x49b, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF28 */ - {0x49c, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF1 */ - {0x49d, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF2 */ - {0x49e, 0x1E},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF3 */ - {0x49f, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF4 */ - {0x4a0, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF5 */ - {0x4a1, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF6 */ - {0x4a2, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF7 */ - {0x4a3, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF8 */ - {0x4a4, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF9 */ - {0x4a5, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF10 */ - {0x4a6, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF12 */ - {0x4a7, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF13 */ - {0x4a8, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF14 */ - {0x4a9, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF15 */ - {0x4aa, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF16 */ - {0x4ab, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF18 */ - {0x4ac, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF19 */ - {0x4ad, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF20 */ - {0x4ae, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF21 */ - {0x4af, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF22 */ - {0x4b0, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF24 */ - {0x4b1, 0x50},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF25 */ - {0x4b2, 0x60},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF26 */ - {0x4b3, 0x70},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF27 */ - {0x4b4, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF33_0 */ - {0x4b5, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF33_1 */ - {0x4b6, 0x1f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF34_0 */ - {0x4b7, 0x1D},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF34_1 */ - {0x4b8, 0x1E},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF35_0 */ - {0x4b9, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF35_1 */ - {0x4ba, 0x22},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF36_0 */ - {0x4bb, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF36_1 */ - {0x4bc, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF37_0 */ - {0x4bd, 0x1f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF37_1 */ - {0x4be, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF38_0 */ - {0x4bf, 0x1e},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF38_1 */ - {0x4c0, 0x21},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF39_0 */ - {0x4c1, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF39_1 */ - {0x4c2, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF40_0 */ - {0x4c3, 0x24},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF40_1 */ - {0x4c4, 0x2A},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF41_0 */ - {0x4c5, 0x25},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF41_1 */ - {0x4c6, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF42_0 */ - {0x4c7, 0x30},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF42_1 */ - {0x4c8, 0x40},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF43_0 */ - {0x4c9, 0x45},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF43_1 */ - {0x4ca, 0x53},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF44_1 */ - {0x4cb, 0x57},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF45_0 */ - {0x4cc, 0x62},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF45_1 */ - {0x4cd, 0x71},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF46_0 */ - {0x4ce, 0x76},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF46_1 */ - {0x4cf, 0x83},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF47_1 */ - {0x4d0, 0x84},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF48_1 */ - {0x4d1, 0x84},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF49_1 */ - {0x4d2, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF50_0 */ - {0x4d3, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF50_1 */ - {0x4d4, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF51_0 */ - {0x4d5, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF51_1 */ - {0x4d6, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF52_0 */ - {0x4d7, 0x36},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF52_1 */ - {0x4d8, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF53_0 */ - {0x4d9, 0x80},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_NF53_1 */ - {0x4da, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF54_0 */ - {0x4db, 0x13},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF54_1 */ - {0x4dc, 0x1a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF55_0 */ - {0x4dd, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF55_1 */ - {0x4de, 0x25},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF56_0 */ - {0x4df, 0x2B},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF56_1 */ - {0x4e0, 0x12},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF57_0 */ - {0x4e1, 0x18},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF57_1 */ - {0x4e2, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF58_0 */ - {0x4e3, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF58_1 */ - {0x4e4, 0x1A},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF59_0 */ - {0x4e5, 0x1C},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF59_1 */ - {0x4e6, 0x1D},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF60_0 */ - {0x4e7, 0x1F},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF60_1 */ - {0x4e8, 0x29},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF61_0 */ - {0x4e9, 0x3B},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF61_1 */ - {0x4ea, 0x41},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GAINLLR_SF62_0 */ - {0x4f0, 0x14},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_GENCFG */ - {0x4f1, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_CFGEXT */ - {0x4f2, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITERNOERR */ - {0x4f3, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_MODCOD */ - {0x4f4, 0x0c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_DIFFDIV */ - {0x4f5, 0x33},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBITERDIV */ - {0x4f6, 0x28},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER1 */ - {0x4f7, 0x86},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER2 */ - {0x4f8, 0x0a},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER3 */ - {0x4f9, 0x26},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBCYCLETRANSFER4 */ - {0x500, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER13 */ - {0x501, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER12 */ - {0x502, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER11 */ - {0x503, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER10 */ - {0x504, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER9 */ - {0x505, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER8 */ - {0x506, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER7 */ - {0x507, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER6 */ - {0x508, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER5 */ - {0x509, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER4 */ - {0x50a, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER3 */ - {0x50b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER2 */ - {0x50c, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER1 */ - {0x50d, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_INVDINTER0 */ - {0x510, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBFROVERFLOW */ - {0x511, 0x08},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBFR_CHECK */ - {0x520, 0x22},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_CONTROLLDPC */ - {0x521, 0x07},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_MAXEXTRAITER */ - {0x522, 0x08},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LGTHSTOPITER */ - {0x523, 0x20},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_NBLAYERSTOP */ - {0x524, 0x02},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_THSTOP */ - {0x525, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_FRACTSET */ - {0x560, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCERR1 */ - {0x561, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCERR0 */ - {0x562, 0x1c},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_BCHERR */ - {0x563, 0x05},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_STATUSITER */ - {0x564, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_STATUSMAXITER */ - {0x565, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCSYND */ - {0x566, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCDBGINIT */ - {0x567, 0x07},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL1 */ - {0x568, 0xb5},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL2 */ - {0x569, 0x2f},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL3 */ - {0x56a, 0xc4},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPRESYNDFAIL4 */ - {0x56b, 0x00},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL1 */ - {0x56c, 0x0b},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL2 */ - {0x56d, 0x6d},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL3 */ - {0x56e, 0xc4},/* REG_RL2A_L2SAT_SAT2A_DVBS2FEC_LDPCPOSTSYNDFAIL4 */ - {0x899, 0x3b},/* REG_RL2A_DVBSX_HWARE_GEN_RCDEBUG1 */ - {0x89a, 0x1b},/* REG_RL2A_DVBSX_HWARE_GEN_RCDEBUG0 */ - {0x8a0, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGENERAL */ - {0x8a1, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGENCFG2 */ - {0x8a2, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSGSTATUS */ - {0x8a3, 0x0c},/* REG_RL2A_DVBSX_HWARE_GEN_TSRSCFG */ - {0x8a4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_TSTTSRS */ - {0x8c0, 0x06},/* REG_RL2A_DVBSX_HWARE_GEN_GCTRL */ - {0x8c1, 0xc8},/* REG_RL2A_DVBSX_HWARE_GEN_FFTCTRL */ - {0x8c2, 0x0a},/* REG_RL2A_DVBSX_HWARE_GEN_FFT_ACC */ - {0x8c3, 0x04},/* REG_RL2A_DVBSX_HWARE_GEN_THRESHOLD */ - {0x8c4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_GAINCONT */ - {0x8c5, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_UPDCONT */ - {0x8c6, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_GSTAT */ - {0x8c7, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_EXPMAX */ - {0x8c8, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX1 */ - {0x8c9, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX0 */ - {0x8ca, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX2 */ - {0x8cb, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX1 */ - {0x8cc, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX0 */ - {0x8cd, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX21 */ - {0x8ce, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX20 */ - {0x8cf, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX22 */ - {0x8d0, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX21 */ - {0x8d1, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX20 */ - {0x8d2, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX31 */ - {0x8d3, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_BINMAX30 */ - {0x8d4, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX32 */ - {0x8d5, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX31 */ - {0x8d6, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_VALMAX30 */ - {0x8d7, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CPTACC */ - {0x8d8, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CTESTAT */ - {0x8da, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CFOEST1 */ - {0x8db, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_CFOEST0 */ - {0x8ec, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_DEBUG1 */ - {0x8ed, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_MEMADDR1 */ - {0x8ee, 0x00},/* REG_RL2A_DVBSX_HWARE_GEN_MEMADDR0 */ - {0x8ef, 0x01},/* REG_RL2A_DVBSX_HWARE_GEN_MEMSTAT */ - {0x8f0, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA01 */ - {0x8f1, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA00 */ - {0x8f2, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA11 */ - {0x8f3, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA10 */ - {0x8f4, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA21 */ - {0x8f5, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA20 */ - {0x8f6, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA31 */ - {0x8f7, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA30 */ - {0x8f8, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA41 */ - {0x8f9, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA40 */ - {0x8fa, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA51 */ - {0x8fb, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA50 */ - {0x8fc, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA61 */ - {0x8fd, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA60 */ - {0x8fe, 0xda},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA71 */ - {0x8ff, 0x12},/* REG_RL2A_DVBSX_HWARE_GEN_MEMVA70 */ - {0x900, 0x00},/* REG_RL2A_DVBSX_DEMOD_IQCONST */ - {0x901, 0x00},/* REG_RL2A_DVBSX_DEMOD_IQOPTION */ - {0x902, 0xe5},/* REG_RL2A_DVBSX_DEMOD_ISYMB */ - {0x903, 0xe0},/* REG_RL2A_DVBSX_DEMOD_QSYMB */ - {0x910, 0x54},/* REG_RL2A_DVBSX_DEMOD_AGC1CFG */ - {0x911, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1RFN */ - {0x912, 0x99},/* REG_RL2A_DVBSX_DEMOD_AGC1CN */ - /* change from 0x58 to 0x50 */ - {0x913, 0x50},/* REG_RL2A_DVBSX_DEMOD_AGC1REF */ - {0x914, 0xe2},/* REG_RL2A_DVBSX_DEMOD_AGC1IDCCOMP */ - {0x915, 0xf1},/* REG_RL2A_DVBSX_DEMOD_AGC1QDCCOMP */ - {0x916, 0x43},/* REG_RL2A_DVBSX_DEMOD_AGC1POWERI */ - {0x917, 0x34},/* REG_RL2A_DVBSX_DEMOD_AGC1POWERQ */ - {0x918, 0x0e},/* REG_RL2A_DVBSX_DEMOD_AGC1AMM */ - {0x919, 0x05},/* REG_RL2A_DVBSX_DEMOD_AGC1QUAD */ - {0x91a, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1IQIN1 */ - {0x91b, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1IQIN0 */ - {0x91c, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1SHDB */ - {0x91d, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC1OPT */ - {0x920, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMOD */ - /* REG_RL2A_DVBSX_DEMOD_DMDCFGMD, important dvbs/s2/s2x auto search */ - /* value changed from 0xcc to 0xdc, enable auto sr */ - {0x922, 0xcc}, /*0xdc to enable auto sr ,0xcc to disable autosr*/ - {0x923, 0x3b},/* REG_RL2A_DVBSX_DEMOD_DMDCFG2 */ - {0x924, 0x15},/* REG_RL2A_DVBSX_DEMOD_DMDISTATE */ - {0x925, 0x40},/* REG_RL2A_DVBSX_DEMOD_DMDT0M */ - {0x926, 0xc0},/* REG_RL2A_DVBSX_DEMOD_DMDT0L */ - {0x927, 0x99},/* REG_RL2A_DVBSX_DEMOD_DMDT1M */ - {0x928, 0xee},/* REG_RL2A_DVBSX_DEMOD_DMDT1L */ - {0x929, 0x08},/* REG_RL2A_DVBSX_DEMOD_DMDCFG3 */ - {0x92a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDCFG4 */ - {0x92b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDCFG5 */ - {0x930, 0x03},/* REG_RL2A_DVBSX_DEMOD_DMDMODCOD */ - {0x931, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDPLFNUM */ - {0x932, 0x09},/* REG_RL2A_DVBSX_DEMOD_DMDSTATE */ - {0x933, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDFLYW */ - {DSTATUS, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS */ - {0x935, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS2 */ - {0x936, 0x80},/* REG_RL2A_DVBSX_DEMOD_DSTATUS3 */ - {0x937, 0x60},/* REG_RL2A_DVBSX_DEMOD_DSTATUS4 */ - {0x938, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS5 */ - {0x939, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSTATUS6 */ - {0x93a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDERRORS */ - {0x940, 0x15},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG2 */ - {0x941, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG1 */ - {0x942, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG0 */ - {0x943, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSAMPDLY */ - {0x944, 0x00},/* REG_RL2A_DVBSX_DEMOD_DSYMBDLY */ - {0x948, 0x00},/* REG_RL2A_DVBSX_DEMOD_SHDBFIFO21 */ - {0x949, 0x00},/* REG_RL2A_DVBSX_DEMOD_SHDBFIFO20 */ - {0x94a, 0x21},/* REG_RL2A_DVBSX_DEMOD_SHDBPARAL */ - {0x950, 0x80},/* REG_RL2A_DVBSX_DEMOD_SLICEADR */ - {0x951, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICEDATA */ - {0x952, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICECFG */ - {0x953, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICENBR */ - {0x954, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB2 */ - {0x955, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB1 */ - {0x956, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESYMB0 */ - {0x957, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICERATIO */ - {0x958, 0x73},/* REG_RL2A_DVBSX_DEMOD_SLICESTAT */ - {0x959, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICEMAX */ - {0x95a, 0xff},/* REG_RL2A_DVBSX_DEMOD_SLICEMIN */ - {0x95b, 0x00},/* REG_RL2A_DVBSX_DEMOD_SLICESEL */ - {0x95c, 0x05},/* REG_RL2A_DVBSX_DEMOD_SLICEANC */ - {0x95d, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMODAUX */ - {0x95e, 0x00},/* REG_RL2A_DVBSX_DEMOD_HDEBITCFG4 */ - {0x970, 0x00},/* REG_RL2A_DVBSX_DEMOD_FILTCFGM */ - {0x971, 0x00},/* REG_RL2A_DVBSX_DEMOD_FILTCFGL */ - {0x972, 0x1e},/* REG_RL2A_DVBSX_DEMOD_IQFILT0 */ - {0x973, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT1 */ - {0x974, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT2 */ - {0x975, 0x40},/* REG_RL2A_DVBSX_DEMOD_IQFILT3 */ - /* REG_RL2A_DVBSX_DEMOD_CORRELMANT, 0x58 for tracking low CNR, 0x8C for acquisiton */ - {0x980, 0x8C}, - {0x981, 0x60},/* REG_RL2A_DVBSX_DEMOD_CORRELABS */ - {0x982, 0x40},/* REG_RL2A_DVBSX_DEMOD_CORRELABSM */ - {0x983, 0xaa},/* REG_RL2A_DVBSX_DEMOD_CORRELEXP */ - {0x984, 0x20},/* REG_RL2A_DVBSX_DEMOD_CORRELCOEF */ - {0x985, 0x01},/* REG_RL2A_DVBSX_DEMOD_CORRELCFG */ - {0x986, 0x70},/* REG_RL2A_DVBSX_DEMOD_CORRELFREQ */ - {0x987, 0x02},/* REG_RL2A_DVBSX_DEMOD_PLHMODCOD */ - {0x988, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDREG */ - {0x990, 0x5b},/* REG_RL2A_DVBSX_DEMOD_AGC2O */ - {0x991, 0x40},/* REG_RL2A_DVBSX_DEMOD_AGC2REF */ - {0x992, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGCNADJ */ - {0x993, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGCKS */ - {0x994, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCRSADJ */ - {0x995, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCRQ8ADJ */ - {0x996, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR1ADJ */ - {0x997, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR2ADJ */ - {0x998, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR3ADJ */ - {0x999, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR4ADJ */ - {0x99a, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR5ADJ */ - {0x99b, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR6ADJ */ - {0x99c, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR7ADJ */ - {0x99d, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR8ADJ */ - {0x99e, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGCR1BADJ */ - {0x99f, 0x38},/* REG_RL2A_DVBSX_DEMOD_AGC2ADJ */ - {0x9a0, 0x6e},/* REG_RL2A_DVBSX_DEMOD_AGC2I1 */ - {0x9a1, 0x04},/* REG_RL2A_DVBSX_DEMOD_AGC2I0 */ - {0x9a2, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC2IMP */ - {0x9a3, 0x58},/* REG_RL2A_DVBSX_DEMOD_AGC1ADJ */ - {0x9a4, 0x96},/* REG_RL2A_DVBSX_DEMOD_AGC2R10DB */ - {0x9a5, 0xb8},/* REG_RL2A_DVBSX_DEMOD_AGC2R20DB */ - {0x9a6, 0xc9},/* REG_RL2A_DVBSX_DEMOD_AGC2AMPL */ - {0x9a7, 0x00},/* REG_RL2A_DVBSX_DEMOD_AGC2VAR */ - {0x9a8, 0x80},/* REG_RL2A_DVBSX_DEMOD_AGC2RATIO */ - {0x9b0, 0xc6},/* REG_RL2A_DVBSX_DEMOD_CARCFG */ - {0x9b1, 0x2a},/* REG_RL2A_DVBSX_DEMOD_ACLCNLK */ - {0x9b2, 0x18},/* REG_RL2A_DVBSX_DEMOD_BCLCNLK */ - {0x9b3, 0x28},/* REG_RL2A_DVBSX_DEMOD_ACLCLK */ - {0x9b4, 0x18},/* REG_RL2A_DVBSX_DEMOD_BCLCLK */ - {0x9b5, 0x79},/* REG_RL2A_DVBSX_DEMOD_CARFREQ */ - {0x9b6, 0x04},/* REG_RL2A_DVBSX_DEMOD_CARHDR */ - {0x9b7, 0xd0},/* REG_RL2A_DVBSX_DEMOD_LDT */ - {0x9b8, 0xb8},/* REG_RL2A_DVBSX_DEMOD_LDT2 */ - {0x9b9, 0xf8},/* REG_RL2A_DVBSX_DEMOD_CFRICFG */ - {0x9ba, 0x67},/* REG_RL2A_DVBSX_DEMOD_CFR1BCFG */ - {0x9bb, 0xe9},/* REG_RL2A_DVBSX_DEMOD_CFRULB1 */ - {0x9bc, 0x7c},/* REG_RL2A_DVBSX_DEMOD_CFRULB0 */ - {0x9bd, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR2 */ - {0x9be, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR1 */ - {0x9bf, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRCNTR0 */ - {0x9c0, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE2 */ - {0x9c1, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE1 */ - {0x9c2, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFRIBASE0 */ - {0x9c3, 0xff},/* REG_RL2A_DVBSX_DEMOD_CFRINIT2 */ - {0x9c4, 0x33},/* REG_RL2A_DVBSX_DEMOD_CFRINIT1 */ - {0x9c5, 0x3c},/* REG_RL2A_DVBSX_DEMOD_CFRINIT0 */ - {0x9c6, 0x0c},/* REG_RL2A_DVBSX_DEMOD_CFRUP2 */ - {0x9c7, 0xcc},/* REG_RL2A_DVBSX_DEMOD_CFRUP1 */ - {0x9c8, 0x46},/* REG_RL2A_DVBSX_DEMOD_CFRUP0 */ - {0x9c9, 0xf3},/* REG_RL2A_DVBSX_DEMOD_CFRLOW2 */ - {0x9ca, 0x33},/* REG_RL2A_DVBSX_DEMOD_CFRLOW1 */ - {0x9cb, 0xba},/* REG_RL2A_DVBSX_DEMOD_CFRLOW0 */ - {0x9cc, 0x01},/* REG_RL2A_DVBSX_DEMOD_CFRINC2 */ - {0x9cd, 0x99},/* REG_RL2A_DVBSX_DEMOD_CFRINC1 */ - {0x9ce, 0x88},/* REG_RL2A_DVBSX_DEMOD_CFRINC0 */ - {0x9cf, 0xfc},/* REG_RL2A_DVBSX_DEMOD_CFR12 */ - {0x9d0, 0x70},/* REG_RL2A_DVBSX_DEMOD_CFR11 */ - {0x9d1, 0x8b},/* REG_RL2A_DVBSX_DEMOD_CFR10 */ - {0x9d2, 0xbb},/* REG_RL2A_DVBSX_DEMOD_LDI */ - {0x9d3, 0xfc},/* REG_RL2A_DVBSX_DEMOD_CFR1F2 */ - {0x9d4, 0x70},/* REG_RL2A_DVBSX_DEMOD_CFR1F1 */ - {0x9d5, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1F0 */ - {0x9d6, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1G */ - {0x9d7, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B2 */ - {0x9d8, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B1 */ - {0x9d9, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR1B0 */ - {0x9da, 0x98},/* REG_RL2A_DVBSX_DEMOD_GAUSSR0 */ - {0x9db, 0x30},/* REG_RL2A_DVBSX_DEMOD_CCIR0 */ - {0x9dc, 0xac},/* REG_RL2A_DVBSX_DEMOD_CCIQUANT */ - {0x9dd, 0x50},/* REG_RL2A_DVBSX_DEMOD_CCITHRES */ - {0x9de, 0x00},/* REG_RL2A_DVBSX_DEMOD_CCIACC */ - {0x9e0, 0xd3},/* REG_RL2A_DVBSX_DEMOD_TMGCFG */ - {0x9e1, 0x88},/* REG_RL2A_DVBSX_DEMOD_RTCNLK */ - {0x9e2, 0x33},/* REG_RL2A_DVBSX_DEMOD_RTCLK */ - {0x9e3, 0x20},/* REG_RL2A_DVBSX_DEMOD_TMGTHRISE */ - {0x9e4, 0x08},/* REG_RL2A_DVBSX_DEMOD_TMGTHFALL */ - {0x9e5, 0x30},/* REG_RL2A_DVBSX_DEMOD_SFRUPRATIO */ - {0x9e6, 0xf0},/* REG_RL2A_DVBSX_DEMOD_SFRLOWRATIO */ - {0x9e7, 0xa0},/* REG_RL2A_DVBSX_DEMOD_KTTMG */ - {0x9e8, 0xf5},/* REG_RL2A_DVBSX_DEMOD_KREFTMG */ - {0x9e9, 0x88},/* REG_RL2A_DVBSX_DEMOD_SFRSTEP */ - {0x9ea, 0x40},/* REG_RL2A_DVBSX_DEMOD_TMGCFG2 */ - {0x9eb, 0x50},/* REG_RL2A_DVBSX_DEMOD_KREFTMG2 */ - /* value changed from 0x6 to 0,enable auto sr upper and low */ - {0x9ec, 0x06},/* REG_RL2A_DVBSX_DEMOD_TMGCFG3 */ - {0x9ed, 0x91},/* REG_RL2A_DVBSX_DEMOD_TMGMTHRES */ - //{0x9f0, 0x19},/* REG_RL2A_DVBSX_DEMOD_SFRINIT2 */ - //{0x9f1, 0x98},/* REG_RL2A_DVBSX_DEMOD_SFRINIT1 */ - //{0x9f2, 0x8d},/* REG_RL2A_DVBSX_DEMOD_SFRINIT0 */ - - /* auto sr upper begin */ - {0x9f3, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP2 */ - {0x9f4, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP1 */ - {0x9f5, 0x55},/* REG_RL2A_DVBSX_DEMOD_SFRUP0 */ - /* auto sr upper end */ - - /* auto sr low begin */ - {0x9f6, 0x01},/* REG_RL2A_DVBSX_DEMOD_SFRLOW2 */ - {0x9f7, 0xe5},/* REG_RL2A_DVBSX_DEMOD_SFRLOW1 */ - {0x9f8, 0x73},/* REG_RL2A_DVBSX_DEMOD_SFRLOW0 */ - /* auto sr low end */ - - //{0x9fc, 0x19},/* REG_RL2A_DVBSX_DEMOD_SFR3 */ - //{0x9fd, 0x98},/* REG_RL2A_DVBSX_DEMOD_SFR2 */ - //{0x9fe, 0x8d},/* REG_RL2A_DVBSX_DEMOD_SFR1 */ - //{0x9ff, 0x00},/* REG_RL2A_DVBSX_DEMOD_SFR0 */ - {0xa00, 0xfd},/* REG_RL2A_DVBSX_DEMOD_TMGREG2 */ - {0xa01, 0x30},/* REG_RL2A_DVBSX_DEMOD_TMGREG1 */ - {0xa02, 0x08},/* REG_RL2A_DVBSX_DEMOD_TMGREG0 */ - {0xa03, 0x04},/* REG_RL2A_DVBSX_DEMOD_TMGLOCK1 */ - {0xa04, 0x24},/* REG_RL2A_DVBSX_DEMOD_TMGLOCK0 */ - {0xa05, 0x00},/* REG_RL2A_DVBSX_DEMOD_TMGOBS */ - {0xa06, 0x7f},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR2 */ - {0xa07, 0xff},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR1 */ - {0xa08, 0xff},/* REG_RL2A_DVBSX_DEMOD_DMDCODSFR0 */ - {0xa10, 0x41},/* REG_RL2A_DVBSX_DEMOD_DFECFG */ - {0xa11, 0x41},/* REG_RL2A_DVBSX_DEMOD_FFECFG */ - {0xa12, 0x00},/* REG_RL2A_DVBSX_DEMOD_XFECFG */ - {0xa13, 0x00},/* REG_RL2A_DVBSX_DEMOD_XFECFG2 */ - {0xa14, 0x00},/* REG_RL2A_DVBSX_DEMOD_PEGALCFG */ - {0xa15, 0x42},/* REG_RL2A_DVBSX_DEMOD_WDFECFG */ - {0xa16, 0x91},/* REG_RL2A_DVBSX_DEMOD_WDFERCFG */ - {0xa17, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMPOS */ - {0xa18, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMI */ - {0xa19, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFERAMQ */ - {0xa1a, 0x00},/* REG_RL2A_DVBSX_DEMOD_WDFEROBS */ - {0xa1b, 0x89},/* REG_RL2A_DVBSX_DEMOD_DFESTNBR */ - {0xa1c, 0x04},/* REG_RL2A_DVBSX_DEMOD_FFESTNBR */ - {0xa20, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI1 */ - {0xa21, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ1 */ - {0xa22, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI2 */ - {0xa23, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAQ2 */ - {0xa24, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAI3 */ - {0xa25, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ3 */ - {0xa26, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI4 */ - {0xa27, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ4 */ - {0xa28, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI5 */ - {0xa29, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ5 */ - {0xa2a, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI6 */ - {0xa2b, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ6 */ - {0xa2c, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI7 */ - {0xa2d, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ7 */ - {0xa2e, 0xff},/* REG_RL2A_DVBSX_DEMOD_EQUAI8 */ - {0xa2f, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAQ8 */ - {0xa30, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEI1 */ - {0xa31, 0xff},/* REG_RL2A_DVBSX_DEMOD_FFEQ1 */ - {0xa32, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEI2 */ - {0xa33, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEQ2 */ - {0xa34, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEI3 */ - {0xa35, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEQ3 */ - {0xa36, 0xff},/* REG_RL2A_DVBSX_DEMOD_FFEI4 */ - {0xa37, 0x01},/* REG_RL2A_DVBSX_DEMOD_FFEQ4 */ - {0xa38, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEI5 */ - {0xa39, 0x00},/* REG_RL2A_DVBSX_DEMOD_FFEQ5 */ - {0xa40, 0x01},/* REG_RL2A_DVBSX_DEMOD_EQUAI9 */ - {0xa41, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ9 */ - {0xa42, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI10 */ - {0xa43, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ10 */ - {0xa44, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI11 */ - {0xa45, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ11 */ - {0xa46, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI12 */ - {0xa47, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ12 */ - {0xa48, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI13 */ - {0xa49, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ13 */ - {0xa4a, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI14 */ - {0xa4b, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ14 */ - {0xa4c, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI15 */ - {0xa4d, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ15 */ - {0xa4e, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAI16 */ - {0xa4f, 0x00},/* REG_RL2A_DVBSX_DEMOD_EQUAQ16 */ - {0xa60, 0x06},/* REG_RL2A_DVBSX_DEMOD_CAR2CFG */ - {0xa61, 0x23},/* REG_RL2A_DVBSX_DEMOD_CFR2CFR1 */ - {0xa62, 0xc0},/* REG_RL2A_DVBSX_DEMOD_CAR3CFG */ - {0xa63, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR22 */ - {0xa64, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR21 */ - {0xa65, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR20 */ - {0xa68, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S1 */ - {0xa69, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2Q */ - {0xa6a, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S28 */ - {0xa6b, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S216A */ - {0xa6c, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S232A */ - {0xa6d, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S264A */ - {0xa6e, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2128A */ - {0xa6f, 0x48},/* REG_RL2A_DVBSX_DEMOD_ACLC2S2256A */ - {0xa70, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S1 */ - {0xa71, 0xc6},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2Q */ - {0xa72, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S28 */ - {0xa73, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S216A */ - {0xa74, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S232A */ - {0xa75, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S264A */ - {0xa76, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2128A */ - {0xa77, 0xc8},/* REG_RL2A_DVBSX_DEMOD_BCLC2S2256A */ - {0xa84, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2MAX1 */ - {0xa85, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2MAX0 */ - {0xa86, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2FR1 */ - {0xa87, 0x00},/* REG_RL2A_DVBSX_DEMOD_NCO2FR0 */ - {0xa88, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR2AVRGE1 */ - {0xa89, 0x00},/* REG_RL2A_DVBSX_DEMOD_CFR2AVRGE0 */ - {0xa8a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DPILOTMAX1 */ - {0xa8b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DPILOTMAX0 */ - {0xa98, 0x3f},/* REG_RL2A_DVBSX_DEMOD_NOSCFG */ - {0xa99, 0x00},/* REG_RL2A_DVBSX_DEMOD_NOSCFGF1 */ - {0xa9a, 0x00},/* REG_RL2A_DVBSX_DEMOD_NOSCFGF2 */ - {0xaa0, 0x25},/* REG_RL2A_DVBSX_DEMOD_NNOSDATAT1 */ - {0xaa1, 0xcf},/* REG_RL2A_DVBSX_DEMOD_NNOSDATAT0 */ - {0xaa2, 0x17},/* REG_RL2A_DVBSX_DEMOD_NNOSDATA1 */ - {0xaa3, 0xb9},/* REG_RL2A_DVBSX_DEMOD_NNOSDATA0 */ - {0xaa4, 0x24},/* REG_RL2A_DVBSX_DEMOD_NNOSPLHT1 */ - {0xaa5, 0xa6},/* REG_RL2A_DVBSX_DEMOD_NNOSPLHT0 */ - {0xaa6, 0x1b},/* REG_RL2A_DVBSX_DEMOD_NNOSPLH1 */ - {0xaa7, 0xf8},/* REG_RL2A_DVBSX_DEMOD_NNOSPLH0 */ - {0xaa8, 0x22},/* REG_RL2A_DVBSX_DEMOD_NOSDATAT1 */ - {0xaa9, 0x0c},/* REG_RL2A_DVBSX_DEMOD_NOSDATAT0 */ - {0xaaa, 0x1b},/* REG_RL2A_DVBSX_DEMOD_NNOSFRAME1 */ - {0xaab, 0x00},/* REG_RL2A_DVBSX_DEMOD_NNOSFRAME0 */ - {0xaac, 0x00},/* REG_RL2A_DVBSX_DEMOD_NNOSRAD1 */ - {0xaad, 0x7f},/* REG_RL2A_DVBSX_DEMOD_NNOSRAD0 */ - {0xaae, 0x1e},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCNR1 */ - {0xaaf, 0x86},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCNR0 */ - {0xac0, 0x60},/* REG_RL2A_DVBSX_DEMOD_NOSTHRES1 */ - {0xac1, 0x69},/* REG_RL2A_DVBSX_DEMOD_NOSTHRES2 */ - {0xac2, 0xd3},/* REG_RL2A_DVBSX_DEMOD_NOSDIFF1 */ - {0xac3, 0x35},/* REG_RL2A_DVBSX_DEMOD_RAINFADE */ - {0xac4, 0x28},/* REG_RL2A_DVBSX_DEMOD_NOSRAMCFG */ - {0xac5, 0x14},/* REG_RL2A_DVBSX_DEMOD_NOSRAMPOS */ - {0xac6, 0x09},/* REG_RL2A_DVBSX_DEMOD_NOSRAMVAL */ - {0xad0, 0x80},/* REG_RL2A_DVBSX_DEMOD_SOFCODE3 */ - {0xad1, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE2 */ - {0xad2, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE1 */ - {0xad3, 0x00},/* REG_RL2A_DVBSX_DEMOD_SOFCODE0 */ - {0xad4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB7 */ - {0xad5, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB6 */ - {0xad6, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB5 */ - {0xad7, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB4 */ - {0xad8, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB3 */ - {0xad9, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB2 */ - {0xada, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB1 */ - {0xadb, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSSCRAMB0 */ - {0xadc, 0x70},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMBB */ - {0xadd, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMBA */ - {0xade, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB9 */ - {0xadf, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB8 */ - {0xae0, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB7 */ - {0xae1, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB6 */ - {0xae2, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB5 */ - {0xae3, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB4 */ - {0xae4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB3 */ - {0xae5, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB2 */ - {0xae6, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB1 */ - {0xae7, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLSMSCRAMB0 */ - {0xaec, 0x24},/* REG_RL2A_DVBSX_DEMOD_PLROOT2 */ - {0xaed, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLROOT1 */ - {0xaee, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLROOT0 */ - {0xb00, 0xff},/* REG_RL2A_DVBSX_DEMOD_MODCODLST0 */ - {0xb01, 0xcc},/* REG_RL2A_DVBSX_DEMOD_MODCODLST1 */ - {0xb02, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST2 */ - {0xb03, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST3 */ - {0xb04, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST4 */ - {0xb05, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST5 */ - {0xb06, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST6 */ - {0xb07, 0xc0},/* REG_RL2A_DVBSX_DEMOD_MODCODLST7 */ - {0xb08, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST8 */ - {0xb09, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLST9 */ - {0xb0a, 0xc0},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTA */ - {0xb0b, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTB */ - {0xb0c, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTC */ - {0xb0d, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTD */ - {0xb0e, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTE */ - {0xb0f, 0x0f},/* REG_RL2A_DVBSX_DEMOD_MODCODLSTF */ - {0xb10, 0xfc},/* REG_RL2A_DVBSX_DEMOD_MODCODLS10 */ - {0xb11, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS11 */ - {0xb12, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS12 */ - {0xb13, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS13 */ - {0xb14, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS14 */ - {0xb15, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS15 */ - {0xb16, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS16 */ - {0xb17, 0x33},/* REG_RL2A_DVBSX_DEMOD_MODCODLS17 */ - {0xb18, 0x30},/* REG_RL2A_DVBSX_DEMOD_MODCODLS18 */ - {0xb19, 0x03},/* REG_RL2A_DVBSX_DEMOD_MODCODLS19 */ - {0xb1a, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1A */ - {0xb1b, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1B */ - {0xb1c, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1C */ - {0xb1d, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1D */ - {0xb1e, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1E */ - {0xb1f, 0x0f},/* REG_RL2A_DVBSX_DEMOD_MODCODLS1F */ - {0xb20, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH3 */ - {0xb21, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH2 */ - {0xb22, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCH1 */ - {0xb23, 0x00},/* REG_RL2A_DVBSX_DEMOD_MODCODCHM */ - {0xb24, 0x01},/* REG_RL2A_DVBSX_DEMOD_DMDRESCFG */ - {0xb25, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESADR */ - {0xb26, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA7 */ - {0xb27, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA6 */ - {0xb28, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA5 */ - {0xb29, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA4 */ - {0xb2a, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA3 */ - {0xb2b, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA2 */ - {0xb2c, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA1 */ - {0xb2d, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA0 */ - {0xb2e, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA8 */ - {0xb2f, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDRESDATA9 */ - {0xb30, 0x00},/* REG_RL2A_DVBSX_DEMOD_TNRCFG */ - {0xb31, 0x02},/* REG_RL2A_DVBSX_DEMOD_TNRCFG2 */ - {0xb80, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF7 */ - {0xb81, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF6 */ - {0xb82, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF5 */ - {0xb83, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF4 */ - {0xb84, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF3 */ - {0xb85, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF2 */ - {0xb86, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF1 */ - {0xb87, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEF0 */ - {0xb88, 0x00},/* REG_RL2A_DVBSX_DEMOD_SDEMAP */ - {0xb89, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM2 */ - {0xb8a, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM1 */ - {0xb8b, 0x00},/* REG_RL2A_DVBSX_DEMOD_SMAPCOEFM0 */ - {0xba0, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS5 */ - {0xba1, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS4 */ - {0xba2, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS3 */ - {0xba3, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS2 */ - {0xba4, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS1 */ - {0xba5, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBS0 */ - {0xba6, 0x00},/* REG_RL2A_DVBSX_DEMOD_LLROBSCFG */ - {0xbb0, 0xf3},/* REG_RL2A_DVBSX_DEMOD_DMDPLHSTAT */ - {0xbb1, 0x20},/* REG_RL2A_DVBSX_DEMOD_DMDSELOBS */ - {0xbb2, 0x00},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME3 */ - {0xbb3, 0x8d},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME2 */ - {0xbb4, 0x20},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME1 */ - {0xbb5, 0x1c},/* REG_RL2A_DVBSX_DEMOD_LOCKTIME0 */ - {0xbc0, 0x04},/* REG_RL2A_DVBSX_DEMOD_CALCFG */ - {0xbc1, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALADDR */ - {0xbc2, 0x09},/* REG_RL2A_DVBSX_DEMOD_CALSTART */ - {0xbc3, 0x3f},/* REG_RL2A_DVBSX_DEMOD_CALMASK */ - {0xbc4, 0x0e},/* REG_RL2A_DVBSX_DEMOD_CALSTOP */ - {0xbc5, 0x1f},/* REG_RL2A_DVBSX_DEMOD_CALOBS */ - {0xbc6, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRESINC */ - {0xbc7, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRESDEC */ - {0xbc8, 0x00},/* REG_RL2A_DVBSX_DEMOD_CALRLIST */ - {0xbe0, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHCCMP1 */ - {0xbe1, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHCCMP0 */ - {0xbe2, 0x0f},/* REG_RL2A_DVBSX_DEMOD_DMDTIMER */ - {0xbe3, 0x00},/* REG_RL2A_DVBSX_DEMOD_DMDATTEMPT */ - {0xbe4, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLFHEADER1 */ - {0xbe5, 0xbb},/* REG_RL2A_DVBSX_DEMOD_PLFHEADER0 */ - {0xbe6, 0xff},/* REG_RL2A_DVBSX_DEMOD_PLHSFRDIFF1 */ - {0xbe7, 0x40},/* REG_RL2A_DVBSX_DEMOD_PLHSFRDIFF0 */ - {0xbe8, 0x0c},/* REG_RL2A_DVBSX_DEMOD_PLHRCMP1 */ - {0xbe9, 0x3e},/* REG_RL2A_DVBSX_DEMOD_PLHRCMP0 */ - {0xbea, 0x06},/* REG_RL2A_DVBSX_DEMOD_PLHRECORD1 */ - {0xbeb, 0xf4},/* REG_RL2A_DVBSX_DEMOD_PLHRECORD0 */ - {0xbec, 0x07},/* REG_RL2A_DVBSX_DEMOD_PLHRECNCO1 */ - {0xbed, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHRECNCO0 */ - {0xbee, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDELTAF1 */ - {0xbef, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDELTAF0 */ - {0xc00, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP5 */ - {0xc01, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP4 */ - {0xc02, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP3 */ - {0xc03, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP2 */ - {0xc04, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP1 */ - {0xc05, 0x00},/* REG_RL2A_DVBSX_DEMOD_PHERRCMP0 */ - {0xc06, 0x00},/* REG_RL2A_DVBSX_DEMOD_PLHDEBUG */ - {0xcc0, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTDMD */ - {0xcc1, 0x00},/* REG_RL2A_DVBSX_DEMOD_TPOLY */ - {0xcc2, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTR */ - {0xcc3, 0x00},/* REG_RL2A_DVBSX_DEMOD_TAGC2 */ - {0xcc4, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL1 */ - {0xcc5, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL2 */ - {0xcc6, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL3 */ - {0xcc8, 0x00},/* REG_RL2A_DVBSX_DEMOD_TCTL4 */ - {0xcc9, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTCAR3 */ - {0xcca, 0x00},/* REG_RL2A_DVBSX_DEMOD_TSTHDEBIT */ - {0xcf0, 0x00},/* REG_RL2A_DVBSX_DEMOD_DEMODEND */ - {0xd00, 0x38},/* REG_RL2A_DVBSX_VITERBI_SIGPOWER */ - {0xd01, 0x32},/* REG_RL2A_DVBSX_VITERBI_DEMAPVIT */ - {0xd02, 0x00},/* REG_RL2A_DVBSX_VITERBI_VITSCALE */ - {0xd03, 0x10},/* REG_RL2A_DVBSX_VITERBI_FECM */ - {0xd04, 0xd7},/* REG_RL2A_DVBSX_VITERBI_VTH12 */ - {0xd05, 0x85},/* REG_RL2A_DVBSX_VITERBI_VTH23 */ - {0xd06, 0x58},/* REG_RL2A_DVBSX_VITERBI_VTH34 */ - {0xd07, 0x3a},/* REG_RL2A_DVBSX_VITERBI_VTH56 */ - {0xd08, 0x34},/* REG_RL2A_DVBSX_VITERBI_VTH67 */ - {0xd09, 0x28},/* REG_RL2A_DVBSX_VITERBI_VTH78 */ - {0xd0a, 0xbf},/* REG_RL2A_DVBSX_VITERBI_PRVIT */ - {0xd0b, 0x00},/* REG_RL2A_DVBSX_VITERBI_VAVSRVIT */ - {0xd10, 0x32},/* REG_RL2A_DVBSX_VITERBI_VITCURPUN */ - {0xd11, 0x00},/* REG_RL2A_DVBSX_VITERBI_VERROR */ - {0xd12, 0x7f},/* REG_RL2A_DVBSX_VITERBI_VITCNR */ - {0xd13, 0x85},/* REG_RL2A_DVBSX_VITERBI_VTHINUSE */ - {0xd14, 0x24},/* REG_RL2A_DVBSX_VITERBI_VSTATUSVIT */ - {0xd18, 0x27},/* REG_RL2A_DVBSX_VITERBI_KDIV12 */ - {0xd19, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV23 */ - {0xd1a, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV34 */ - {0xd1b, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV56 */ - {0xd1c, 0x32},/* REG_RL2A_DVBSX_VITERBI_KDIV67 */ - {0xd1d, 0x50},/* REG_RL2A_DVBSX_VITERBI_KDIV78 */ - {0xd20, 0x00},/* REG_RL2A_DVBSX_VITERBI_SELOUT */ - {0xd21, 0x00},/* REG_RL2A_DVBSX_VITERBI_TSYNC */ - {0xd22, 0x00},/* REG_RL2A_DVBSX_VITERBI_TSTERR */ - {0xd80, 0xb0},/* REG_RL2A_DVBSX_SUPERFEC_SFAVSR */ - {0xd81, 0x22},/* REG_RL2A_DVBSX_SUPERFEC_SFDEMAP */ - {0xd82, 0xcc},/* REG_RL2A_DVBSX_SUPERFEC_SFERROR */ - {0xd83, 0x14},/* REG_RL2A_DVBSX_SUPERFEC_SFECCNR */ - {0xd84, 0x1f},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV12 */ - {0xd85, 0x22},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV23 */ - {0xd86, 0x24},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV34 */ - {0xd87, 0x24},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV56 */ - {0xd88, 0x29},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV67 */ - {0xd89, 0x2c},/* REG_RL2A_DVBSX_SUPERFEC_SFKDIV78 */ - {0xd8a, 0x08},/* REG_RL2A_DVBSX_SUPERFEC_SFECSTATUS */ - {0xd8d, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSTSFMET */ - {0xd8e, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSFSYNC */ - {0xd8f, 0x00},/* REG_RL2A_DVBSX_SUPERFEC_TSTSFERR */ - {0xe00, 0xf0},/* REG_RL2A_DVBSX_HWARE_TSSTATE1 */ - {0xe01, 0x12},/* REG_RL2A_DVBSX_HWARE_TSSTATE0 */ - {0xe02, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG2 */ - {0xe03, 0x04},/* REG_RL2A_DVBSX_HWARE_TSCFG1 */ - /* change value from 0x20 to 0xa0 to support CI+ card */ - {0xe04, 0x20},/* REG_RL2A_DVBSX_HWARE_TSCFG0 */ - {0xe05, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSYNC */ - {0xe06, 0x03},/* REG_RL2A_DVBSX_HWARE_TSDIVN */ - {0xe07, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG4 */ - {0xe08, 0x00},/* REG_RL2A_DVBSX_HWARE_TSHEMCFG */ - {0xe09, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCPLPCFG */ - {0xe0a, 0x80},/* REG_RL2A_DVBSX_HWARE_TSPCRCFG */ - {0xe0b, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSPCRPID1 */ - {0xe0c, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCRPID0 */ - {0xe0d, 0x84},/* REG_RL2A_DVBSX_HWARE_TSNCRCFG */ - {0xe0e, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSNCRPID1 */ - {0xe0f, 0xff},/* REG_RL2A_DVBSX_HWARE_TSNCRPID0 */ - {0xe10, 0xe0},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ2 */ - {0xe11, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ1 */ - {0xe12, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNCRADJ0 */ - {0xe13, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTM */ - {0xe14, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTL */ - {0xe15, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTC */ - {0xe16, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLYSET2 */ - {0xe17, 0x93},/* REG_RL2A_DVBSX_HWARE_TSDLYSET1 */ - {0xe18, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLYSET0 */ - {0xe19, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELH */ - {0xe1a, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELM */ - {0xe1b, 0x00},/* REG_RL2A_DVBSX_HWARE_TSINSDELL */ - {0xe1c, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG5 */ - {0xe1d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSCFG6 */ - {0xe1e, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPIDFLTD */ - {0xe1f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSAMPDLY */ - {0xe20, 0xff},/* REG_RL2A_DVBSX_HWARE_TSMINSPEED */ - {0xe21, 0x04},/* REG_RL2A_DVBSX_HWARE_TSMAXSPEED */ - {0xe22, 0xff},/* REG_RL2A_DVBSX_HWARE_TSSPEED */ - {0xe24, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDILSTK1 */ - {0xe25, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDILSTK0 */ - {0xe26, 0x52},/* REG_RL2A_DVBSX_HWARE_TSSTATUS */ - {0xe27, 0x28},/* REG_RL2A_DVBSX_HWARE_TSSTATUS2 */ - {0xe28, 0x00},/* REG_RL2A_DVBSX_HWARE_TSSTATUS3 */ - {0xe29, 0x0f},/* REG_RL2A_DVBSX_HWARE_TSMODCOD1 */ - {0xe2a, 0x10},/* REG_RL2A_DVBSX_HWARE_TSMODCOD0 */ - {0xe30, 0x0c},/* REG_RL2A_DVBSX_HWARE_TSBITRATE1 */ - {0xe31, 0xdc},/* REG_RL2A_DVBSX_HWARE_TSBITRATE0 */ - {0xe32, 0x00},/* REG_RL2A_DVBSX_HWARE_TSPACKLEN1 */ - {0xe33, 0xed},/* REG_RL2A_DVBSX_HWARE_TSPACKLEN0 */ - {0xe34, 0x7f},/* REG_RL2A_DVBSX_HWARE_TSBLOCLEN1 */ - {0xe35, 0x44},/* REG_RL2A_DVBSX_HWARE_TSBLOCLEN0 */ - {0xe36, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY2 */ - {0xe37, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY1 */ - {0xe38, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDLY0 */ - {0xe39, 0x00},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT2 */ - {0xe3a, 0x01},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT1 */ - {0xe3b, 0x00},/* REG_RL2A_DVBSX_HWARE_ISCRUNIT0 */ - {0xe3c, 0x00},/* REG_RL2A_DVBSX_HWARE_TSNPDAV */ - {0xe3d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT2 */ - {0xe3e, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT1 */ - {0xe3f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSBUFSTAT0 */ - {0xe40, 0x00},/* REG_RL2A_DVBSX_HWARE_TSXCROBS1 */ - {0xe41, 0x00},/* REG_RL2A_DVBSX_HWARE_TSXCROBS0 */ - {0xe42, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR272 */ - {0xe43, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR271 */ - {0xe44, 0xff},/* REG_RL2A_DVBSX_HWARE_TSPCR270 */ - {0xe50, 0x48},/* REG_RL2A_DVBSX_HWARE_TSDEBUG1 */ - {0xe51, 0x00},/* REG_RL2A_DVBSX_HWARE_TSDEBUG0 */ - {0xe52, 0x00},/* REG_RL2A_DVBSX_HWARE_TSOBSCFG */ - {0xe53, 0x47},/* REG_RL2A_DVBSX_HWARE_TSOBS1 */ - {0xe54, 0x1f},/* REG_RL2A_DVBSX_HWARE_TSOBS0 */ - {0xe60, 0x35},/* REG_RL2A_DVBSX_HWARE_ERRCTRL1 */ - {0xe61, 0x80},/* REG_RL2A_DVBSX_HWARE_ERRCNT12 */ - {0xe62, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT11 */ - {0xe63, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT10 */ - {0xe64, 0xc1},/* REG_RL2A_DVBSX_HWARE_ERRCTRL2 */ - {0xe65, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT22 */ - {0xe66, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT21 */ - {0xe67, 0x00},/* REG_RL2A_DVBSX_HWARE_ERRCNT20 */ - {0xe70, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS1 */ - {0xe71, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS2 */ - {0xe72, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS3 */ - {0xe73, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS4 */ - {0xe74, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS5 */ - {0xe75, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS6 */ - {0xe76, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTS7 */ - {0xe77, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTCPLP */ - {0xe80, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSCFG */ - {0xe81, 0x20},/* REG_RL2A_DVBSX_HWARE_TSRCSSTAT */ - {0xe82, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART5 */ - {0xe83, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART4 */ - {0xe84, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART3 */ - {0xe85, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART2 */ - {0xe86, 0x02},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART1 */ - {0xe87, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSSTART0 */ - {0xe88, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND5 */ - {0xe89, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND4 */ - {0xe8a, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND3 */ - {0xe8b, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND2 */ - {0xe8c, 0x02},/* REG_RL2A_DVBSX_HWARE_TSRCSEND1 */ - {0xe8d, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSEND0 */ - {0xe8f, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSPRE */ - {0xe90, 0x66},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME5 */ - {0xe91, 0x0b},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME4 */ - {0xe92, 0x11},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME3 */ - {0xe93, 0xe2},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME2 */ - {0xe94, 0x00},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME1 */ - {0xe95, 0xd9},/* REG_RL2A_DVBSX_HWARE_TSRCSTIME0 */ - {0xec0, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDILSTK1 */ - {0xec1, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDILSTK0 */ - {0xec2, 0x46},/* REG_RL2A_DVBSX_HWARE_SFSTATUS */ - {0xec3, 0x80},/* REG_RL2A_DVBSX_HWARE_SFDLY2 */ - {0xec4, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLY1 */ - {0xec5, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLY0 */ - {0xec6, 0x00},/* REG_RL2A_DVBSX_HWARE_SFDLYSET2 */ - {0xec7, 0x6b},/* REG_RL2A_DVBSX_HWARE_SFDLYSET1 */ - {0xec8, 0x64},/* REG_RL2A_DVBSX_HWARE_SFDLYSET0 */ - {0xec9, 0x00},/* REG_RL2A_DVBSX_HWARE_SFOBSCFG */ - {0xeca, 0x47},/* REG_RL2A_DVBSX_HWARE_SFOBS1 */ - {0xecb, 0x05},/* REG_RL2A_DVBSX_HWARE_SFOBS0 */ - {0xecc, 0x30},/* REG_RL2A_DVBSX_HWARE_SFECINFO */ - {0xed0, 0x94},/* REG_RL2A_DVBSX_HWARE_SFERRCTRL */ - {0xed1, 0x80},/* REG_RL2A_DVBSX_HWARE_SFERRCNT2 */ - {0xed2, 0x00},/* REG_RL2A_DVBSX_HWARE_SFERRCNT1 */ - {0xed3, 0x00},/* REG_RL2A_DVBSX_HWARE_SFERRCNT0 */ - {0xed8, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF1 */ - {0xed9, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF2 */ - {0xeda, 0x00},/* REG_RL2A_DVBSX_HWARE_TSTTSSF3 */ - {0xf00, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL0 */ - {0xf01, 0x20},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL1 */ - {0xf02, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL2 */ - {0xf03, 0x01},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL3 */ - {0xf04, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELCTRL4 */ - {0xf05, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBHCTRL1 */ - {0xf06, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBHCTRL2 */ - {0xf07, 0x41},/* REG_RL2A_DVBSX_PKTDELIN_HYSTTHRESH */ - {0xf08, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIENTRY */ - {0xf09, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIBITENA */ - {0xf0c, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELDBGM */ - {0xf0d, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELDBGL */ - {0xf10, 0xf0},/* REG_RL2A_DVBSX_PKTDELIN_MATCST1 */ - {0xf11, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_MATCST0 */ - {0xf12, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPLCST1 */ - {0xf13, 0x77},/* REG_RL2A_DVBSX_PKTDELIN_UPLCST0 */ - {0xf14, 0xff},/* REG_RL2A_DVBSX_PKTDELIN_DFLCST1 */ - {0xf15, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_DFLCST0 */ - {0xf16, 0x47},/* REG_RL2A_DVBSX_PKTDELIN_SYNCCST */ - {0xf17, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDCST1 */ - {0xf18, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDCST0 */ - {0xf20, 0xf0},/* REG_RL2A_DVBSX_PKTDELIN_MATSTR1 */ - {0xf21, 0xe0},/* REG_RL2A_DVBSX_PKTDELIN_MATSTR0 */ - {0xf22, 0x05},/* REG_RL2A_DVBSX_PKTDELIN_UPLSTR1 */ - {0xf23, 0x80},/* REG_RL2A_DVBSX_PKTDELIN_UPLSTR0 */ - {0xf24, 0x7d},/* REG_RL2A_DVBSX_PKTDELIN_DFLSTR1 */ - {0xf25, 0x80},/* REG_RL2A_DVBSX_PKTDELIN_DFLSTR0 */ - {0xf26, 0x47},/* REG_RL2A_DVBSX_PKTDELIN_SYNCSTR */ - {0xf27, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDSTR1 */ - {0xf28, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_SYNCDSTR0 */ - {0xf29, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_ISIMAXSTR */ - {0xf2a, 0xff},/* REG_RL2A_DVBSX_PKTDELIN_ISIMINSTR */ - {0xf30, 0x9c},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS1 */ - {0xf31, 0x10},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS2 */ - {0xf32, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_PDELSTATUS3 */ - {0xf34, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBFCRCKO1 */ - {0xf35, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_BBFCRCKO0 */ - {0xf36, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPCRCKO1 */ - {0xf37, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_UPCRCKO0 */ - {0xf3f, 0x00},/* REG_RL2A_DVBSX_PKTDELIN_TPKTDELIN */ - {0xf80, 0x88},/* REG_RL2A_DVBSX_FECSPY_FECSPY */ - {0xf81, 0x2c},/* REG_RL2A_DVBSX_FECSPY_FSPYCFG */ - {0xf82, 0xba},/* REG_RL2A_DVBSX_FECSPY_FSPYDATA */ - {0xf83, 0x06},/* REG_RL2A_DVBSX_FECSPY_FSPYOUT */ - {0xf84, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYBER */ - {0xf85, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOPT */ - {0xf88, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATUS */ - {0xf89, 0x00},/* REG_RL2A_DVBSX_FECSPY_FGOODPACK */ - {0xf8a, 0xff},/* REG_RL2A_DVBSX_FECSPY_FPACKCNT */ - {0xf8b, 0xe9},/* REG_RL2A_DVBSX_FECSPY_FSPYMISC */ - {0xf8c, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATES1 */ - {0xf8d, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSTATES0 */ - {0xf90, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT4 */ - {0xf91, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT3 */ - {0xf92, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT2 */ - {0xf93, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT1 */ - {0xf94, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERCPT0 */ - {0xf95, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR2 */ - {0xf96, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR1 */ - {0xf97, 0x00},/* REG_RL2A_DVBSX_FECSPY_FBERERR0 */ - {0xf98, 0x02},/* REG_RL2A_DVBSX_FECSPY_FSPYDIST1 */ - {0xf99, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYDIST0 */ - {0xf9a, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYPCR1 */ - {0xf9b, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYPCR0 */ - {0xf9c, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYNCR1 */ - {0xf9d, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYNCR0 */ - {0xfa0, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS7 */ - {0xfa1, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS6 */ - {0xfa2, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS5 */ - {0xfa3, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS4 */ - {0xfa4, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS3 */ - {0xfa5, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS2 */ - {0xfa6, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS1 */ - {0xfa7, 0x00},/* REG_RL2A_DVBSX_FECSPY_FSPYOBS0 */ - {0xfae, 0x10},/* REG_RL2A_DVBSX_FECSPY_NCRVDESCM */ - {0xfaf, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVDESCL */ - {0xfb0, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS3 */ - {0xfb1, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS2 */ - {0xfb2, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS1 */ - {0xfb3, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVOBS0 */ - {0xfb4, 0x01},/* REG_RL2A_DVBSX_FECSPY_NCRVCFG */ - {0xfb5, 0x01},/* REG_RL2A_DVBSX_FECSPY_NCRVPID1 */ - {0xfb6, 0x80},/* REG_RL2A_DVBSX_FECSPY_NCRVPID0 */ - {0xfb7, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCFG2 */ - {0xfb8, 0x80},/* REG_RL2A_DVBSX_FECSPY_NCRVMAX1 */ - {0xfb9, 0xff},/* REG_RL2A_DVBSX_FECSPY_NCRVMAX0 */ - {0xfba, 0x7f},/* REG_RL2A_DVBSX_FECSPY_NCRVMIN1 */ - {0xfbb, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVMIN0 */ - {0xfbc, 0xff},/* REG_RL2A_DVBSX_FECSPY_NCRVABS1 */ - {0xfbd, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVABS0 */ - {0xfbe, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCPT1 */ - {0xfbf, 0x00},/* REG_RL2A_DVBSX_FECSPY_NCRVCPT0 */ - {0xffff, 0},/*table end*/ -}; - static struct fe_lla_lookup_t fe_l2a_s1_cn_lookup = { 161, //size { @@ -1270,72 +119,6 @@ static struct fe_lla_lookup_t fe_l2a_s2_cn_lookup = { } }; -void demod_init_local(unsigned int symb_rate_kbs, unsigned int is_blind_scan) -{ - unsigned int reg = 0; - unsigned char data = 0; - struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); - - do { - if (l2a_def_val_local[reg].addr == 0xffff) - break; - - /* for wider frequency offset when low SR. */ - if (symb_rate_kbs < (SR_LOW_THRD / 1000) && !is_blind_scan && - l2a_def_val_local[reg].addr == 0x9b0) { - dvbs_wr_byte(0x9b0, 0x6); - } else if (is_blind_scan && l2a_def_val_local[reg].addr == AUTOSR_REG) { - dvbs_wr_byte(AUTOSR_REG, AUTOSR_OFF); - } else if (l2a_def_val_local[reg].addr == 0xe60) { - dvbs_wr_byte(0xe60, 0x75); - } else if (l2a_def_val_local[reg].addr == DVBS_REG_DISTXCFG) { - if (!devp->diseqc.tone_on) - data = l2a_def_val_local[reg].value | 0x2; - else - data = l2a_def_val_local[reg].value & (~0x3); - - if (devp->diseqc.lnbc.is_internal_tone) - data = data | 0x8; - - dvbs_wr_byte(DVBS_REG_DISTXCFG, data); - } else if (l2a_def_val_local[reg].addr == 0x913) { - dvbs_wr_byte(0x913, dvbs_agc_target); - } else if (l2a_def_val_local[reg].addr == DVBS_REG_DISTIMEOCFG && - devp->data->hw_ver == DTVDEMOD_HW_S1A) { - dvbs_wr_byte(DVBS_REG_DISTIMEOCFG, l2a_def_val_local[reg].value | - (diseqc_out_invert << 3)); - } else { - dvbs_wr_byte(l2a_def_val_local[reg].addr, - l2a_def_val_local[reg].value); - } - reg++; - } while (1); -} - -void dvbs2_reg_initial(unsigned int symb_rate_kbs, unsigned int is_blind_scan) -{ - unsigned int tmp = 0; - - /* BW/(1+ROLLOFF)=SYMBOLRATE */ - tmp = symb_rate_kbs * ((ALIGN_24 + ADC_CLK_135M / 2) / ADC_CLK_135M); - - dvbs_wr_byte(0x9fc, (tmp >> 16) & 0xff); - dvbs_wr_byte(0x9fd, (tmp >> 8) & 0xff); - dvbs_wr_byte(0x9fe, tmp & 0xff); - - dvbs_wr_byte(0x9f0, (tmp >> 16) & 0xff); - dvbs_wr_byte(0x9f1, (tmp >> 8) & 0xff); - dvbs_wr_byte(0x9f2, tmp & 0xff); - - PR_DVBS("reg initial is_blind_scan:%d\n", is_blind_scan); - demod_init_local(symb_rate_kbs, is_blind_scan); - - dvbs_wr_byte(0x110, 0x00); - dvbs_wr_byte(0x111, 0x00); - dvbs_wr_byte(0x130, 0x00); - dvbs_wr_byte(0x120, 0x04); -} - unsigned int dvbs2_diseqc_irq_check(void) { unsigned int diseq_irq_flag; diff --git a/drivers/media/dtv_demod/dvbs/dvbs.h b/drivers/media/dtv_demod/dvbs/dvbs.h index a3d608140..5913ed18f 100644 --- a/drivers/media/dtv_demod/dvbs/dvbs.h +++ b/drivers/media/dtv_demod/dvbs/dvbs.h @@ -6,8 +6,7 @@ #ifndef __DVBS_FUNC_H__ #define __DVBS_FUNC_H__ #include -#define ALIGN_24 16777216 -#define SR_LOW_THRD 11000000 + #define BLIND_SEARCH_AGC2BANDWIDTH_40 (40) #define BLIND_SEARCH_AGC2BANDWIDTH_60 (60) @@ -19,10 +18,11 @@ #define CNR_HIGH 0xcae #define CNR_LOW 0xcad -#define AUTOSR_REG 0x922 -#define AUTOSR_OFF 0xcc + #define AUTOSR_ON 0xdc +extern unsigned int diseqc_out_invert; + enum diseq_irq_flag { DISEQ_IRQGAPBURST = 0x01, DISEQ_IRQFIFO64B = 0x02, @@ -109,13 +109,12 @@ struct fft_total_result { #define DVBS_REG_DISIRQCFG 0x300 #define DVBS_REG_DISIRQSTAT 0x301 -#define DVBS_REG_DISTXCFG 0x302 + #define DVBS_REG_DISTXSTATUS 0x303 #define DVBS_REG_DISTXBYTES 0x304 #define DVBS_REG_DISTXFIFO 0x305 #define DVBS_REG_DISTXF22 0x306 #define DVBS_REG_DISTXWAIT 0x307 -#define DVBS_REG_DISTIMEOCFG 0x308 #define DVBS_REG_DISTIMEOUT 0x309 #define DVBS_REG_DISRXCFG 0x30A #define DVBS_REG_DISRXSTAT1 0x30B @@ -141,8 +140,6 @@ struct fft_total_result { #define DVBS_REG_DSQADCINCFG 0x121 -#define DSTATUS 0x934 - /* carrier offset */ #define CFR12 0x9cf #define CFR11 0x9d0 diff --git a/drivers/media/dtv_demod/dvbs/dvbs_diseqc.c b/drivers/media/dtv_demod/dvbs/dvbs_diseqc.c index de60779b2..8f70c067c 100644 --- a/drivers/media/dtv_demod/dvbs/dvbs_diseqc.c +++ b/drivers/media/dtv_demod/dvbs/dvbs_diseqc.c @@ -25,8 +25,12 @@ #include "demod_func.h" #include "dvbs.h" #include "dvbs_diseqc.h" +#ifdef AML_DVBS_SUPPORT_GPIO_LNBC #include "gpio_lnbc.h" +#endif +#ifdef AML_DVBS_SUPPORT_I2C_LNBC #include "wt20_1811.h" +#endif #ifdef DISEQC_SAR_ADC_RX #include "meson_saradc.h" #endif @@ -581,11 +585,15 @@ void aml_diseqc_attach(struct device *dev, struct dvb_frontend *fe) { struct aml_dtvdemod *demod = (struct aml_dtvdemod *)fe->demodulator_priv; struct amldtvdemod_device_s *devp = (struct amldtvdemod_device_s *)demod->priv; +#ifdef AML_DVBS_SUPPORT_GPIO_LNBC struct gpio_desc *gpio_en = NULL, *gpio_sel = NULL; +#endif +#ifdef AML_DVBS_SUPPORT_I2C_LNBC struct device_node *node = NULL; struct i2c_adapter *i2c_adap = NULL; unsigned char i2c_addr = 0; u32 value = 0; +#endif int ret = 0; struct aml_diseqc *diseqc = &devp->diseqc; @@ -619,6 +627,7 @@ void aml_diseqc_attach(struct device *dev, struct dvb_frontend *fe) } if (!strcmp(diseqc->name, "wt20_1811")) { +#ifdef AML_DVBS_SUPPORT_I2C_LNBC node = of_parse_phandle(dev->of_node, "lnbc_i2c_adap", 0); if (!IS_ERR_OR_NULL(node)) { i2c_adap = of_find_i2c_adapter_by_node(node); @@ -640,7 +649,9 @@ void aml_diseqc_attach(struct device *dev, struct dvb_frontend *fe) if (diseqc->lnbc.init) diseqc->lnbc.init(&diseqc->lnbc); +#endif } else { +#ifdef AML_DVBS_SUPPORT_GPIO_LNBC gpio_en = devm_gpiod_get(dev, "lnb_en", GPIOD_OUT_LOW); if (IS_ERR_OR_NULL(gpio_en)) { gpio_en = NULL; @@ -657,6 +668,7 @@ void aml_diseqc_attach(struct device *dev, struct dvb_frontend *fe) if (diseqc->lnbc.init) diseqc->lnbc.init(&diseqc->lnbc); +#endif } dvbs2_diseqc_init(); diff --git a/drivers/media/dtv_demod/include/acf_filter_coefficient.h b/drivers/media/dtv_demod/include/acf_filter_coefficient.h index 3726940c2..5557fe917 100644 --- a/drivers/media/dtv_demod/include/acf_filter_coefficient.h +++ b/drivers/media/dtv_demod/include/acf_filter_coefficient.h @@ -2,7 +2,7 @@ /* * Copyright (c) 2021 Amlogic, Inc. All rights reserved. */ - +#if defined AML_DEMOD_SUPPORT_ISDBT || defined AML_DEMOD_SUPPORT_DVBT void program_acf(int acf1[20], int acf2[33]) { int i; @@ -398,3 +398,5 @@ void ini_acf_iireq_src_207m_5m(void) program_acf(acf1, acf2); } +#endif + diff --git a/drivers/media/dtv_demod/include/amlfrontend.h b/drivers/media/dtv_demod/include/amlfrontend.h index e83a811ba..292e65e77 100644 --- a/drivers/media/dtv_demod/include/amlfrontend.h +++ b/drivers/media/dtv_demod/include/amlfrontend.h @@ -146,6 +146,7 @@ /* V3.5.019 fix dvbt lock failed in weak signal */ /* V3.5.020 fix pm runtime error */ /* V3.5.021 optimize the ddr size of cma(max 40M reduced to 16M) */ +/* V3.5.022 delsys code isolation */ /****************************************************/ /****************************************************************/ /* AMLDTVDEMOD_VER Description: */ @@ -163,27 +164,47 @@ /****************************************************************/ #define KERNEL_4_9_EN 1 #define AMLDTVDEMOD_VER "V3.5.21" -#define DTVDEMOD_VER "2023/11/14: optimize the ddr size of cma(max 40M reduced to 16M)" +#define DTVDEMOD_VER "2023/11/15: delsys code isolation" #define AMLDTVDEMOD_T2_FW_VER "20231019_141000" #define DEMOD_DEVICE_NAME "dtvdemod" +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B #define THRD_TUNER_STRENGTH_ATSC (-87) -#define THRD_TUNER_STRENGTH_J83 (-76) -/* tested on BTC, sensitivity of demod is -100dBm */ -#define THRD_TUNER_STRENGTH_DVBT (-101) -#define THRD_TUNER_STRENGTH_DVBS (-79) -#define THRD_TUNER_STRENGTH_DTMB (-100) -#define THRD_TUNER_STRENGTH_DVBC (-87) -#define THRD_TUNER_STRENGTH_ISDBT (-90) - #define TIMEOUT_ATSC 3000 #define TIMEOUT_ATSC_STD 1500 +#endif + +#ifdef AML_DEMOD_SUPPORT_J83B +#define THRD_TUNER_STRENGTH_J83 (-76) +#endif + +#ifdef AML_DEMOD_SUPPORT_DVBT +/* tested on BTC, sensitivity of demod is -100dBm */ +#define THRD_TUNER_STRENGTH_DVBT (-101) #define TIMEOUT_DVBT 3000 -#define TIMEOUT_DVBS 2000 -#define TIMEOUT_DVBC 3000 #define TIMEOUT_DVBT2 5000 -#define TIMEOUT_DDR_LEAVE 50 +#endif + +#ifdef AML_DEMOD_SUPPORT_DVBS +#define THRD_TUNER_STRENGTH_DVBS (-79) +#define TIMEOUT_DVBS 2000 +#endif + +#ifdef AML_DEMOD_SUPPORT_DTMB +#define THRD_TUNER_STRENGTH_DTMB (-100) +#endif + +#ifdef AML_DEMOD_SUPPORT_DVBC +#define THRD_TUNER_STRENGTH_DVBC (-87) +#define TIMEOUT_DVBC 3000 +#endif + +#ifdef AML_DEMOD_SUPPORT_ISDBT +#define THRD_TUNER_STRENGTH_ISDBT (-90) #define TIMEOUT_ISDBT 3000 +#endif + +#define TIMEOUT_DDR_LEAVE 50 enum qam_md_e { QAM_MODE_16, @@ -363,12 +384,6 @@ struct aml_dtvdemod { struct dvb_frontend frontend; - /* only for tm2,first time of pwr on,reset after signal locked begin */ - unsigned int atsc_rst_needed; - unsigned int atsc_rst_done; - unsigned int atsc_rst_wait_cnt; - /* only for tm2,first time of pwr on,reset after signal locked end */ - unsigned int symbol_rate_manu; unsigned int sr_val_hw; unsigned int sr_val_hw_stable; @@ -382,12 +397,18 @@ struct aml_dtvdemod { enum fe_modulation atsc_mode; struct aml_demod_para para_demod; unsigned int timeout_atsc_ms; +#ifdef AML_DEMOD_SUPPORT_DVBT unsigned int timeout_dvbt_ms; +#endif +#ifdef AML_DEMOD_SUPPORT_DVBS unsigned int timeout_dvbs_ms; +#endif unsigned int time_start; unsigned int time_passed; enum fe_status last_status; +#ifdef AML_DEMOD_SUPPORT_DVBC unsigned int timeout_dvbc_ms; +#endif int autoflags; int auto_flags_trig; unsigned int p1_peak; @@ -536,20 +557,26 @@ int convert_snr(int in_snr); struct amldtvdemod_device_s *dtvdemod_get_dev(void); +#if defined AML_DEMOD_SUPPORT_ISDBT || defined AML_DEMOD_SUPPORT_DVBT static inline void __iomem *gbase_dvbt_isdbt(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_dvbt_isdbt; } +#endif +#ifdef AML_DEMOD_SUPPORT_DVBT static inline void __iomem *gbase_dvbt_t2(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_dvbt_t2; } +#endif +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC || \ + defined AML_DEMOD_SUPPORT_J83B static inline void __iomem *gbase_dvbs(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); @@ -570,20 +597,34 @@ static inline void __iomem *gbase_dvbc_2(void) return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_dvbc_2; } +#endif +#ifdef AML_DEMOD_SUPPORT_DTMB static inline void __iomem *gbase_dtmb(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_dtmb; } +#endif +#if defined AML_DEMOD_SUPPORT_ATSC || defined AML_DEMOD_SUPPORT_J83B static inline void __iomem *gbase_atsc(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_atsc; } +#endif + +#ifdef AML_DEMOD_SUPPORT_ISDBT +static inline void __iomem *gbase_isdbt(void) +{ + struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); + + return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_isdbt; +} +#endif static inline void __iomem *gbase_demod(void) { @@ -592,13 +633,6 @@ static inline void __iomem *gbase_demod(void) return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_demod_top; } -static inline void __iomem *gbase_isdbt(void) -{ - struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); - - return devp->reg_v[ES_MAP_ADDR_DEMOD].v + devp->data->regoff.off_isdbt; -} - static inline void __iomem *gbase_front(void) { struct amldtvdemod_device_s *devp = dtvdemod_get_dev(); diff --git a/drivers/media/dtv_demod/include/demod_func.h b/drivers/media/dtv_demod/include/demod_func.h index 79a5e6061..594b30d79 100644 --- a/drivers/media/dtv_demod/include/demod_func.h +++ b/drivers/media/dtv_demod/include/demod_func.h @@ -35,6 +35,17 @@ #include "fpga_func.h" #endif +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC + +#define DSTATUS 0x934 +#define SR_LOW_THRD 11000000 +#define AUTOSR_REG 0x922 +#define DVBS_REG_DISTXCFG 0x302 +#define AUTOSR_OFF 0xcc +#define DVBS_REG_DISTIMEOCFG 0x308 + +#endif + #define PWR_ON 1 #define PWR_OFF 0 @@ -58,6 +69,7 @@ #define AO_RTI_GEN_PWR_ISO0 ((0x00 << 10) | (0x3b << 2)) /*----------------------------------*/ +#define ALIGN_24 16777216 /* demod register */ #define DEMOD_TOP_REG0 (0x00) @@ -1026,6 +1038,8 @@ void calculate_cordic_para(void); /*extern int aml_fe_analog_set_frontend(struct dvb_frontend *fe);*/ int get_dtvpll_init_flag(void); void demod_set_mode_ts(struct aml_dtvdemod *demod, enum fe_delivery_system delsys); + +#if defined AML_DEMOD_SUPPORT_J83B || defined AML_DEMOD_SUPPORT_DVBC void qam_write_reg(struct aml_dtvdemod *demod, unsigned int reg_addr, unsigned int reg_data); unsigned int qam_read_reg(struct aml_dtvdemod *demod, unsigned int reg_addr); @@ -1034,6 +1048,8 @@ void qam_write_bits(struct aml_dtvdemod *demod, const u32 start, const u32 len); void dvbc_write_reg(unsigned int addr, unsigned int data); unsigned int dvbc_read_reg(unsigned int addr); +#endif + void demod_top_write_reg(unsigned int addr, unsigned int data); void demod_top_write_bits(u32 reg_addr, const u32 reg_data, const u32 start, const u32 len); unsigned int demod_top_read_reg(unsigned int addr); @@ -1061,12 +1077,16 @@ unsigned int demod_get_adc_clk(struct aml_dtvdemod *demod); unsigned int demod_get_sys_clk(struct aml_dtvdemod *demod); /*register access api new*/ +#if defined AML_DEMOD_SUPPORT_ISDBT || defined AML_DEMOD_SUPPORT_DVBT void dvbt_isdbt_wr_reg(unsigned int addr, unsigned int data); void dvbt_isdbt_wr_reg_new(unsigned int addr, unsigned int data); void dvbt_isdbt_wr_bits_new(u32 reg_addr, const u32 reg_data, const u32 start, const u32 len); unsigned int dvbt_isdbt_rd_reg(unsigned int addr); unsigned int dvbt_isdbt_rd_reg_new(unsigned int addr); +#endif + +#if defined AML_DEMOD_SUPPORT_DVBT void dvbt_t2_wrb(unsigned int addr, unsigned char data); void dvbt_t2_write_w(unsigned int addr, unsigned int data); void dvbt_t2_wr_byte_bits(u32 addr, const u32 data, const u32 start, const u32 len); @@ -1075,15 +1095,20 @@ unsigned int dvbt_t2_read_w(unsigned int addr); char dvbt_t2_rdb(unsigned int addr); void riscv_ctl_write_reg(unsigned int addr, unsigned int data); unsigned int riscv_ctl_read_reg(unsigned int addr); +#endif + +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC void dvbs_write_bits(u32 reg_addr, const u32 reg_data, const u32 start, const u32 len); void dvbs_wr_byte(unsigned int addr, unsigned char data); unsigned char dvbs_rd_byte(unsigned int addr); +void dvbs2_reg_initial(unsigned int symb_rate_kbs, unsigned int is_blind_scan); +#endif + int aml_demod_init(void); void aml_demod_exit(void); unsigned int write_riscv_ram(void); unsigned int dvbs_get_quality(void); -void dvbs2_reg_initial(unsigned int symb_rate_kbs, unsigned int is_blind_scan); int dvbs_get_signal_strength_off(void); void t3_revb_set_ambus_state(bool enable, bool is_t2); void t5w_write_ambus_reg(u32 addr, @@ -1106,7 +1131,9 @@ void real_para_clear(struct aml_demod_para_real *para); enum fe_bandwidth dtvdemod_convert_bandwidth(unsigned int input); void demod_enable_frontend_agc(struct aml_dtvdemod *demod, enum fe_delivery_system delsys, bool enable); +#if defined AML_DEMOD_SUPPORT_DVBS || defined AML_DEMOD_SUPPORT_DVBC void fe_l2a_set_symbol_rate(struct fe_l2a_internal_param *pparams, unsigned int symbol_rate); +#endif void fe_l2a_get_agc2accu(struct fe_l2a_internal_param *pparams, unsigned int *pintegrator); #endif diff --git a/drivers/media/dtv_demod/tuner_func.c b/drivers/media/dtv_demod/tuner_func.c index 3263ef12b..43633bfb2 100644 --- a/drivers/media/dtv_demod/tuner_func.c +++ b/drivers/media/dtv_demod/tuner_func.c @@ -204,19 +204,3 @@ int atsc_get_power_strength(int agc_gain, int tuner_strength) return strength; } -unsigned int atsc_read_reg_v4(unsigned int addr) -{ - unsigned int tmp; - - if (!get_dtvpll_init_flag()) - return 0; - - demod_mutex_lock(); - - tmp = readl(gbase_atsc() + (addr << 2)); - - demod_mutex_unlock(); - - return tmp; -} -