aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-dvb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-dvb.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index be48b9b66a67..7fa6ce76642b 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -799,6 +799,20 @@ static struct tda1004x_config twinhan_dtv_dvb_3056_config = {
799 .request_firmware = philips_tda1004x_request_firmware 799 .request_firmware = philips_tda1004x_request_firmware
800}; 800};
801 801
802static struct tda1004x_config asus_tiger_3in1_config = {
803 .demod_address = 0x0b,
804 .invert = 1,
805 .invert_oclk = 0,
806 .xtal_freq = TDA10046_XTAL_16M,
807 .agc_config = TDA10046_AGC_TDA827X,
808 .gpio_config = TDA10046_GP11_I,
809 .if_freq = TDA10046_FREQ_045,
810 .i2c_gate = 0x4b,
811 .tuner_address = 0x61,
812 .antenna_switch = 1,
813 .request_firmware = philips_tda1004x_request_firmware
814};
815
802/* ------------------------------------------------------------------ 816/* ------------------------------------------------------------------
803 * special case: this card uses saa713x GPIO22 for the mode switch 817 * special case: this card uses saa713x GPIO22 for the mode switch
804 */ 818 */
@@ -1300,6 +1314,31 @@ static int dvb_init(struct saa7134_dev *dev)
1300 &dev->i2c_adap); 1314 &dev->i2c_adap);
1301 attach_xc3028 = 1; 1315 attach_xc3028 = 1;
1302 break; 1316 break;
1317 case SAA7134_BOARD_ASUSTeK_TIGER_3IN1:
1318 if (!use_frontend) { /* terrestrial */
1319 if (configure_tda827x_fe(dev, &asus_tiger_3in1_config,
1320 &tda827x_cfg_2) < 0)
1321 goto dettach_frontend;
1322 } else { /* satellite */
1323 dev->dvb.frontend = dvb_attach(tda10086_attach,
1324 &flydvbs, &dev->i2c_adap);
1325 if (dev->dvb.frontend) {
1326 if (dvb_attach(tda826x_attach,
1327 dev->dvb.frontend, 0x60,
1328 &dev->i2c_adap, 0) == NULL) {
1329 wprintk("%s: Asus Tiger 3in1, no "
1330 "tda826x found!\n", __func__);
1331 goto dettach_frontend;
1332 }
1333 if (dvb_attach(lnbp21_attach, dev->dvb.frontend,
1334 &dev->i2c_adap, 0, 0) == NULL) {
1335 wprintk("%s: Asus Tiger 3in1, no lnbp21"
1336 " found!\n", __func__);
1337 goto dettach_frontend;
1338 }
1339 }
1340 }
1341 break;
1303 default: 1342 default:
1304 wprintk("Huh? unknown DVB card?\n"); 1343 wprintk("Huh? unknown DVB card?\n");
1305 break; 1344 break;