summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgroeck <groeck@7894878c-1315-0410-8ee3-d5d059ff63e0>2014-11-20 19:13:44 +0000
committergroeck <groeck@7894878c-1315-0410-8ee3-d5d059ff63e0>2014-11-20 19:13:44 +0000
commit446a7b650dab99317f44807036f72c852bc9a0a7 (patch)
treecce9e96d430c700547369b3cab0ba1c0effe3405
parentcac9957cd1db449331d9d18713402617402306ea (diff)
downloadlm-sensors-446a7b650dab99317f44807036f72c852bc9a0a7.tar.gz
sensors-detect: EMC14xx chip updates
Document support for EMC1402, EMC1404, and EMC1424 Detect new revisions of EMC14xx Add detection of EMC1422 git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6258 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r--CHANGES3
-rwxr-xr-xprog/detect/sensors-detect26
2 files changed, 20 insertions, 9 deletions
diff --git a/CHANGES b/CHANGES
index 3be3da95..f1676e99 100644
--- a/CHANGES
+++ b/CHANGES
@@ -20,6 +20,9 @@ SVN HEAD
Add reference to nct6683 driver
Show that NCT6102D/6104D/6106D are supported by nct6775 driver
Show NCT5573D as compatible to NCT6776F with same chip ID
+ Document support for EMC1402, EMC1404, and EMC1424
+ Detect new revisions of EMC14xx
+ Add detection of EMC1422
3.3.5 "Happy Birthday Beddy" (2014-01-22)
libsensors: Improve documentation of two functions
diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
index 2d9cc04c..448cf223 100755
--- a/prog/detect/sensors-detect
+++ b/prog/detect/sensors-detect
@@ -1366,7 +1366,7 @@ use vars qw(@i2c_adapter_names);
i2c_detect => sub { emc1403_detect(@_, 10); },
}, {
name => "SMSC EMC1402",
- driver => "to-be-written",
+ driver => "emc1403",
i2c_addrs => [0x18, 0x29, 0x4c, 0x4d],
i2c_detect => sub { emc1403_detect(@_, 11); },
}, {
@@ -1376,17 +1376,22 @@ use vars qw(@i2c_adapter_names);
i2c_detect => sub { emc1403_detect(@_, 0); },
}, {
name => "SMSC EMC1404",
- driver => "to-be-written", # emc1403
+ driver => "emc1403",
i2c_addrs => [0x18, 0x29, 0x4c, 0x4d],
i2c_detect => sub { emc1403_detect(@_, 1); },
}, {
+ name => "SMSC EMC1422",
+ driver => "emc1403",
+ i2c_addrs => [0x4c],
+ i2c_detect => sub { emc1403_detect(@_, 14); },
+ }, {
name => "SMSC EMC1423",
driver => "emc1403",
i2c_addrs => [0x4c],
i2c_detect => sub { emc1403_detect(@_, 3); },
}, {
name => "SMSC EMC1424",
- driver => "to-be-written",
+ driver => "emc1403",
i2c_addrs => [0x4c],
i2c_detect => sub { emc1403_detect(@_, 12); },
}, {
@@ -6117,7 +6122,7 @@ sub emc1023_detect
# Chip to detect: 0 = EMC1403, 1 = EMC1404, 2 = EMC2103, 3 = EMC1423,
# 4 = EMC1002, 5 = EMC1033, 6 = EMC1046, 7 = EMC1047, 8 = EMC1072,
# 9 = EMC1073, 10 = EMC1074, 11 = EMC1402, 12 = EMC1424,
-# 13 = EMC2104
+# 13 = EMC2104, 14 = EMC1422
# Registers used:
# 0xfd: Device ID register
# 0xfe: Vendor ID register
@@ -6133,16 +6138,16 @@ sub emc1403_detect
if ($chip == 0) { # EMC1403
return unless $dev_id == 0x21;
- return unless $rev == 0x01;
+ return unless $rev == 0x01 || $rev == 0x04;
} elsif ($chip == 1) { # EMC1404
return unless $dev_id == 0x25;
- return unless $rev == 0x01;
+ return unless $rev == 0x01 || $rev == 0x04;
} elsif ($chip == 2) { # EMC2103
return unless ($dev_id == 0x24) || ($dev_id == 0x26);
return unless $rev == 0x01;
} elsif ($chip == 3) { # EMC1423
return unless $dev_id == 0x23;
- return unless $rev == 0x01;
+ return unless $rev == 0x01 || $rev == 0x04;
} elsif ($chip == 4) { # EMC1002
return unless ($dev_id == 0x02) || ($dev_id == 0x03);
return unless $rev == 0x01;
@@ -6166,13 +6171,16 @@ sub emc1403_detect
return unless $rev == 0x03;
} elsif ($chip == 11) { # EMC1402
return unless $dev_id == 0x20;
- return unless $rev == 0x01;
+ return unless $rev == 0x01 || $rev == 0x04;
} elsif ($chip == 12) { # EMC1424
return unless $dev_id == 0x27;
- return unless $rev == 0x01;
+ return unless $rev == 0x01 || $rev == 0x04;
} elsif ($chip == 13) { # EMC2104
return unless $dev_id == 0x1d;
return unless $rev == 0x02;
+ } elsif ($chip == 14) { # EMC1422
+ return unless $dev_id == 0x22;
+ return unless $rev == 0x01 || $rev == 0x04;
}
return 6;