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 | |
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>
-rw-r--r-- | drivers/media/dvb/ttpci/Kconfig | 57 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 29 |
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 | ||
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 | { |