aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2010-08-13 02:49:24 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:04:42 -0400
commit2158e5090b5cc99ba05b43657a35d567cf077fe3 (patch)
treeaecb434022497c3edfd95f6510b1de8f5be3f85c
parent51ff2e2c8eaf0cc25c024849743613680b87778c (diff)
V4L/DVB: af9013: add support for tda18218 silicon tuner
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/frontends/af9013.c14
-rw-r--r--drivers/media/dvb/frontends/af9013_priv.h5
2 files changed, 17 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/af9013.c b/drivers/media/dvb/frontends/af9013.c
index dac917f7bb7f..a780c32ebce4 100644
--- a/drivers/media/dvb/frontends/af9013.c
+++ b/drivers/media/dvb/frontends/af9013.c
@@ -486,6 +486,19 @@ static int af9013_set_freq_ctrl(struct af9013_state *state, fe_bandwidth_t bw)
486 if_sample_freq = 4300000; /* 4.3 MHz */ 486 if_sample_freq = 4300000; /* 4.3 MHz */
487 break; 487 break;
488 } 488 }
489 } else if (state->config.tuner == AF9013_TUNER_TDA18218) {
490 switch (bw) {
491 case BANDWIDTH_6_MHZ:
492 if_sample_freq = 3000000; /* 3 MHz */
493 break;
494 case BANDWIDTH_7_MHZ:
495 if_sample_freq = 3500000; /* 3.5 MHz */
496 break;
497 case BANDWIDTH_8_MHZ:
498 default:
499 if_sample_freq = 4000000; /* 4 MHz */
500 break;
501 }
489 } 502 }
490 503
491 while (if_sample_freq > (adc_freq / 2)) 504 while (if_sample_freq > (adc_freq / 2))
@@ -1393,6 +1406,7 @@ static int af9013_init(struct dvb_frontend *fe)
1393 init = tuner_init_mt2060_2; 1406 init = tuner_init_mt2060_2;
1394 break; 1407 break;
1395 case AF9013_TUNER_TDA18271: 1408 case AF9013_TUNER_TDA18271:
1409 case AF9013_TUNER_TDA18218:
1396 len = ARRAY_SIZE(tuner_init_tda18271); 1410 len = ARRAY_SIZE(tuner_init_tda18271);
1397 init = tuner_init_tda18271; 1411 init = tuner_init_tda18271;
1398 break; 1412 break;
diff --git a/drivers/media/dvb/frontends/af9013_priv.h b/drivers/media/dvb/frontends/af9013_priv.h
index 0fd42b7e248e..0dcca60f0668 100644
--- a/drivers/media/dvb/frontends/af9013_priv.h
+++ b/drivers/media/dvb/frontends/af9013_priv.h
@@ -791,8 +791,9 @@ static struct regdesc tuner_init_unknown[] = {
791 { 0x9bd9, 0, 8, 0x08 }, 791 { 0x9bd9, 0, 8, 0x08 },
792}; 792};
793 793
794/* NXP TDA18271 tuner init 794/* NXP TDA18271 & TDA18218 tuner init
795 AF9013_TUNER_TDA18271 = 156 */ 795 AF9013_TUNER_TDA18271 = 156
796 AF9013_TUNER_TDA18218 = 179 */
796static struct regdesc tuner_init_tda18271[] = { 797static struct regdesc tuner_init_tda18271[] = {
797 { 0x9bd5, 0, 8, 0x01 }, 798 { 0x9bd5, 0, 8, 0x01 },
798 { 0x9bd6, 0, 8, 0x04 }, 799 { 0x9bd6, 0, 8, 0x04 },