aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2005-12-01 00:51:41 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-01 15:48:58 -0800
commit0fe22865ddee524017a1012528b0e15475acc942 (patch)
treed750dc1aec8f85b0ece7c21e62a93630dcb24c6d
parentbbf7871e1cd58b89f77b1152f457250c6e94b614 (diff)
downloadlinux-0fe22865ddee524017a1012528b0e15475acc942.tar.gz
[PATCH] V4L: Fixed eeprom handling for cx88 and added Nova-T PCI model 90003
- Fixed code handling for eeprom on cx88 boards. - Hauppauge released a new version of the Nova-T-PCI (9002) a few months ago with a different (compatible) tuner (but lacking RF passthru). The official model# is 90003. All features are working. - Adding entry to the known model list after testing. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/media/video/cx88/cx88-cards.c6
-rw-r--r--drivers/media/video/tveeprom.c15
2 files changed, 12 insertions, 9 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index cf2d2c3a33a61..24651661630ab 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1088,11 +1088,13 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
switch (tv.model)
{
case 90002: /* Nova-T-PCI (9002) */
+ case 92001: /* Nova-S-Plus (Video and IR) */
+ case 92002: /* Nova-S-Plus (Video and IR) */
+ case 90003: /* Nova-T-PCI (9002 No RF out) */
case 90500: /* Nova-T-PCI (oem) */
case 90501: /* Nova-T-PCI (oem/IR) */
case 92000: /* Nova-SE2 (OEM, No Video or IR) */
- case 92001: /* Nova-S-Plus (Video and IR) */
- case 92002: /* Nova-S-Plus (Video and IR) */
+
/* known */
break;
default:
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c
index d6afd918f3241..f048fd44f0e2d 100644
--- a/drivers/media/video/tveeprom.c
+++ b/drivers/media/video/tveeprom.c
@@ -382,14 +382,15 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
memset(tvee, 0, sizeof(*tvee));
done = len = beenhere = 0;
- /* Hack for processing eeprom for em28xx */
+ /* Hack for processing eeprom for em28xx and cx 2388x*/
if ((eeprom_data[0] == 0x1a) && (eeprom_data[1] == 0xeb) &&
- (eeprom_data[2] == 0x67) && (eeprom_data[3] == 0x95))
- start=0xa0;
- else if ((eeprom_data[0] == 0x1f) && (eeprom_data[8] == 0x84))
- start=8;
- else if ((eeprom_data[0] == 0x17) && (eeprom_data[8] == 0x84))
- start=8;
+ (eeprom_data[2] == 0x67) && (eeprom_data[3] == 0x95))
+ start=0xa0; /* Generic em28xx offset */
+ else if (((eeprom_data[0] & 0xf0) == 0x10) &&
+ (eeprom_data[1] == 0x00) &&
+ (eeprom_data[2] == 0x00) &&
+ (eeprom_data[8] == 0x84))
+ start=8; /* Generic cx2388x offset */
else
start=0;