aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew de Quincey <adq_dvb@lidskialf.net>2006-08-08 08:10:10 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-09-26 10:53:30 -0400
commitadc619ac6e3d3b4a175476b915befe37650ee109 (patch)
tree5f14b4ad77b4bc8fa5d9877f215505d79d14bdec
parent6bca3580c3303451b65afc98276edf40628dffe0 (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>
-rw-r--r--drivers/media/dvb/ttpci/Kconfig57
-rw-r--r--drivers/media/dvb/ttpci/budget.c29
2 files changed, 54 insertions, 32 deletions
diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig
index 5fb097595cfb..0f01b9ff1727 100644
--- a/drivers/media/dvb/ttpci/Kconfig
+++ b/drivers/media/dvb/ttpci/Kconfig
@@ -3,15 +3,14 @@ config DVB_AV7110
3 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 3 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
4 select FW_LOADER 4 select FW_LOADER
5 select VIDEO_SAA7146_VV 5 select VIDEO_SAA7146_VV
6 select DVB_PLL 6 select DVB_VES1820 if !DVB_FE_CUSTOMISE
7 select DVB_VES1820 7 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
8 select DVB_VES1X93 8 select DVB_STV0299 if !DVB_FE_CUSTOMISE
9 select DVB_STV0299 9 select DVB_TDA8083 if !DVB_FE_CUSTOMISE
10 select DVB_TDA8083 10 select DVB_SP8870 if !DVB_FE_CUSTOMISE
11 select DVB_SP8870 11 select DVB_STV0297 if !DVB_FE_CUSTOMISE
12 select DVB_STV0297 12 select DVB_L64781 if !DVB_FE_CUSTOMISE
13 select DVB_L64781 13 select DVB_LNBP21 if !DVB_FE_CUSTOMISE
14 select DVB_LNBP21
15 help 14 help
16 Support for SAA7146 and AV7110 based DVB cards as produced 15 Support for SAA7146 and AV7110 based DVB cards as produced
17 by Fujitsu-Siemens, Technotrend, Hauppauge and others. 16 by Fujitsu-Siemens, Technotrend, Hauppauge and others.
@@ -62,15 +61,14 @@ config DVB_BUDGET
62 tristate "Budget cards" 61 tristate "Budget cards"
63 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 62 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
64 select VIDEO_SAA7146 63 select VIDEO_SAA7146
65 select DVB_PLL 64 select DVB_STV0299 if !DVB_FE_CUSTOMISE
66 select DVB_STV0299 65 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
67 select DVB_VES1X93 66 select DVB_VES1820 if !DVB_FE_CUSTOMISE
68 select DVB_VES1820 67 select DVB_L64781 if !DVB_FE_CUSTOMISE
69 select DVB_L64781 68 select DVB_TDA8083 if !DVB_FE_CUSTOMISE
70 select DVB_TDA8083 69 select DVB_TDA10021 if !DVB_FE_CUSTOMISE
71 select DVB_TDA10021 70 select DVB_S5H1420 if !DVB_FE_CUSTOMISE
72 select DVB_S5H1420 71 select DVB_LNBP21 if !DVB_FE_CUSTOMISE
73 select DVB_LNBP21
74 help 72 help
75 Support for simple SAA7146 based DVB cards 73 Support for simple SAA7146 based DVB cards
76 (so called Budget- or Nova-PCI cards) without onboard 74 (so called Budget- or Nova-PCI cards) without onboard
@@ -85,11 +83,10 @@ config DVB_BUDGET_CI
85 tristate "Budget cards with onboard CI connector" 83 tristate "Budget cards with onboard CI connector"
86 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 84 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
87 select VIDEO_SAA7146 85 select VIDEO_SAA7146
88 select DVB_PLL 86 select DVB_STV0297 if !DVB_FE_CUSTOMISE
89 select DVB_STV0297 87 select DVB_STV0299 if !DVB_FE_CUSTOMISE
90 select DVB_STV0299 88 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
91 select DVB_TDA1004X 89 select DVB_LNBP21 if !DVB_FE_CUSTOMISE
92 select DVB_LNBP21
93 help 90 help
94 Support for simple SAA7146 based DVB cards 91 Support for simple SAA7146 based DVB cards
95 (so called Budget- or Nova-PCI cards) without onboard 92 (so called Budget- or Nova-PCI cards) without onboard
@@ -107,10 +104,9 @@ config DVB_BUDGET_AV
107 tristate "Budget cards with analog video inputs" 104 tristate "Budget cards with analog video inputs"
108 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 105 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
109 select VIDEO_SAA7146_VV 106 select VIDEO_SAA7146_VV
110 select DVB_PLL 107 select DVB_STV0299 if !DVB_FE_CUSTOMISE
111 select DVB_STV0299 108 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
112 select DVB_TDA1004X 109 select DVB_TDA10021 if !DVB_FE_CUSTOMISE
113 select DVB_TDA10021
114 select FW_LOADER 110 select FW_LOADER
115 help 111 help
116 Support for simple SAA7146 based DVB cards 112 Support for simple SAA7146 based DVB cards
@@ -126,10 +122,9 @@ config DVB_BUDGET_PATCH
126 tristate "AV7110 cards with Budget Patch" 122 tristate "AV7110 cards with Budget Patch"
127 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 123 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
128 select DVB_AV7110 124 select DVB_AV7110
129 select DVB_PLL 125 select DVB_STV0299 if !DVB_FE_CUSTOMISE
130 select DVB_STV0299 126 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
131 select DVB_VES1X93 127 select DVB_TDA8083 if !DVB_FE_CUSTOMISE
132 select DVB_TDA8083
133 help 128 help
134 Support for Budget Patch (full TS) modification on 129 Support for Budget Patch (full TS) modification on
135 SAA7146+AV7110 based cards (DVB-S cards). This 130 SAA7146+AV7110 based cards (DVB-S cards). This
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
347static struct tda10086_config tda10086_config = {
348 .demod_address = 0x0e,
349 .invert = 0,
350};
351
345static u8 read_pwm(struct budget* budget) 352static 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);
499MAKE_BUDGET_INFO(ttbc, "TT-Budget/WinTV-NOVA-C PCI", BUDGET_TT); 524MAKE_BUDGET_INFO(ttbc, "TT-Budget/WinTV-NOVA-C PCI", BUDGET_TT);
500MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT); 525MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT);
501MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC); 526MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC);
527MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT);
502MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); 528MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY);
503MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); 529MAKE_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 {