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