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