summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-03-17 11:31:09 +0000
committerGerd Knorr <devnull@localhost>2004-03-17 11:31:09 +0000
commitbeb2299584ecafa931ad0835b148bf63c2ed32a4 (patch)
treef3b1f309931bcc14f7090c8f62a503ff5fd98231 /linux
parent636961cd434486df47dcb5b14944bfd9f0f11775 (diff)
downloadmediapointer-dvb-s2-beb2299584ecafa931ad0835b148bf63c2ed32a4.tar.gz
mediapointer-dvb-s2-beb2299584ecafa931ad0835b148bf63c2ed32a4.tar.bz2
- bttv card list update.
- attempt to fix svideo in cx88. - documentation update.
Diffstat (limited to 'linux')
-rw-r--r--linux/Documentation/video4linux/README.cx886
-rw-r--r--linux/drivers/media/video/bttv-cards.c10
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c5
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c15
4 files changed, 27 insertions, 9 deletions
diff --git a/linux/Documentation/video4linux/README.cx88 b/linux/Documentation/video4linux/README.cx88
index fd13e8e02..026acd207 100644
--- a/linux/Documentation/video4linux/README.cx88
+++ b/linux/Documentation/video4linux/README.cx88
@@ -19,13 +19,15 @@ video
audio
- The chip specs for the on-chip TV sound decoder are next
to useless :-/
- - Neverless the builtin TV sound decoder starts working no,
+ - Neverless the builtin TV sound decoder starts working now,
at least for PAL-BG. Other TV norms need other code ...
+ FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE
+ USING.
- Most tuner chips do provide mono sound, which may or may not
be useable depending on the board design. With the Hauppauge
cards it works, so there is mono sound available as fallback.
- audio data dma (i.e. recording without loopback cable to the
- sound card), but there is no code yet ...
+ sound card) should be possible, but there is no code yet ...
vbi
- some code present. Doesn't crash any more, but also doesn't
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c
index f1d09b44c..133902a86 100644
--- a/linux/drivers/media/video/bttv-cards.c
+++ b/linux/drivers/media/video/bttv-cards.c
@@ -746,9 +746,15 @@ struct tvcard bttv_tvcards[] = {
.audio_inputs = 1,
.tuner = 0,
.svhs = 2,
- .gpiomask = 0xc33000,
.muxsel = { 2, 3, 1, 1, 0}, // TV, CVid, SVid, CVid over SVid connector
- .audiomux = { 0x422000,0x1000,0x0000,0x620000,0x800000},
+#if 0
+ .gpiomask = 0xc33000,
+ .audiomux = { 0x422000,0x1000,0x0000,0x620000,0x800000 },
+#else
+ /* Alexander Varakin <avarakin@hotmail.com> [stereo version] */
+ .gpiomask = 0xb33000,
+ .audiomux = { 0x122000,0x1000,0x0000,0x620000,0x800000 },
+#endif
/* Audio Routing for "WinFast 2000 XP" (no tv stereo !)
gpio23 -- hef4052:nEnable (0x800000)
gpio12 -- hef4052:A1
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 1cb7cd0e6..bd2de4ef1 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -52,12 +52,11 @@ struct cx88_board cx88_boards[] = {
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
- //.gpio0 = 0xff03,
- .gpio0 = 0xff00,
+ .gpio0 = 0xff00, // internal decoder
},{
.type = CX88_VMUX_DEBUG,
.vmux = 0,
- .gpio0 = 0xff01,
+ .gpio0 = 0xff01, // mono from tuner chip
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index 057d9253e..a56c7e90d 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -662,14 +662,25 @@ static int set_scale(struct cx8800_dev *dev, unsigned int width, unsigned int he
static int video_mux(struct cx8800_dev *dev, unsigned int input)
{
- dprintk(1,"video_mux: %d [vmux=%d,gpio=0x%x]\n",
- input, INPUT(input)->vmux, INPUT(input)->gpio0);
+ dprintk(1,"video_mux: %d [vmux=%d,gpio=0x%x,0x%x,0x%x,0x%x]\n",
+ input, INPUT(input)->vmux,
+ INPUT(input)->gpio0,INPUT(input)->gpio1,
+ INPUT(input)->gpio2,INPUT(input)->gpio3);
dev->input = input;
cx_andor(MO_INPUT_FORMAT, 0x03 << 14, INPUT(input)->vmux << 14);
cx_write(MO_GP0_IO, INPUT(input)->gpio0);
cx_write(MO_GP1_IO, INPUT(input)->gpio1);
cx_write(MO_GP2_IO, INPUT(input)->gpio2);
cx_write(MO_GP3_IO, INPUT(input)->gpio3);
+
+ switch (INPUT(input)->type) {
+ case CX88_VMUX_SVIDEO:
+ cx_andor(MO_AFECFG_IO, 0x01, 0x01);
+ break;
+ default:
+ cx_andor(MO_AFECFG_IO, 0x01, 0x00);
+ break;
+ }
return 0;
}