aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx88/cx88-cards.c')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c150
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};
1098const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); 1198const 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};
1316const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); 1444const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);