From 5175a1eab80a520c15720ca294af60535cc496d1 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Wed, 7 Mar 2012 16:14:01 +0000 Subject: [PATCH] sensors-detect: Add detection of IDT TSE2002GB2, TS3000GB2, Microchip MCP9804, and Atmel AT30TS00 git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6031 7894878c-1315-0410-8ee3-d5d059ff63e0 --- CHANGES | 2 ++ prog/detect/sensors-detect | 25 ++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index c8a76506..b8fc8f31 100644 --- a/CHANGES +++ b/CHANGES @@ -27,6 +27,8 @@ SVN HEAD Add detection of ITE IT8510E/TE/G, IT8511E/TE/G, IT8513E/F/G, and IT8518E Add detection of ST Microelectronics STTS2002 and STTS3000 + Add detection of IDT TSE2002GB2, TS3000GB2, Microchip MCP9804, + and Atmel AT30TS00 3.3.1 (2011-07-21) isadump: Add support for word (16-bit) and long (32-bit) reads diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index 87851360..709f5464 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -1384,6 +1384,11 @@ use vars qw(@i2c_adapter_names); driver => "jc42", i2c_addrs => [0x18..0x1f], i2c_detect => sub { jedec_JC42_4_detect(@_, 5); }, + }, { + name => "Microchip MCP9804", + driver => "jc42", + i2c_addrs => [0x18..0x1f], + i2c_detect => sub { jedec_JC42_4_detect(@_, 13); }, }, { name => "Microchip MCP98242", driver => "jc42", @@ -1404,6 +1409,11 @@ use vars qw(@i2c_adapter_names); driver => "jc42", i2c_addrs => [0x18..0x1f], i2c_detect => sub { jedec_JC42_4_detect(@_, 9); }, + }, { + name => "Atmel AT30TS00", + driver => "jc42", + i2c_addrs => [0x18..0x1f], + i2c_detect => sub { jedec_JC42_4_detect(@_, 14); }, } ); @@ -5996,6 +6006,7 @@ sub max6655_detect # 4 = TS3000/TSE2002, 5 = MAX6604, 6 = MCP98242, # 7 = MCP98243, 8 = MCP9843, 9 = CAT6095 / CAT34TS02, # 10 = STTS424E, 11 = STTS2002, 12 = STTS3000 +# 13 = MCP9804, 14 = AT30TS00 # Registers used: # 0x00: Capabilities # 0x01: Configuration @@ -6058,6 +6069,12 @@ sub jedec_JC42_4_detect } elsif ($chip == 12) { return unless $manid == 0x10; # STMicrolectronics return unless $devid == 0x02; # STTS3000 + } elsif ($chip == 13) { + return unless $manid == 0x00; # MCP + return unless $devid == 02; # MCP9804 + } elsif ($chip == 14) { + return unless $manid == 0x00; # Atmel + return unless $devid == 0x82; # AT30TS00 } # Now, do it all again with words. Note that we get @@ -6084,7 +6101,7 @@ sub jedec_JC42_4_detect return unless $devid == 0x0108; # ADT7408 } elsif ($chip == 4) { return unless $manid == 0xb300; # IDT - return unless $devid == 0x0329; # TS3000/TSE2002 + return unless $devid == 0x0329 || $devid == 0x1229; # TS3000/TSE2002 } elsif ($chip == 5) { return unless $manid == 0x4d00; # MAXIM return unless $devid == 0x003e; # MAX6604 @@ -6109,6 +6126,12 @@ sub jedec_JC42_4_detect } elsif ($chip == 12) { return unless $manid == 0x4a10; # STMicrolectronics return unless ($devid & 0xfeff) == 0x0002; # STTS3000 + } elsif ($chip == 13) { + return unless $manid == 0x5400; # MCP + return unless ($devid & 0xfcff) == 0x0002; # MCP9804 + } elsif ($chip == 14) { + return unless $manid == 0x1f00; # Atmel + return unless ($devid & 0xfeff) == 0x0082; # AT30TS00 } return 5;