diff options
author | Darron Broad <darron@kewl.org> | 2008-10-15 13:14:30 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-17 16:29:09 -0400 |
commit | 953cafc04e9ef9d2fd9f8afb3b3bbde1f8bb9317 (patch) | |
tree | caf26f9874cf448608276423c2d6b5f325322b81 | |
parent | 649e13a95bb2aec489cc3194034a15a6e2916448 (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>
-rw-r--r-- | Documentation/video4linux/CARDLIST.tuner | 1 | ||||
-rw-r--r-- | drivers/media/common/tuners/tuner-simple.c | 2 | ||||
-rw-r--r-- | drivers/media/common/tuners/tuner-types.c | 33 | ||||
-rw-r--r-- | drivers/media/video/tveeprom.c | 2 | ||||
-rw-r--r-- | include/media/tuner.h | 1 |
5 files changed, 37 insertions, 2 deletions
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner index 30bbdda68d03..691d2f37dc57 100644 --- a/Documentation/video4linux/CARDLIST.tuner +++ b/Documentation/video4linux/CARDLIST.tuner | |||
@@ -75,3 +75,4 @@ tuner=73 - Samsung TCPG 6121P30A | |||
75 | tuner=75 - Philips TEA5761 FM Radio | 75 | tuner=75 - Philips TEA5761 FM Radio |
76 | tuner=76 - Xceive 5000 tuner | 76 | tuner=76 - Xceive 5000 tuner |
77 | tuner=77 - TCL tuner MF02GIP-5N-E | 77 | tuner=77 - TCL tuner MF02GIP-5N-E |
78 | tuner=78 - Philips FMD1216MEX MK3 Hybrid Tuner | ||
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 | ||
951 | static struct tuner_range tuner_philips_fmd1216me_mk3_pal_ranges[] = { | 951 | static 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 | ||
987 | static 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 | }; |
1667 | EXPORT_SYMBOL(tuners); | 1698 | EXPORT_SYMBOL(tuners); |
1668 | 1699 | ||
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c index bcc32fa92a81..3b0b84c2e451 100644 --- a/drivers/media/video/tveeprom.c +++ b/drivers/media/video/tveeprom.c | |||
@@ -242,7 +242,7 @@ hauppauge_tuner[] = | |||
242 | { TUNER_ABSENT, "TCL M2523_3DBH_E"}, | 242 | { TUNER_ABSENT, "TCL M2523_3DBH_E"}, |
243 | { TUNER_ABSENT, "TCL M2523_3DIH_E"}, | 243 | { TUNER_ABSENT, "TCL M2523_3DIH_E"}, |
244 | { TUNER_ABSENT, "TCL MFPE05_2_U"}, | 244 | { TUNER_ABSENT, "TCL MFPE05_2_U"}, |
245 | { TUNER_PHILIPS_FMD1216ME_MK3, "Philips FMD1216MEX"}, | 245 | { TUNER_PHILIPS_FMD1216MEX_MK3, "Philips FMD1216MEX"}, |
246 | { TUNER_ABSENT, "Philips FRH2036B"}, | 246 | { TUNER_ABSENT, "Philips FRH2036B"}, |
247 | { TUNER_ABSENT, "Panasonic ENGF75_01GF"}, | 247 | { TUNER_ABSENT, "Panasonic ENGF75_01GF"}, |
248 | { TUNER_ABSENT, "MaxLinear MXL5005"}, | 248 | { TUNER_ABSENT, "MaxLinear MXL5005"}, |
diff --git a/include/media/tuner.h b/include/media/tuner.h index 67c1f514d0e2..7d4e2db78076 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h | |||
@@ -123,6 +123,7 @@ | |||
123 | #define TUNER_TEA5761 75 /* Only FM Radio Tuner */ | 123 | #define TUNER_TEA5761 75 /* Only FM Radio Tuner */ |
124 | #define TUNER_XC5000 76 /* Xceive Silicon Tuner */ | 124 | #define TUNER_XC5000 76 /* Xceive Silicon Tuner */ |
125 | #define TUNER_TCL_MF02GIP_5N 77 /* TCL MF02GIP_5N */ | 125 | #define TUNER_TCL_MF02GIP_5N 77 /* TCL MF02GIP_5N */ |
126 | #define TUNER_PHILIPS_FMD1216MEX_MK3 78 | ||
126 | 127 | ||
127 | /* tv card specific */ | 128 | /* tv card specific */ |
128 | #define TDA9887_PRESENT (1<<0) | 129 | #define TDA9887_PRESENT (1<<0) |