PageRenderTime 128ms CodeModel.GetById 48ms app.highlight 68ms RepoModel.GetById 3ms app.codeStats 0ms

#! | 57 lines | 43 code | 14 blank | 0 comment | 0 complexity | 8701febcfba098f6f4e5ef07a561f0f9 MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
 1Kernel driver lm63
 4Supported chips:
 5  * National Semiconductor LM63
 6    Prefix: 'lm63'
 7    Addresses scanned: I2C 0x4c
 8    Datasheet: Publicly available at the National Semiconductor website
11Author: Jean Delvare <>
13Thanks go to Tyan and especially Alex Buckingham for setting up a remote
14access to their S4882 test platform for this driver.
20The LM63 is a digital temperature sensor with integrated fan monitoring
21and control.
23The LM63 is basically an LM86 with fan speed monitoring and control
24capabilities added. It misses some of the LM86 features though:
25 - No low limit for local temperature.
26 - No critical limit for local temperature.
27 - Critical limit for remote temperature can be changed only once. We
28   will consider that the critical limit is read-only.
30The datasheet isn't very clear about what the tachometer reading is.
32An explanation from National Semiconductor: The two lower bits of the read
33value have to be masked out. The value is still 16 bit in width.
35All temperature values are given in degrees Celsius. Resolution is 1.0
36degree for the local temperature, 0.125 degree for the remote temperature.
38The fan speed is measured using a tachometer. Contrary to most chips which
39store the value in an 8-bit register and have a selectable clock divider
40to make sure that the result will fit in the register, the LM63 uses 16-bit
41value for measuring the speed of the fan. It can measure fan speeds down to
4283 RPM, at least in theory.
44Note that the pin used for fan monitoring is shared with an alert out
45function. Depending on how the board designer wanted to use the chip, fan
46speed monitoring will or will not be possible. The proper chip configuration
47is left to the BIOS, and the driver will blindly trust it.
49A PWM output can be used to control the speed of the fan. The LM63 has two
50PWM modes: manual and automatic. Automatic mode is not fully implemented yet
51(you cannot define your custom PWM/temperature curve), and mode change isn't
52supported either.
54The lm63 driver will not update its values more frequently than every
55second; reading them more often will do no harm, but will return 'old'