1 |
3 |
xianfeng |
Kernel driver gl518sm
|
2 |
|
|
=====================
|
3 |
|
|
|
4 |
|
|
Supported chips:
|
5 |
|
|
* Genesys Logic GL518SM release 0x00
|
6 |
|
|
Prefix: 'gl518sm'
|
7 |
|
|
Addresses scanned: I2C 0x2c and 0x2d
|
8 |
|
|
Datasheet: http://www.genesyslogic.com/pdf
|
9 |
|
|
* Genesys Logic GL518SM release 0x80
|
10 |
|
|
Prefix: 'gl518sm'
|
11 |
|
|
Addresses scanned: I2C 0x2c and 0x2d
|
12 |
|
|
Datasheet: http://www.genesyslogic.com/pdf
|
13 |
|
|
|
14 |
|
|
Authors:
|
15 |
|
|
Frodo Looijaard ,
|
16 |
|
|
Kyösti Mälkki
|
17 |
|
|
Hong-Gunn Chew
|
18 |
|
|
Jean Delvare
|
19 |
|
|
|
20 |
|
|
Description
|
21 |
|
|
-----------
|
22 |
|
|
|
23 |
|
|
IMPORTANT:
|
24 |
|
|
|
25 |
|
|
For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V,
|
26 |
|
|
and +12V) CANNOT be read. This is a limitation of the chip, not the driver.
|
27 |
|
|
|
28 |
|
|
This driver supports the Genesys Logic GL518SM chip. There are at least
|
29 |
|
|
two revision of this chip, which we call revision 0x00 and 0x80. Revision
|
30 |
|
|
0x80 chips support the reading of all voltages and revision 0x00 only
|
31 |
|
|
for VIN3.
|
32 |
|
|
|
33 |
|
|
The GL518SM implements one temperature sensor, two fan rotation speed
|
34 |
|
|
sensors, and four voltage sensors. It can report alarms through the
|
35 |
|
|
computer speakers.
|
36 |
|
|
|
37 |
|
|
Temperatures are measured in degrees Celsius. An alarm goes off while the
|
38 |
|
|
temperature is above the over temperature limit, and has not yet dropped
|
39 |
|
|
below the hysteresis limit. The alarm always reflects the current
|
40 |
|
|
situation. Measurements are guaranteed between -10 degrees and +110
|
41 |
|
|
degrees, with a accuracy of +/-3 degrees.
|
42 |
|
|
|
43 |
|
|
Rotation speeds are reported in RPM (rotations per minute). An alarm is
|
44 |
|
|
triggered if the rotation speed has dropped below a programmable limit. In
|
45 |
|
|
case when you have selected to turn fan1 off, no fan1 alarm is triggered.
|
46 |
|
|
|
47 |
|
|
Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to
|
48 |
|
|
give the readings more range or accuracy. Not all RPM values can
|
49 |
|
|
accurately be represented, so some rounding is done. With a divider
|
50 |
|
|
of 2, the lowest representable value is around 1900 RPM.
|
51 |
|
|
|
52 |
|
|
Voltage sensors (also known as VIN sensors) report their values in volts.
|
53 |
|
|
An alarm is triggered if the voltage has crossed a programmable minimum or
|
54 |
|
|
maximum limit. Note that minimum in this case always means 'closest to
|
55 |
|
|
zero'; this is important for negative voltage measurements. The VDD input
|
56 |
|
|
measures voltages between 0.000 and 5.865 volt, with a resolution of 0.023
|
57 |
|
|
volt. The other inputs measure voltages between 0.000 and 4.845 volt, with
|
58 |
|
|
a resolution of 0.019 volt. Note that revision 0x00 chips do not support
|
59 |
|
|
reading the current voltage of any input except for VIN3; limit setting and
|
60 |
|
|
alarms work fine, though.
|
61 |
|
|
|
62 |
|
|
When an alarm is triggered, you can be warned by a beeping signal through your
|
63 |
|
|
computer speaker. It is possible to enable all beeping globally, or only the
|
64 |
|
|
beeping for some alarms.
|
65 |
|
|
|
66 |
|
|
If an alarm triggers, it will remain triggered until the hardware register
|
67 |
|
|
is read at least once (except for temperature alarms). This means that the
|
68 |
|
|
cause for the alarm may already have disappeared! Note that in the current
|
69 |
|
|
implementation, all hardware registers are read whenever any data is read
|
70 |
|
|
(unless it is less than 1.5 seconds since the last update). This means that
|
71 |
|
|
you can easily miss once-only alarms.
|
72 |
|
|
|
73 |
|
|
The GL518SM only updates its values each 1.5 seconds; reading it more often
|
74 |
|
|
will do no harm, but will return 'old' values.
|