From 5676c0312d6eb567bc20b2be3539c6a22796f490 Mon Sep 17 00:00:00 2001 From: Gerd Knorr Date: Tue, 1 Mar 2005 10:22:25 +0000 Subject: - tuner update (for pvr) from Jarod Wilson. --- linux/drivers/media/video/tuner-simple.c | 5 ++++- linux/drivers/media/video/tvaudio.c | 2 +- linux/drivers/media/video/tveeprom.c | 22 ++++++++++++++-------- linux/include/media/tuner.h | 4 ++++ 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/linux/drivers/media/video/tuner-simple.c b/linux/drivers/media/video/tuner-simple.c index 01ec88816..c3f214746 100644 --- a/linux/drivers/media/video/tuner-simple.c +++ b/linux/drivers/media/video/tuner-simple.c @@ -1,5 +1,5 @@ /* - * $Id: tuner-simple.c,v 1.5 2005/02/22 09:56:29 kraxel Exp $ + * $Id: tuner-simple.c,v 1.6 2005/03/01 10:22:25 kraxel Exp $ * * i2c tv tuner chip device driver * controls all those simple 4-control-bytes style tuners. @@ -209,6 +209,9 @@ static struct tunertype tuners[] = { { "Philips PAL/SECAM multi (FM1216ME pvr150)", Philips, PAL, 16*160.00,16*442.00,0x01,0x02,0x04,0xce,623 }, + { "Philips FQ1236A MK4", Philips, NTSC, + 16*160.00,16*454.00,0x41,0x42,0x04,0x8e,732 }, + }; unsigned const int tuner_count = ARRAY_SIZE(tuners); diff --git a/linux/drivers/media/video/tvaudio.c b/linux/drivers/media/video/tvaudio.c index 59a8339f1..e5c9dd850 100644 --- a/linux/drivers/media/video/tvaudio.c +++ b/linux/drivers/media/video/tvaudio.c @@ -1004,7 +1004,7 @@ static int tda9874a_initialize(struct CHIPSTATE *chip) { if (tda9874a_SIF > 2) tda9874a_SIF = 1; - if (tda9874a_STD >= 8) + if (tda9874a_STD > 8) tda9874a_STD = 0; if(tda9874a_AMSEL > 1) tda9874a_AMSEL = 0; diff --git a/linux/drivers/media/video/tveeprom.c b/linux/drivers/media/video/tveeprom.c index eae30132e..dcb9c2d0b 100644 --- a/linux/drivers/media/video/tveeprom.c +++ b/linux/drivers/media/video/tveeprom.c @@ -193,7 +193,7 @@ hauppauge_tuner[] = /* 90-99 */ { TUNER_ABSENT, "LG TALN H202T"}, { TUNER_ABSENT, "Philips FQ1216AME MK4"}, - { TUNER_ABSENT, "Philips FQ1236A MK4"}, + { TUNER_PHILIPS_FQ1236A_MK4, "Philips FQ1236A MK4"}, { TUNER_ABSENT, "Philips FQ1286A MK4"}, { TUNER_ABSENT, "Philips FQ1216ME MK5"}, { TUNER_ABSENT, "Philips FQ1236 MK5"}, @@ -242,6 +242,7 @@ static int hasRadioTuner(int tunerType) case 61: //PNPEnv_TUNER_TAPE_M001D_MK3: case 78: //PNPEnv_TUNER_TDA8275C1_8290_FM: case 89: //PNPEnv_TUNER_TCL_MFPE05_2: + case 92: //PNPEnv_TUNER_PHILIPS_FQ1236A_MK4: return 1; } return 0; @@ -257,8 +258,8 @@ void tveeprom_hauppauge_analog(struct tveeprom *tvee, unsigned char *eeprom_data ** if packet[0] & f8 == f8, then EOD and packet[1] == checksum ** ** In our (ivtv) case we're interested in the following: - ** tuner type: tag [00].05 or [0a].01 (index into hauppauge_tuners) - ** tuner fmts: tag [00].04 or [0a].00 (bitmask index into hauppauge_fmts) + ** tuner type: tag [00].05 or [0a].01 (index into hauppauge_tuner) + ** tuner fmts: tag [00].04 or [0a].00 (bitmask index into hauppauge_tuner_fmt) ** radio: tag [00].{last} or [0e].00 (bitmask. bit2=FM) ** audio proc: tag [02].01 or [05].00 (lower nibble indexes lut?) @@ -270,11 +271,11 @@ void tveeprom_hauppauge_analog(struct tveeprom *tvee, unsigned char *eeprom_data ** # of inputs/outputs ??? */ - int i, j, len, done, tag, tuner = 0, t_format = 0; + int i, j, len, done, beenhere, tag, tuner = 0, t_format = 0; char *t_name = NULL, *t_fmt_name = NULL; dprintk(1, "%s\n",__FUNCTION__); - tvee->revision = done = len = 0; + tvee->revision = done = len = beenhere = 0; for (i = 0; !done && i < 256; i += len) { dprintk(2, "processing pos = %02x (%02x, %02x)\n", i, eeprom_data[i], eeprom_data[i + 1]); @@ -343,9 +344,14 @@ void tveeprom_hauppauge_analog(struct tveeprom *tvee, unsigned char *eeprom_data (eeprom_data[i+7] << 16); break; case 0x0a: - tuner = eeprom_data[i+2]; - t_format = eeprom_data[i+1]; - break; + if(beenhere == 0) { + tuner = eeprom_data[i+2]; + t_format = eeprom_data[i+1]; + beenhere = 1; + break; + } else { + break; + } case 0x0e: tvee->has_radio = eeprom_data[i+1]; break; diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h index 74378a280..05b033797 100644 --- a/linux/include/media/tuner.h +++ b/linux/include/media/tuner.h @@ -93,6 +93,10 @@ #define TUNER_THOMSON_DTT7610 52 #define TUNER_PHILIPS_FQ1286 53 #define TUNER_PHILIPS_TDA8290 54 +#define TUNER_LG_PAL_TAPE 55 /* Hauppauge PVR-150 PAL */ + +#define TUNER_PHILIPS_FM1216ME 56 /* Hauppauge PVR-150 PAL */ +#define TUNER_PHILIPS_FQ1236A_MK4 57 /* Hauppauge PVR-500MCE NTSC */ #define NOTUNER 0 #define PAL 1 /* PAL_BG */ -- cgit v1.2.3