summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2006-04-19 23:52:05 +0200
committerHans Verkuil <hverkuil@xs4all.nl>2006-04-19 23:52:05 +0200
commit4cd2e721742114a20b2ebc1822bba95c724e44b2 (patch)
treef3948137b79708938ddd84f1a0400d6d8a28c94a
parentfb70cc5ac6a14c86a9573bbb7ec6b95d32e287bb (diff)
parent6ff9606bf157734998241b66ac10bb11b913401e (diff)
downloadmediapointer-dvb-s2-4cd2e721742114a20b2ebc1822bba95c724e44b2.tar.gz
mediapointer-dvb-s2-4cd2e721742114a20b2ebc1822bba95c724e44b2.tar.bz2
Merge: from v4l-dvb
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
-rw-r--r--linux/drivers/media/dvb/dvb-usb/cxusb.c36
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c2
-rw-r--r--linux/drivers/media/video/cx88/cx88-tvaudio.c1
3 files changed, 32 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/dvb-usb/cxusb.c b/linux/drivers/media/dvb/dvb-usb/cxusb.c
index d63f6ec4f..a34068f50 100644
--- a/linux/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c
@@ -313,6 +313,36 @@ static int cxusb_mt352_demod_init(struct dvb_frontend* fe)
return 0;
}
+static int cxusb_lgh064f_pll_set_i2c(struct dvb_frontend *fe,
+ struct dvb_frontend_parameters *fep)
+{
+ struct dvb_usb_device *d = fe->dvb->priv;
+ int ret = 0;
+ u8 b[5];
+ struct i2c_msg msg = { .addr = d->pll_addr, .flags = 0,
+ .buf = &b[1], .len = 4 };
+
+ dvb_usb_pll_set(fe,fep,b);
+
+ if (i2c_transfer (&d->i2c_adap, &msg, 1) != 1) {
+ err("tuner i2c write failed for pll_set.");
+ ret = -EREMOTEIO;
+ }
+ msleep(1);
+
+ /* Set the Auxiliary Byte. */
+ b[3] &= ~0x20;
+ b[3] |= 0x18;
+ b[4] = 0x50;
+ if (i2c_transfer(&d->i2c_adap, &msg, 1) != 1) {
+ err("tuner i2c write failed writing auxiliary byte.");
+ ret = -EREMOTEIO;
+ }
+ msleep(1);
+
+ return ret;
+}
+
static struct cx22702_config cxusb_cx22702_config = {
.demod_address = 0x63,
@@ -325,7 +355,7 @@ static struct cx22702_config cxusb_cx22702_config = {
static struct lgdt330x_config cxusb_lgdt3303_config = {
.demod_address = 0x0e,
.demod_chip = LGDT3303,
- .pll_set = dvb_usb_pll_set_i2c,
+ .pll_set = cxusb_lgh064f_pll_set_i2c,
};
static struct mt352_config cxusb_dee1601_config = {
@@ -353,11 +383,7 @@ static int cxusb_fmd1216me_tuner_attach(struct dvb_usb_device *d)
static int cxusb_lgh064f_tuner_attach(struct dvb_usb_device *d)
{
- u8 bpll[4] = { 0x00, 0x00, 0x18, 0x50 };
- /* bpll[2] : unset bit 3, set bits 4&5
- bpll[3] : 0x50 - digital, 0x20 - analog */
d->pll_addr = 0x61;
- memcpy(d->pll_init, bpll, 4);
d->pll_desc = &dvb_pll_tdvs_tua6034;
return 0;
}
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 2577039bf..383af5609 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1082,9 +1082,7 @@ struct cx88_board cx88_boards[] = {
.gpio0 = 0x3de6,
.gpio2 = 0x00ff,
},
-#if 0
.blackbird = 1,
-#endif
},
[CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID] = {
.name = "DViCO FusionHDTV DVB-T Hybrid",
diff --git a/linux/drivers/media/video/cx88/cx88-tvaudio.c b/linux/drivers/media/video/cx88/cx88-tvaudio.c
index d1e20eca6..78f6d2c76 100644
--- a/linux/drivers/media/video/cx88/cx88-tvaudio.c
+++ b/linux/drivers/media/video/cx88/cx88-tvaudio.c
@@ -154,6 +154,7 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl)
switch (core->board) {
case CX88_BOARD_HAUPPAUGE_ROSLYN:
case CX88_BOARD_KWORLD_MCE200_DELUXE:
+ case CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT:
cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
break;
default: