| 1 | Kernel driver `smsc74m1.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: Beta. |
|---|
| 5 | |
|---|
| 6 | Supported chips: |
|---|
| 7 | * SMSC 74M1xx Super I/O Controllers |
|---|
| 8 | Addresses scanned: none, address read from Super I/O config space |
|---|
| 9 | Datasheets: |
|---|
| 10 | http://www.smsc.com/main/datasheets/47m10x.pdf |
|---|
| 11 | http://www.smsc.com/main/datasheets/47m120.pdf |
|---|
| 12 | http://www.smsc.com/main/datasheets/47m13x.pdf |
|---|
| 13 | http://www.smsc.com/main/datasheets/47m14x.pdf |
|---|
| 14 | |
|---|
| 15 | Authors: Mark D. Studebaker <mdsxyz123@yahoo.com> |
|---|
| 16 | With assistance from Bruce Allen <ballen@uwm.edu> and his |
|---|
| 17 | fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/ |
|---|
| 18 | |
|---|
| 19 | Module Parameters |
|---|
| 20 | ----------------- |
|---|
| 21 | |
|---|
| 22 | force_addr=0xaddr Set the I/O base address. Useful for boards |
|---|
| 23 | that don't set the address in the BIOS. |
|---|
| 24 | Don't use this unless the driver complains that the |
|---|
| 25 | base address is not set. |
|---|
| 26 | Example: 'modprobe smsc47m1 force_addr=0x680' |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | Description |
|---|
| 30 | ----------- |
|---|
| 31 | |
|---|
| 32 | The Standard Microsystems Corporation (SMSC) 47M1xx Super I/O chips |
|---|
| 33 | contain monitoring and PWM control circuitry for two fans. |
|---|
| 34 | |
|---|
| 35 | FAN rotation speeds are reported in RPM (rotations per minute). An alarm is |
|---|
| 36 | triggered if the rotation speed has dropped below a programmable limit. FAN |
|---|
| 37 | readings can be divided by a programmable divider (1, 2, 4 or 8) to give |
|---|
| 38 | the readings more range or accuracy. This is important because some FANs |
|---|
| 39 | report only one 'tick' each rotation, while others report two - making |
|---|
| 40 | all readings twice as high. Not all RPM values can accurately be represented, |
|---|
| 41 | so some rounding is done. With a divider of 2, the lowest representable |
|---|
| 42 | value is around 2600 RPM. |
|---|
| 43 | |
|---|
| 44 | PWM values are from 0 to 255. The first value in the /proc entry is |
|---|
| 45 | the pwm value; the second is the enable (0 or 1). |
|---|
| 46 | |
|---|
| 47 | If an alarm triggers, it will remain triggered until the hardware register |
|---|
| 48 | is read at least once. This means that the cause for the alarm may |
|---|
| 49 | already have disappeared! Note that in the current implementation, all |
|---|
| 50 | hardware registers are read whenever any data is read (unless it is less |
|---|
| 51 | than 1.5 seconds since the last update). This means that you can easily |
|---|
| 52 | miss once-only alarms. |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | ********************** |
|---|
| 56 | The lm_sensors project gratefully acknowledges the support of |
|---|
| 57 | Intel in the development of this driver. |
|---|