diff options
Diffstat (limited to 'drivers/media/video/cx88/cx88-cards.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 150 |
1 files changed, 139 insertions, 11 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index f80154b87d22..67cdd8270863 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -114,7 +114,7 @@ struct cx88_board cx88_boards[] = { | |||
114 | .radio = { | 114 | .radio = { |
115 | .type = CX88_RADIO, | 115 | .type = CX88_RADIO, |
116 | .gpio0 = 0xff10, | 116 | .gpio0 = 0xff10, |
117 | }, | 117 | }, |
118 | }, | 118 | }, |
119 | [CX88_BOARD_ATI_WONDER_PRO] = { | 119 | [CX88_BOARD_ATI_WONDER_PRO] = { |
120 | .name = "ATI TV Wonder Pro", | 120 | .name = "ATI TV Wonder Pro", |
@@ -267,7 +267,7 @@ struct cx88_board cx88_boards[] = { | |||
267 | .gpio1 = 0x00007004, | 267 | .gpio1 = 0x00007004, |
268 | .gpio2 = 0x0035d700, | 268 | .gpio2 = 0x0035d700, |
269 | .gpio3 = 0x02000000, | 269 | .gpio3 = 0x02000000, |
270 | }, | 270 | }, |
271 | }, | 271 | }, |
272 | [CX88_BOARD_LEADTEK_PVR2000] = { | 272 | [CX88_BOARD_LEADTEK_PVR2000] = { |
273 | // gpio values for PAL version from regspy by DScaler | 273 | // gpio values for PAL version from regspy by DScaler |
@@ -413,7 +413,7 @@ struct cx88_board cx88_boards[] = { | |||
413 | .type = CX88_VMUX_COMPOSITE1, | 413 | .type = CX88_VMUX_COMPOSITE1, |
414 | .vmux = 1, | 414 | .vmux = 1, |
415 | .gpio0 = 0x000027df, | 415 | .gpio0 = 0x000027df, |
416 | },{ | 416 | },{ |
417 | .type = CX88_VMUX_SVIDEO, | 417 | .type = CX88_VMUX_SVIDEO, |
418 | .vmux = 2, | 418 | .vmux = 2, |
419 | .gpio0 = 0x000027df, | 419 | .gpio0 = 0x000027df, |
@@ -536,7 +536,7 @@ struct cx88_board cx88_boards[] = { | |||
536 | .type = CX88_VMUX_COMPOSITE1, | 536 | .type = CX88_VMUX_COMPOSITE1, |
537 | .vmux = 1, | 537 | .vmux = 1, |
538 | .gpio0 = 0x000027df, | 538 | .gpio0 = 0x000027df, |
539 | },{ | 539 | },{ |
540 | .type = CX88_VMUX_SVIDEO, | 540 | .type = CX88_VMUX_SVIDEO, |
541 | .vmux = 2, | 541 | .vmux = 2, |
542 | .gpio0 = 0x000027df, | 542 | .gpio0 = 0x000027df, |
@@ -759,7 +759,7 @@ struct cx88_board cx88_boards[] = { | |||
759 | }, | 759 | }, |
760 | [CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD] = { | 760 | [CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD] = { |
761 | .name = "DViCO FusionHDTV 5 Gold", | 761 | .name = "DViCO FusionHDTV 5 Gold", |
762 | .tuner_type = TUNER_LG_TDVS_H062F, | 762 | .tuner_type = TUNER_LG_TDVS_H06XF, /* TDVS-H062F */ |
763 | .radio_type = UNSET, | 763 | .radio_type = UNSET, |
764 | .tuner_addr = ADDR_UNSET, | 764 | .tuner_addr = ADDR_UNSET, |
765 | .radio_addr = ADDR_UNSET, | 765 | .radio_addr = ADDR_UNSET, |
@@ -1050,11 +1050,7 @@ struct cx88_board cx88_boards[] = { | |||
1050 | .dvb = 1, | 1050 | .dvb = 1, |
1051 | }, | 1051 | }, |
1052 | [CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = { | 1052 | [CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = { |
1053 | /* FIXME: Standard video using the cx88 broadcast decoder is | 1053 | /* FIXME: Audio not working for s-video / composite inputs. */ |
1054 | * working, but blackbird isn't working yet, audio is only | ||
1055 | * working correctly for television mode. S-Video and Composite | ||
1056 | * are working for video-only, so I have them disabled for now. | ||
1057 | */ | ||
1058 | .name = "KWorld HardwareMpegTV XPert", | 1054 | .name = "KWorld HardwareMpegTV XPert", |
1059 | .tuner_type = TUNER_PHILIPS_TDA8290, | 1055 | .tuner_type = TUNER_PHILIPS_TDA8290, |
1060 | .radio_type = UNSET, | 1056 | .radio_type = UNSET, |
@@ -1065,12 +1061,21 @@ struct cx88_board cx88_boards[] = { | |||
1065 | .vmux = 0, | 1061 | .vmux = 0, |
1066 | .gpio0 = 0x3de2, | 1062 | .gpio0 = 0x3de2, |
1067 | .gpio2 = 0x00ff, | 1063 | .gpio2 = 0x00ff, |
1064 | },{ | ||
1065 | .type = CX88_VMUX_COMPOSITE1, | ||
1066 | .vmux = 1, | ||
1067 | .gpio0 = 0x3de6, | ||
1068 | },{ | ||
1069 | .type = CX88_VMUX_SVIDEO, | ||
1070 | .vmux = 2, | ||
1071 | .gpio0 = 0x3de6, | ||
1068 | }}, | 1072 | }}, |
1069 | .radio = { | 1073 | .radio = { |
1070 | .type = CX88_RADIO, | 1074 | .type = CX88_RADIO, |
1071 | .gpio0 = 0x3de6, | 1075 | .gpio0 = 0x3de6, |
1072 | .gpio2 = 0x00ff, | 1076 | .gpio2 = 0x00ff, |
1073 | }, | 1077 | }, |
1078 | .blackbird = 1, | ||
1074 | }, | 1079 | }, |
1075 | [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID] = { | 1080 | [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID] = { |
1076 | .name = "DViCO FusionHDTV DVB-T Hybrid", | 1081 | .name = "DViCO FusionHDTV DVB-T Hybrid", |
@@ -1093,7 +1098,102 @@ struct cx88_board cx88_boards[] = { | |||
1093 | }}, | 1098 | }}, |
1094 | .dvb = 1, | 1099 | .dvb = 1, |
1095 | }, | 1100 | }, |
1096 | 1101 | [CX88_BOARD_PCHDTV_HD5500] = { | |
1102 | .name = "pcHDTV HD5500 HDTV", | ||
1103 | .tuner_type = TUNER_LG_TDVS_H06XF, /* TDVS-H064F */ | ||
1104 | .radio_type = UNSET, | ||
1105 | .tuner_addr = ADDR_UNSET, | ||
1106 | .radio_addr = ADDR_UNSET, | ||
1107 | .tda9887_conf = TDA9887_PRESENT, | ||
1108 | .input = {{ | ||
1109 | .type = CX88_VMUX_TELEVISION, | ||
1110 | .vmux = 0, | ||
1111 | .gpio0 = 0x87fd, | ||
1112 | },{ | ||
1113 | .type = CX88_VMUX_COMPOSITE1, | ||
1114 | .vmux = 1, | ||
1115 | .gpio0 = 0x87f9, | ||
1116 | },{ | ||
1117 | .type = CX88_VMUX_SVIDEO, | ||
1118 | .vmux = 2, | ||
1119 | .gpio0 = 0x87f9, | ||
1120 | }}, | ||
1121 | .dvb = 1, | ||
1122 | }, | ||
1123 | [CX88_BOARD_KWORLD_MCE200_DELUXE] = { | ||
1124 | /* FIXME: tested TV input only, disabled composite, | ||
1125 | svideo and radio until they can be tested also. */ | ||
1126 | .name = "Kworld MCE 200 Deluxe", | ||
1127 | .tuner_type = TUNER_TENA_9533_DI, | ||
1128 | .radio_type = UNSET, | ||
1129 | .tda9887_conf = TDA9887_PRESENT, | ||
1130 | .tuner_addr = ADDR_UNSET, | ||
1131 | .radio_addr = ADDR_UNSET, | ||
1132 | .input = {{ | ||
1133 | .type = CX88_VMUX_TELEVISION, | ||
1134 | .vmux = 0, | ||
1135 | .gpio0 = 0x0000BDE6 | ||
1136 | }}, | ||
1137 | .blackbird = 1, | ||
1138 | }, | ||
1139 | [CX88_BOARD_PIXELVIEW_PLAYTV_P7000] = { | ||
1140 | /* FIXME: SVideo, Composite and FM inputs are untested */ | ||
1141 | .name = "PixelView PlayTV P7000", | ||
1142 | .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | ||
1143 | .radio_type = UNSET, | ||
1144 | .tuner_addr = ADDR_UNSET, | ||
1145 | .radio_addr = ADDR_UNSET, | ||
1146 | .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE | | ||
1147 | TDA9887_PORT2_ACTIVE, | ||
1148 | .input = {{ | ||
1149 | .type = CX88_VMUX_TELEVISION, | ||
1150 | .vmux = 0, | ||
1151 | .gpio0 = 0x5da6, | ||
1152 | }}, | ||
1153 | .blackbird = 1, | ||
1154 | }, | ||
1155 | [CX88_BOARD_NPGTECH_REALTV_TOP10FM] = { | ||
1156 | .name = "NPG Tech Real TV FM Top 10", | ||
1157 | .tuner_type = TUNER_TNF_5335MF, /* Actually a TNF9535 */ | ||
1158 | .radio_type = UNSET, | ||
1159 | .tuner_addr = ADDR_UNSET, | ||
1160 | .radio_addr = ADDR_UNSET, | ||
1161 | .input = {{ | ||
1162 | .type = CX88_VMUX_TELEVISION, | ||
1163 | .vmux = 0, | ||
1164 | .gpio0 = 0x0788, | ||
1165 | },{ | ||
1166 | .type = CX88_VMUX_COMPOSITE1, | ||
1167 | .vmux = 1, | ||
1168 | .gpio0 = 0x078b, | ||
1169 | },{ | ||
1170 | .type = CX88_VMUX_SVIDEO, | ||
1171 | .vmux = 2, | ||
1172 | .gpio0 = 0x078b, | ||
1173 | }}, | ||
1174 | .radio = { | ||
1175 | .type = CX88_RADIO, | ||
1176 | .gpio0 = 0x074a, | ||
1177 | }, | ||
1178 | }, | ||
1179 | [CX88_BOARD_WINFAST_DTV2000H] = { | ||
1180 | /* video inputs and radio still in testing */ | ||
1181 | .name = "WinFast DTV2000 H", | ||
1182 | .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3, | ||
1183 | .radio_type = UNSET, | ||
1184 | .tuner_addr = ADDR_UNSET, | ||
1185 | .radio_addr = ADDR_UNSET, | ||
1186 | .tda9887_conf = TDA9887_PRESENT, | ||
1187 | .input = {{ | ||
1188 | .type = CX88_VMUX_TELEVISION, | ||
1189 | .vmux = 0, | ||
1190 | .gpio0 = 0x00017304, | ||
1191 | .gpio1 = 0x00008203, | ||
1192 | .gpio2 = 0x00017304, | ||
1193 | .gpio3 = 0x02000000, | ||
1194 | }}, | ||
1195 | .dvb = 1, | ||
1196 | }, | ||
1097 | }; | 1197 | }; |
1098 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); | 1198 | const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); |
1099 | 1199 | ||
@@ -1311,6 +1411,34 @@ struct cx88_subid cx88_subids[] = { | |||
1311 | .subvendor = 0x18ac, | 1411 | .subvendor = 0x18ac, |
1312 | .subdevice = 0xdb44, | 1412 | .subdevice = 0xdb44, |
1313 | .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, | 1413 | .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, |
1414 | },{ | ||
1415 | .subvendor = 0x7063, | ||
1416 | .subdevice = 0x5500, | ||
1417 | .card = CX88_BOARD_PCHDTV_HD5500, | ||
1418 | },{ | ||
1419 | .subvendor = 0x17de, | ||
1420 | .subdevice = 0x0841, | ||
1421 | .card = CX88_BOARD_KWORLD_MCE200_DELUXE, | ||
1422 | },{ | ||
1423 | .subvendor = 0x1822, | ||
1424 | .subdevice = 0x0019, | ||
1425 | .card = CX88_BOARD_DNTV_LIVE_DVB_T_PRO, | ||
1426 | },{ | ||
1427 | .subvendor = 0x1554, | ||
1428 | .subdevice = 0x4813, | ||
1429 | .card = CX88_BOARD_PIXELVIEW_PLAYTV_P7000, | ||
1430 | },{ | ||
1431 | .subvendor = 0x14f1, | ||
1432 | .subdevice = 0x0842, | ||
1433 | .card = CX88_BOARD_NPGTECH_REALTV_TOP10FM, | ||
1434 | },{ | ||
1435 | .subvendor = 0x107d, | ||
1436 | .subdevice = 0x665e, | ||
1437 | .card = CX88_BOARD_WINFAST_DTV2000H, | ||
1438 | },{ | ||
1439 | .subvendor = 0x18ac, | ||
1440 | .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */ | ||
1441 | .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q, | ||
1314 | }, | 1442 | }, |
1315 | }; | 1443 | }; |
1316 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); | 1444 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); |