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