public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] [PATCH] [resent] Leadtek WinFast DTV-1800H support
       [not found]             ` <200811152051.22775@centrum.cz>
@ 2008-11-15 19:52               ` Miroslav   Šustek
  2008-11-16 18:27                 ` [linux-dvb] [Bulk] " CityK
  0 siblings, 1 reply; 3+ messages in thread
From: Miroslav   Šustek @ 2008-11-15 19:52 UTC (permalink / raw)
  To: linux-dvb

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

Hello,

Here is patch for Leadtek WinFast DTV-1800H.
It enables support for digital TV, analogue TV and radio.
I have already sent it here, but as I am newbie the patch wasn't
compatible with "Linux Kernel Coding Style".

That's probably the reason why the patch hasn't been pushed
into the repository yet.

Now the patch meets the LKCS requirements.
(checked using: linux/scripts/checkpatch.pl)

Thanks for the advice.
I hope everything is correct now.

- Miroslav Šustek


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: leadtek_winfast_dtv1800h.patch --]
[-- Type: text/x-patch; name="leadtek_winfast_dtv1800h.patch", Size: 4856 bytes --]

diff -r 312def568276 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-cards.c	Sat Nov 15 20:11:58 2008 +0100
@@ -1967,6 +1967,47 @@
 		} },
 		.mpeg           = CX88_MPEG_DVB,
 	},
+	[CX88_BOARD_WINFAST_DTV1800H] = {
+		.name           = "Leadtek WinFast DTV1800 Hybrid",
+		.tuner_type     = TUNER_XC2028,
+		.radio_type     = TUNER_XC2028,
+		.tuner_addr     = 0x61,
+		.radio_addr     = 0x61,
+		/*
+		 * GPIO setting
+		 *
+		 *  2: mute (0=off,1=on)
+		 * 12: tuner reset pin
+		 * 13: audio source (0=tuner audio,1=line in)
+		 * 14: FM (0=on,1=off ???)
+		 */
+		.input          = {{
+			.type   = CX88_VMUX_TELEVISION,
+			.vmux   = 0,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6040,       /* pin 13 = 0, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		}, {
+			.type   = CX88_VMUX_COMPOSITE1,
+			.vmux   = 1,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6060,       /* pin 13 = 1, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		}, {
+			.type   = CX88_VMUX_SVIDEO,
+			.vmux   = 2,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6060,       /* pin 13 = 1, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		} },
+		.radio = {
+			.type   = CX88_RADIO,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6000,       /* pin 13 = 0, pin 14 = 0 */
+			.gpio2  = 0x0000,
+		},
+		.mpeg           = CX88_MPEG_DVB,
+	},
 };
 
 /* ------------------------------------------------------------------ */
@@ -2376,6 +2417,10 @@
 		.subvendor = 0xb200,
 		.subdevice = 0x4200,
 		.card      = CX88_BOARD_SATTRADE_ST4200,
+	}, {
+		.subvendor = 0x107d,
+		.subdevice = 0x6654,
+		.card      = CX88_BOARD_WINFAST_DTV1800H,
 	},
 };
 
@@ -2573,6 +2618,23 @@
 	return -EINVAL;
 }
 
+static int cx88_xc3028_winfast1800h_callback(struct cx88_core *core,
+					     int command, int arg)
+{
+	switch (command) {
+	case XC2028_TUNER_RESET:
+		/* GPIO 12 (xc3028 tuner reset) */
+		cx_set(MO_GP1_IO, 0x1010);
+		mdelay(50);
+		cx_clear(MO_GP1_IO, 0x10);
+		mdelay(50);
+		cx_set(MO_GP1_IO, 0x10);
+		mdelay(50);
+		return 0;
+	}
+	return -EINVAL;
+}
+
 /* ------------------------------------------------------------------- */
 /* some Divco specific stuff                                           */
 static int cx88_pv_8000gt_callback(struct cx88_core *core,
@@ -2645,6 +2707,8 @@
 	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
 	case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO:
 		return cx88_dvico_xc2028_callback(core, command, arg);
+	case CX88_BOARD_WINFAST_DTV1800H:
+		return cx88_xc3028_winfast1800h_callback(core, command, arg);
 	}
 
 	switch (command) {
@@ -2819,6 +2883,16 @@
 		cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */
 		udelay(1000);
 		break;
+
+	case CX88_BOARD_WINFAST_DTV1800H:
+		/* GPIO 12 (xc3028 tuner reset) */
+		cx_set(MO_GP1_IO, 0x1010);
+		mdelay(50);
+		cx_clear(MO_GP1_IO, 0x10);
+		mdelay(50);
+		cx_set(MO_GP1_IO, 0x10);
+		mdelay(50);
+		break;
 	}
 }
 
@@ -2839,6 +2913,7 @@
 			core->i2c_algo.udelay = 16;
 		break;
 	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		ctl->demod = XC3028_FE_ZARLINK456;
 		break;
 	case CX88_BOARD_KWORLD_ATSC_120:
diff -r 312def568276 linux/drivers/media/video/cx88/cx88-dvb.c
--- a/linux/drivers/media/video/cx88/cx88-dvb.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c	Sat Nov 15 20:11:58 2008 +0100
@@ -965,6 +965,7 @@
 		}
 		break;
 	 case CX88_BOARD_PINNACLE_HYBRID_PCTV:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		fe0->dvb.frontend = dvb_attach(zl10353_attach,
 					       &cx88_pinnacle_hybrid_pctv,
 					       &core->i2c_adap);
diff -r 312def568276 linux/drivers/media/video/cx88/cx88-input.c
--- a/linux/drivers/media/video/cx88/cx88-input.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-input.c	Sat Nov 15 20:11:58 2008 +0100
@@ -93,6 +93,7 @@
 		gpio=(gpio & 0x7fd) + (auxgpio & 0xef);
 		break;
 	case CX88_BOARD_WINFAST_DTV1000:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		gpio = (gpio & 0x6ff) | ((cx_read(MO_GP1_IO) << 8) & 0x900);
 		auxgpio = gpio;
 		break;
@@ -244,6 +245,7 @@
 		ir->sampling = 1;
 		break;
 	case CX88_BOARD_WINFAST_DTV2000H:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		ir_codes = ir_codes_winfast;
 		ir->gpio_addr = MO_GP0_IO;
 		ir->mask_keycode = 0x8f8;
diff -r 312def568276 linux/drivers/media/video/cx88/cx88.h
--- a/linux/drivers/media/video/cx88/cx88.h	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88.h	Sat Nov 15 20:11:58 2008 +0100
@@ -232,6 +232,7 @@
 #define CX88_BOARD_SATTRADE_ST4200         76
 #define CX88_BOARD_TBS_8910                77
 #define CX88_BOARD_PROF_6200               78
+#define CX88_BOARD_WINFAST_DTV1800H        79
 
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

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

* Re: [linux-dvb] [Bulk] [PATCH] [resent] Leadtek WinFast DTV-1800H support
  2008-11-15 19:52               ` [linux-dvb] [PATCH] [resent] Leadtek WinFast DTV-1800H support Miroslav   Šustek
@ 2008-11-16 18:27                 ` CityK
  2008-11-16 20:28                   ` Miroslav   Šustek
  0 siblings, 1 reply; 3+ messages in thread
From: CityK @ 2008-11-16 18:27 UTC (permalink / raw)
  To: Miroslav Šustek; +Cc: linux-dvb

Miroslav Šustek wrote:
> Hello,
>
> Here is patch for Leadtek WinFast DTV-1800H.
> It enables support for digital TV, analogue TV and radio.
> I have already sent it here, but as I am newbie the patch wasn't
> compatible with "Linux Kernel Coding Style".
>
> That's probably the reason why the patch hasn't been pushed
> into the repository yet.
>   

Likely something much more benign -- simply overlooked or hasn't been
spotted yet ... (I believe Mauro is pretty  busy recently and, in
general, traffic on the lists is way down :(  ).

> Now the patch meets the LKCS requirements.
> (checked using: linux/scripts/checkpatch.pl)
>
> Thanks for the advice.
> I hope everything is correct now.

Mauro will want you to add your "signed of by "  ... for further details
see: http://linuxtv.org/hg/v4l-dvb/file/0f7686e28ff5/README.patches

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

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

* Re: [linux-dvb] [Bulk] [PATCH] [resent] Leadtek WinFast DTV-1800H support
  2008-11-16 18:27                 ` [linux-dvb] [Bulk] " CityK
@ 2008-11-16 20:28                   ` Miroslav   Šustek
  0 siblings, 0 replies; 3+ messages in thread
From: Miroslav   Šustek @ 2008-11-16 20:28 UTC (permalink / raw)
  To: cityk; +Cc: linux-dvb

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

CityK wrote:
>Miroslav Šustek wrote:
>> Hello,
>>
>> Here is patch for Leadtek WinFast DTV-1800H.
>> It enables support for digital TV, analogue TV and radio.
>> I have already sent it here, but as I am newbie the patch wasn't
>> compatible with "Linux Kernel Coding Style".
>>
>> That's probably the reason why the patch hasn't been pushed
>> into the repository yet.
>>   
>
>Likely something much more benign -- simply overlooked or hasn't been
>spotted yet ... (I believe Mauro is pretty  busy recently and, in
>general, traffic on the lists is way down :(  ).
>
>> Now the patch meets the LKCS requirements.
>> (checked using: linux/scripts/checkpatch.pl)
>>
>> Thanks for the advice.
>> I hope everything is correct now.
>
>Mauro will want you to add your "signed of by "  ... for further details
>see: http://linuxtv.org/hg/v4l-dvb/file/0f7686e28ff5/README.patches
>

New (signed) patch attached.
Third time and last time. :)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: leadtek_winfast_dtv1800h.patch --]
[-- Type: text/x-patch; name="leadtek_winfast_dtv1800h.patch", Size: 5002 bytes --]

Adds Support for Leadtek WinFast DTV-1800H

From: Miroslav Sustek <sustmidown@centrum.cz>
Signed-off-by: Miroslav Sustek <sustmidown@centrum.cz>

diff -r 312def568276 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-cards.c	Sat Nov 15 20:11:58 2008 +0100
@@ -1967,6 +1967,47 @@
 		} },
 		.mpeg           = CX88_MPEG_DVB,
 	},
+	[CX88_BOARD_WINFAST_DTV1800H] = {
+		.name           = "Leadtek WinFast DTV1800 Hybrid",
+		.tuner_type     = TUNER_XC2028,
+		.radio_type     = TUNER_XC2028,
+		.tuner_addr     = 0x61,
+		.radio_addr     = 0x61,
+		/*
+		 * GPIO setting
+		 *
+		 *  2: mute (0=off,1=on)
+		 * 12: tuner reset pin
+		 * 13: audio source (0=tuner audio,1=line in)
+		 * 14: FM (0=on,1=off ???)
+		 */
+		.input          = {{
+			.type   = CX88_VMUX_TELEVISION,
+			.vmux   = 0,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6040,       /* pin 13 = 0, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		}, {
+			.type   = CX88_VMUX_COMPOSITE1,
+			.vmux   = 1,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6060,       /* pin 13 = 1, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		}, {
+			.type   = CX88_VMUX_SVIDEO,
+			.vmux   = 2,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6060,       /* pin 13 = 1, pin 14 = 1 */
+			.gpio2  = 0x0000,
+		} },
+		.radio = {
+			.type   = CX88_RADIO,
+			.gpio0  = 0x0400,       /* pin 2 = 0 */
+			.gpio1  = 0x6000,       /* pin 13 = 0, pin 14 = 0 */
+			.gpio2  = 0x0000,
+		},
+		.mpeg           = CX88_MPEG_DVB,
+	},
 };
 
 /* ------------------------------------------------------------------ */
@@ -2376,6 +2417,10 @@
 		.subvendor = 0xb200,
 		.subdevice = 0x4200,
 		.card      = CX88_BOARD_SATTRADE_ST4200,
+	}, {
+		.subvendor = 0x107d,
+		.subdevice = 0x6654,
+		.card      = CX88_BOARD_WINFAST_DTV1800H,
 	},
 };
 
@@ -2573,6 +2618,23 @@
 	return -EINVAL;
 }
 
+static int cx88_xc3028_winfast1800h_callback(struct cx88_core *core,
+					     int command, int arg)
+{
+	switch (command) {
+	case XC2028_TUNER_RESET:
+		/* GPIO 12 (xc3028 tuner reset) */
+		cx_set(MO_GP1_IO, 0x1010);
+		mdelay(50);
+		cx_clear(MO_GP1_IO, 0x10);
+		mdelay(50);
+		cx_set(MO_GP1_IO, 0x10);
+		mdelay(50);
+		return 0;
+	}
+	return -EINVAL;
+}
+
 /* ------------------------------------------------------------------- */
 /* some Divco specific stuff                                           */
 static int cx88_pv_8000gt_callback(struct cx88_core *core,
@@ -2645,6 +2707,8 @@
 	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
 	case CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO:
 		return cx88_dvico_xc2028_callback(core, command, arg);
+	case CX88_BOARD_WINFAST_DTV1800H:
+		return cx88_xc3028_winfast1800h_callback(core, command, arg);
 	}
 
 	switch (command) {
@@ -2819,6 +2883,16 @@
 		cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */
 		udelay(1000);
 		break;
+
+	case CX88_BOARD_WINFAST_DTV1800H:
+		/* GPIO 12 (xc3028 tuner reset) */
+		cx_set(MO_GP1_IO, 0x1010);
+		mdelay(50);
+		cx_clear(MO_GP1_IO, 0x10);
+		mdelay(50);
+		cx_set(MO_GP1_IO, 0x10);
+		mdelay(50);
+		break;
 	}
 }
 
@@ -2839,6 +2913,7 @@
 			core->i2c_algo.udelay = 16;
 		break;
 	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		ctl->demod = XC3028_FE_ZARLINK456;
 		break;
 	case CX88_BOARD_KWORLD_ATSC_120:
diff -r 312def568276 linux/drivers/media/video/cx88/cx88-dvb.c
--- a/linux/drivers/media/video/cx88/cx88-dvb.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c	Sat Nov 15 20:11:58 2008 +0100
@@ -965,6 +965,7 @@
 		}
 		break;
 	 case CX88_BOARD_PINNACLE_HYBRID_PCTV:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		fe0->dvb.frontend = dvb_attach(zl10353_attach,
 					       &cx88_pinnacle_hybrid_pctv,
 					       &core->i2c_adap);
diff -r 312def568276 linux/drivers/media/video/cx88/cx88-input.c
--- a/linux/drivers/media/video/cx88/cx88-input.c	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88-input.c	Sat Nov 15 20:11:58 2008 +0100
@@ -93,6 +93,7 @@
 		gpio=(gpio & 0x7fd) + (auxgpio & 0xef);
 		break;
 	case CX88_BOARD_WINFAST_DTV1000:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		gpio = (gpio & 0x6ff) | ((cx_read(MO_GP1_IO) << 8) & 0x900);
 		auxgpio = gpio;
 		break;
@@ -244,6 +245,7 @@
 		ir->sampling = 1;
 		break;
 	case CX88_BOARD_WINFAST_DTV2000H:
+	case CX88_BOARD_WINFAST_DTV1800H:
 		ir_codes = ir_codes_winfast;
 		ir->gpio_addr = MO_GP0_IO;
 		ir->mask_keycode = 0x8f8;
diff -r 312def568276 linux/drivers/media/video/cx88/cx88.h
--- a/linux/drivers/media/video/cx88/cx88.h	Fri Nov 14 14:38:46 2008 -0200
+++ b/linux/drivers/media/video/cx88/cx88.h	Sat Nov 15 20:11:58 2008 +0100
@@ -232,6 +232,7 @@
 #define CX88_BOARD_SATTRADE_ST4200         76
 #define CX88_BOARD_TBS_8910                77
 #define CX88_BOARD_PROF_6200               78
+#define CX88_BOARD_WINFAST_DTV1800H        79
 
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

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

end of thread, other threads:[~2008-11-16 20:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200811152044.831@centrum.cz>
     [not found] ` <200811152045.12993@centrum.cz>
     [not found]   ` <200811152046.1974@centrum.cz>
     [not found]     ` <200811152047.27466@centrum.cz>
     [not found]       ` <200811152048.8070@centrum.cz>
     [not found]         ` <200811152049.21802@centrum.cz>
     [not found]           ` <200811152050.12707@centrum.cz>
     [not found]             ` <200811152051.22775@centrum.cz>
2008-11-15 19:52               ` [linux-dvb] [PATCH] [resent] Leadtek WinFast DTV-1800H support Miroslav   Šustek
2008-11-16 18:27                 ` [linux-dvb] [Bulk] " CityK
2008-11-16 20:28                   ` Miroslav   Šustek

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