diff options
author | Michael Krufky <devnull@localhost> | 2005-10-27 04:33:27 +0000 |
---|---|---|
committer | Michael Krufky <devnull@localhost> | 2005-10-27 04:33:27 +0000 |
commit | be5a5383388034d7757116daa71d59ae4b002ff1 (patch) | |
tree | 92c73b2f77b2c65532ba4215d52e850ea39f34e2 /linux/drivers/media/video/cx88 | |
parent | 8986d215104a954362dbae6a7595da6bdbd467f3 (diff) | |
download | mediapointer-dvb-s2-be5a5383388034d7757116daa71d59ae4b002ff1.tar.gz mediapointer-dvb-s2-be5a5383388034d7757116daa71d59ae4b002ff1.tar.bz2 |
* ../linux/drivers/media/video/cx88/Kconfig:
* ../linux/drivers/media/video/cx88/Makefile:
* ../linux/drivers/media/video/cx88/cx88-dvb.c:
(nxt200x_set_ts_param), (dvb_register):
* ../v4l/Makefile:
- Added support for NXT200X based cards (ATI HDTV Wonder)
* ../linux/drivers/media/video/cx88/cx88-cards.c:
(cx88_card_setup):
- Cleaned up initialization of ATI HDTV Wonder. The card is now
able to work in analog or digital mode and able to switch
between them without any problems.
* ../linux/drivers/media/video/tuner-simple.c:
(default_set_tv_freq):
- Fixed value in "Philips TUV1236D ATSC/NTSC dual in" tuner data.
- When tuning the "Philips TUV1236D ATSC/NTSC dual in" tuner,
make sure that we are in the correct tuning mode.
Signed-off-by: Kirk Lapray <kirk.lapray@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/Kconfig | 10 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/Makefile | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 11 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 28 |
4 files changed, 43 insertions, 9 deletions
diff --git a/linux/drivers/media/video/cx88/Kconfig b/linux/drivers/media/video/cx88/Kconfig index 3c9121521..1c9009589 100644 --- a/linux/drivers/media/video/cx88/Kconfig +++ b/linux/drivers/media/video/cx88/Kconfig @@ -37,6 +37,7 @@ config VIDEO_CX88_DVB_ALL_FRONTENDS select DVB_OR51132 select DVB_CX22702 select DVB_LGDT330X + select DVB_NXT200X ---help--- This builds cx88-dvb with all currently supported frontend demodulators. If you wish to tweak your configuration, and @@ -79,3 +80,12 @@ config VIDEO_CX88_DVB_LGDT330X ---help--- This adds ATSC 8VSB and QAM64/256 support for cards based on the Connexant 2388x chip and the LGDT3302/LGDT3303 demodulator. + +config VIDEO_CX88_DVB_NXT200X + tristate "NXT2002/NXT2004 ATSC Support" + default m + depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS + select DVB_NXT200X + ---help--- + This adds ATSC 8VSB and QAM64/256 support for cards based on the + Connexant 2388x chip and the NXT2002/NXT2004 demodulator. diff --git a/linux/drivers/media/video/cx88/Makefile b/linux/drivers/media/video/cx88/Makefile index be1dc66e0..0df40b773 100644 --- a/linux/drivers/media/video/cx88/Makefile +++ b/linux/drivers/media/video/cx88/Makefile @@ -24,3 +24,6 @@ endif ifneq ($(CONFIG_DVB_MT352),n) EXTRA_CFLAGS += -DHAVE_MT352=1 endif +ifneq ($(CONFIG_DVB_NXT200X),n) + EXTRA_CFLAGS += -DHAVE_NXT200X=1 +endif diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index b490bff61..959390c1a 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-cards.c,v 1.101 2005/10/16 12:13:58 mchehab Exp $ + * $Id: cx88-cards.c,v 1.102 2005/10/27 04:33:27 mkrufky Exp $ * * device driver for Conexant 2388x based TV cards * card-specific stuff. @@ -853,9 +853,7 @@ struct cx88_board cx88_boards[] = { .gpio2 = 0x00000001, .gpio3 = 0x00000000, }}, -#if 0 .dvb = 1, -#endif }, [CX88_BOARD_WINFAST_DTV1000] = { .name = "WinFast DTV1000-T", @@ -1217,13 +1215,10 @@ void cx88_card_setup(struct cx88_core *core) if (0 == core->i2c_rc) { /* enable tuner */ int i; - u8 buffer[12]; + u8 buffer [] = { 0x10,0x12,0x13,0x04,0x16,0x00,0x14,0x04,0x017,0x00 }; core->i2c_client.addr = 0x0a; - buffer[0] = 0x10; buffer[1] = 0x12; buffer[2] = 0x13; buffer[3] = 0x04; - buffer[4] = 0x16; buffer[5] = 0x00; buffer[6] = 0x14; buffer[7] = 0x04; - buffer[8] = 0x14; buffer[9] = 0x00; buffer[10] = 0x17; buffer[11] = 0x00; - for (i = 0; i < 6; i++) + for (i = 0; i < 5; i++) if (2 != i2c_master_send(&core->i2c_client,&buffer[i*2],2)) printk(KERN_WARNING "%s: Unable to enable tuner(%i).\n", core->name, i); diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 8577884ee..c0f0c3800 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-dvb.c,v 1.70 2005/10/16 12:34:29 mchehab Exp $ + * $Id: cx88-dvb.c,v 1.71 2005/10/27 04:33:27 mkrufky Exp $ * * device driver for Conexant 2388x based TV cards * MPEG Transport Stream (DVB) routines @@ -47,6 +47,9 @@ #ifdef HAVE_LGDT330X # include "lgdt330x.h" #endif +#ifdef HAVE_NXT200X +# include "nxt200x.h" +#endif MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); @@ -290,6 +293,23 @@ static struct lgdt330x_config fusionhdtv_5_gold = { }; #endif +#ifdef HAVE_NXT200X +static int nxt200x_set_ts_param(struct dvb_frontend* fe, + int is_punctured) +{ + struct cx8802_dev *dev= fe->dvb->priv; + dev->ts_gen_cntrl = is_punctured ? 0x04 : 0x00; + return 0; +} + +static struct nxt200x_config ati_hdtvwonder = { + .demod_address = 0x0a, + .pll_address = 0x61, + .pll_desc = &dvb_pll_tuv1236d, + .set_ts_params = nxt200x_set_ts_param, +}; +#endif + static int dvb_register(struct cx8802_dev *dev) { /* init struct videobuf_dvb */ @@ -391,6 +411,12 @@ static int dvb_register(struct cx8802_dev *dev) } break; #endif +#ifdef HAVE_NXT200X + case CX88_BOARD_ATI_HDTVWONDER: + dev->dvb.frontend = nxt200x_attach(&ati_hdtvwonder, + &dev->core->i2c_adap); + break; +#endif default: printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", dev->core->name); |