Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB (3419): This patch fixes Tuner TNF5335 family

Radio now works.
Tuner now supports both PAL/D and STD/MN models

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

authored by

Mauro Carvalho Chehab and committed by
Linus Torvalds
efcf55cb b0500577

+24 -6
+3
drivers/media/video/tuner-simple.c
··· 364 364 case TUNER_PHILIPS_FMD1216ME_MK3: 365 365 buffer[3] = 0x19; 366 366 break; 367 + case TUNER_TNF_5335MF: 368 + buffer[3] = 0x11; 369 + break; 367 370 case TUNER_PHILIPS_FM1256_IH3: 368 371 div = (20 * freq) / 16000 + (int)(33.3 * 20); /* IF 33.3 MHz */ 369 372 buffer[3] = 0x19;
+21 -6
drivers/media/video/tuner-types.c
··· 950 950 }, 951 951 }; 952 952 953 - /* ------------ TUNER_TNF_5335MF - Philips NTSC ------------ */ 953 + /* ------------ TUNER_TNF_xxx5 - Texas Instruments--------- */ 954 + /* This is known to work with Tenna TVF58t5-MFF and TVF5835 MFF 955 + * but it is expected to work also with other Tenna/Ymec 956 + * models based on TI SN 761677 chip on both PAL and NTSC 957 + */ 958 + 959 + static struct tuner_range tuner_tnf_5335_d_if_pal_ranges[] = { 960 + { 16 * 168.25 /*MHz*/, 0x8e, 0x01, }, 961 + { 16 * 471.25 /*MHz*/, 0x8e, 0x02, }, 962 + { 16 * 999.99 , 0x8e, 0x08, }, 963 + }; 954 964 955 965 static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = { 956 - { 16 * 157.25 /*MHz*/, 0x8e, 0x01, }, 957 - { 16 * 454.00 /*MHz*/, 0x8e, 0x02, }, 958 - { 16 * 999.99 , 0x8e, 0x04, }, 966 + { 16 * 169.25 /*MHz*/, 0x8e, 0x01, }, 967 + { 16 * 469.25 /*MHz*/, 0x8e, 0x02, }, 968 + { 16 * 999.99 , 0x8e, 0x08, }, 959 969 }; 960 970 961 971 static struct tuner_params tuner_tnf_5335mf_params[] = { ··· 973 963 .type = TUNER_PARAM_TYPE_NTSC, 974 964 .ranges = tuner_tnf_5335mf_ntsc_ranges, 975 965 .count = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges), 966 + }, 967 + { 968 + .type = TUNER_PARAM_TYPE_PAL, 969 + .ranges = tuner_tnf_5335_d_if_pal_ranges, 970 + .count = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges), 976 971 }, 977 972 }; 978 973 ··· 1369 1354 .params = tuner_tuv1236d_params, 1370 1355 .count = ARRAY_SIZE(tuner_tuv1236d_params), 1371 1356 }, 1372 - [TUNER_TNF_5335MF] = { /* Philips NTSC */ 1373 - .name = "Tena TNF 5335 MF", 1357 + [TUNER_TNF_5335MF] = { /* Tenna PAL/NTSC */ 1358 + .name = "Tena TNF 5335 and similar models", 1374 1359 .params = tuner_tnf_5335mf_params, 1375 1360 .count = ARRAY_SIZE(tuner_tnf_5335mf_params), 1376 1361 },