Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 137835
b: refs/heads/master
c: d563399
h: refs/heads/master
i:
  137833: fa85bcb
  137831: db11fa1
v: v3
  • Loading branch information
Jochen Friedrich authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 504d428 commit 43ada50
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b72dbaefbdcdfc9b69fc3861b9de0a6240f5cc8a
refs/heads/master: d563399859bcc984aa2df38df62851163b1690b3
1 change: 1 addition & 0 deletions trunk/drivers/media/dvb/dvb-usb/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -297,5 +297,6 @@ config DVB_USB_AF9015
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMIZE
select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
help
Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver
40 changes: 27 additions & 13 deletions trunk/drivers/media/dvb/dvb-usb/af9015.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@
#include "qt1010.h"
#include "tda18271.h"
#include "mxl5005s.h"
#if 0
#include "mc44s80x.h"
#endif
#include "mc44s803.h"

static int dvb_usb_af9015_debug;
module_param_named(debug, dvb_usb_af9015_debug, int, 0644);
Expand Down Expand Up @@ -280,6 +278,21 @@ Due to that the only way to select correct tuner is use demodulator I2C-gate.
req.data = &msg[i+1].buf[0];
ret = af9015_ctrl_msg(d, &req);
i += 2;
} else if (msg[i].flags & I2C_M_RD) {
ret = -EINVAL;
if (msg[i].addr ==
af9015_af9013_config[0].demod_address)
goto error;
else
req.cmd = READ_I2C;
req.i2c_addr = msg[i].addr;
req.addr = addr;
req.mbox = mbox;
req.addr_len = addr_len;
req.data_len = msg[i].len;
req.data = &msg[i].buf[0];
ret = af9015_ctrl_msg(d, &req);
i += 1;
} else {
if (msg[i].addr ==
af9015_af9013_config[0].demod_address)
Expand Down Expand Up @@ -939,7 +952,6 @@ static int af9015_read_config(struct usb_device *udev)
switch (val) {
case AF9013_TUNER_ENV77H11D5:
case AF9013_TUNER_MT2060:
case AF9013_TUNER_MC44S803:
case AF9013_TUNER_QT1010:
case AF9013_TUNER_UNKNOWN:
case AF9013_TUNER_MT2060_2:
Expand All @@ -952,6 +964,10 @@ static int af9015_read_config(struct usb_device *udev)
case AF9013_TUNER_MXL5005R:
af9015_af9013_config[i].rf_spec_inv = 0;
break;
case AF9013_TUNER_MC44S803:
af9015_af9013_config[i].gpio[1] = AF9013_GPIO_LO;
af9015_af9013_config[i].rf_spec_inv = 1;
break;
default:
warn("tuner id:%d not supported, please report!", val);
return -ENODEV;
Expand Down Expand Up @@ -1139,6 +1155,11 @@ static struct mxl5005s_config af9015_mxl5005_config = {
.AgcMasterByte = 0x00,
};

static struct mc44s803_config af9015_mc44s803_config = {
.i2c_address = 0xc0,
.dig_out = 1,
};

static int af9015_tuner_attach(struct dvb_usb_adapter *adap)
{
struct af9015_state *state = adap->dev->priv;
Expand Down Expand Up @@ -1183,15 +1204,8 @@ static int af9015_tuner_attach(struct dvb_usb_adapter *adap)
DVB_PLL_TDA665X) == NULL ? -ENODEV : 0;
break;
case AF9013_TUNER_MC44S803:
#if 0
ret = dvb_attach(mc44s80x_attach, adap->fe, i2c_adap)
== NULL ? -ENODEV : 0;
#else
ret = -ENODEV;
info("Freescale MC44S803 tuner found but no driver for that" \
"tuner. Look at the Linuxtv.org for tuner driver" \
"status.");
#endif
ret = dvb_attach(mc44s803_attach, adap->fe, i2c_adap,
&af9015_mc44s803_config) == NULL ? -ENODEV : 0;
break;
case AF9013_TUNER_UNKNOWN:
default:
Expand Down

0 comments on commit 43ada50

Please sign in to comment.