lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH][RESEND] New type of DTV2000H TV Card
    		Hello all,

    I bought Leadtek WinFast DTV2000H, but it didn't work. I found, that there are two types of this card. Type I (older), and type J (latest) ... and only type I is supported by the module.

    Type J is not autodetected, and if you force card type (card = 51), DVB-T works, but there is no sound in analogue television. I know why (multiplexer, which is switching between the radio, TV, and external sound is driven by GPIO pins ... and setting of this pins is wrong), and I wrote a patch, which makes this card (DTV2000H type J) works.

    With this patch, card is autodetected, I'm having sound in analogue television, I can switch between antenna, and cable signal input, and I can see video from external S-video and composite video input.

    So ... I'm sending this patch to you. I think it will be good to add support for this card to the cx88xx module.

    Bye,
    Zbynek Hrabovsky, Brno, Czech Republic

    PS .. sorry for my English.
    diff -Naur /usr/src/linux/drivers/media/video/cx88/cx88-cards.c /usr/src/linux/drivers/media/video/cx88-patched/cx88-cards.c
    --- /usr/src/linux/drivers/media/video/cx88/cx88-cards.c 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88-cards.c 2008-01-10 19:24:06.000000000 +0100
    @@ -1205,7 +1205,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,
    @@ -1220,6 +1220,47 @@
    .gpio3 = 0x02000000,
    }},
    .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",
    @@ -1601,6 +1642,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 -Naur /usr/src/linux/drivers/media/video/cx88/cx88-core.c /usr/src/linux/drivers/media/video/cx88-patched/cx88-core.c
    --- /usr/src/linux/drivers/media/video/cx88/cx88-core.c 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88-core.c 2008-01-07 22:55:16.000000000 +0100
    @@ -631,6 +631,8 @@
    msleep(10);
    cx_write(MO_SRST_IO, 1);

    + printk("RESEEEEEEEEEEEEEEEEET !");
    +
    return 0;
    }

    diff -Naur /usr/src/linux/drivers/media/video/cx88/cx88-dvb.c /usr/src/linux/drivers/media/video/cx88-patched/cx88-dvb.c
    --- /usr/src/linux/drivers/media/video/cx88/cx88-dvb.c 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88-dvb.c 2008-01-06 22:08:53.000000000 +0100
    @@ -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 -Naur /usr/src/linux/drivers/media/video/cx88/cx88-input.c /usr/src/linux/drivers/media/video/cx88-patched/cx88-input.c
    --- /usr/src/linux/drivers/media/video/cx88/cx88-input.c 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88-input.c 2008-01-06 22:10:13.000000000 +0100
    @@ -230,6 +230,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 -Naur /usr/src/linux/drivers/media/video/cx88/cx88-mpeg.c /usr/src/linux/drivers/media/video/cx88-patched/cx88-mpeg.c
    --- /usr/src/linux/drivers/media/video/cx88/cx88-mpeg.c 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88-mpeg.c 2008-01-07 23:28:29.000000000 +0100
    @@ -93,6 +93,7 @@
    /* FIXME: this needs a review.
    * also: move to cx88-blackbird + cx88-dvb source files? */

    + if ((core->board) == CX88_BOARD_WINFAST_DTV2000H_2) cx_write(MO_GP0_IO, 0x00017300);/*switch signal input to antena*/
    dprintk( 1, "core->active_type_id = 0x%08x\n", core->active_type_id);

    if ( (core->active_type_id == CX88_MPEG_DVB) &&
    diff -Naur /usr/src/linux/drivers/media/video/cx88/cx88.h /usr/src/linux/drivers/media/video/cx88-patched/cx88.h
    --- /usr/src/linux/drivers/media/video/cx88/cx88.h 2007-10-09 22:31:38.000000000 +0200
    +++ /usr/src/linux/drivers/media/video/cx88-patched/cx88.h 2008-01-03 23:00:39.000000000 +0100
    @@ -210,6 +210,8 @@
    #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 58
    +

    enum cx88_itype {
    CX88_VMUX_COMPOSITE1 = 1,
    \
     
     \ /
      Last update: 2008-02-06 22:25    [W:0.028 / U:0.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site