About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / pc87360

Based on kernel version 2.6.26. Page generated on 2008-07-16 21:12 EST.

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

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.