17ebd8b66SMauro Carvalho ChehabKernel driver smsc47m1 27ebd8b66SMauro Carvalho Chehab====================== 37ebd8b66SMauro Carvalho Chehab 47ebd8b66SMauro Carvalho ChehabSupported chips: 57ebd8b66SMauro Carvalho Chehab 67ebd8b66SMauro Carvalho Chehab * SMSC LPC47B27x, LPC47M112, LPC47M10x, LPC47M13x, LPC47M14x, 77ebd8b66SMauro Carvalho Chehab 87ebd8b66SMauro Carvalho Chehab LPC47M15x and LPC47M192 97ebd8b66SMauro Carvalho Chehab 107ebd8b66SMauro Carvalho Chehab Addresses scanned: none, address read from Super I/O config space 117ebd8b66SMauro Carvalho Chehab 127ebd8b66SMauro Carvalho Chehab Prefix: 'smsc47m1' 137ebd8b66SMauro Carvalho Chehab 147ebd8b66SMauro Carvalho Chehab Datasheets: 157ebd8b66SMauro Carvalho Chehab 167ebd8b66SMauro Carvalho Chehab http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf 177ebd8b66SMauro Carvalho Chehab 187ebd8b66SMauro Carvalho Chehab http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf 197ebd8b66SMauro Carvalho Chehab 207ebd8b66SMauro Carvalho Chehab http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf 217ebd8b66SMauro Carvalho Chehab 227ebd8b66SMauro Carvalho Chehab http://www.smsc.com/ 237ebd8b66SMauro Carvalho Chehab 247ebd8b66SMauro Carvalho Chehab * SMSC LPC47M292 257ebd8b66SMauro Carvalho Chehab 267ebd8b66SMauro Carvalho Chehab Addresses scanned: none, address read from Super I/O config space 277ebd8b66SMauro Carvalho Chehab 287ebd8b66SMauro Carvalho Chehab Prefix: 'smsc47m2' 297ebd8b66SMauro Carvalho Chehab 307ebd8b66SMauro Carvalho Chehab Datasheet: Not public 317ebd8b66SMauro Carvalho Chehab 327ebd8b66SMauro Carvalho Chehab * SMSC LPC47M997 337ebd8b66SMauro Carvalho Chehab 347ebd8b66SMauro Carvalho Chehab Addresses scanned: none, address read from Super I/O config space 357ebd8b66SMauro Carvalho Chehab 367ebd8b66SMauro Carvalho Chehab Prefix: 'smsc47m1' 377ebd8b66SMauro Carvalho Chehab 387ebd8b66SMauro Carvalho Chehab Datasheet: none 397ebd8b66SMauro Carvalho Chehab 407ebd8b66SMauro Carvalho Chehab 417ebd8b66SMauro Carvalho Chehab 427ebd8b66SMauro Carvalho ChehabAuthors: 437ebd8b66SMauro Carvalho Chehab 447ebd8b66SMauro Carvalho Chehab - Mark D. Studebaker <mdsxyz123@yahoo.com>, 457ebd8b66SMauro Carvalho Chehab - With assistance from Bruce Allen <ballen@uwm.edu>, and his 467ebd8b66SMauro Carvalho Chehab fan.c program: 477ebd8b66SMauro Carvalho Chehab 487ebd8b66SMauro Carvalho Chehab - http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/ 497ebd8b66SMauro Carvalho Chehab 507ebd8b66SMauro Carvalho Chehab - Gabriele Gorla <gorlik@yahoo.com>, 517ebd8b66SMauro Carvalho Chehab - Jean Delvare <jdelvare@suse.de> 527ebd8b66SMauro Carvalho Chehab 537ebd8b66SMauro Carvalho ChehabDescription 547ebd8b66SMauro Carvalho Chehab----------- 557ebd8b66SMauro Carvalho Chehab 567ebd8b66SMauro Carvalho ChehabThe Standard Microsystems Corporation (SMSC) 47M1xx Super I/O chips 577ebd8b66SMauro Carvalho Chehabcontain monitoring and PWM control circuitry for two fans. 587ebd8b66SMauro Carvalho Chehab 597ebd8b66SMauro Carvalho ChehabThe LPC47M15x, LPC47M192 and LPC47M292 chips contain a full 'hardware 607ebd8b66SMauro Carvalho Chehabmonitoring block' in addition to the fan monitoring and control. The 617ebd8b66SMauro Carvalho Chehabhardware monitoring block is not supported by this driver, use the 627ebd8b66SMauro Carvalho Chehabsmsc47m192 driver for that. 637ebd8b66SMauro Carvalho Chehab 647ebd8b66SMauro Carvalho ChehabNo documentation is available for the 47M997, but it has the same device 657ebd8b66SMauro Carvalho ChehabID as the 47M15x and 47M192 chips and seems to be compatible. 667ebd8b66SMauro Carvalho Chehab 677ebd8b66SMauro Carvalho ChehabFan rotation speeds are reported in RPM (rotations per minute). An alarm is 687ebd8b66SMauro Carvalho Chehabtriggered if the rotation speed has dropped below a programmable limit. Fan 697ebd8b66SMauro Carvalho Chehabreadings can be divided by a programmable divider (1, 2, 4 or 8) to give 707ebd8b66SMauro Carvalho Chehabthe readings more range or accuracy. Not all RPM values can accurately be 717ebd8b66SMauro Carvalho Chehabrepresented, so some rounding is done. With a divider of 2, the lowest 727ebd8b66SMauro Carvalho Chehabrepresentable value is around 2600 RPM. 737ebd8b66SMauro Carvalho Chehab 747ebd8b66SMauro Carvalho ChehabPWM values are from 0 to 255. 757ebd8b66SMauro Carvalho Chehab 767ebd8b66SMauro Carvalho ChehabIf an alarm triggers, it will remain triggered until the hardware register 777ebd8b66SMauro Carvalho Chehabis read at least once. This means that the cause for the alarm may 787ebd8b66SMauro Carvalho Chehabalready have disappeared! Note that in the current implementation, all 797ebd8b66SMauro Carvalho Chehabhardware registers are read whenever any data is read (unless it is less 807ebd8b66SMauro Carvalho Chehabthan 1.5 seconds since the last update). This means that you can easily 817ebd8b66SMauro Carvalho Chehabmiss once-only alarms. 827ebd8b66SMauro Carvalho Chehab 837ebd8b66SMauro Carvalho Chehab------------------------------------------------------------------ 847ebd8b66SMauro Carvalho Chehab 857ebd8b66SMauro Carvalho ChehabThe lm_sensors project gratefully acknowledges the support of 867ebd8b66SMauro Carvalho ChehabIntel in the development of this driver. 87