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.c56
1 files changed, 55 insertions, 1 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 39465301ec94..e5f07fbd5a35 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1283,6 +1283,51 @@ static const struct cx88_board cx88_boards[] = {
1283 }, 1283 },
1284 .mpeg = CX88_MPEG_DVB, 1284 .mpeg = CX88_MPEG_DVB,
1285 }, 1285 },
1286 [CX88_BOARD_WINFAST_DTV2000H_J] = {
1287 .name = "WinFast DTV2000 H rev. J",
1288 .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
1289 .radio_type = UNSET,
1290 .tuner_addr = ADDR_UNSET,
1291 .radio_addr = ADDR_UNSET,
1292 .tda9887_conf = TDA9887_PRESENT,
1293 .input = {{
1294 .type = CX88_VMUX_TELEVISION,
1295 .vmux = 0,
1296 .gpio0 = 0x00017300,
1297 .gpio1 = 0x00008207,
1298 .gpio2 = 0x00000000,
1299 .gpio3 = 0x02000000,
1300 },{
1301 .type = CX88_VMUX_TELEVISION,
1302 .vmux = 0,
1303 .gpio0 = 0x00018300,
1304 .gpio1 = 0x0000f207,
1305 .gpio2 = 0x00017304,
1306 .gpio3 = 0x02000000,
1307 },{
1308 .type = CX88_VMUX_COMPOSITE1,
1309 .vmux = 1,
1310 .gpio0 = 0x00018301,
1311 .gpio1 = 0x0000f207,
1312 .gpio2 = 0x00017304,
1313 .gpio3 = 0x02000000,
1314 },{
1315 .type = CX88_VMUX_SVIDEO,
1316 .vmux = 2,
1317 .gpio0 = 0x00018301,
1318 .gpio1 = 0x0000f207,
1319 .gpio2 = 0x00017304,
1320 .gpio3 = 0x02000000,
1321 }},
1322 .radio = {
1323 .type = CX88_RADIO,
1324 .gpio0 = 0x00015702,
1325 .gpio1 = 0x0000f207,
1326 .gpio2 = 0x00015702,
1327 .gpio3 = 0x02000000,
1328 },
1329 .mpeg = CX88_MPEG_DVB,
1330 },
1286 [CX88_BOARD_GENIATECH_DVBS] = { 1331 [CX88_BOARD_GENIATECH_DVBS] = {
1287 .name = "Geniatech DVB-S", 1332 .name = "Geniatech DVB-S",
1288 .tuner_type = TUNER_ABSENT, 1333 .tuner_type = TUNER_ABSENT,
@@ -1908,7 +1953,8 @@ static const struct cx88_board cx88_boards[] = {
1908 .radio_addr = ADDR_UNSET, 1953 .radio_addr = ADDR_UNSET,
1909 .input = {{ 1954 .input = {{
1910 .type = CX88_VMUX_DVB, 1955 .type = CX88_VMUX_DVB,
1911 .vmux = 1, 1956 .vmux = 0,
1957 .gpio0 = 0x8080,
1912 } }, 1958 } },
1913 .mpeg = CX88_MPEG_DVB, 1959 .mpeg = CX88_MPEG_DVB,
1914 }, 1960 },
@@ -2282,6 +2328,10 @@ static const struct cx88_subid cx88_subids[] = {
2282 .subdevice = 0x665e, 2328 .subdevice = 0x665e,
2283 .card = CX88_BOARD_WINFAST_DTV2000H, 2329 .card = CX88_BOARD_WINFAST_DTV2000H,
2284 },{ 2330 },{
2331 .subvendor = 0x107d,
2332 .subdevice = 0x6f2b,
2333 .card = CX88_BOARD_WINFAST_DTV2000H_J,
2334 },{
2285 .subvendor = 0x18ac, 2335 .subvendor = 0x18ac,
2286 .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */ 2336 .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */
2287 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q, 2337 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
@@ -3162,7 +3212,11 @@ static void cx88_card_setup(struct cx88_core *core)
3162 case CX88_BOARD_PROF_6200: 3212 case CX88_BOARD_PROF_6200:
3163 case CX88_BOARD_PROF_7300: 3213 case CX88_BOARD_PROF_7300:
3164 case CX88_BOARD_SATTRADE_ST4200: 3214 case CX88_BOARD_SATTRADE_ST4200:
3215 cx_write(MO_GP0_IO, 0x8000);
3216 msleep(100);
3165 cx_write(MO_SRST_IO, 0); 3217 cx_write(MO_SRST_IO, 0);
3218 msleep(10);
3219 cx_write(MO_GP0_IO, 0x8080);
3166 msleep(100); 3220 msleep(100);
3167 cx_write(MO_SRST_IO, 1); 3221 cx_write(MO_SRST_IO, 1);
3168 msleep(100); 3222 msleep(100);