summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <devnull@localhost>2005-12-05 02:31:46 +0000
committerMauro Carvalho Chehab <devnull@localhost>2005-12-05 02:31:46 +0000
commit612c907e788235feb98ab5fa3f4610f57f588ad7 (patch)
treee2e2cd73e8013e94867a1ea3942d40146f8ddc05
parent59f6dfc471e70d46707befa95db7a23472fb90e2 (diff)
downloadmediapointer-dvb-s2-612c907e788235feb98ab5fa3f4610f57f588ad7.tar.gz
mediapointer-dvb-s2-612c907e788235feb98ab5fa3f4610f57f588ad7.tar.bz2
Several fixes for Hauppauge Roselyn Design (blackbird)
From: Steven Toth <stoth@hauppauge.com> - This patch adds eeprom awareness for the Roslyn. In effect, the blackbird will query the tuner V4L2_STD_xxxx definitions to determine whether it's connected to a NTSC or PAL tuner. Based on that, various default values will change for blackbird encoding. - Fixes back panel SVIDEO/COMPOSITE with audio, work properly. - Fixes a problem with lip sync issues, due to bad framerate vs audio rate assumptions. - Fixed a problem with the GPIO configuration in cx88-cards. - Removed the comments in cx88-cards that made no sense. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
-rw-r--r--linux/drivers/media/video/cx88/cx88-blackbird.c14
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c8
-rw-r--r--linux/drivers/media/video/cx88/cx88-tvaudio.c8
-rw-r--r--linux/drivers/media/video/cx88/cx88.h5
-rw-r--r--v4l/ChangeLog23
5 files changed, 51 insertions, 7 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-blackbird.c b/linux/drivers/media/video/cx88/cx88-blackbird.c
index 5b915503a..3191486b9 100644
--- a/linux/drivers/media/video/cx88/cx88-blackbird.c
+++ b/linux/drivers/media/video/cx88/cx88-blackbird.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-blackbird.c,v 1.38 2005/10/16 12:13:58 mchehab Exp $
+ * $Id: cx88-blackbird.c,v 1.39 2005/12/05 02:31:46 mchehab Exp $
*
* Support for a cx23416 mpeg encoder via cx2388x host port.
* "blackbird" reference design.
@@ -1722,6 +1722,18 @@ static int __devinit blackbird_probe(struct pci_dev *pci_dev,
memcpy(&dev->params,&default_mpeg_params,sizeof(default_mpeg_params));
memcpy(&dev->dnr_params,&default_dnr_params,sizeof(default_dnr_params));
+ if (core->board == CX88_BOARD_HAUPPAUGE_ROSLYN) {
+
+ if (core->tuner_formats & V4L2_STD_525_60) {
+ dev->height = 480;
+ dev->params.vi_frame_rate = 30;
+ } else {
+ dev->height = 576;
+ dev->params.vi_frame_rate = 25;
+ }
+
+ }
+
err = cx8802_init_common(dev);
if (0 != err)
goto fail_free;
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 67f697c80..c251ffbfe 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.112 2005/12/02 04:38:14 mkrufky Exp $
+ * $Id: cx88-cards.c,v 1.113 2005/12/05 02:31:46 mchehab Exp $
*
* device driver for Conexant 2388x based TV cards
* card-specific stuff.
@@ -613,12 +613,12 @@ struct cx88_board cx88_boards[] = {
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
- .gpio0 = 0xed12, /* internal decoder */
+ .gpio0 = 0xed1a,
.gpio2 = 0x00ff,
},{
.type = CX88_VMUX_DEBUG,
.vmux = 0,
- .gpio0 = 0xff01, /* mono from tuner chip */
+ .gpio0 = 0xff01,
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
@@ -1204,11 +1204,13 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
tveeprom_hauppauge_analog(&core->i2c_client, &tv, eeprom_data);
core->tuner_type = tv.tuner_type;
+ core->tuner_formats = tv.tuner_formats;
core->has_radio = tv.has_radio;
/* Make sure we support the board model */
switch (tv.model)
{
+ case 28552: /* WinTV-PVR 'Roslyn' (No IR) */
case 90002: /* Nova-T-PCI (9002) */
case 92001: /* Nova-S-Plus (Video and IR) */
case 92002: /* Nova-S-Plus (Video and IR) */
diff --git a/linux/drivers/media/video/cx88/cx88-tvaudio.c b/linux/drivers/media/video/cx88/cx88-tvaudio.c
index e5190ef96..478723ca5 100644
--- a/linux/drivers/media/video/cx88/cx88-tvaudio.c
+++ b/linux/drivers/media/video/cx88/cx88-tvaudio.c
@@ -1,5 +1,5 @@
/*
- $Id: cx88-tvaudio.c,v 1.50 2005/11/18 20:20:47 mchehab Exp $
+ $Id: cx88-tvaudio.c,v 1.51 2005/12/05 02:31:46 mchehab Exp $
cx88x-audio.c - Conexant CX23880/23881 audio downstream driver driver
@@ -147,7 +147,11 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl)
if (cx88_boards[core->board].blackbird) {
/* sets sound input from external adc */
- cx_set(AUD_CTL, EN_I2SIN_ENABLE);
+ if (core->board == CX88_BOARD_HAUPPAUGE_ROSLYN)
+ cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
+ else
+ cx_set(AUD_CTL, EN_I2SIN_ENABLE);
+
cx_write(AUD_I2SINPUTCNTL, 4);
cx_write(AUD_BAUDRATE, 1);
/* 'pass-thru mode': this enables the i2s output to the mpeg encoder */
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index a418ad54f..89a7fd2a6 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -1,5 +1,5 @@
/*
- * $Id: cx88.h,v 1.92 2005/12/02 04:16:47 mkrufky Exp $
+ * $Id: cx88.h,v 1.93 2005/12/05 02:31:46 mchehab Exp $
*
* v4l2 device driver for cx2388x based TV cards
*
@@ -295,6 +295,9 @@ struct cx88_core {
unsigned int tda9887_conf;
unsigned int has_radio;
+ /* Supported V4L _STD_ tuner formats */
+ unsigned int tuner_formats;
+
/* config info -- dvb */
struct dvb_pll_desc *pll_desc;
unsigned int pll_addr;
diff --git a/v4l/ChangeLog b/v4l/ChangeLog
index c09a791fb..c19075d0c 100644
--- a/v4l/ChangeLog
+++ b/v4l/ChangeLog
@@ -1,3 +1,26 @@
+2005-12-05 02:21 mchehab
+
+ * linux/drivers/media/video/cx88/cx88-tvaudio.c:
+ (set_audio_finish):
+ * linux/drivers/media/video/cx88/cx88.h:
+ * linux/drivers/media/video/cx88/cx88-blackbird.c:
+ (blackbird_probe):
+ - This patch adds eeprom awareness for the Roslyn. In effect, the
+ blackbird will query the tuner V4L2_STD_xxxx definitions to determine
+ whether it's connected to a NTSC or PAL tuner. Based on that, various
+ default values will change for blackbird encoding.
+
+ - Fixes back panel SVIDEO/COMPOSITE with audio, work properly.
+ - Fixes a problem with lip sync issues, due to bad framerate vs
+ audio rate assumptions.
+
+ * linux/drivers/media/video/cx88/cx88-cards.c: (hauppauge_eeprom):
+ - Fixed a problem with the GPIO configuration in cx88-cards.
+ - Removed the comments in cx88-cards that made no sense.
+
+ Signed-off-by: Steven Toth <stoth@hauppauge.com>
+ Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
+
2005-12-04 21:01 mkrufky
* linux/drivers/media/video/bttv-driver.c: