diff --git a/doc/chips/SUMMARY b/doc/chips/SUMMARY index 2e446559..d8e6023a 100644 --- a/doc/chips/SUMMARY +++ b/doc/chips/SUMMARY @@ -207,12 +207,14 @@ smartbatt smartbatt 1 1 - - yes no smsc47m1 + (all are reported as a "smsc47m1") smsc47b27x - - 2 2 no yes (LPC) smsc47m10x - - 2 2 no yes (LPC) smsc47m13x - - 2 2 no yes (LPC) smsc47m14x - - 2 2 no yes (LPC) smsc47m15x - - 2 2 no yes (LPC) smsc47m192 - - 2 2 no yes (LPC) + smsc47m997 - - 2 2 no yes (LPC) thmc50 adm1022 3 2 - 1 dac yes no diff --git a/doc/chips/smsc47m1 b/doc/chips/smsc47m1 index 70e99753..17767068 100644 --- a/doc/chips/smsc47m1 +++ b/doc/chips/smsc47m1 @@ -14,6 +14,10 @@ Supported chips: http://www.smsc.com/main/datasheets/47m14x.pdf http://www.smsc.com/main/tools/discontinued/47m15x.pdf http://www.smsc.com/main/datasheets/47m192.pdf + * SMSC LPC47M997 + Addresses scanned: none, address read from Super I/O config space + Prefix: 'smsc47m1' + Datasheet: none Authors: Mark D. Studebaker With assistance from Bruce Allen and his @@ -39,6 +43,9 @@ The 47M15x and 47M192 chips contain a full 'hardware monitoring block' in addition to the fan monitoring and control. The hardware monitoring block is not supported by the driver. +No documentation is available for the 47M997, but it has the same device +ID as the 47M15x and 47M192 chips and seems to be compatible therewith. + Fan rotation speeds are reported in RPM (rotations per minute). An alarm is triggered if the rotation speed has dropped below a programmable limit. Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to give diff --git a/kernel/chips/smsc47m1.c b/kernel/chips/smsc47m1.c index 5eef6bda..c2ebbbc7 100644 --- a/kernel/chips/smsc47m1.c +++ b/kernel/chips/smsc47m1.c @@ -85,6 +85,8 @@ superio_exit(void) * LPC47B27x (device id 0x51) have fan control. * The 47M15x and 47M192 chips "with hardware monitoring block" * can do much more besides (device id 0x60). + * The LPC47M997 is undocumented, but seems to be compatible with + * the LPC47M192, and has the same device id. */ #define SMSC_DEVID_MATCH(id) ((id) == 0x51 || (id) == 0x59 || (id) == 0x5F || (id) == 0x60) diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index ba9fe6e3..daae0076 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -1463,7 +1463,7 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect i2c_detect => sub { m5879_detect @_}, }, { - name => "SMSC LPC47M15x or LPC47M192", + name => "SMSC LPC47M15x, LPC47M192 or LPC47M997", driver => "to-be-written", i2c_addrs => [0x2c..0x2d], i2c_detect => sub { smsc47m192_detect @_ }, @@ -1721,7 +1721,7 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect logdev => 0x0a, }, { - name => "SMSC 47M15x/192 Super IO Fan Sensors", + name => "SMSC 47M15x/192/997 Super IO Fan Sensors", driver => "smsc47m1", devid => 0x60, logdev => 0x0a,