Changeset 5852

Show
Ignore:
Timestamp:
07/09/10 11:13:36 (3 years ago)
Author:
khali
Message:

Add detection of several JC42.4 compliant temperature sensors.
Patch from Guenter Roeck.

Location:
lm-sensors/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r5851 r5852  
    2121                  Add support for NXP SE97 / SE97B 
    2222                  Add reference to NCT6771F/NCT6772F/NCT6775F 
     23                  Add support for several JC42.4 compliant temperature sensors 
    2324 
    24253.1.2 (2010-02-02) 
  • lm-sensors/trunk/prog/detect/sensors-detect

    r5851 r5852  
    11911191                i2c_detect => sub { jedec_JC42_4_detect(@_, 0); }, 
    11921192        }, { 
     1193                name => "ST STTS424E", 
     1194                driver => "to-be-written", 
     1195                i2c_addrs => [0x18..0x1f], 
     1196                i2c_detect => sub { jedec_JC42_4_detect(@_, 10); }, 
     1197        }, { 
    11931198                name => "NXP SE97/SE97B", 
    11941199                driver => "to-be-written", 
    11951200                i2c_addrs => [0x18..0x1f], 
    11961201                i2c_detect => sub { jedec_JC42_4_detect(@_, 1); }, 
     1202        }, { 
     1203                name => "NXP SE98", 
     1204                driver => "to-be-written", 
     1205                i2c_addrs => [0x18..0x1f], 
     1206                i2c_detect => sub { jedec_JC42_4_detect(@_, 2); }, 
     1207        }, { 
     1208                name => "Analog Devices ADT7408", 
     1209                driver => "to-be-written", 
     1210                i2c_addrs => [0x18..0x1f], 
     1211                i2c_detect => sub { jedec_JC42_4_detect(@_, 3); }, 
     1212        }, { 
     1213                name => "IDT TS3000/TSE2002", 
     1214                driver => "to-be-written", 
     1215                i2c_addrs => [0x18..0x1f], 
     1216                i2c_detect => sub { jedec_JC42_4_detect(@_, 4); }, 
     1217        }, { 
     1218                name => "Maxim MAX6604", 
     1219                driver => "to-be-written", 
     1220                i2c_addrs => [0x18..0x1f], 
     1221                i2c_detect => sub { jedec_JC42_4_detect(@_, 5); }, 
     1222        }, { 
     1223                name => "Microchip MCP98242", 
     1224                driver => "to-be-written", 
     1225                i2c_addrs => [0x18..0x1f], 
     1226                i2c_detect => sub { jedec_JC42_4_detect(@_, 6); }, 
     1227        }, { 
     1228                name => "Microchip MCP98243", 
     1229                driver => "to-be-written", 
     1230                i2c_addrs => [0x18..0x1f], 
     1231                i2c_detect => sub { jedec_JC42_4_detect(@_, 7); }, 
     1232        }, { 
     1233                name => "Microchip MCP9843", 
     1234                driver => "to-be-written", 
     1235                i2c_addrs => [0x18..0x1f], 
     1236                i2c_detect => sub { jedec_JC42_4_detect(@_, 8); }, 
     1237        }, { 
     1238                name => "ON CAT6095/CAT34TS02", 
     1239                driver => "to-be-written", 
     1240                i2c_addrs => [0x18..0x1f], 
     1241                i2c_detect => sub { jedec_JC42_4_detect(@_, 9); }, 
    11971242        }, { 
    11981243                name => "Smart Battery", 
     
    53155360} 
    53165361 
    5317 # Chip to detect: 0 = STTS424, 1 = SE97/SE97B 
     5362# Chip to detect: 0 = STTS424, 1 = SE97/SE97B, 2 = SE98, 3 = ADT7408, 
     5363#                 4 = TS3000/TSE2002, 5 = MAX6604, 6 = MCP98242, 
     5364#                 7 = MCP98243, 8 = MCP9843, 9 = CAT6095 / CAT34TS02, 
     5365#                 10 = STTS424E 
    53185366# Registers used: 
    53195367#   0x00: Capabilities 
     
    53415389        if ($chip == 0) { 
    53425390                return unless $manid == 0x10;           # STMicrolectronics 
    5343                 return unless $devid == 0x00;           # STTS424 
     5391                return unless $devid == 0x01;           # STTS424 
    53445392        } elsif ($chip == 1) { 
    53455393                return unless $manid == 0x11;           # NXP 
    53465394                return unless $devid == 0xa2;           # SE97 
     5395        } elsif ($chip == 2) { 
     5396                return unless $manid == 0x11;           # NXP 
     5397                return unless $devid == 0xa1;           # SE98 
     5398        } elsif ($chip == 3) { 
     5399                return unless $manid == 0x11;           # ADT 
     5400                return unless $devid == 0x08;           # ADT7408 
     5401        } elsif ($chip == 4) { 
     5402                return unless $manid == 0x00;           # IDT 
     5403                return unless $devid == 0x29;           # TS3000/TSE2002 
     5404        } elsif ($chip == 5) { 
     5405                return unless $manid == 0x00;           # MAXIM 
     5406                return unless $devid == 0x3e;           # MAX6604 
     5407        } elsif ($chip == 6) { 
     5408                return unless $manid == 0x00;           # MCP 
     5409                return unless $devid == 0x20;           # MCP98242 
     5410        } elsif ($chip == 7) { 
     5411                return unless $manid == 0x00;           # MCP 
     5412                return unless $devid == 0x21;           # MCP98243 
     5413        } elsif ($chip == 8) { 
     5414                return unless $manid == 0x00;           # MCP 
     5415                return unless $devid == 0x00;           # MCP9843 
     5416        } elsif ($chip == 9) { 
     5417                return unless $manid == 0x1b;           # ONS 
     5418                return unless $devid == 0x08;           # CAT6095 / CAT34TS02 
     5419        } elsif ($chip == 10) { 
     5420                return unless $manid == 0x10;           # STMicrolectronics 
     5421                return unless $devid == 0x00;           # STTS424E02 
    53475422        } 
    53485423 
     
    53595434        if ($chip == 0) { 
    53605435                return unless $manid == 0x4a10;         # STMicrolectronics 
    5361                 return unless ($devid & 0xfeff) == 0x0000; # STTS424 
     5436                return unless ($devid & 0xfeff) == 0x0001; # STTS424 
    53625437        } elsif ($chip == 1) { 
    53635438                return unless $manid == 0x3111;         # NXP 
    53645439                return unless ($devid & 0xfcff) == 0x00a2; # SE97 
     5440        } elsif ($chip == 2) { 
     5441                return unless $manid == 0x3111;         # NXP 
     5442                return unless ($devid & 0xfcff) == 0x00a1; # SE98 
     5443        } elsif ($chip == 3) { 
     5444                return unless $manid == 0xd411;         # ADT 
     5445                return unless $devid == 0x0108;         # ADT7408 
     5446        } elsif ($chip == 4) { 
     5447                return unless $manid == 0xb300;         # IDT 
     5448                return unless $devid == 0x0329;         # TS3000/TSE2002 
     5449        } elsif ($chip == 5) { 
     5450                return unless $manid == 0x4d00;         # MAXIM 
     5451                return unless $devid == 0x003e;         # MAX6604 
     5452        } elsif ($chip == 6) { 
     5453                return unless $manid == 0x5400;         # MCP 
     5454                return unless ($devid & 0xfcff) == 0x0020; # MCP98242 
     5455        } elsif ($chip == 7) { 
     5456                return unless $manid == 0x5400;         # MCP 
     5457                return unless ($devid & 0xfcff) == 0x0021; # MCP98243 
     5458        } elsif ($chip == 8) { 
     5459                return unless $manid == 0x5400;         # MCP 
     5460                return unless ($devid & 0xfcff) == 0x0000; # MCP9843 
     5461        } elsif ($chip == 9) { 
     5462                return unless $manid == 0x091b;         # ONS 
     5463                return unless ($devid & 0xe0ff) == 0x0008; # CAT6095 / CAT34TS02 
     5464        } elsif ($chip == 10) { 
     5465                return unless $manid == 0x4a10;         # STMicrolectronics 
     5466                return unless ($devid & 0xfeff) == 0x0000; # STTS424E02 
    53655467        } 
    53665468