Merge tag 'efi-efivars-removal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kerne...
[linux-2.6-block.git] / Documentation / hwmon / lm63.rst
CommitLineData
7f15b664
M
1Kernel driver lm63
2==================
3
4Supported chips:
b04f2f7d 5
7f15b664 6 * National Semiconductor LM63
b04f2f7d 7
7f15b664 8 Prefix: 'lm63'
b04f2f7d 9
7f15b664 10 Addresses scanned: I2C 0x4c
b04f2f7d 11
7f15b664 12 Datasheet: Publicly available at the National Semiconductor website
b04f2f7d
MCC
13
14 http://www.national.com/pf/LM/LM63.html
15
10f2ed31 16 * National Semiconductor LM64
b04f2f7d 17
10f2ed31 18 Prefix: 'lm64'
b04f2f7d 19
10f2ed31 20 Addresses scanned: I2C 0x18 and 0x4e
b04f2f7d 21
10f2ed31 22 Datasheet: Publicly available at the National Semiconductor website
b04f2f7d
MCC
23
24 http://www.national.com/pf/LM/LM64.html
25
210961c4 26 * National Semiconductor LM96163
b04f2f7d 27
210961c4 28 Prefix: 'lm96163'
b04f2f7d 29
210961c4 30 Addresses scanned: I2C 0x4c
b04f2f7d 31
210961c4 32 Datasheet: Publicly available at the National Semiconductor website
b04f2f7d
MCC
33
34 http://www.national.com/pf/LM/LM96163.html
35
7f15b664 36
7c81c60f 37Author: Jean Delvare <jdelvare@suse.de>
7f15b664
M
38
39Thanks go to Tyan and especially Alex Buckingham for setting up a remote
40access to their S4882 test platform for this driver.
b04f2f7d 41
ad736c1a 42 https://www.tyan.com/
7f15b664
M
43
44Description
45-----------
46
47The LM63 is a digital temperature sensor with integrated fan monitoring
48and control.
49
50The LM63 is basically an LM86 with fan speed monitoring and control
51capabilities added. It misses some of the LM86 features though:
b04f2f7d 52
7f15b664
M
53 - No low limit for local temperature.
54 - No critical limit for local temperature.
55 - Critical limit for remote temperature can be changed only once. We
56 will consider that the critical limit is read-only.
57
58The datasheet isn't very clear about what the tachometer reading is.
59
60An explanation from National Semiconductor: The two lower bits of the read
61value have to be masked out. The value is still 16 bit in width.
62
63All temperature values are given in degrees Celsius. Resolution is 1.0
64degree for the local temperature, 0.125 degree for the remote temperature.
65
66The fan speed is measured using a tachometer. Contrary to most chips which
67store the value in an 8-bit register and have a selectable clock divider
68to make sure that the result will fit in the register, the LM63 uses 16-bit
69value for measuring the speed of the fan. It can measure fan speeds down to
7083 RPM, at least in theory.
71
72Note that the pin used for fan monitoring is shared with an alert out
73function. Depending on how the board designer wanted to use the chip, fan
74speed monitoring will or will not be possible. The proper chip configuration
409c0b5b
JD
75is left to the BIOS, and the driver will blindly trust it. Only the original
76LM63 suffers from this limitation, the LM64 and LM96163 have separate pins
77for fan monitoring and alert out. On the LM64, monitoring is always enabled;
78on the LM96163 it can be disabled.
7f15b664
M
79
80A PWM output can be used to control the speed of the fan. The LM63 has two
81PWM modes: manual and automatic. Automatic mode is not fully implemented yet
82(you cannot define your custom PWM/temperature curve), and mode change isn't
83supported either.
84
04738b2b
GR
85The lm63 driver will not update its values more frequently than configured with
86the update_interval sysfs attribute; reading them more often will do no harm,
d216f680
JD
87but will return 'old' values. Values in the automatic fan control lookup table
88(attributes pwm1_auto_*) have their own independent lifetime of 5 seconds.
7f15b664 89
10f2ed31
MG
90The LM64 is effectively an LM63 with GPIO lines. The driver does not
91support these GPIO lines at present.
210961c4
GR
92
93The LM96163 is an enhanced version of LM63 with improved temperature accuracy
f496b2d4
GR
94and better PWM resolution. For LM96163, the external temperature sensor type is
95configurable as CPU embedded diode(1) or 3904 transistor(2).