aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2006-03-09 09:17:43 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 11:52:55 -0500
commitefcf55cb5c21d7142aeb1a5a4c14e40960600bd6 (patch)
tree0f0b87521ce22495623fad9e1534b8164e0eec57
parentb05005772f34497eb2b7415a651fe785cbe70e16 (diff)
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>
-rw-r--r--drivers/media/video/tuner-simple.c3
-rw-r--r--drivers/media/video/tuner-types.c27
2 files changed, 24 insertions, 6 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c
index aba0688d7c1c..5d7abed71674 100644
--- a/drivers/media/video/tuner-simple.c
+++ b/drivers/media/video/tuner-simple.c
@@ -364,6 +364,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq)
364 case TUNER_PHILIPS_FMD1216ME_MK3: 364 case TUNER_PHILIPS_FMD1216ME_MK3:
365 buffer[3] = 0x19; 365 buffer[3] = 0x19;
366 break; 366 break;
367 case TUNER_TNF_5335MF:
368 buffer[3] = 0x11;
369 break;
367 case TUNER_PHILIPS_FM1256_IH3: 370 case TUNER_PHILIPS_FM1256_IH3:
368 div = (20 * freq) / 16000 + (int)(33.3 * 20); /* IF 33.3 MHz */ 371 div = (20 * freq) / 16000 + (int)(33.3 * 20); /* IF 33.3 MHz */
369 buffer[3] = 0x19; 372 buffer[3] = 0x19;
diff --git a/drivers/media/video/tuner-types.c b/drivers/media/video/tuner-types.c
index db8b9873029b..b72ef44e149a 100644
--- a/drivers/media/video/tuner-types.c
+++ b/drivers/media/video/tuner-types.c
@@ -950,12 +950,22 @@ static struct tuner_params tuner_tuv1236d_params[] = {
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
959static 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
955static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = { 965static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = {
956 { 16 * 157.25 /*MHz*/, 0x8e, 0x01, }, 966 { 16 * 169.25 /*MHz*/, 0x8e, 0x01, },
957 { 16 * 454.00 /*MHz*/, 0x8e, 0x02, }, 967 { 16 * 469.25 /*MHz*/, 0x8e, 0x02, },
958 { 16 * 999.99 , 0x8e, 0x04, }, 968 { 16 * 999.99 , 0x8e, 0x08, },
959}; 969};
960 970
961static struct tuner_params tuner_tnf_5335mf_params[] = { 971static struct tuner_params tuner_tnf_5335mf_params[] = {
@@ -964,6 +974,11 @@ static struct tuner_params tuner_tnf_5335mf_params[] = {
964 .ranges = tuner_tnf_5335mf_ntsc_ranges, 974 .ranges = tuner_tnf_5335mf_ntsc_ranges,
965 .count = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges), 975 .count = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges),
966 }, 976 },
977 {
978 .type = TUNER_PARAM_TYPE_PAL,
979 .ranges = tuner_tnf_5335_d_if_pal_ranges,
980 .count = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges),
981 },
967}; 982};
968 983
969/* 70-79 */ 984/* 70-79 */
@@ -1354,8 +1369,8 @@ struct tunertype tuners[] = {
1354 .params = tuner_tuv1236d_params, 1369 .params = tuner_tuv1236d_params,
1355 .count = ARRAY_SIZE(tuner_tuv1236d_params), 1370 .count = ARRAY_SIZE(tuner_tuv1236d_params),
1356 }, 1371 },
1357 [TUNER_TNF_5335MF] = { /* Philips NTSC */ 1372 [TUNER_TNF_5335MF] = { /* Tenna PAL/NTSC */
1358 .name = "Tena TNF 5335 MF", 1373 .name = "Tena TNF 5335 and similar models",
1359 .params = tuner_tnf_5335mf_params, 1374 .params = tuner_tnf_5335mf_params,
1360 .count = ARRAY_SIZE(tuner_tnf_5335mf_params), 1375 .count = ARRAY_SIZE(tuner_tnf_5335mf_params),
1361 }, 1376 },