diff -ruN linux-source-2.6.24/drivers/media/video/cx88/cx88-cards.c linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-cards.c --- linux-source-2.6.24/drivers/media/video/cx88/cx88-cards.c 2008-07-12 00:37:15.000000000 +0200 +++ linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-cards.c 2008-07-20 18:32:41.000000000 +0200 @@ -1220,7 +1220,7 @@ }, [CX88_BOARD_WINFAST_DTV2000H] = { /* video inputs and radio still in testing */ - .name = "WinFast DTV2000 H", + .name = "WinFast DTV2000 H ver. I (old)", .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, @@ -1236,6 +1236,45 @@ }}, .mpeg = CX88_MPEG_DVB, }, + [CX88_BOARD_WINFAST_DTV2000H_2] = { + /* this is just a try */ + .name = "WinFast DTV2000 H ver. J (new)", + .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .tda9887_conf = TDA9887_PRESENT, + .input = { { + .type = CX88_VMUX_TELEVISION, + .vmux = 0, + .gpio0 = 0x00017300, + .gpio1 = 0x00008207, + .gpio2 = 0x00000000, + .gpio3 = 0x02000000, + }, { + .type = CX88_VMUX_TELEVISION, + .vmux = 0, + .gpio0 = 0x00018300, + .gpio1 = 0x0000f207, + .gpio2 = 0x00017304, + .gpio3 = 0x02000000, + }, { + .type = CX88_VMUX_COMPOSITE1, + .vmux = 1, + .gpio0 = 0x00018301, + .gpio1 = 0x0000f207, + .gpio2 = 0x00017304, + .gpio3 = 0x02000000, + }, { + .type = CX88_VMUX_SVIDEO, + .vmux = 2, + .gpio0 = 0x00018301, + .gpio1 = 0x0000f207, + .gpio2 = 0x00017304, + .gpio3 = 0x02000000, + } }, + .mpeg = CX88_MPEG_DVB, + }, [CX88_BOARD_GENIATECH_DVBS] = { .name = "Geniatech DVB-S", .tuner_type = TUNER_ABSENT, @@ -1619,6 +1658,10 @@ .subdevice = 0x665e, .card = CX88_BOARD_WINFAST_DTV2000H, },{ + .subvendor = 0x107d, + .subdevice = 0x6f2b, + .card = CX88_BOARD_WINFAST_DTV2000H_2, + },{ .subvendor = 0x18ac, .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */ .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q, diff -ruN linux-source-2.6.24/drivers/media/video/cx88/cx88-dvb.c linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-dvb.c --- linux-source-2.6.24/drivers/media/video/cx88/cx88-dvb.c 2008-02-11 06:51:11.000000000 +0100 +++ linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-dvb.c 2008-07-20 18:29:19.000000000 +0200 @@ -403,6 +403,7 @@ } break; case CX88_BOARD_WINFAST_DTV2000H: + case CX88_BOARD_WINFAST_DTV2000H_2: case CX88_BOARD_HAUPPAUGE_HVR1100: case CX88_BOARD_HAUPPAUGE_HVR1100LP: case CX88_BOARD_HAUPPAUGE_HVR1300: diff -ruN linux-source-2.6.24/drivers/media/video/cx88/cx88.h linux-source-2.6.24_patched/drivers/media/video/cx88/cx88.h --- linux-source-2.6.24/drivers/media/video/cx88/cx88.h 2008-02-11 06:51:11.000000000 +0100 +++ linux-source-2.6.24_patched/drivers/media/video/cx88/cx88.h 2008-07-20 18:32:20.000000000 +0200 @@ -210,6 +210,7 @@ #define CX88_BOARD_TE_DTV_250_OEM_SWANN 55 #define CX88_BOARD_HAUPPAUGE_HVR1300 56 #define CX88_BOARD_ADSTECH_PTV_390 57 +#define CX88_BOARD_WINFAST_DTV2000H_2 68 enum cx88_itype { CX88_VMUX_COMPOSITE1 = 1, diff -ruN linux-source-2.6.24/drivers/media/video/cx88/cx88-input.c linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-input.c --- linux-source-2.6.24/drivers/media/video/cx88/cx88-input.c 2008-02-11 06:51:11.000000000 +0100 +++ linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-input.c 2008-07-20 18:29:34.000000000 +0200 @@ -229,6 +229,7 @@ ir->sampling = 1; break; case CX88_BOARD_WINFAST_DTV2000H: + case CX88_BOARD_WINFAST_DTV2000H_2: ir_codes = ir_codes_winfast; ir->gpio_addr = MO_GP0_IO; ir->mask_keycode = 0x8f8; diff -ruN linux-source-2.6.24/drivers/media/video/cx88/cx88-mpeg.c linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-mpeg.c --- linux-source-2.6.24/drivers/media/video/cx88/cx88-mpeg.c 2008-02-11 06:51:11.000000000 +0100 +++ linux-source-2.6.24_patched/drivers/media/video/cx88/cx88-mpeg.c 2008-07-20 18:31:34.000000000 +0200 @@ -117,6 +117,11 @@ break; case CX88_BOARD_HAUPPAUGE_HVR1300: break; + case CX88_BOARD_WINFAST_DTV2000H_2: + /* switch signal input to antena */ + cx_write(MO_GP0_IO, 0x00017300); + cx_write(TS_SOP_STAT, 0x00); + break; default: cx_write(TS_SOP_STAT, 0x00); break;