aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorDarron Broad <darron@kewl.org>2008-10-15 13:14:30 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-17 16:29:09 -0400
commit953cafc04e9ef9d2fd9f8afb3b3bbde1f8bb9317 (patch)
treecaf26f9874cf448608276423c2d6b5f325322b81 /drivers/media/common
parent649e13a95bb2aec489cc3194034a15a6e2916448 (diff)
V4L/DVB (9268): tuner: add FMD1216MEX tuner
This tuner was already supported by proxy as an FMD1216ME, however, the MEX uses a different FM Radio IF so this addition is now required. Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tuner-simple.c2
-rw-r--r--drivers/media/common/tuners/tuner-types.c33
2 files changed, 34 insertions, 1 deletions
diff --git a/drivers/media/common/tuners/tuner-simple.c b/drivers/media/common/tuners/tuner-simple.c
index 2a1aac1cc755..fb3f3b3adaba 100644
--- a/drivers/media/common/tuners/tuner-simple.c
+++ b/drivers/media/common/tuners/tuner-simple.c
@@ -493,6 +493,7 @@ static int simple_radio_bandswitch(struct dvb_frontend *fe, u8 *buffer)
493 case TUNER_PHILIPS_FM1216ME_MK3: 493 case TUNER_PHILIPS_FM1216ME_MK3:
494 case TUNER_PHILIPS_FM1236_MK3: 494 case TUNER_PHILIPS_FM1236_MK3:
495 case TUNER_PHILIPS_FMD1216ME_MK3: 495 case TUNER_PHILIPS_FMD1216ME_MK3:
496 case TUNER_PHILIPS_FMD1216MEX_MK3:
496 case TUNER_LG_NTSC_TAPE: 497 case TUNER_LG_NTSC_TAPE:
497 case TUNER_PHILIPS_FM1256_IH3: 498 case TUNER_PHILIPS_FM1256_IH3:
498 case TUNER_TCL_MF02GIP_5N: 499 case TUNER_TCL_MF02GIP_5N:
@@ -767,6 +768,7 @@ static void simple_set_dvb(struct dvb_frontend *fe, u8 *buf,
767 768
768 switch (priv->type) { 769 switch (priv->type) {
769 case TUNER_PHILIPS_FMD1216ME_MK3: 770 case TUNER_PHILIPS_FMD1216ME_MK3:
771 case TUNER_PHILIPS_FMD1216MEX_MK3:
770 if (params->u.ofdm.bandwidth == BANDWIDTH_8_MHZ && 772 if (params->u.ofdm.bandwidth == BANDWIDTH_8_MHZ &&
771 params->frequency >= 158870000) 773 params->frequency >= 158870000)
772 buf[3] |= 0x08; 774 buf[3] |= 0x08;
diff --git a/drivers/media/common/tuners/tuner-types.c b/drivers/media/common/tuners/tuner-types.c
index 04961a1f44be..7c0bc064c008 100644
--- a/drivers/media/common/tuners/tuner-types.c
+++ b/drivers/media/common/tuners/tuner-types.c
@@ -946,7 +946,7 @@ static struct tuner_params tuner_tena_9533_di_params[] = {
946 }, 946 },
947}; 947};
948 948
949/* ------------ TUNER_PHILIPS_FMD1216ME_MK3 - Philips PAL ------------ */ 949/* ------------ TUNER_PHILIPS_FMD1216ME(X)_MK3 - Philips PAL ------------ */
950 950
951static struct tuner_range tuner_philips_fmd1216me_mk3_pal_ranges[] = { 951static struct tuner_range tuner_philips_fmd1216me_mk3_pal_ranges[] = {
952 { 16 * 160.00 /*MHz*/, 0x86, 0x51, }, 952 { 16 * 160.00 /*MHz*/, 0x86, 0x51, },
@@ -984,6 +984,27 @@ static struct tuner_params tuner_philips_fmd1216me_mk3_params[] = {
984 }, 984 },
985}; 985};
986 986
987static struct tuner_params tuner_philips_fmd1216mex_mk3_params[] = {
988 {
989 .type = TUNER_PARAM_TYPE_PAL,
990 .ranges = tuner_philips_fmd1216me_mk3_pal_ranges,
991 .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_pal_ranges),
992 .has_tda9887 = 1,
993 .port1_active = 1,
994 .port2_active = 1,
995 .port2_fm_high_sensitivity = 1,
996 .port2_invert_for_secam_lc = 1,
997 .port1_set_for_fm_mono = 1,
998 .radio_if = 1,
999 .fm_gain_normal = 1,
1000 },
1001 {
1002 .type = TUNER_PARAM_TYPE_DIGITAL,
1003 .ranges = tuner_philips_fmd1216me_mk3_dvb_ranges,
1004 .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_dvb_ranges),
1005 .iffreq = 16 * 36.125, /*MHz*/
1006 },
1007};
987 1008
988/* ------ TUNER_LG_TDVS_H06XF - LG INNOTEK / INFINEON ATSC ----- */ 1009/* ------ TUNER_LG_TDVS_H06XF - LG INNOTEK / INFINEON ATSC ----- */
989 1010
@@ -1663,6 +1684,16 @@ struct tunertype tuners[] = {
1663 .params = tuner_tcl_mf02gip_5n_params, 1684 .params = tuner_tcl_mf02gip_5n_params,
1664 .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_params), 1685 .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_params),
1665 }, 1686 },
1687 [TUNER_PHILIPS_FMD1216MEX_MK3] = { /* Philips PAL */
1688 .name = "Philips FMD1216MEX MK3 Hybrid Tuner",
1689 .params = tuner_philips_fmd1216mex_mk3_params,
1690 .count = ARRAY_SIZE(tuner_philips_fmd1216mex_mk3_params),
1691 .min = 16 * 50.87,
1692 .max = 16 * 858.00,
1693 .stepsize = 166667,
1694 .initdata = tua603x_agc112,
1695 .sleepdata = (u8[]){ 4, 0x9c, 0x60, 0x85, 0x54 },
1696 },
1666}; 1697};
1667EXPORT_SYMBOL(tuners); 1698EXPORT_SYMBOL(tuners);
1668 1699