aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-01-15 19:57:14 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:05:08 -0500
commit4917019d190d9809287308c4866cbc47d6c1000b (patch)
tree3ce554238bddaa85175e4f587fd5396daa5a2803 /drivers/media
parent73c993a8294077ae1b724286da8ac323c25d90db (diff)
V4L/DVB (7046): Finalise support for the Pinnacle HD 8000i
Correctly set the atatch structures, enable IR, configure the xc5000 tuner includes. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/xc5000.c2
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c4
-rw-r--r--drivers/media/video/cx88/cx88-input.c2
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c8
4 files changed, 10 insertions, 6 deletions
diff --git a/drivers/media/dvb/frontends/xc5000.c b/drivers/media/dvb/frontends/xc5000.c
index a0705a640ba..a13027e09cd 100644
--- a/drivers/media/dvb/frontends/xc5000.c
+++ b/drivers/media/dvb/frontends/xc5000.c
@@ -22,7 +22,7 @@
22 22
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/moduleparam.h> 24#include <linux/moduleparam.h>
25#include <linux/videodev.h> 25#include <linux/videodev2.h>
26#include <linux/delay.h> 26#include <linux/delay.h>
27#include <linux/dvb/frontend.h> 27#include <linux/dvb/frontend.h>
28#include <linux/i2c.h> 28#include <linux/i2c.h>
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index c852efca159..f7b41eb1bb5 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -380,6 +380,7 @@ static struct s5h1409_config pinnacle_pctv_hd_800i_config = {
380 .qam_if = 44000, 380 .qam_if = 44000,
381 .inversion = S5H1409_INVERSION_OFF, 381 .inversion = S5H1409_INVERSION_OFF,
382 .status_mode = S5H1409_DEMODLOCKING, 382 .status_mode = S5H1409_DEMODLOCKING,
383 .mpeg_timing = S5H1409_MPEGTIMING_NONCONTINOUS_NONINVERTING_CLOCK,
383}; 384};
384 385
385static struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = { 386static struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = {
@@ -643,9 +644,6 @@ static int dvb_register(struct cx8802_dev *dev)
643 } 644 }
644 break; 645 break;
645 case CX88_BOARD_PINNACLE_PCTV_HD_800i: 646 case CX88_BOARD_PINNACLE_PCTV_HD_800i:
646 /* Parallel mpeg data port and punctured clock mode */
647 dev->ts_gen_cntrl = 0x04;
648
649 dev->dvb.frontend = dvb_attach(s5h1409_attach, 647 dev->dvb.frontend = dvb_attach(s5h1409_attach,
650 &pinnacle_pctv_hd_800i_config, 648 &pinnacle_pctv_hd_800i_config,
651 &dev->core->i2c_adap); 649 &dev->core->i2c_adap);
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c
index e52de3968c6..f79a1c77414 100644
--- a/drivers/media/video/cx88/cx88-input.c
+++ b/drivers/media/video/cx88/cx88-input.c
@@ -224,6 +224,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
224 case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: 224 case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
225 case CX88_BOARD_HAUPPAUGE_HVR1100: 225 case CX88_BOARD_HAUPPAUGE_HVR1100:
226 case CX88_BOARD_HAUPPAUGE_HVR3000: 226 case CX88_BOARD_HAUPPAUGE_HVR3000:
227 case CX88_BOARD_PINNACLE_PCTV_HD_800i:
227 ir_codes = ir_codes_hauppauge_new; 228 ir_codes = ir_codes_hauppauge_new;
228 ir_type = IR_TYPE_RC5; 229 ir_type = IR_TYPE_RC5;
229 ir->sampling = 1; 230 ir->sampling = 1;
@@ -443,6 +444,7 @@ void cx88_ir_irq(struct cx88_core *core)
443 case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: 444 case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
444 case CX88_BOARD_HAUPPAUGE_HVR1100: 445 case CX88_BOARD_HAUPPAUGE_HVR1100:
445 case CX88_BOARD_HAUPPAUGE_HVR3000: 446 case CX88_BOARD_HAUPPAUGE_HVR3000:
447 case CX88_BOARD_PINNACLE_PCTV_HD_800i:
446 ircode = ir_decode_biphase(ir->samples, ir->scount, 5, 7); 448 ircode = ir_decode_biphase(ir->samples, ir->scount, 5, 7);
447 ir_dprintk("biphase decoded: %x\n", ircode); 449 ir_dprintk("biphase decoded: %x\n", ircode);
448 if ((ircode & 0xfffff000) != 0x3000) 450 if ((ircode & 0xfffff000) != 0x3000)
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index a21b50357a8..0aedbeaf94c 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -118,8 +118,12 @@ static int cx8802_start_dma(struct cx8802_dev *dev,
118 case CX88_BOARD_HAUPPAUGE_HVR1300: 118 case CX88_BOARD_HAUPPAUGE_HVR1300:
119 break; 119 break;
120 case CX88_BOARD_PINNACLE_PCTV_HD_800i: 120 case CX88_BOARD_PINNACLE_PCTV_HD_800i:
121 /* Enable MPEG parallel port */ 121 /* Enable MPEG parallel IO and video signal pins */
122 cx_write(MO_PINMUX_IO, 0x80); 122 cx_write(MO_PINMUX_IO, 0x88);
123 cx_write(TS_HW_SOP_CNTRL, (0x47 << 16) | (188 << 4));
124 dev->ts_gen_cntrl = 5;
125 cx_write(TS_SOP_STAT, 0);
126 cx_write(TS_VALERR_CNTRL, 0);
123 udelay(100); 127 udelay(100);
124 break; 128 break;
125 default: 129 default: