em28xx-dvb.c (38b2df95c53be4bd5421d933ca0dabbcb82741d0) | em28xx-dvb.c (02bc1f5574e7324c03c49b3d2892e9e404d777be) |
---|---|
1/* 2 DVB device driver for em28xx 3 4 (c) 2008-2011 Mauro Carvalho Chehab <mchehab@infradead.org> 5 6 (c) 2008 Devin Heitmueller <devin.heitmueller@gmail.com> 7 - Fixes for the driver to properly work with HVR-950 8 - Fixes for the driver to properly work with Pinnacle PCTV HD Pro Stick --- 35 unchanged lines hidden (view full) --- 44#include "drx39xyj/drx39xxj.h" 45#include "tda18271.h" 46#include "s921.h" 47#include "drxd.h" 48#include "cxd2820r.h" 49#include "tda18271c2dd.h" 50#include "drxk.h" 51#include "tda10071.h" | 1/* 2 DVB device driver for em28xx 3 4 (c) 2008-2011 Mauro Carvalho Chehab <mchehab@infradead.org> 5 6 (c) 2008 Devin Heitmueller <devin.heitmueller@gmail.com> 7 - Fixes for the driver to properly work with HVR-950 8 - Fixes for the driver to properly work with Pinnacle PCTV HD Pro Stick --- 35 unchanged lines hidden (view full) --- 44#include "drx39xyj/drx39xxj.h" 45#include "tda18271.h" 46#include "s921.h" 47#include "drxd.h" 48#include "cxd2820r.h" 49#include "tda18271c2dd.h" 50#include "drxk.h" 51#include "tda10071.h" |
52#include "tda18212.h" |
|
52#include "a8293.h" 53#include "qt1010.h" 54#include "mb86a20s.h" 55#include "m88ds3103.h" 56#include "m88ts2022.h" 57 58MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 59MODULE_LICENSE("GPL"); --- 255 unchanged lines hidden (view full) --- 315 .deny_i2c_rptr = 0, 316 .mpeg_mode = LGDT3305_MPEG_SERIAL, 317 .tpclk_edge = LGDT3305_TPCLK_FALLING_EDGE, 318 .tpvalid_polarity = LGDT3305_TP_VALID_HIGH, 319 .vsb_if_khz = 3250, 320 .qam_if_khz = 4000, 321}; 322 | 53#include "a8293.h" 54#include "qt1010.h" 55#include "mb86a20s.h" 56#include "m88ds3103.h" 57#include "m88ts2022.h" 58 59MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 60MODULE_LICENSE("GPL"); --- 255 unchanged lines hidden (view full) --- 316 .deny_i2c_rptr = 0, 317 .mpeg_mode = LGDT3305_MPEG_SERIAL, 318 .tpclk_edge = LGDT3305_TPCLK_FALLING_EDGE, 319 .tpvalid_polarity = LGDT3305_TP_VALID_HIGH, 320 .vsb_if_khz = 3250, 321 .qam_if_khz = 4000, 322}; 323 |
324static struct lgdt3305_config em2874_lgdt3305_nogate_dev = { 325 .i2c_addr = 0x0e, 326 .demod_chip = LGDT3305, 327 .spectral_inversion = 1, 328 .deny_i2c_rptr = 1, 329 .mpeg_mode = LGDT3305_MPEG_SERIAL, 330 .tpclk_edge = LGDT3305_TPCLK_FALLING_EDGE, 331 .tpvalid_polarity = LGDT3305_TP_VALID_HIGH, 332 .vsb_if_khz = 3600, 333 .qam_if_khz = 3600, 334}; 335 |
|
323static struct s921_config sharp_isdbt = { 324 .demod_address = 0x30 >> 1 325}; 326 327static struct zl10353_config em28xx_zl10353_with_xc3028 = { 328 .demod_address = (0x1e >> 1), 329 .no_tuner = 1, 330 .parallel_ts = 1, --- 20 unchanged lines hidden (view full) --- 351 .std_map = &kworld_a340_std_map, 352}; 353 354static struct tda18271_config kworld_ub435q_v2_config = { 355 .std_map = &kworld_a340_std_map, 356 .gate = TDA18271_GATE_DIGITAL, 357}; 358 | 336static struct s921_config sharp_isdbt = { 337 .demod_address = 0x30 >> 1 338}; 339 340static struct zl10353_config em28xx_zl10353_with_xc3028 = { 341 .demod_address = (0x1e >> 1), 342 .no_tuner = 1, 343 .parallel_ts = 1, --- 20 unchanged lines hidden (view full) --- 364 .std_map = &kworld_a340_std_map, 365}; 366 367static struct tda18271_config kworld_ub435q_v2_config = { 368 .std_map = &kworld_a340_std_map, 369 .gate = TDA18271_GATE_DIGITAL, 370}; 371 |
372static struct tda18212_config kworld_ub435q_v3_config = { 373 .i2c_address = 0x60, 374 .if_atsc_vsb = 3600, 375 .if_atsc_qam = 3600, 376}; 377 |
|
359static struct zl10353_config em28xx_zl10353_xc3028_no_i2c_gate = { 360 .demod_address = (0x1e >> 1), 361 .no_tuner = 1, 362 .disable_i2c_gate_ctrl = 1, 363 .parallel_ts = 1, 364 .if2 = 45600, 365}; 366 --- 1017 unchanged lines hidden (view full) --- 1384 /* Attach the demodulator. */ 1385 if (!dvb_attach(tda18271_attach, dvb->fe[0], 0x60, 1386 &dev->i2c_adap[dev->def_i2c_bus], 1387 &kworld_ub435q_v2_config)) { 1388 result = -EINVAL; 1389 goto out_free; 1390 } 1391 break; | 378static struct zl10353_config em28xx_zl10353_xc3028_no_i2c_gate = { 379 .demod_address = (0x1e >> 1), 380 .no_tuner = 1, 381 .disable_i2c_gate_ctrl = 1, 382 .parallel_ts = 1, 383 .if2 = 45600, 384}; 385 --- 1017 unchanged lines hidden (view full) --- 1403 /* Attach the demodulator. */ 1404 if (!dvb_attach(tda18271_attach, dvb->fe[0], 0x60, 1405 &dev->i2c_adap[dev->def_i2c_bus], 1406 &kworld_ub435q_v2_config)) { 1407 result = -EINVAL; 1408 goto out_free; 1409 } 1410 break; |
1411 case EM2874_BOARD_KWORLD_UB435Q_V3: 1412 dvb->fe[0] = dvb_attach(lgdt3305_attach, 1413 &em2874_lgdt3305_nogate_dev, 1414 &dev->i2c_adap[dev->def_i2c_bus]); 1415 if (!dvb->fe[0]) { 1416 result = -EINVAL; 1417 goto out_free; 1418 } 1419 1420 /* Attach the demodulator. */ 1421 if (!dvb_attach(tda18212_attach, dvb->fe[0], 1422 &dev->i2c_adap[dev->def_i2c_bus], 1423 &kworld_ub435q_v3_config)) { 1424 result = -EINVAL; 1425 goto out_free; 1426 } 1427 break; |
|
1392 case EM2874_BOARD_PCTV_HD_MINI_80E: 1393 dvb->fe[0] = dvb_attach(drx39xxj_attach, &dev->i2c_adap[dev->def_i2c_bus]); 1394 if (dvb->fe[0] != NULL) { 1395 dvb->fe[0] = dvb_attach(tda18271_attach, dvb->fe[0], 0x60, 1396 &dev->i2c_adap[dev->def_i2c_bus], 1397 &pinnacle_80e_dvb_config); 1398 if (!dvb->fe[0]) { 1399 result = -EINVAL; --- 225 unchanged lines hidden --- | 1428 case EM2874_BOARD_PCTV_HD_MINI_80E: 1429 dvb->fe[0] = dvb_attach(drx39xxj_attach, &dev->i2c_adap[dev->def_i2c_bus]); 1430 if (dvb->fe[0] != NULL) { 1431 dvb->fe[0] = dvb_attach(tda18271_attach, dvb->fe[0], 0x60, 1432 &dev->i2c_adap[dev->def_i2c_bus], 1433 &pinnacle_80e_dvb_config); 1434 if (!dvb->fe[0]) { 1435 result = -EINVAL; --- 225 unchanged lines hidden --- |