diff options
author | Antti Palosaari <crope@iki.fi> | 2010-08-13 02:51:26 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-10-20 23:04:42 -0400 |
commit | ee3d440c0c864489e3afb982544c9c22a40e2188 (patch) | |
tree | 7b91226ce46bdd37b9e004ecd7244435606e13ff /drivers/media/dvb/dvb-usb/af9015.c | |
parent | 2158e5090b5cc99ba05b43657a35d567cf077fe3 (diff) |
V4L/DVB: af9015: add support for tda18218 silicon tuner
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/af9015.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/af9015.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c index ea1ed3b4592a..750a1b515139 100644 --- a/drivers/media/dvb/dvb-usb/af9015.c +++ b/drivers/media/dvb/dvb-usb/af9015.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include "tda18271.h" | 31 | #include "tda18271.h" |
32 | #include "mxl5005s.h" | 32 | #include "mxl5005s.h" |
33 | #include "mc44s803.h" | 33 | #include "mc44s803.h" |
34 | #include "tda18218.h" | ||
34 | 35 | ||
35 | static int dvb_usb_af9015_debug; | 36 | static int dvb_usb_af9015_debug; |
36 | module_param_named(debug, dvb_usb_af9015_debug, int, 0644); | 37 | module_param_named(debug, dvb_usb_af9015_debug, int, 0644); |
@@ -992,6 +993,7 @@ static int af9015_read_config(struct usb_device *udev) | |||
992 | case AF9013_TUNER_MT2060_2: | 993 | case AF9013_TUNER_MT2060_2: |
993 | case AF9013_TUNER_TDA18271: | 994 | case AF9013_TUNER_TDA18271: |
994 | case AF9013_TUNER_QT1010A: | 995 | case AF9013_TUNER_QT1010A: |
996 | case AF9013_TUNER_TDA18218: | ||
995 | af9015_af9013_config[i].rf_spec_inv = 1; | 997 | af9015_af9013_config[i].rf_spec_inv = 1; |
996 | break; | 998 | break; |
997 | case AF9013_TUNER_MXL5003D: | 999 | case AF9013_TUNER_MXL5003D: |
@@ -1003,9 +1005,6 @@ static int af9015_read_config(struct usb_device *udev) | |||
1003 | af9015_af9013_config[i].gpio[1] = AF9013_GPIO_LO; | 1005 | af9015_af9013_config[i].gpio[1] = AF9013_GPIO_LO; |
1004 | af9015_af9013_config[i].rf_spec_inv = 1; | 1006 | af9015_af9013_config[i].rf_spec_inv = 1; |
1005 | break; | 1007 | break; |
1006 | case AF9013_TUNER_TDA18218: | ||
1007 | warn("tuner NXP TDA18218 not supported yet"); | ||
1008 | return -ENODEV; | ||
1009 | default: | 1008 | default: |
1010 | warn("tuner id:%d not supported, please report!", val); | 1009 | warn("tuner id:%d not supported, please report!", val); |
1011 | return -ENODEV; | 1010 | return -ENODEV; |
@@ -1208,6 +1207,11 @@ static struct mc44s803_config af9015_mc44s803_config = { | |||
1208 | .dig_out = 1, | 1207 | .dig_out = 1, |
1209 | }; | 1208 | }; |
1210 | 1209 | ||
1210 | static struct tda18218_config af9015_tda18218_config = { | ||
1211 | .i2c_address = 0xc0, | ||
1212 | .i2c_wr_max = 21, /* max wr bytes AF9015 I2C adap can handle at once */ | ||
1213 | }; | ||
1214 | |||
1211 | static int af9015_tuner_attach(struct dvb_usb_adapter *adap) | 1215 | static int af9015_tuner_attach(struct dvb_usb_adapter *adap) |
1212 | { | 1216 | { |
1213 | struct af9015_state *state = adap->dev->priv; | 1217 | struct af9015_state *state = adap->dev->priv; |
@@ -1238,6 +1242,10 @@ static int af9015_tuner_attach(struct dvb_usb_adapter *adap) | |||
1238 | ret = dvb_attach(tda18271_attach, adap->fe, 0xc0, i2c_adap, | 1242 | ret = dvb_attach(tda18271_attach, adap->fe, 0xc0, i2c_adap, |
1239 | &af9015_tda18271_config) == NULL ? -ENODEV : 0; | 1243 | &af9015_tda18271_config) == NULL ? -ENODEV : 0; |
1240 | break; | 1244 | break; |
1245 | case AF9013_TUNER_TDA18218: | ||
1246 | ret = dvb_attach(tda18218_attach, adap->fe, i2c_adap, | ||
1247 | &af9015_tda18218_config) == NULL ? -ENODEV : 0; | ||
1248 | break; | ||
1241 | case AF9013_TUNER_MXL5003D: | 1249 | case AF9013_TUNER_MXL5003D: |
1242 | ret = dvb_attach(mxl5005s_attach, adap->fe, i2c_adap, | 1250 | ret = dvb_attach(mxl5005s_attach, adap->fe, i2c_adap, |
1243 | &af9015_mxl5003_config) == NULL ? -ENODEV : 0; | 1251 | &af9015_mxl5003_config) == NULL ? -ENODEV : 0; |