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