diff options
author | Hartmut Hackmann <hartmut.hackmann@t.online.de> | 2005-11-09 00:36:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 10:56:09 -0500 |
commit | 2cf36ac447308046d1c1d50b9f662bddbba56b33 (patch) | |
tree | a2fe21c91e8227d2fc6139bcedd51462d32341ef /drivers/media/video/saa7134/saa7134-cards.c | |
parent | 93df3413f1b4c437b93c5b64562632f4f0e2b3ca (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.c | 104 |
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 | ||
2190 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 2256 | const 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; |
2711 | case 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 | } |