diff options
author | Simon Farnsworth <simon.farnsworth@onelan.co.uk> | 2007-05-01 09:01:20 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-05-09 09:12:36 -0400 |
commit | b39423a95c1fd2508e463130b77d8256ef3fcead (patch) | |
tree | 8ee31f28135ea800316555f7a5d3b2d4f65a2b17 | |
parent | 4d8451700171d6bbc254191880f86bfdeec2f74f (diff) |
V4L/DVB (5580): Add support for three cards to saa7134 driver
Add support for the "Elitegroup ECS TVP3XP FM1246", the "KWorld DVB-T
210", and the Animation Technologies LR214 Rev F onwards (SAA7131) to
the saa7134 driver.
Also rename the LR214WF to the LR214 Rev E or ealier (SAA7135), to match
what we've seen on boards in the field.
Changed the comment on the Lifeview cards to indicate Rev E and earlier
versus Rev F and later, together with a chip indicator, following
feedback from Peter Missel <peter.missel@onlinehome.de>.
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 4 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 87 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 17 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 2 |
4 files changed, 108 insertions, 2 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index d7bb2e2e4d9b..92b4256b26e1 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -52,7 +52,7 @@ | |||
52 | 51 -> ProVideo PV952 [1540:9524] | 52 | 51 -> ProVideo PV952 [1540:9524] |
53 | 52 -> AverMedia AverTV/305 [1461:2108] | 53 | 52 -> AverMedia AverTV/305 [1461:2108] |
54 | 53 -> ASUS TV-FM 7135 [1043:4845] | 54 | 53 -> ASUS TV-FM 7135 [1043:4845] |
55 | 54 -> LifeView FlyTV Platinum FM / Gold [5168:0214,1489:0214,5168:0304] | 55 | 54 -> LifeView FlyTV Platinum FM / Gold [5168:0214,5168:5214,1489:0214,5168:0304] |
56 | 55 -> LifeView FlyDVB-T DUO / MSI TV@nywhere Duo [5168:0306,4E42:0306] | 56 | 55 -> LifeView FlyDVB-T DUO / MSI TV@nywhere Duo [5168:0306,4E42:0306] |
57 | 56 -> Avermedia AVerTV 307 [1461:a70a] | 57 | 56 -> Avermedia AVerTV 307 [1461:a70a] |
58 | 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] | 58 | 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] |
@@ -111,3 +111,5 @@ | |||
111 | 110 -> Avermedia M102 [1461:f31e] | 111 | 110 -> Avermedia M102 [1461:f31e] |
112 | 111 -> ASUS P7131 4871 [1043:4871] | 112 | 111 -> ASUS P7131 4871 [1043:4871] |
113 | 112 -> ASUSTeK P7131 Hybrid [1043:4876] | 113 | 112 -> ASUSTeK P7131 Hybrid [1043:4876] |
114 | 113 -> Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM) [1019:4cb6] | ||
115 | 114 -> KWorld DVB-T 210 [17de:7250] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 4ea479baee74..ea07e77e6a4b 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -1170,6 +1170,42 @@ struct saa7134_board saa7134_boards[] = { | |||
1170 | .amux = LINE2, | 1170 | .amux = LINE2, |
1171 | }, | 1171 | }, |
1172 | }, | 1172 | }, |
1173 | [SAA7134_BOARD_ECS_TVP3XP_4CB6] = { | ||
1174 | /* Barry Scott <barry.scott@onelan.co.uk> */ | ||
1175 | .name = "Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)", | ||
1176 | .audio_clock = 0x187de7, | ||
1177 | .tuner_type = TUNER_PHILIPS_PAL_I, | ||
1178 | .radio_type = UNSET, | ||
1179 | .tuner_addr = ADDR_UNSET, | ||
1180 | .radio_addr = ADDR_UNSET, | ||
1181 | .inputs = {{ | ||
1182 | .name = name_tv, | ||
1183 | .vmux = 1, | ||
1184 | .amux = TV, | ||
1185 | .tv = 1, | ||
1186 | },{ | ||
1187 | .name = name_tv_mono, | ||
1188 | .vmux = 1, | ||
1189 | .amux = LINE2, | ||
1190 | .tv = 1, | ||
1191 | },{ | ||
1192 | .name = name_comp1, | ||
1193 | .vmux = 3, | ||
1194 | .amux = LINE1, | ||
1195 | },{ | ||
1196 | .name = name_svideo, | ||
1197 | .vmux = 8, | ||
1198 | .amux = LINE1, | ||
1199 | },{ | ||
1200 | .name = "CVid over SVid", | ||
1201 | .vmux = 0, | ||
1202 | .amux = LINE1, | ||
1203 | }}, | ||
1204 | .radio = { | ||
1205 | .name = name_radio, | ||
1206 | .amux = LINE2, | ||
1207 | }, | ||
1208 | }, | ||
1173 | [SAA7134_BOARD_AVACSSMARTTV] = { | 1209 | [SAA7134_BOARD_AVACSSMARTTV] = { |
1174 | /* Roman Pszonczenko <romka@kolos.math.uni.lodz.pl> */ | 1210 | /* Roman Pszonczenko <romka@kolos.math.uni.lodz.pl> */ |
1175 | .name = "AVACS SmartTV", | 1211 | .name = "AVACS SmartTV", |
@@ -2754,6 +2790,35 @@ struct saa7134_board saa7134_boards[] = { | |||
2754 | .amux = LINE1, | 2790 | .amux = LINE1, |
2755 | }, | 2791 | }, |
2756 | }, | 2792 | }, |
2793 | [SAA7134_BOARD_KWORLD_DVBT_210] = { | ||
2794 | .name = "KWorld DVB-T 210", | ||
2795 | .audio_clock = 0x00187de7, | ||
2796 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
2797 | .radio_type = UNSET, | ||
2798 | .tuner_addr = ADDR_UNSET, | ||
2799 | .radio_addr = ADDR_UNSET, | ||
2800 | .mpeg = SAA7134_MPEG_DVB, | ||
2801 | .gpiomask = 1 << 21, | ||
2802 | .inputs = {{ | ||
2803 | .name = name_tv, | ||
2804 | .vmux = 1, | ||
2805 | .amux = TV, | ||
2806 | .tv = 1, | ||
2807 | },{ | ||
2808 | .name = name_comp1, | ||
2809 | .vmux = 3, | ||
2810 | .amux = LINE1, | ||
2811 | },{ | ||
2812 | .name = name_svideo, | ||
2813 | .vmux = 8, | ||
2814 | .amux = LINE1, | ||
2815 | }}, | ||
2816 | .radio = { | ||
2817 | .name = name_radio, | ||
2818 | .amux = TV, | ||
2819 | .gpio = 0x0200000, | ||
2820 | }, | ||
2821 | }, | ||
2757 | [SAA7134_BOARD_KWORLD_ATSC110] = { | 2822 | [SAA7134_BOARD_KWORLD_ATSC110] = { |
2758 | .name = "Kworld ATSC110", | 2823 | .name = "Kworld ATSC110", |
2759 | .audio_clock = 0x00187de7, | 2824 | .audio_clock = 0x00187de7, |
@@ -3515,7 +3580,13 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3515 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3580 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3516 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 3581 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, |
3517 | .subvendor = 0x5168, /* Animation Technologies (LifeView) */ | 3582 | .subvendor = 0x5168, /* Animation Technologies (LifeView) */ |
3518 | .subdevice = 0x0214, /* Standard PCI, LR214WF */ | 3583 | .subdevice = 0x0214, /* Standard PCI, LR214 Rev E and earlier (SAA7135) */ |
3584 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, | ||
3585 | },{ | ||
3586 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3587 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
3588 | .subvendor = 0x5168, /* Animation Technologies (LifeView) */ | ||
3589 | .subdevice = 0x5214, /* Standard PCI, LR214 Rev F onwards (SAA7131) */ | ||
3519 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, | 3590 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, |
3520 | },{ | 3591 | },{ |
3521 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3592 | .vendor = PCI_VENDOR_ID_PHILIPS, |
@@ -3689,6 +3760,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3689 | .driver_data = SAA7134_BOARD_ECS_TVP3XP_4CB5, | 3760 | .driver_data = SAA7134_BOARD_ECS_TVP3XP_4CB5, |
3690 | },{ | 3761 | },{ |
3691 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3762 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3763 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | ||
3764 | .subvendor = 0x1019, | ||
3765 | .subdevice = 0x4cb6, | ||
3766 | .driver_data = SAA7134_BOARD_ECS_TVP3XP_4CB6, | ||
3767 | },{ | ||
3768 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3692 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 3769 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, |
3693 | .subvendor = 0x12ab, | 3770 | .subvendor = 0x12ab, |
3694 | .subdevice = 0x0800, | 3771 | .subdevice = 0x0800, |
@@ -3915,6 +3992,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3915 | .driver_data = SAA7134_BOARD_TEVION_DVBT_220RF, | 3992 | .driver_data = SAA7134_BOARD_TEVION_DVBT_220RF, |
3916 | },{ | 3993 | },{ |
3917 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3994 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3995 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
3996 | .subvendor = 0x17de, | ||
3997 | .subdevice = 0x7250, | ||
3998 | .driver_data = SAA7134_BOARD_KWORLD_DVBT_210, | ||
3999 | },{ | ||
4000 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3918 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */ | 4001 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */ |
3919 | .subvendor = 0x17de, | 4002 | .subvendor = 0x17de, |
3920 | .subdevice = 0x7350, | 4003 | .subdevice = 0x7350, |
@@ -4178,6 +4261,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
4178 | case SAA7134_BOARD_CINERGY600_MK3: | 4261 | case SAA7134_BOARD_CINERGY600_MK3: |
4179 | case SAA7134_BOARD_ECS_TVP3XP: | 4262 | case SAA7134_BOARD_ECS_TVP3XP: |
4180 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: | 4263 | case SAA7134_BOARD_ECS_TVP3XP_4CB5: |
4264 | case SAA7134_BOARD_ECS_TVP3XP_4CB6: | ||
4181 | case SAA7134_BOARD_MD2819: | 4265 | case SAA7134_BOARD_MD2819: |
4182 | case SAA7134_BOARD_KWORLD_VSTREAM_XPERT: | 4266 | case SAA7134_BOARD_KWORLD_VSTREAM_XPERT: |
4183 | case SAA7134_BOARD_KWORLD_XPERT: | 4267 | case SAA7134_BOARD_KWORLD_XPERT: |
@@ -4426,6 +4510,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4426 | } | 4510 | } |
4427 | break; | 4511 | break; |
4428 | case SAA7134_BOARD_PINNACLE_PCTV_310i: | 4512 | case SAA7134_BOARD_PINNACLE_PCTV_310i: |
4513 | case SAA7134_BOARD_KWORLD_DVBT_210: | ||
4429 | case SAA7134_BOARD_TEVION_DVBT_220RF: | 4514 | case SAA7134_BOARD_TEVION_DVBT_220RF: |
4430 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 4515 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
4431 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | 4516 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 65aec881bbde..e0eec80088c7 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -887,6 +887,20 @@ static struct tda1004x_config asus_p7131_hybrid_lna_config = { | |||
887 | .antenna_switch= 2, | 887 | .antenna_switch= 2, |
888 | .request_firmware = philips_tda1004x_request_firmware | 888 | .request_firmware = philips_tda1004x_request_firmware |
889 | }; | 889 | }; |
890 | static struct tda1004x_config kworld_dvb_t_210_config = { | ||
891 | .demod_address = 0x08, | ||
892 | .invert = 1, | ||
893 | .invert_oclk = 0, | ||
894 | .xtal_freq = TDA10046_XTAL_16M, | ||
895 | .agc_config = TDA10046_AGC_TDA827X, | ||
896 | .gpio_config = TDA10046_GP11_I, | ||
897 | .if_freq = TDA10046_FREQ_045, | ||
898 | .i2c_gate = 0x4b, | ||
899 | .tuner_address = 0x61, | ||
900 | .tuner_config = 2, | ||
901 | .antenna_switch= 1, | ||
902 | .request_firmware = philips_tda1004x_request_firmware | ||
903 | }; | ||
890 | /* ------------------------------------------------------------------ | 904 | /* ------------------------------------------------------------------ |
891 | * special case: this card uses saa713x GPIO22 for the mode switch | 905 | * special case: this card uses saa713x GPIO22 for the mode switch |
892 | */ | 906 | */ |
@@ -1039,6 +1053,9 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1039 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_tda6651_pll_set; | 1053 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_tda6651_pll_set; |
1040 | } | 1054 | } |
1041 | break; | 1055 | break; |
1056 | case SAA7134_BOARD_KWORLD_DVBT_210: | ||
1057 | configure_tda827x_fe(dev, &kworld_dvb_t_210_config); | ||
1058 | break; | ||
1042 | case SAA7134_BOARD_PHILIPS_TIGER: | 1059 | case SAA7134_BOARD_PHILIPS_TIGER: |
1043 | configure_tda827x_fe(dev, &philips_tiger_config); | 1060 | configure_tda827x_fe(dev, &philips_tiger_config); |
1044 | break; | 1061 | break; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 62224cc958f1..1f9d4365f729 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -235,6 +235,8 @@ struct saa7134_format { | |||
235 | #define SAA7134_BOARD_AVERMEDIA_M102 110 | 235 | #define SAA7134_BOARD_AVERMEDIA_M102 110 |
236 | #define SAA7134_BOARD_ASUS_P7131_4871 111 | 236 | #define SAA7134_BOARD_ASUS_P7131_4871 111 |
237 | #define SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA 112 | 237 | #define SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA 112 |
238 | #define SAA7134_BOARD_ECS_TVP3XP_4CB6 113 | ||
239 | #define SAA7134_BOARD_KWORLD_DVBT_210 114 | ||
238 | 240 | ||
239 | #define SAA7134_MAXBOARDS 8 | 241 | #define SAA7134_MAXBOARDS 8 |
240 | #define SAA7134_INPUT_MAX 8 | 242 | #define SAA7134_INPUT_MAX 8 |