R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 1 | Kernel driver smsc47m1 |
| 2 | ====================== |
| 3 | |
| 4 | Supported chips: |
| 5 | * SMSC LPC47B27x, LPC47M10x, LPC47M13x, LPC47M14x, LPC47M15x and LPC47M192 |
| 6 | Addresses scanned: none, address read from Super I/O config space |
| 7 | Prefix: 'smsc47m1' |
| 8 | Datasheets: |
| 9 | http://www.smsc.com/main/datasheets/47b27x.pdf |
| 10 | http://www.smsc.com/main/datasheets/47m10x.pdf |
| 11 | http://www.smsc.com/main/tools/discontinued/47m13x.pdf |
| 12 | http://www.smsc.com/main/datasheets/47m14x.pdf |
| 13 | http://www.smsc.com/main/tools/discontinued/47m15x.pdf |
| 14 | http://www.smsc.com/main/datasheets/47m192.pdf |
Jean Delvare | b890a07 | 2005-10-26 22:21:24 +0200 | [diff] [blame] | 15 | * SMSC LPC47M997 |
| 16 | Addresses scanned: none, address read from Super I/O config space |
| 17 | Prefix: 'smsc47m1' |
| 18 | Datasheet: none |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 19 | |
| 20 | Authors: |
| 21 | Mark D. Studebaker <mdsxyz123@yahoo.com>, |
| 22 | With assistance from Bruce Allen <ballen@uwm.edu>, and his |
| 23 | fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/ |
| 24 | Gabriele Gorla <gorlik@yahoo.com>, |
| 25 | Jean Delvare <khali@linux-fr.org> |
| 26 | |
| 27 | Description |
| 28 | ----------- |
| 29 | |
| 30 | The Standard Microsystems Corporation (SMSC) 47M1xx Super I/O chips |
| 31 | contain monitoring and PWM control circuitry for two fans. |
| 32 | |
| 33 | The 47M15x and 47M192 chips contain a full 'hardware monitoring block' |
| 34 | in addition to the fan monitoring and control. The hardware monitoring |
| 35 | block is not supported by the driver. |
| 36 | |
Jean Delvare | b890a07 | 2005-10-26 22:21:24 +0200 | [diff] [blame] | 37 | No documentation is available for the 47M997, but it has the same device |
| 38 | ID as the 47M15x and 47M192 chips and seems to be compatible. |
| 39 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 40 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is |
| 41 | triggered if the rotation speed has dropped below a programmable limit. Fan |
| 42 | readings can be divided by a programmable divider (1, 2, 4 or 8) to give |
| 43 | the readings more range or accuracy. Not all RPM values can accurately be |
| 44 | represented, so some rounding is done. With a divider of 2, the lowest |
| 45 | representable value is around 2600 RPM. |
| 46 | |
| 47 | PWM values are from 0 to 255. |
| 48 | |
| 49 | If an alarm triggers, it will remain triggered until the hardware register |
| 50 | is read at least once. This means that the cause for the alarm may |
| 51 | already have disappeared! Note that in the current implementation, all |
| 52 | hardware registers are read whenever any data is read (unless it is less |
| 53 | than 1.5 seconds since the last update). This means that you can easily |
| 54 | miss once-only alarms. |
| 55 | |
| 56 | |
| 57 | ********************** |
| 58 | The lm_sensors project gratefully acknowledges the support of |
| 59 | Intel in the development of this driver. |