| 1 | Kernel driver lm63 |
| 2 | ================== |
| 3 | |
| 4 | Supported chips: |
| 5 | * National Semiconductor LM63 |
| 6 | Prefix: 'lm63' |
| 7 | Addresses scanned: I2C 0x4c |
| 8 | Datasheet: Publicly available at the National Semiconductor website |
| 9 | http://www.national.com/pf/LM/LM63.html |
| 10 | * National Semiconductor LM64 |
| 11 | Prefix: 'lm64' |
| 12 | Addresses scanned: I2C 0x18 and 0x4e |
| 13 | Datasheet: Publicly available at the National Semiconductor website |
| 14 | http://www.national.com/pf/LM/LM64.html |
| 15 | |
| 16 | Author: Jean Delvare <khali@linux-fr.org> |
| 17 | |
| 18 | Thanks go to Tyan and especially Alex Buckingham for setting up a remote |
| 19 | access to their S4882 test platform for this driver. |
| 20 | http://www.tyan.com/ |
| 21 | |
| 22 | Description |
| 23 | ----------- |
| 24 | |
| 25 | The LM63 is a digital temperature sensor with integrated fan monitoring |
| 26 | and control. |
| 27 | |
| 28 | The LM63 is basically an LM86 with fan speed monitoring and control |
| 29 | capabilities added. It misses some of the LM86 features though: |
| 30 | - No low limit for local temperature. |
| 31 | - No critical limit for local temperature. |
| 32 | - Critical limit for remote temperature can be changed only once. We |
| 33 | will consider that the critical limit is read-only. |
| 34 | |
| 35 | The datasheet isn't very clear about what the tachometer reading is. |
| 36 | |
| 37 | An explanation from National Semiconductor: The two lower bits of the read |
| 38 | value have to be masked out. The value is still 16 bit in width. |
| 39 | |
| 40 | All temperature values are given in degrees Celsius. Resolution is 1.0 |
| 41 | degree for the local temperature, 0.125 degree for the remote temperature. |
| 42 | |
| 43 | The fan speed is measured using a tachometer. Contrary to most chips which |
| 44 | store the value in an 8-bit register and have a selectable clock divider |
| 45 | to make sure that the result will fit in the register, the LM63 uses 16-bit |
| 46 | value for measuring the speed of the fan. It can measure fan speeds down to |
| 47 | 83 RPM, at least in theory. |
| 48 | |
| 49 | Note that the pin used for fan monitoring is shared with an alert out |
| 50 | function. Depending on how the board designer wanted to use the chip, fan |
| 51 | speed monitoring will or will not be possible. The proper chip configuration |
| 52 | is left to the BIOS, and the driver will blindly trust it. |
| 53 | |
| 54 | A PWM output can be used to control the speed of the fan. The LM63 has two |
| 55 | PWM modes: manual and automatic. Automatic mode is not fully implemented yet |
| 56 | (you cannot define your custom PWM/temperature curve), and mode change isn't |
| 57 | supported either. |
| 58 | |
| 59 | The lm63 driver will not update its values more frequently than every |
| 60 | second; reading them more often will do no harm, but will return 'old' |
| 61 | values. |
| 62 | |
| 63 | The LM64 is effectively an LM63 with GPIO lines. The driver does not |
| 64 | support these GPIO lines at present. |