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 ---