From: allan k <sonofzev@iinet.net.au>
To: stev391@email.com
Cc: linux-dvb <linux-dvb@linuxtv.org>
Subject: Re: [linux-dvb] DViCO Fusion HDTV DVB-T Dual Express [PATCH]
Date: Sat, 17 May 2008 21:27:19 +1000 [thread overview]
Message-ID: <1211023639.8225.2.camel@media1> (raw)
In-Reply-To: <20080514055431.D014A104F0@ws1-3.us4.outblaze.com>
Hi Steve
I'm getting a large amount of noise again, although after previous
restarts this didn't happen.
I'm wondering if your patch is already merged into the v4l sources or if
I need to use this one you sent.
cheers
Allan
On Wed, 2008-05-14 at 15:54 +1000, stev391@email.com wrote:
>
> I have updated my patch (from a week ago) and is included inline below
> as well as an attachment. The issue that was noticed and mentioned in
> previous posts regarding to tuners not resetting was possibly due to
> several "__FUNCTION_" in the tuner reset code, these should be
> "__func__", which is fixed in the attached patch.
>
> This patch is against the v4l-dvb head (7897, 2e9a2e4c8435) and is
> intended to merge Chris Pascoe's work into the current head to enable
> support for the DViCO Fusion HDTV DVB-T Dual Express (PCIe). This
> enables systems with different tuners to take advantage of other
> experimental drivers, (for example my TV Walker Twin USB tuner).
>
> Regards,
>
> Stephen
>
> diff -Naur v4l-dvb/linux/Documentation/video4linux/CARDLIST.cx23885
> v4l-dvb_dev/linux/Documentation/video4linux/CARDLIST.cx23885
> --- v4l-dvb/linux/Documentation/video4linux/CARDLIST.cx23885
> 2008-05-14 09:48:21.000000000 +1000
> +++ v4l-dvb_dev/linux/Documentation/video4linux/CARDLIST.cx23885
> 2008-05-14 13:39:30.000000000 +1000
> @@ -8,3 +8,4 @@
> 7 -> Hauppauge WinTV-HVR1200
> [0070:71d1,0070:71d3]
> ; 8 -> Hauppauge WinTV-HVR1700
> [0070:8101]
> 9 -> Hauppauge WinTV-HVR1400
> [0070:8010]
> + 10 -> DViCO FusionHDTV DVB-T Dual Express
> [18ac:db78]
> diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885-cards.c
> v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885-cards.c
> --- v4l-dvb/linux/drivers/media/video/cx23885/cx23885-cards.c
> 2008-05-14 09:48:22.000000000 +1000
> +++ v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885-cards.c
> 2008-05-14 13:39:30.000000000 +1000
> @@ -144,6 +144,11 @@
> .name = "Hauppauge WinTV-HVR1400",
> .portc = CX23885_MPEG_DVB,
> },
> + [CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP] = {
> + .name = "DViCO FusionHDTV DVB-T Dual Express",
> + .portb = CX23885_MPEG_DVB,
> + .portc = CX23885_MPEG_DVB,
> + },
> };
> const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
>
> @@ -211,6 +216,10 @@
> .subvendor = 0x0070,
> .subdevice = 0x8010,
> .card = CX23885_BOARD_HAUPPAUGE_HVR1400,
> + },{
> + .subvendor = 0x18ac,
> + .subdevice = 0xdb78,
> + .card = CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP,
> },
> };
> const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
> @@ -428,6 +437,13 @@
> mdelay(20);
> cx_set(GP0_IO, 0x00050005);
> break;
> + case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
> + /* GPIO-0 portb xc3028 reset */
> + /* GPIO-1 portb zl10353 reset */
> + /* GPIO-2 portc xc3028 reset */
> + /* GPIO-3 portc zl10353 reset */
> + cx_write(GP0_IO, 0x002f1000);
> + break;
> }
> }
>
> @@ -442,6 +458,9 @@
> case CX23885_BOARD_HAUPPAUGE_HVR1400:
> /* FIXME: Implement me */
> break;
> + case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
> + request_module("ir-kbd-i2c");
> + break;
> }
>
> return 0;
> @@ -478,6 +497,11 @@
> }
>
> switch (dev->board) {
> + case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
> + ts2->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */
> + ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */
> + ts2->src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
> + /* FALLTHROUGH */
> case CX23885_BOARD_DVICO_FUSIONHDTV_5_EXP:
> ts1->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */
> ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */
> diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885-dvb.c
> v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885-dvb.c
> --- v4l-dvb/linux/drivers/media/video/cx23885/cx23885-dvb.c
> 2008-05-14 09:48:22.000000000 +1000
> +++ v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885-dvb.c
> 2008-05-14 13:39:30.000000000 +1000
> @@ -42,6 +42,9 @@
> #include "tuner-simple.h"
> #include "dib7000p.h"
> #include "dibx000_common.h"
> +#include "zl10353.h"
> +#include "tuner-xc2028.h"
> +#include "tuner-xc2028-types.h"
>
> static unsigned int debug;
>
> @@ -155,6 +158,44 @@
> .serial_mpeg = 0x40,
> };
>
> +static int cx23885_dvico_xc2028_callback(void *ptr, int command, int
> arg)
> +{
> + struct cx23885_tsport *port = ptr;
> + struct cx23885_dev *dev = port->dev;
> + u32 reset_mask = 0;
> +
> + switch (command) {
> + case XC2028_TUNER_RESET:
> + dprintk(1, "%s: XC2028_TUNER_RESET %d, port %d\n", __func__,
> + arg, port->nr);
> +
> + if (port->nr == 1)
> + reset_mask = 0x0101;
> + else if (port->nr == 2)
> + reset_mask = 0x0404;
> +
> + cx_clear(GP0_IO, reset_mask);
> + mdelay(5);
> + cx_set(GP0_IO, reset_mask);
> + break;
> + case XC2028_RESET_CLK:
> + dprintk(1, "%s: XC2028_RESET_CLK %d\n", __func__, arg);
> + break;
> + default:
> + dprintk(1, "%s: unknown command %d, arg %d\n", __func__,
> + command, arg);
> + return -EINVAL;
> + }
> +
> + return 0;
> +}
> +
> +static struct zl10353_config dvico_fusionhdtv_xc3028 = {
> + .demod_address = 0x0f,
> + .if2 = 45600,
> + .no_tuner = 1,
> +};
> +
> static struct s5h1409_config hauppauge_hvr1500q_config = {
> .demod_address = 0x32 >> 1,
> .output_mode = S5H1409_SERIAL_OUTPUT,
> @@ -454,6 +495,39 @@
> fe->ops.tuner_ops.set_config(fe, &ctl);
> }
> break;
> + case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP: {
> + i2c_bus = &dev->i2c_bus[port->nr - 1];
> +
> + /* Take demod and tuner out of reset */
> + if (port->nr == 1)
> + cx_set(GP0_IO, 0x0303);
> + else if (port->nr == 2)
> + cx_set(GP0_IO, 0x0c0c);
> + mdelay(5);
> + port->dvb.frontend = dvb_attach(zl10353_attach,
> + &dvico_fusionhdtv_xc3028,
> + &i2c_bus->i2c_adap);
> + if (port->dvb.frontend != NULL) {
> + struct dvb_frontend *fe;
> + struct xc2028_config cfg = {
> + .i2c_adap = &i2c_bus->i2c_adap,
> + .i2c_addr = 0x61,
> + .video_dev = port,
> + .callback = cx23885_dvico_xc2028_callback,
> + };
> + static struct xc2028_ctrl ctl = {
> + .fname = "xc3028-dvico-au-01.fw",
> + .max_len = 64,
> + .scode_table = ZARLINK456,
> + };
> +
> + fe = dvb_attach(xc2028_attach, port->dvb.frontend,
> + &cfg);
> + if (fe != NULL && fe->ops.tuner_ops.set_config != NULL)
> + fe->ops.tuner_ops.set_config(fe, &ctl);
> + }
> + break;
> + }
> default:
> printk("%s: The frontend of your DVB/ATSC card isn't
> supported yet\n",
> dev->name);
> diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885.h
> v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885.h
> --- v4l-dvb/linux/drivers/media/video/cx23885/cx23885.h 2008-05-14
> 09:48:22.000000000 +1000
> +++ v4l-dvb_dev/linux/drivers/media/video/cx23885/cx23885.h
> 2008-05-14 13:39:30.000000000 +1000
> @@ -66,6 +66,7 @@
> #define CX23885_BOARD_HAUPPAUGE_HVR1200 7
> #define CX23885_BOARD_HAUPPAUGE_HVR1700 8
> #define CX23885_BOARD_HAUPPAUGE_HVR1400 9
> +#define CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP 10
>
> /* Currently unsupported by the driver: PAL/H, NTSC/Kr, SECAM
> B/G/H/LC */
> #define CX23885_NORMS (\
> diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/Kconfig
> v4l-dvb_dev/linux/drivers/media/video/cx23885/Kconfig
> --- v4l-dvb/linux/drivers/media/video/cx23885/Kconfig 2008-05-14
> 09:48:22.000000000 +1000
> +++ v4l-dvb_dev/linux/drivers/media/video/cx23885/Kconfig
> 2008-05-14 13:39:30.000000000 +1000
> @@ -15,6 +15,7 @@
> select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE
> select DVB_S5H1409 if !DVB_FE_CUSTOMISE
> select DVB_LGDT330X if !DVB_FE_CUSTOMISE
> + select DVB_ZL10353 if !DVB_FE_CUSTOMISE
> select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
> select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
> select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
>
>
>
> --
> See Exclusive Video: 10th Annual Young Hollywood Awards
>
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-05-17 11:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-14 5:54 [linux-dvb] DViCO Fusion HDTV DVB-T Dual Express [PATCH] stev391
2008-05-17 11:27 ` allan k [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-05-14 22:12 stev391
2008-05-20 16:10 ` jochen s
2008-05-18 9:45 stev391
2008-05-20 21:45 stev391
2008-05-20 23:48 ` jochen s
2008-05-23 19:46 ` Hans-Frieder Vogt
2008-05-25 11:28 stev391
2008-05-26 2:20 ` bumkunjo
2008-05-26 9:29 ` Zac Spitzer
2008-05-26 9:52 ` Andrew Herron
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=1211023639.8225.2.camel@media1 \
--to=sonofzev@iinet.net.au \
--cc=linux-dvb@linuxtv.org \
--cc=stev391@email.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.