[PATCH] Add support for WinFast DTV2000H rev. J

From: Vlastimil Labsky
Date: Thu Jul 02 2009 - 15:11:25 EST


I updated and simplyfied patch from Zbynek Hrabovsky for recent
kernel. It enables autodetection of card, sound in analog TV , sound
in FM radio and switching between antenna and cable RF input. Radio
tuner still doesn't work, I don't even know how it works. Some guys
wrote me that FM radio works with TV tuner used instead of radio part
(symlink video0 -> radio0).

Signed-off-by: Vlastimil Labsky <vlasta.labsky@xxxxxxxxx>

--- a/drivers/media/video/cx88/cx88-cards.c 2009-06-10 05:05:27.000000000 +0200
+++ b/drivers/media/video/cx88/cx88-cards.c 2002-01-02 22:35:26.000000000 +0100
@@ -1283,6 +1283,51 @@ static const struct cx88_board cx88_boar
},
.mpeg = CX88_MPEG_DVB,
},
+ [CX88_BOARD_WINFAST_DTV2000H_J] = {
+ .name = "WinFast DTV2000 H rev. J",
+ .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,
+ }},
+ .radio = {
+ .type = CX88_RADIO,
+ .gpio0 = 0x00015702,
+ .gpio1 = 0x0000f207,
+ .gpio2 = 0x00015702,
+ .gpio3 = 0x02000000,
+ },
+ .mpeg = CX88_MPEG_DVB,
+ },
[CX88_BOARD_GENIATECH_DVBS] = {
.name = "Geniatech DVB-S",
.tuner_type = TUNER_ABSENT,
@@ -2222,6 +2267,10 @@ static const struct cx88_subid cx88_subi
.subdevice = 0x665e,
.card = CX88_BOARD_WINFAST_DTV2000H,
},{
+ .subvendor = 0x107d,
+ .subdevice = 0x6f2b,
+ .card = CX88_BOARD_WINFAST_DTV2000H_J,
+ },{
.subvendor = 0x18ac,
.subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */
.card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
--- a/drivers/media/video/cx88/cx88-dvb.c 2009-06-10 05:05:27.000000000 +0200
+++ b/drivers/media/video/cx88/cx88-dvb.c 2002-01-02 22:36:10.000000000 +0100
@@ -695,6 +695,7 @@ static int dvb_register(struct cx8802_de
}
break;
case CX88_BOARD_WINFAST_DTV2000H:
+ case CX88_BOARD_WINFAST_DTV2000H_J:
case CX88_BOARD_HAUPPAUGE_HVR1100:
case CX88_BOARD_HAUPPAUGE_HVR1100LP:
case CX88_BOARD_HAUPPAUGE_HVR1300:
--- a/drivers/media/video/cx88/cx88-input.c 2009-06-10 05:05:27.000000000 +0200
+++ b/drivers/media/video/cx88/cx88-input.c 2002-01-02 22:36:57.000000000 +0100
@@ -222,6 +222,7 @@ int cx88_ir_init(struct cx88_core *core,
ir->sampling = 1;
break;
case CX88_BOARD_WINFAST_DTV2000H:
+ case CX88_BOARD_WINFAST_DTV2000H_J:
ir_codes = ir_codes_winfast;
ir->gpio_addr = MO_GP0_IO;
ir->mask_keycode = 0x8f8;
--- a/drivers/media/video/cx88/cx88.h 2009-06-10 05:05:27.000000000 +0200
+++ b/drivers/media/video/cx88/cx88.h 2002-01-02 22:37:56.000000000 +0100
@@ -232,6 +232,7 @@ extern struct sram_channel cx88_sram_cha
#define CX88_BOARD_TBS_8910 77
#define CX88_BOARD_PROF_6200 78
#define CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII 79
+#define CX88_BOARD_WINFAST_DTV2000H_J 80

enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/