root/lm-sensors/branches/lm-sensors-2.10/doc/chips/pc87360

Revision 5373, 7.3 KB (checked in by khali, 5 years ago)

Drop dead links to old National Semiconductor chip datasheets.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Kernel driver `pc87360.o'
2=========================
3
4Status: Beta, PC87366 well tested, other chips untested.
5
6Supported chips:
7  * National Semiconductor PC87360, PC87363, PC87364, PC87365 and PC87366
8    Addresses scanned: none, address read from Super I/O config space
9    Prefixes: 'pc87360', 'pc87363', 'pc87364', 'pc87365', 'pc87366'
10    Datasheets: No longer available
11
12Authors: Jean Delvare <khali@linux-fr.org>
13
14Thanks to Sandeep Mehta, Tonko de Rooy and Daniel Ceregatti for testing.
15Thanks to Rudolf Marek for helping me investigate conversion issues.
16
17
18Module Parameters
19-----------------
20
21init (int):
22  Chip initialization level:
23   0: None
24  *1: Forcibly enable internal voltage and temperature channels, except in9
25   2: Forcibly enable all voltage and temperature channels, except in9
26   3: Forcibly enable all voltage and temperature channels, including in9
27
28Note that this parameter has no effect for the PC87360, PC87363 and PC87364
29chips.
30
31Also note that for the PC87366, initialization levels 2 and 3 don't enable
32all temperature channels, because some of them share pins with each other,
33so they can't be used at the same time.
34
35
36Description
37-----------
38
39The National Semiconductor PC87360 Super I/O chip contains monitoring and
40PWM control circuitry for two fans. The PC87363 chip is similar, and the
41PC87364 chip has monitoring and PWM control for a third fan.
42
43The National Semiconductor PC87365 and PC87366 Super I/O chips are complete
44hardware monitoring chipsets, not only controling and monitoring three fans,
45but also monitoring eleven voltage inputs and two (PC87365) or up to four
46(PC87366) temperatures.
47
48The driver assumes that no more than one chip is present, and one of the
49standard Super I/O addresses is used (0x2E/0x2F or 0x4E/0x4F).
50
51
52Fan Monitoring
53--------------
54
55Fan rotation speeds are reported in RPM (revolutions per minute). An alarm
56is triggered if the rotation speed has dropped below a programmable limit.
57A different alarm is triggered if the fan speed is too low to be measured.
58
59Fan readings are affected by a programmable clock divider, giving the
60readings more range or accuracy. Usually, users have to learn how it works,
61but this driver implements dynamic clock divider selection, so you don't
62have to care no more.
63
64For reference, here are a few values about clock dividers:
65
66                slowest         accuracy        highest
67                measurable      around 3000     accurate
68    divider     speed (RPM)     RPM (RPM)       speed (RPM)
69         1        1882              18           6928
70         2         941              37           4898
71         4         470              74           3464
72         8         235             150           2449
73
74For the curious, here is how the values above were computed:
75 * slowest measurable speed: clock/(255*divider)
76 * accuracy around 3000 RPM: 3000^2/clock
77 * highest accurate speed: sqrt(clock*100)
78The clock speed for the PC87360 family is 480 kHz. I arbitrarily chose 100
79RPM as the lowest acceptable accuracy.
80
81As mentioned above, you don't have to care about this no more.
82
83Note that not all RPM values can be represented, even when the best clock
84divider is selected. This is not only true for the measured speeds, but
85also for the programmable low limits, so don't be surprised if you try to
86set, say, fan1_min to 2900 and it finaly reads 2909.
87
88
89Fan Control
90-----------
91
92PWM (pulse width modulation) values range from 0 to 255, with 0 meaning
93that the fan is stopped, and 255 meaning that the fan goes at full speed.
94
95Be extremely careful when changing PWM values. Low PWM values, even
96non-zero, can stop the fan, which may cause irreversible damage to your
97hardware if temperature increases too much. When changing PWM values, go
98step by step and keep an eye on temperatures.
99
100One user reported problems with PWM. Changing PWM values would break fan
101speed readings. No explanation nor fix could be found.
102
103
104Temperature Monitoring
105----------------------
106
107Temperatures are reported in degrees Celsius. Each temperature measured has
108associated low, high and overtemperature limits, each of which triggers an
109alarm when crossed.
110
111The first two temperature channels are external. The third one (PC87366
112only) is internal.
113
114The PC87366 has three additional temperature channels, based on
115thermistors (as opposed to thermal diodes for the first three temperature
116channels). For technical reasons, these channels are held by the VLM
117(voltage level monitor) logical device, not the TMS (temperature
118measurement) one. As a consequence, these temperatures are exported as
119voltages, and converted into temperatures in user-space.
120
121Note that these three additional channels share their pins with the
122external thermal diode channels, so you (physically) can't use them all at
123the same time. Although it should be possible to mix the two sensor types,
124the documents from National Semiconductor suggest that motherboard
125manufacturers should choose one type and stick to it. So you will more
126likely have either channels 1 to 3 (thermal diodes) or 3 to 6 (internal
127thermal diode, and thermistors).
128
129
130Voltage Monitoring
131------------------
132
133Voltages are reported relatively to a reference voltage, either internal or
134external. Some of them (in7:Vsb, in8:Vdd and in10:AVdd) are divided by two
135internally, you will have to compensate in sensors.conf. Others (in0 to in6)
136are likely to be divided externally. The meaning of each of these inputs as
137well as the values of the resistors used for division is left to the
138motherboard manufacturers, so you will have to document yourself and edit
139sensors.conf accordingly. National Semiconductor has a document with
140recommended resistor values for some voltages, but this still leaves much
141room for per motherboard specificities, unfortunately. Even worse,
142motherboard manufacturers don't seem to care about National Semiconductor's
143recommendations.
144
145Each voltage measured has associated low and high limits, each of which
146triggers an alarm when crossed.
147
148When available, VID inputs are used to provide the nominal CPU Core voltage.
149The driver will default to VRM 9.0, but this can be changed from user-space.
150The chipsets can handle two sets of VID inputs (on dual-CPU systems), but
151the driver will only export one for now. This may change later if there is
152a need.
153
154
155General Remarks
156---------------
157
158If an alarm triggers, it will remain triggered until the hardware register
159is read at least once. This means that the cause for the alarm may already
160have disappeared! Note that all hardware registers are read whenever any
161data is read (unless it is less than 2 seconds since the last update, in
162which case cached values are returned instead). As a consequence, when
163a once-only alarm triggers, it may take 2 seconds for it to show, and 2
164more seconds for it to disappear.
165
166Monitoring of in9 isn't enabled at lower init levels (<3) because that
167channel measures the battery voltage (Vbat). It is a known fact that
168repeatedly sampling the battery voltage reduces its lifetime. National
169Semiconductor smartly designed their chipset so that in9 is sampled only
170once every 1024 sampling cycles (that is every 34 minutes at the default
171sampling rate), so the effect is attenuated, but still present.
172
173
174Limitations
175-----------
176
177The datasheets suggests that some values (fan mins, fan dividers)
178shouldn't be changed once the monitoring has started, but we ignore that
179recommendation. We'll reconsider if it actually causes trouble.
Note: See TracBrowser for help on using the browser.