aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-cards.c
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t.online.de>2005-11-09 00:36:32 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:56:09 -0500
commit2cf36ac447308046d1c1d50b9f662bddbba56b33 (patch)
treea2fe21c91e8227d2fc6139bcedd51462d32341ef /drivers/media/video/saa7134/saa7134-cards.c
parent93df3413f1b4c437b93c5b64562632f4f0e2b3ca (diff)
[PATCH] v4l: 656: added support for the following cards
- Added support for the following cards: - Philips EUROPA reference desigh - Compro VideoMate DVB-T300 - Compro VideoMate DVB-T200 (initial) Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t.online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c104
1 files changed, 103 insertions, 1 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index fea2188b2fa9..8291ed709736 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2185,6 +2185,72 @@ struct saa7134_board saa7134_boards[] = {
2185 .gpio = 0x00200003, 2185 .gpio = 0x00200003,
2186 }, 2186 },
2187 }, 2187 },
2188 [SAA7134_BOARD_PHILIPS_EUROPA] = {
2189 .name = "Philips EUROPA V3 reference design",
2190 .audio_clock = 0x00187de7,
2191 .tuner_type = TUNER_PHILIPS_TD1316,
2192 .radio_type = UNSET,
2193 .tuner_addr = 0x61,
2194 .radio_addr = ADDR_UNSET,
2195 .tda9887_conf = TDA9887_PRESENT,
2196 .mpeg = SAA7134_MPEG_DVB,
2197 .inputs = {{
2198 .name = name_tv,
2199 .vmux = 3,
2200 .amux = TV,
2201 .tv = 1,
2202 },{
2203 .name = name_comp1,
2204 .vmux = 0,
2205 .amux = LINE2,
2206 },{
2207 .name = name_svideo,
2208 .vmux = 8,
2209 .amux = LINE2,
2210 }},
2211 },
2212 [SAA7134_BOARD_VIDEOMATE_DVBT_300] = {
2213 .name = "Compro Videomate DVB-T300",
2214 .audio_clock = 0x00187de7,
2215 .tuner_type = TUNER_PHILIPS_TD1316,
2216 .radio_type = UNSET,
2217 .tuner_addr = 0x61,
2218 .radio_addr = ADDR_UNSET,
2219 .tda9887_conf = TDA9887_PRESENT,
2220 .mpeg = SAA7134_MPEG_DVB,
2221 .inputs = {{
2222 .name = name_tv,
2223 .vmux = 3,
2224 .amux = TV,
2225 .tv = 1,
2226 },{
2227 .name = name_comp1,
2228 .vmux = 1,
2229 .amux = LINE2,
2230 },{
2231 .name = name_svideo,
2232 .vmux = 8,
2233 .amux = LINE2,
2234 }},
2235 },
2236 [SAA7134_BOARD_VIDEOMATE_DVBT_200] = {
2237 .name = "Compro Videomate DVB-T200",
2238 .tuner_type = TUNER_ABSENT,
2239 .audio_clock = 0x00187de7,
2240 .radio_type = UNSET,
2241 .tuner_addr = ADDR_UNSET,
2242 .radio_addr = ADDR_UNSET,
2243 .mpeg = SAA7134_MPEG_DVB,
2244 .inputs = {{
2245 .name = name_comp1,
2246 .vmux = 0,
2247 .amux = LINE1,
2248 },{
2249 .name = name_svideo,
2250 .vmux = 8,
2251 .amux = LINE1,
2252 }},
2253 },
2188}; 2254};
2189 2255
2190const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 2256const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -2555,6 +2621,24 @@ struct pci_device_id saa7134_pci_tbl[] = {
2555 .subdevice = 0x7135, 2621 .subdevice = 0x7135,
2556 .driver_data = SAA7134_BOARD_GOTVIEW_7135, 2622 .driver_data = SAA7134_BOARD_GOTVIEW_7135,
2557 },{ 2623 },{
2624 .vendor = PCI_VENDOR_ID_PHILIPS,
2625 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
2626 .subvendor = PCI_VENDOR_ID_PHILIPS,
2627 .subdevice = 0x2004,
2628 .driver_data = SAA7134_BOARD_PHILIPS_EUROPA,
2629 },{
2630 .vendor = PCI_VENDOR_ID_PHILIPS,
2631 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
2632 .subvendor = 0x185b,
2633 .subdevice = 0xc900,
2634 .driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_300,
2635 },{
2636 .vendor = PCI_VENDOR_ID_PHILIPS,
2637 .device = PCI_DEVICE_ID_PHILIPS_SAA7130,
2638 .subvendor = 0x185b,
2639 .subdevice = 0xc901,
2640 .driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_200,
2641 },{
2558 /* --- boards without eeprom + subsystem ID --- */ 2642 /* --- boards without eeprom + subsystem ID --- */
2559 .vendor = PCI_VENDOR_ID_PHILIPS, 2643 .vendor = PCI_VENDOR_ID_PHILIPS,
2560 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 2644 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -2708,7 +2792,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
2708 saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR, &tun_setup); 2792 saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR, &tun_setup);
2709 } 2793 }
2710 break; 2794 break;
2711case SAA7134_BOARD_MD7134: 2795 case SAA7134_BOARD_MD7134:
2712 { 2796 {
2713 struct tuner_setup tun_setup; 2797 struct tuner_setup tun_setup;
2714 u8 subaddr; 2798 u8 subaddr;
@@ -2775,6 +2859,24 @@ case SAA7134_BOARD_MD7134:
2775 saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR,&tun_setup); 2859 saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR,&tun_setup);
2776 } 2860 }
2777 break; 2861 break;
2862 case SAA7134_BOARD_PHILIPS_EUROPA:
2863 case SAA7134_BOARD_VIDEOMATE_DVBT_300:
2864 /* The Philips EUROPA based hybrid boards have the tuner connected through
2865 * the channel decoder. We have to make it transparent to find it
2866 */
2867 {
2868 struct tuner_setup tun_setup;
2869 u8 data[] = { 0x07, 0x02};
2870 struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
2871 i2c_transfer(&dev->i2c_adap, &msg, 1);
2872
2873 tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV;
2874 tun_setup.type = dev->tuner_type;
2875 tun_setup.addr = dev->tuner_addr;
2876
2877 saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR,&tun_setup);
2878 }
2879 break;
2778 } 2880 }
2779 return 0; 2881 return 0;
2780} 2882}