summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-cards.c31
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-tvaudio.c11
-rw-r--r--linux/drivers/media/video/saa7134/saa7134.h3
3 files changed, 42 insertions, 3 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c
index 000f5ecaf..836028b2d 100644
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-cards.c,v 1.24 2004/09/15 16:15:24 kraxel Exp $
+ * $Id: saa7134-cards.c,v 1.25 2004/09/20 13:53:37 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* card-specific stuff.
@@ -650,6 +650,29 @@ struct saa7134_board saa7134_boards[] = {
.tv = 1,
}},
},
+ [SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS] = {
+ .name = "Compro VideoMate TV Gold+",
+ .audio_clock = 0x00187de7,
+ .tuner_type = TUNER_PHILIPS_NTSC_M,
+ .gpiomask = 0x800c0000,
+ .inputs = {{
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE1,
+ .gpio = 0x06c00012,
+ },{
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE1,
+ .gpio = 0x0ac20012,
+ },{
+ .name = name_tv,
+ .vmux = 1,
+ .amux = LINE2,
+ .gpio = 0x08c20012,
+ .tv = 1,
+ }},
+ },
[SAA7134_BOARD_CRONOS_PLUS] = {
/* gpio pins:
0 .. 3 BASE_ID
@@ -1241,6 +1264,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
.driver_data = SAA7134_BOARD_VIDEOMATE_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
+ .subvendor = 0x185b,
+ .subdevice = 0xc100,
+ .driver_data = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,
+ },{
+ .vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_MATROX,
.subdevice = 0x48d0,
diff --git a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
index 25c3da74c..786c17d71 100644
--- a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
+++ b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-tvaudio.c,v 1.11 2004/09/16 15:38:41 kraxel Exp $
+ * $Id: saa7134-tvaudio.c,v 1.12 2004/09/20 13:53:37 kraxel Exp $
*
* device driver for philips saa7134 based TV cards
* tv audio decoder (fm stereo, nicam, ...)
@@ -745,6 +745,7 @@ static int getstereo_7133(struct saa7134_dev *dev)
static int mute_input_7133(struct saa7134_dev *dev)
{
u32 reg = 0;
+ int mask;
switch (dev->input->amux) {
case TV: reg = 0x02; break;
@@ -754,6 +755,14 @@ static int mute_input_7133(struct saa7134_dev *dev)
if (dev->ctl_mute)
reg = 0x07;
saa_writel(0x594 >> 2, reg);
+
+ /* switch gpio-connected external audio mux */
+ if (0 != card(dev).gpiomask) {
+ mask = card(dev).gpiomask;
+ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, mask, mask);
+ saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, dev->input->gpio);
+ saa7134_track_gpio(dev,dev->input->name);
+ }
return 0;
}
diff --git a/linux/drivers/media/video/saa7134/saa7134.h b/linux/drivers/media/video/saa7134/saa7134.h
index 9ab737501..03b6323c2 100644
--- a/linux/drivers/media/video/saa7134/saa7134.h
+++ b/linux/drivers/media/video/saa7134/saa7134.h
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134.h,v 1.17 2004/09/15 16:15:24 kraxel Exp $
+ * $Id: saa7134.h,v 1.18 2004/09/20 13:53:37 kraxel Exp $
*
* v4l2 device driver for philips saa7134 based TV cards
*
@@ -180,6 +180,7 @@ struct saa7134_format {
#define SAA7134_BOARD_CINERGY200 38
#define SAA7134_BOARD_FLYTVPLATINUM 39
#define SAA7134_BOARD_VIDEOMATE_TV_PVR 40
+define SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS 41
#define SAA7134_INPUT_MAX 8