xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/sis5595.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver sis5595
2*4882a593Smuzhiyun=====================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * Silicon Integrated Systems Corp. SiS5595 Southbridge Hardware Monitor
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    Prefix: 'sis5595'
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun    Addresses scanned: ISA in PCI-space encoded address
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun    Datasheet: Publicly available at the Silicon Integrated Systems Corp. site.
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunAuthors:
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun      - Kyösti Mälkki <kmalkki@cc.hut.fi>,
19*4882a593Smuzhiyun      - Mark D. Studebaker <mdsxyz123@yahoo.com>,
20*4882a593Smuzhiyun      - Aurelien Jarno <aurelien@aurel32.net> 2.6 port
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun   SiS southbridge has a LM78-like chip integrated on the same IC.
23*4882a593Smuzhiyun   This driver is a customized copy of lm78.c
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun   Supports following revisions:
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun       =============== =============== ==============
28*4882a593Smuzhiyun       Version         PCI ID          PCI Revision
29*4882a593Smuzhiyun       =============== =============== ==============
30*4882a593Smuzhiyun       1               1039/0008       AF or less
31*4882a593Smuzhiyun       2               1039/0008       B0 or greater
32*4882a593Smuzhiyun       =============== =============== ==============
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun   Note: these chips contain a 0008 device which is incompatible with the
35*4882a593Smuzhiyun	5595. We recognize these by the presence of the listed
36*4882a593Smuzhiyun	"blacklist" PCI ID and refuse to load.
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun   =================== =============== ================
39*4882a593Smuzhiyun   NOT SUPPORTED       PCI ID          BLACKLIST PCI ID
40*4882a593Smuzhiyun   =================== =============== ================
41*4882a593Smuzhiyun	540            0008            0540
42*4882a593Smuzhiyun	550            0008            0550
43*4882a593Smuzhiyun       5513            0008            5511
44*4882a593Smuzhiyun       5581            0008            5597
45*4882a593Smuzhiyun       5582            0008            5597
46*4882a593Smuzhiyun       5597            0008            5597
47*4882a593Smuzhiyun	630            0008            0630
48*4882a593Smuzhiyun	645            0008            0645
49*4882a593Smuzhiyun	730            0008            0730
50*4882a593Smuzhiyun	735            0008            0735
51*4882a593Smuzhiyun   =================== =============== ================
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun
54*4882a593SmuzhiyunModule Parameters
55*4882a593Smuzhiyun-----------------
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun======================= =====================================================
58*4882a593Smuzhiyunforce_addr=0xaddr	Set the I/O base address. Useful for boards
59*4882a593Smuzhiyun			that don't set the address in the BIOS. Does not do a
60*4882a593Smuzhiyun			PCI force; the device must still be present in lspci.
61*4882a593Smuzhiyun			Don't use this unless the driver complains that the
62*4882a593Smuzhiyun			base address is not set.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun			Example: 'modprobe sis5595 force_addr=0x290'
65*4882a593Smuzhiyun======================= =====================================================
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun
68*4882a593SmuzhiyunDescription
69*4882a593Smuzhiyun-----------
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunThe SiS5595 southbridge has integrated hardware monitor functions. It also
72*4882a593Smuzhiyunhas an I2C bus, but this driver only supports the hardware monitor. For the
73*4882a593SmuzhiyunI2C bus driver see i2c-sis5595.
74*4882a593Smuzhiyun
75*4882a593SmuzhiyunThe SiS5595 implements zero or one temperature sensor, two fan speed
76*4882a593Smuzhiyunsensors, four or five voltage sensors, and alarms.
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunOn the first version of the chip, there are four voltage sensors and one
79*4882a593Smuzhiyuntemperature sensor.
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunOn the second version of the chip, the temperature sensor (temp) and the
82*4882a593Smuzhiyunfifth voltage sensor (in4) share a pin which is configurable, but not
83*4882a593Smuzhiyunthrough the driver. Sorry. The driver senses the configuration of the pin,
84*4882a593Smuzhiyunwhich was hopefully set by the BIOS.
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunTemperatures are measured in degrees Celsius. An alarm is triggered once
87*4882a593Smuzhiyunwhen the max is crossed; it is also triggered when it drops below the min
88*4882a593Smuzhiyunvalue. Measurements are guaranteed between -55 and +125 degrees, with a
89*4882a593Smuzhiyunresolution of 1 degree.
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunFan rotation speeds are reported in RPM (rotations per minute). An alarm is
92*4882a593Smuzhiyuntriggered if the rotation speed has dropped below a programmable limit. Fan
93*4882a593Smuzhiyunreadings can be divided by a programmable divider (1, 2, 4 or 8) to give
94*4882a593Smuzhiyunthe readings more range or accuracy. Not all RPM values can accurately be
95*4882a593Smuzhiyunrepresented, so some rounding is done. With a divider of 2, the lowest
96*4882a593Smuzhiyunrepresentable value is around 2600 RPM.
97*4882a593Smuzhiyun
98*4882a593SmuzhiyunVoltage sensors (also known as IN sensors) report their values in volts. An
99*4882a593Smuzhiyunalarm is triggered if the voltage has crossed a programmable minimum or
100*4882a593Smuzhiyunmaximum limit. Note that minimum in this case always means 'closest to
101*4882a593Smuzhiyunzero'; this is important for negative voltage measurements. All voltage
102*4882a593Smuzhiyuninputs can measure voltages between 0 and 4.08 volts, with a resolution of
103*4882a593Smuzhiyun0.016 volt.
104*4882a593Smuzhiyun
105*4882a593SmuzhiyunIn addition to the alarms described above, there is a BTI alarm, which gets
106*4882a593Smuzhiyuntriggered when an external chip has crossed its limits. Usually, this is
107*4882a593Smuzhiyunconnected to some LM75-like chip; if at least one crosses its limits, this
108*4882a593Smuzhiyunbit gets set.
109*4882a593Smuzhiyun
110*4882a593SmuzhiyunIf an alarm triggers, it will remain triggered until the hardware register
111*4882a593Smuzhiyunis read at least once. This means that the cause for the alarm may already
112*4882a593Smuzhiyunhave disappeared! Note that in the current implementation, all hardware
113*4882a593Smuzhiyunregisters are read whenever any data is read (unless it is less than 1.5
114*4882a593Smuzhiyunseconds since the last update). This means that you can easily miss
115*4882a593Smuzhiyunonce-only alarms.
116*4882a593Smuzhiyun
117*4882a593SmuzhiyunThe SiS5595 only updates its values each 1.5 seconds; reading it more often
118*4882a593Smuzhiyunwill do no harm, but will return 'old' values.
119*4882a593Smuzhiyun
120*4882a593SmuzhiyunProblems
121*4882a593Smuzhiyun--------
122*4882a593SmuzhiyunSome chips refuse to be enabled. We don't know why.
123*4882a593SmuzhiyunThe driver will recognize this and print a message in dmesg.
124