aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ttpci
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2008-04-09 16:49:55 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:59 -0400
commitfaea4d2ab2d4710f87739fd53b5c13ca7a7d34aa (patch)
treef46cd1ebdef8e80b074697d2b987673802c23a1a /drivers/media/dvb/ttpci
parentc4e3bcb688dd561ae219a957e0d924f718335cab (diff)
V4L/DVB (7532): budget: Add support for Fujitsu Siemens DVB-T Activy Budget
Implement support for Fujitsu Siemens DVB-T Activy Budget, sub-system id 0x1131:0x5f61. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/ttpci')
-rw-r--r--drivers/media/dvb/ttpci/budget.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index 6cbb52d64244..829576dc2799 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -257,11 +257,17 @@ static struct ves1820_config alps_tdbe2_config = {
257 257
258static int grundig_29504_401_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) 258static int grundig_29504_401_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
259{ 259{
260 struct budget* budget = (struct budget*) fe->dvb->priv; 260 struct budget *budget = fe->dvb->priv;
261 u8 *tuner_addr = fe->tuner_priv;
261 u32 div; 262 u32 div;
262 u8 cfg, cpump, band_select; 263 u8 cfg, cpump, band_select;
263 u8 data[4]; 264 u8 data[4];
264 struct i2c_msg msg = { .addr = 0x61, .flags = 0, .buf = data, .len = sizeof(data) }; 265 struct i2c_msg msg = { .flags = 0, .buf = data, .len = sizeof(data) };
266
267 if (tuner_addr)
268 msg.addr = *tuner_addr;
269 else
270 msg.addr = 0x61;
265 271
266 div = (36125000 + params->frequency) / 166666; 272 div = (36125000 + params->frequency) / 166666;
267 273
@@ -292,6 +298,12 @@ static struct l64781_config grundig_29504_401_config = {
292 .demod_address = 0x55, 298 .demod_address = 0x55,
293}; 299};
294 300
301static struct l64781_config grundig_29504_401_config_activy = {
302 .demod_address = 0x54,
303};
304
305static u8 tuner_address_grundig_29504_401_activy = 0x60;
306
295static int grundig_29504_451_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) 307static int grundig_29504_451_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
296{ 308{
297 struct budget* budget = (struct budget*) fe->dvb->priv; 309 struct budget* budget = (struct budget*) fe->dvb->priv;
@@ -433,6 +445,14 @@ static void frontend_init(struct budget *budget)
433 } 445 }
434 break; 446 break;
435 447
448 case 0x5f61: /* Fujitsu Siemens Activy Budget-T PCI rev GR (L64781/Grundig 29504-401(tsa5060)) */
449 budget->dvb_frontend = dvb_attach(l64781_attach, &grundig_29504_401_config_activy, &budget->i2c_adap);
450 if (budget->dvb_frontend) {
451 budget->dvb_frontend->tuner_priv = &tuner_address_grundig_29504_401_activy;
452 budget->dvb_frontend->ops.tuner_ops.set_params = grundig_29504_401_tuner_set_params;
453 }
454 break;
455
436 case 0x1016: // Hauppauge/TT Nova-S SE (samsung s5h1420/????(tda8260)) 456 case 0x1016: // Hauppauge/TT Nova-S SE (samsung s5h1420/????(tda8260))
437 budget->dvb_frontend = dvb_attach(s5h1420_attach, &s5h1420_config, &budget->i2c_adap); 457 budget->dvb_frontend = dvb_attach(s5h1420_attach, &s5h1420_config, &budget->i2c_adap);
438 if (budget->dvb_frontend) { 458 if (budget->dvb_frontend) {
@@ -537,6 +557,7 @@ MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC);
537MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT); 557MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT);
538MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); 558MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY);
539MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); 559MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY);
560MAKE_BUDGET_INFO(fsact, "Fujitsu Siemens Activy Budget-T PCI (rev GR/Grundig frontend)", BUDGET_FS_ACTIVY);
540 561
541static struct pci_device_id pci_tbl[] = { 562static struct pci_device_id pci_tbl[] = {
542 MAKE_EXTENSION_PCI(ttbs, 0x13c2, 0x1003), 563 MAKE_EXTENSION_PCI(ttbs, 0x13c2, 0x1003),
@@ -547,6 +568,7 @@ static struct pci_device_id pci_tbl[] = {
547 MAKE_EXTENSION_PCI(ttbs1401, 0x13c2, 0x1018), 568 MAKE_EXTENSION_PCI(ttbs1401, 0x13c2, 0x1018),
548 MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60), 569 MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60),
549 MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61), 570 MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61),
571 MAKE_EXTENSION_PCI(fsact, 0x1131, 0x5f61),
550 { 572 {
551 .vendor = 0, 573 .vendor = 0,
552 } 574 }