aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-04-05 19:55:14 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-13 05:15:57 -0400
commitadeeac3b7989ad9f03651e9224c9c63e221d4310 (patch)
treec969ddd4d4ff0c45f2d41e690f6290ca1e0e07fc /drivers/media/video
parent641015ab2c452e8e554625e2a8e95218182acb4b (diff)
V4L/DVB (9149): hvr950q: led feedback based on snr
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/au0828/au0828-dvb.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/drivers/media/video/au0828/au0828-dvb.c b/drivers/media/video/au0828/au0828-dvb.c
index a52abce16e1a..f0fcdb4769d7 100644
--- a/drivers/media/video/au0828/au0828-dvb.c
+++ b/drivers/media/video/au0828/au0828-dvb.c
@@ -36,11 +36,39 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
36#define _AU0828_BULKPIPE 0x83 36#define _AU0828_BULKPIPE 0x83
37#define _BULKPIPESIZE 0xe522 37#define _BULKPIPESIZE 0xe522
38 38
39static u8 hauppauge_hvr950q_led_states[] = {
40 0x00, /* off */
41 0x02, /* yellow */
42 0x04, /* green */
43};
44
45static struct au8522_led_config hauppauge_hvr950q_led_cfg = {
46 .gpio_output = 0x00e0,
47 .gpio_output_enable = 0x6006,
48 .gpio_output_disable = 0x0660,
49
50 .gpio_leds = 0x00e2,
51 .led_states = hauppauge_hvr950q_led_states,
52 .num_led_states = sizeof(hauppauge_hvr950q_led_states),
53
54 .vsb8_strong = 20 /* dB */ * 10,
55 .qam64_strong = 25 /* dB */ * 10,
56 .qam256_strong = 32 /* dB */ * 10,
57};
58
39static struct au8522_config hauppauge_hvr950q_config = { 59static struct au8522_config hauppauge_hvr950q_config = {
40 .demod_address = 0x8e >> 1, 60 .demod_address = 0x8e >> 1,
41 .status_mode = AU8522_DEMODLOCKING, 61 .status_mode = AU8522_DEMODLOCKING,
42 .qam_if = AU8522_IF_6MHZ, 62 .qam_if = AU8522_IF_6MHZ,
43 .vsb_if = AU8522_IF_6MHZ, 63 .vsb_if = AU8522_IF_6MHZ,
64 .led_cfg = &hauppauge_hvr950q_led_cfg,
65};
66
67static struct au8522_config fusionhdtv7usb_config = {
68 .demod_address = 0x8e >> 1,
69 .status_mode = AU8522_DEMODLOCKING,
70 .qam_if = AU8522_IF_6MHZ,
71 .vsb_if = AU8522_IF_6MHZ,
44}; 72};
45 73
46static struct au8522_config hauppauge_woodbury_config = { 74static struct au8522_config hauppauge_woodbury_config = {
@@ -352,7 +380,6 @@ int au0828_dvb_register(struct au0828_dev *dev)
352 switch (dev->board) { 380 switch (dev->board) {
353 case AU0828_BOARD_HAUPPAUGE_HVR850: 381 case AU0828_BOARD_HAUPPAUGE_HVR850:
354 case AU0828_BOARD_HAUPPAUGE_HVR950Q: 382 case AU0828_BOARD_HAUPPAUGE_HVR950Q:
355 case AU0828_BOARD_DVICO_FUSIONHDTV7:
356 dvb->frontend = dvb_attach(au8522_attach, 383 dvb->frontend = dvb_attach(au8522_attach,
357 &hauppauge_hvr950q_config, 384 &hauppauge_hvr950q_config,
358 &dev->i2c_adap); 385 &dev->i2c_adap);
@@ -378,6 +405,16 @@ int au0828_dvb_register(struct au0828_dev *dev)
378 0x60, &dev->i2c_adap, 405 0x60, &dev->i2c_adap,
379 &hauppauge_woodbury_tunerconfig); 406 &hauppauge_woodbury_tunerconfig);
380 break; 407 break;
408 case AU0828_BOARD_DVICO_FUSIONHDTV7:
409 dvb->frontend = dvb_attach(au8522_attach,
410 &fusionhdtv7usb_config,
411 &dev->i2c_adap);
412 if (dvb->frontend != NULL) {
413 dvb_attach(xc5000_attach, dvb->frontend,
414 &dev->i2c_adap,
415 &hauppauge_hvr950q_tunerconfig);
416 }
417 break;
381 default: 418 default:
382 printk(KERN_WARNING "The frontend of your DVB/ATSC card " 419 printk(KERN_WARNING "The frontend of your DVB/ATSC card "
383 "isn't supported yet\n"); 420 "isn't supported yet\n");