DEMOD_ATBM8881,
DEMOD_SI2168,
DEMOD_AVL6762,
+ DEMOD_SI2168_1,
DEMOD_MAX_NUM
}demod_type;
pr_error("reset_value error\n");
goto error_fe;
}
+ memset(buf, 0, 32);
+ snprintf(buf, sizeof(buf), "fe%d_tuner0_i2c_addr",i);
+ ret = of_property_read_u32(pdev->dev.of_node, buf,&config.tuner0_i2c_addr);
+ if (ret) {
+ pr_error("no tuner0 i2c_addr define\n");
+ }
+ memset(buf, 0, 32);
+ snprintf(buf, sizeof(buf), "fe%d_tuner1_i2c_addr",i);
+ ret = of_property_read_u32(pdev->dev.of_node, buf,&config.tuner1_i2c_addr);
+ if (ret) {
+ pr_error("no tuner1 addr define\n");
+ }
+ memset(buf, 0, 32);
+ snprintf(buf, sizeof(buf), "fe%d_tuner0_code",i);
+ ret = of_property_read_u32(pdev->dev.of_node, buf,&config.tuner0_code);
+ if (ret) {
+ pr_error("no tuner0_code define\n");
+ }
+ memset(buf, 0, 32);
+ snprintf(buf, sizeof(buf), "fe%d_tuner1_code",i);
+ ret = of_property_read_u32(pdev->dev.of_node, buf,&config.tuner1_code);
+ if (ret) {
+ pr_error("no tuner1_code define\n");
+ }
+ if (advb->ts[config.ts].mode == AM_TS_PARALLEL) {
+ config.ts_out_mode = 1;
+ } else {
+ config.ts_out_mode = 0;
+ }
if (!strcmp(name,"Atbm8881")) {
frontend[i] = dvb_attach(atbm8881_attach,&config);
s_demod_type[i] = DEMOD_SI2168;
}
}
+ if (!strcmp(name,"Si2168-1")) {
+ frontend[i] = dvb_attach(si2168_attach_1,&config);
+ if (frontend[i] == NULL) {
+ pr_error("dvb attach demod error\n");
+ goto error_fe;
+ } else {
+ pr_inf("si2168_1 dtvdemod attatch sucess\n");
+ s_demod_type[i] = DEMOD_SI2168_1;
+ }
+ }
if (!strcmp(name,"Avl6762")) {
frontend[i] = dvb_attach(avl6762_attach,&config);
if (frontend[i] == NULL) {
dvb_detach(si2168_attach);
frontend[i] = NULL;
s_demod_type[i] = DEMOD_INVALID;
+ }else if (s_demod_type[i] == DEMOD_SI2168_1) {
+ dvb_detach(si2168_attach_1);
+ frontend[i] = NULL;
+ s_demod_type[i] = DEMOD_INVALID;
}else if (s_demod_type[i] == DEMOD_AVL6762) {
dvb_detach(avl6762_attach);
frontend[i] = NULL;
dvb_detach(atbm8881_attach);
}else if (s_demod_type[i] == DEMOD_SI2168) {
dvb_detach(si2168_attach);
+ }else if (s_demod_type[i] == DEMOD_SI2168_1) {
+ dvb_detach(si2168_attach_1);
}else if (s_demod_type[i] == DEMOD_AVL6762) {
dvb_detach(avl6762_attach);
}