From: "Miroslav Šustek" <sustmidown@centrum.cz>
To: <cityk@rogers.com>
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] [Bulk] [PATCH] [resent] Leadtek WinFast DTV-1800H support
Date: Sun, 16 Nov 2008 21:28:17 +0100 [thread overview]
Message-ID: <200811162128.22108@centrum.cz> (raw)
In-Reply-To: <4920661C.9020601@rogers.com>
[-- 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
prev parent reply other threads:[~2008-11-16 20:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200811162128.22108@centrum.cz \
--to=sustmidown@centrum.cz \
--cc=cityk@rogers.com \
--cc=linux-dvb@linuxtv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox