V4L/DVB (3419): This patch fixes Tuner TNF5335 family
authorMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 9 Mar 2006 14:17:43 +0000 (11:17 -0300)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 21 Mar 2006 16:52:55 +0000 (08:52 -0800)
Radio now works.
Tuner now supports both PAL/D and STD/MN models

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tuner-simple.c
drivers/media/video/tuner-types.c

index aba0688..5d7abed 100644 (file)
@@ -364,6 +364,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq)
        case TUNER_PHILIPS_FMD1216ME_MK3:
                buffer[3] = 0x19;
                break;
+       case TUNER_TNF_5335MF:
+               buffer[3] = 0x11;
+               break;
        case TUNER_PHILIPS_FM1256_IH3:
                div = (20 * freq) / 16000 + (int)(33.3 * 20);  /* IF 33.3 MHz */
                buffer[3] = 0x19;
index db8b987..b72ef44 100644 (file)
@@ -950,12 +950,22 @@ static struct tuner_params tuner_tuv1236d_params[] = {
        },
 };
 
-/* ------------ TUNER_TNF_5335MF - Philips NTSC ------------ */
+/* ------------ TUNER_TNF_xxx5  - Texas Instruments--------- */
+/* This is known to work with Tenna TVF58t5-MFF and TVF5835 MFF
+ *     but it is expected to work also with other Tenna/Ymec
+ *     models based on TI SN 761677 chip on both PAL and NTSC
+ */
+
+static struct tuner_range tuner_tnf_5335_d_if_pal_ranges[] = {
+       { 16 * 168.25 /*MHz*/, 0x8e, 0x01, },
+        { 16 * 471.25 /*MHz*/, 0x8e, 0x02, },
+        { 16 * 999.99        , 0x8e, 0x08, },
+};
 
 static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = {
-       { 16 * 157.25 /*MHz*/, 0x8e, 0x01, },
-       { 16 * 454.00 /*MHz*/, 0x8e, 0x02, },
-       { 16 * 999.99        , 0x8e, 0x04, },
+       { 16 * 169.25 /*MHz*/, 0x8e, 0x01, },
+       { 16 * 469.25 /*MHz*/, 0x8e, 0x02, },
+       { 16 * 999.99        , 0x8e, 0x08, },
 };
 
 static struct tuner_params tuner_tnf_5335mf_params[] = {
@@ -964,6 +974,11 @@ static struct tuner_params tuner_tnf_5335mf_params[] = {
                .ranges = tuner_tnf_5335mf_ntsc_ranges,
                .count  = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges),
        },
+       {
+               .type   = TUNER_PARAM_TYPE_PAL,
+               .ranges = tuner_tnf_5335_d_if_pal_ranges,
+               .count  = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges),
+       },
 };
 
 /* 70-79 */
@@ -1354,8 +1369,8 @@ struct tunertype tuners[] = {
                .params = tuner_tuv1236d_params,
                .count  = ARRAY_SIZE(tuner_tuv1236d_params),
        },
-       [TUNER_TNF_5335MF] = { /* Philips NTSC */
-               .name   = "Tena TNF 5335 MF",
+       [TUNER_TNF_5335MF] = { /* Tenna PAL/NTSC */
+               .name   = "Tena TNF 5335 and similar models",
                .params = tuner_tnf_5335mf_params,
                .count  = ARRAY_SIZE(tuner_tnf_5335mf_params),
        },