diff options
author | Andrew de Quincey <adq_dvb@lidskialf.net> | 2006-08-08 08:10:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 10:53:30 -0400 |
commit | adc619ac6e3d3b4a175476b915befe37650ee109 (patch) | |
tree | 5f14b4ad77b4bc8fa5d9877f215505d79d14bdec /drivers/media/dvb/ttpci/budget.c | |
parent | 6bca3580c3303451b65afc98276edf40628dffe0 (diff) |
V4L/DVB (4397): Add tda10086 support for TT DVB-S-1401
Add the necessary code and makefile infrastructure
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/ttpci/budget.c')
-rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c index e846b9620170..886eb6a277c7 100644 --- a/drivers/media/dvb/ttpci/budget.c +++ b/drivers/media/dvb/ttpci/budget.c | |||
@@ -41,6 +41,8 @@ | |||
41 | #include "l64781.h" | 41 | #include "l64781.h" |
42 | #include "tda8083.h" | 42 | #include "tda8083.h" |
43 | #include "s5h1420.h" | 43 | #include "s5h1420.h" |
44 | #include "tda10086.h" | ||
45 | #include "tda826x.h" | ||
44 | #include "lnbp21.h" | 46 | #include "lnbp21.h" |
45 | #include "bsru6.h" | 47 | #include "bsru6.h" |
46 | 48 | ||
@@ -342,6 +344,11 @@ static struct s5h1420_config s5h1420_config = { | |||
342 | .invert = 1, | 344 | .invert = 1, |
343 | }; | 345 | }; |
344 | 346 | ||
347 | static struct tda10086_config tda10086_config = { | ||
348 | .demod_address = 0x0e, | ||
349 | .invert = 0, | ||
350 | }; | ||
351 | |||
345 | static u8 read_pwm(struct budget* budget) | 352 | static u8 read_pwm(struct budget* budget) |
346 | { | 353 | { |
347 | u8 b = 0xff; | 354 | u8 b = 0xff; |
@@ -420,7 +427,25 @@ static void frontend_init(struct budget *budget) | |||
420 | budget->dvb_frontend = dvb_attach(s5h1420_attach, &s5h1420_config, &budget->i2c_adap); | 427 | budget->dvb_frontend = dvb_attach(s5h1420_attach, &s5h1420_config, &budget->i2c_adap); |
421 | if (budget->dvb_frontend) { | 428 | if (budget->dvb_frontend) { |
422 | budget->dvb_frontend->ops.tuner_ops.set_params = s5h1420_tuner_set_params; | 429 | budget->dvb_frontend->ops.tuner_ops.set_params = s5h1420_tuner_set_params; |
423 | if (lnbp21_attach(budget->dvb_frontend, &budget->i2c_adap, 0, 0) == NULL) { | 430 | if (dvb_attach(lnbp21_attach, budget->dvb_frontend, &budget->i2c_adap, 0, 0) == NULL) { |
431 | printk("%s: No LNBP21 found!\n", __FUNCTION__); | ||
432 | goto error_out; | ||
433 | } | ||
434 | break; | ||
435 | } | ||
436 | |||
437 | case 0x1018: // TT Budget-S-1401 (philips tda10086/philips tda8262) | ||
438 | // gpio2 is connected to CLB - reset it + leave it high | ||
439 | saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTLO); | ||
440 | msleep(1); | ||
441 | saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTHI); | ||
442 | msleep(1); | ||
443 | |||
444 | budget->dvb_frontend = dvb_attach(tda10086_attach, &tda10086_config, &budget->i2c_adap); | ||
445 | if (budget->dvb_frontend) { | ||
446 | if (dvb_attach(tda826x_attach, budget->dvb_frontend, 0x60, &budget->i2c_adap, 0) == NULL) | ||
447 | printk("%s: No tda826x found!\n", __FUNCTION__); | ||
448 | if (dvb_attach(lnbp21_attach, budget->dvb_frontend, &budget->i2c_adap, 0, 0) == NULL) { | ||
424 | printk("%s: No LNBP21 found!\n", __FUNCTION__); | 449 | printk("%s: No LNBP21 found!\n", __FUNCTION__); |
425 | goto error_out; | 450 | goto error_out; |
426 | } | 451 | } |
@@ -499,6 +524,7 @@ MAKE_BUDGET_INFO(ttbs, "TT-Budget/WinTV-NOVA-S PCI", BUDGET_TT); | |||
499 | MAKE_BUDGET_INFO(ttbc, "TT-Budget/WinTV-NOVA-C PCI", BUDGET_TT); | 524 | MAKE_BUDGET_INFO(ttbc, "TT-Budget/WinTV-NOVA-C PCI", BUDGET_TT); |
500 | MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT); | 525 | MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT); |
501 | MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC); | 526 | MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC); |
527 | MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT); | ||
502 | MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); | 528 | MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); |
503 | MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); | 529 | MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); |
504 | 530 | ||
@@ -508,6 +534,7 @@ static struct pci_device_id pci_tbl[] = { | |||
508 | MAKE_EXTENSION_PCI(ttbt, 0x13c2, 0x1005), | 534 | MAKE_EXTENSION_PCI(ttbt, 0x13c2, 0x1005), |
509 | MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013), | 535 | MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013), |
510 | MAKE_EXTENSION_PCI(ttbs, 0x13c2, 0x1016), | 536 | MAKE_EXTENSION_PCI(ttbs, 0x13c2, 0x1016), |
537 | MAKE_EXTENSION_PCI(ttbs1401, 0x13c2, 0x1018), | ||
511 | MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60), | 538 | MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60), |
512 | MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61), | 539 | MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61), |
513 | { | 540 | { |