Commit ac77fb0f authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab

[media] af9035: add support for 1st gen it9135

Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 4902bb39
...@@ -41,6 +41,7 @@ config DVB_USB_AF9035 ...@@ -41,6 +41,7 @@ config DVB_USB_AF9035
select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT
select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT
select MEDIA_TUNER_IT913X if MEDIA_SUBDRV_AUTOSELECT
help help
Say Y here to support the Afatech AF9035 based DVB USB receiver. Say Y here to support the Afatech AF9035 based DVB USB receiver.
......
...@@ -652,6 +652,10 @@ static int af9035_read_config_it9135(struct dvb_usb_device *d) ...@@ -652,6 +652,10 @@ static int af9035_read_config_it9135(struct dvb_usb_device *d)
int ret, i; int ret, i;
u8 tmp; u8 tmp;
/* demod I2C "address" */
state->af9033_config[0].i2c_addr = 0x38;
state->af9033_config[0].tuner = AF9033_TUNER_IT9135_38;
state->af9033_config[0].adc_multiplier = AF9033_ADC_MULTIPLIER_2X;
state->dual_mode = false; state->dual_mode = false;
/* get demod clock */ /* get demod clock */
...@@ -920,6 +924,20 @@ static const struct fc0012_config af9035_fc0012_config[] = { ...@@ -920,6 +924,20 @@ static const struct fc0012_config af9035_fc0012_config[] = {
} }
}; };
static struct ite_config af9035_it913x_config = {
.chip_ver = 0x01,
.chip_type = 0x9135,
.firmware = 0x00000000,
.firmware_ver = 1,
.adc_x2 = 1,
.tuner_id_0 = AF9033_TUNER_IT9135_38,
.tuner_id_1 = 0x00,
.dual_mode = 0x00,
.adf = 0x00,
/* option to read SIGNAL_LEVEL */
.read_slevel = 0,
};
static int af9035_tuner_attach(struct dvb_usb_adapter *adap) static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
{ {
struct state *state = adap_to_priv(adap); struct state *state = adap_to_priv(adap);
...@@ -1082,6 +1100,11 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap) ...@@ -1082,6 +1100,11 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap, fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap,
&af9035_fc0012_config[adap->id]); &af9035_fc0012_config[adap->id]);
break; break;
case AF9033_TUNER_IT9135_38:
/* attach tuner */
fe = dvb_attach(it913x_attach, adap->fe[0],
&d->i2c_adap, 0x38, &af9035_it913x_config);
break;
default: default:
fe = NULL; fe = NULL;
} }
...@@ -1275,7 +1298,6 @@ static const struct dvb_usb_device_properties it9135_props = { ...@@ -1275,7 +1298,6 @@ static const struct dvb_usb_device_properties it9135_props = {
.frontend_attach = af9035_frontend_attach, .frontend_attach = af9035_frontend_attach,
.tuner_attach = af9035_tuner_attach, .tuner_attach = af9035_tuner_attach,
.init = af9035_init, .init = af9035_init,
.get_rc_config = af9035_get_rc_config,
.num_adapters = 1, .num_adapters = 1,
.adapter = { .adapter = {
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "mxl5007t.h" #include "mxl5007t.h"
#include "tda18218.h" #include "tda18218.h"
#include "fc2580.h" #include "fc2580.h"
#include "it913x.h"
struct reg_val { struct reg_val {
u32 reg; u32 reg;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment