diff options
Diffstat (limited to 'linux/drivers/media')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-cards.c | 31 | ||||
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-tvaudio.c | 11 | ||||
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134.h | 3 |
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 |