diff options
author | Oliver Endriss <o.endriss@gmx.de> | 2008-04-09 16:49:55 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:59 -0400 |
commit | faea4d2ab2d4710f87739fd53b5c13ca7a7d34aa (patch) | |
tree | f46cd1ebdef8e80b074697d2b987673802c23a1a /drivers/media/dvb | |
parent | c4e3bcb688dd561ae219a957e0d924f718335cab (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')
-rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 26 |
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 | ||
258 | static int grundig_29504_401_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) | 258 | static 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 | ||
301 | static struct l64781_config grundig_29504_401_config_activy = { | ||
302 | .demod_address = 0x54, | ||
303 | }; | ||
304 | |||
305 | static u8 tuner_address_grundig_29504_401_activy = 0x60; | ||
306 | |||
295 | static int grundig_29504_451_tuner_set_params(struct dvb_frontend* fe, struct dvb_frontend_parameters* params) | 307 | static 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); | |||
537 | MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT); | 557 | MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT); |
538 | MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); | 558 | MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY); |
539 | MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); | 559 | MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY); |
560 | MAKE_BUDGET_INFO(fsact, "Fujitsu Siemens Activy Budget-T PCI (rev GR/Grundig frontend)", BUDGET_FS_ACTIVY); | ||
540 | 561 | ||
541 | static struct pci_device_id pci_tbl[] = { | 562 | static 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 | } |