aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/CARDLIST.saa71342
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c91
-rw-r--r--drivers/media/video/saa7134/saa7134-reg.h1
-rw-r--r--drivers/media/video/saa7134/saa7134-video.c9
-rw-r--r--drivers/media/video/saa7134/saa7134.h2
5 files changed, 103 insertions, 2 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index b2643051339e..82b5f7c73c83 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -70,3 +70,5 @@
70 69 -> Philips EUROPA V3 reference design [1131:2004] 70 69 -> Philips EUROPA V3 reference design [1131:2004]
71 70 -> Compro Videomate DVB-T300 [185b:c900] 71 70 -> Compro Videomate DVB-T300 [185b:c900]
72 71 -> Compro Videomate DVB-T200 [185b:c901] 72 71 -> Compro Videomate DVB-T200 [185b:c901]
73 72 -> RTD Embedded Technologies VFG7350 [1435:7350]
74 73 -> RTD Embedded Technologies VFG7330 [1435:7330]
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 8291ed709736..8bb2faf2635a 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2251,6 +2251,74 @@ struct saa7134_board saa7134_boards[] = {
2251 .amux = LINE1, 2251 .amux = LINE1,
2252 }}, 2252 }},
2253 }, 2253 },
2254 [SAA7134_BOARD_RTD_VFG7350] = {
2255 .name = "RTD Embedded Technologies VFG7350",
2256 .audio_clock = 0x00200000,
2257 .tuner_type = TUNER_ABSENT,
2258 .radio_type = UNSET,
2259 .tuner_addr = ADDR_UNSET,
2260 .radio_addr = ADDR_UNSET,
2261 .inputs = {{
2262 .name = "Composite 0",
2263 .vmux = 0,
2264 .amux = LINE1,
2265 },{
2266 .name = "Composite 1",
2267 .vmux = 1,
2268 .amux = LINE2,
2269 },{
2270 .name = "Composite 2",
2271 .vmux = 2,
2272 .amux = LINE1,
2273 },{
2274 .name = "Composite 3",
2275 .vmux = 3,
2276 .amux = LINE2,
2277 },{
2278 .name = "S-Video 0",
2279 .vmux = 8,
2280 .amux = LINE1,
2281 },{
2282 .name = "S-Video 1",
2283 .vmux = 9,
2284 .amux = LINE2,
2285 }},
2286 .mpeg = SAA7134_MPEG_EMPRESS,
2287 .video_out = CCIR656,
2288 },
2289 [SAA7134_BOARD_RTD_VFG7330] = {
2290 .name = "RTD Embedded Technologies VFG7330",
2291 .audio_clock = 0x00200000,
2292 .tuner_type = TUNER_ABSENT,
2293 .radio_type = UNSET,
2294 .tuner_addr = ADDR_UNSET,
2295 .radio_addr = ADDR_UNSET,
2296 .inputs = {{
2297 .name = "Composite 0",
2298 .vmux = 0,
2299 .amux = LINE1,
2300 },{
2301 .name = "Composite 1",
2302 .vmux = 1,
2303 .amux = LINE2,
2304 },{
2305 .name = "Composite 2",
2306 .vmux = 2,
2307 .amux = LINE1,
2308 },{
2309 .name = "Composite 3",
2310 .vmux = 3,
2311 .amux = LINE2,
2312 },{
2313 .name = "S-Video 0",
2314 .vmux = 8,
2315 .amux = LINE1,
2316 },{
2317 .name = "S-Video 1",
2318 .vmux = 9,
2319 .amux = LINE2,
2320 }},
2321 },
2254}; 2322};
2255 2323
2256const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 2324const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -2639,6 +2707,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
2639 .subdevice = 0xc901, 2707 .subdevice = 0xc901,
2640 .driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_200, 2708 .driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_200,
2641 },{ 2709 },{
2710 .vendor = PCI_VENDOR_ID_PHILIPS,
2711 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
2712 .subvendor = 0x1435,
2713 .subdevice = 0x7350,
2714 .driver_data = SAA7134_BOARD_RTD_VFG7350,
2715 },{
2716 .vendor = PCI_VENDOR_ID_PHILIPS,
2717 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
2718 .subvendor = 0x1435,
2719 .subdevice = 0x7330,
2720 .driver_data = SAA7134_BOARD_RTD_VFG7330,
2721 },{
2642 /* --- boards without eeprom + subsystem ID --- */ 2722 /* --- boards without eeprom + subsystem ID --- */
2643 .vendor = PCI_VENDOR_ID_PHILIPS, 2723 .vendor = PCI_VENDOR_ID_PHILIPS,
2644 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 2724 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -2758,6 +2838,17 @@ int saa7134_board_init1(struct saa7134_dev *dev)
2758 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); 2838 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
2759 msleep(1); 2839 msleep(1);
2760 break; 2840 break;
2841 case SAA7134_BOARD_RTD_VFG7350:
2842
2843 /*
2844 * Make sure Production Test Register at offset 0x1D1 is cleared
2845 * to take chip out of test mode. Clearing bit 4 (TST_EN_AOUT)
2846 * prevents pin 105 from remaining low; keeping pin 105 low
2847 * continually resets the SAA6752 chip.
2848 */
2849
2850 saa_writeb (SAA7134_PRODUCTION_TEST_MODE, 0x00);
2851 break;
2761 } 2852 }
2762 return 0; 2853 return 0;
2763} 2854}
diff --git a/drivers/media/video/saa7134/saa7134-reg.h b/drivers/media/video/saa7134/saa7134-reg.h
index ae0c7a165390..fce4f185ef92 100644
--- a/drivers/media/video/saa7134/saa7134-reg.h
+++ b/drivers/media/video/saa7134/saa7134-reg.h
@@ -348,6 +348,7 @@
348 348
349/* test modes */ 349/* test modes */
350#define SAA7134_SPECIAL_MODE 0x1d0 350#define SAA7134_SPECIAL_MODE 0x1d0
351#define SAA7134_PRODUCTION_TEST_MODE 0x1d1
351 352
352/* audio -- saa7133 + saa7135 only */ 353/* audio -- saa7133 + saa7135 only */
353#define SAA7135_DSP_RWSTATE 0x580 354#define SAA7135_DSP_RWSTATE 0x580
diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c
index 35e5e85f669a..d395403afe5a 100644
--- a/drivers/media/video/saa7134/saa7134-video.c
+++ b/drivers/media/video/saa7134/saa7134-video.c
@@ -1666,6 +1666,7 @@ static int video_do_ioctl(struct inode *inode, struct file *file,
1666 case VIDIOC_QUERYCAP: 1666 case VIDIOC_QUERYCAP:
1667 { 1667 {
1668 struct v4l2_capability *cap = arg; 1668 struct v4l2_capability *cap = arg;
1669 unsigned int tuner_type = dev->tuner_type;
1669 1670
1670 memset(cap,0,sizeof(*cap)); 1671 memset(cap,0,sizeof(*cap));
1671 strcpy(cap->driver, "saa7134"); 1672 strcpy(cap->driver, "saa7134");
@@ -1677,9 +1678,13 @@ static int video_do_ioctl(struct inode *inode, struct file *file,
1677 V4L2_CAP_VIDEO_CAPTURE | 1678 V4L2_CAP_VIDEO_CAPTURE |
1678 V4L2_CAP_VIDEO_OVERLAY | 1679 V4L2_CAP_VIDEO_OVERLAY |
1679 V4L2_CAP_VBI_CAPTURE | 1680 V4L2_CAP_VBI_CAPTURE |
1680 V4L2_CAP_TUNER |
1681 V4L2_CAP_READWRITE | 1681 V4L2_CAP_READWRITE |
1682 V4L2_CAP_STREAMING; 1682 V4L2_CAP_STREAMING |
1683 V4L2_CAP_TUNER;
1684
1685 if ((tuner_type == TUNER_ABSENT) || (tuner_type == UNSET))
1686 cap->capabilities &= ~V4L2_CAP_TUNER;
1687
1683 return 0; 1688 return 0;
1684 } 1689 }
1685 1690
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 69a2cebe8860..ad8e89d6bf50 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -192,6 +192,8 @@ struct saa7134_format {
192#define SAA7134_BOARD_PHILIPS_EUROPA 69 192#define SAA7134_BOARD_PHILIPS_EUROPA 69
193#define SAA7134_BOARD_VIDEOMATE_DVBT_300 70 193#define SAA7134_BOARD_VIDEOMATE_DVBT_300 70
194#define SAA7134_BOARD_VIDEOMATE_DVBT_200 71 194#define SAA7134_BOARD_VIDEOMATE_DVBT_200 71
195#define SAA7134_BOARD_RTD_VFG7350 72
196#define SAA7134_BOARD_RTD_VFG7330 73
195 197
196#define SAA7134_MAXBOARDS 8 198#define SAA7134_MAXBOARDS 8
197#define SAA7134_INPUT_MAX 8 199#define SAA7134_INPUT_MAX 8