The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH][RESEND] New type of DTV2000H TV Card
@ 2008-02-06 23:22 Zbynek Hrabovsky
  2008-06-13 18:18 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 8+ messages in thread
From: Zbynek Hrabovsky @ 2008-02-06 23:22 UTC (permalink / raw)
  To: linux-kernel, video4linux-list

[-- Attachment #1: Type: text/plain, Size: 940 bytes --]

		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.

[-- Attachment #2: DTV2000H_Patch.diff --]
[-- Type: text/x-patch, Size: 4908 bytes --]

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,

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-08-30 22:36 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-06 23:22 [PATCH][RESEND] New type of DTV2000H TV Card Zbynek Hrabovsky
2008-06-13 18:18 ` Mauro Carvalho Chehab
2008-06-13 21:09   ` André AUZI
2008-06-20 21:57     ` Zbynek Hrabovsky
2008-06-20 21:52   ` Zbynek Hrabovsky
     [not found]     ` <f4d5b6dd0806201352h4538072fy20f6187f54f81bae@mail.gmail.com>
2008-06-28 17:56       ` Zbynek Hrabovsky
2008-06-29 12:13         ` Mauro Carvalho Chehab
2008-08-30 22:35           ` Nicolas Marot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox