| 
									
										
										
										
											2005-05-26 12:42:19 +00:00
										 |  |  | Kernel driver sis5595 | 
					
						
							|  |  |  | ===================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Supported chips: | 
					
						
							|  |  |  |   * Silicon Integrated Systems Corp. SiS5595 Southbridge Hardware Monitor | 
					
						
							|  |  |  |     Prefix: 'sis5595' | 
					
						
							|  |  |  |     Addresses scanned: ISA in PCI-space encoded address | 
					
						
							|  |  |  |     Datasheet: Publicly available at the Silicon Integrated Systems Corp. site. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Authors: | 
					
						
							| 
									
										
										
										
											2007-05-09 08:50:42 +02:00
										 |  |  |         Kyösti Mälkki <kmalkki@cc.hut.fi>, | 
					
						
							| 
									
										
										
										
											2005-05-26 12:42:19 +00:00
										 |  |  |         Mark D. Studebaker <mdsxyz123@yahoo.com>, | 
					
						
							|  |  |  |         Aurelien Jarno <aurelien@aurel32.net> 2.6 port | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    SiS southbridge has a LM78-like chip integrated on the same IC. | 
					
						
							|  |  |  |    This driver is a customized copy of lm78.c | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Supports following revisions: | 
					
						
							|  |  |  |        Version         PCI ID          PCI Revision | 
					
						
							|  |  |  |        1               1039/0008       AF or less | 
					
						
							|  |  |  |        2               1039/0008       B0 or greater | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Note: these chips contain a 0008 device which is incompatible with the | 
					
						
							|  |  |  |         5595. We recognize these by the presence of the listed | 
					
						
							|  |  |  |         "blacklist" PCI ID and refuse to load. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    NOT SUPPORTED       PCI ID          BLACKLIST PCI ID | 
					
						
							|  |  |  |         540            0008            0540 | 
					
						
							|  |  |  |         550            0008            0550 | 
					
						
							|  |  |  |        5513            0008            5511 | 
					
						
							|  |  |  |        5581            0008            5597 | 
					
						
							|  |  |  |        5582            0008            5597 | 
					
						
							|  |  |  |        5597            0008            5597 | 
					
						
							|  |  |  |         630            0008            0630 | 
					
						
							|  |  |  |         645            0008            0645 | 
					
						
							|  |  |  |         730            0008            0730 | 
					
						
							|  |  |  |         735            0008            0735 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module Parameters | 
					
						
							|  |  |  | ----------------- | 
					
						
							|  |  |  | force_addr=0xaddr	Set the I/O base address. Useful for boards | 
					
						
							|  |  |  | 			that don't set the address in the BIOS. Does not do a | 
					
						
							|  |  |  | 			PCI force; the device must still be present in lspci. | 
					
						
							|  |  |  | 			Don't use this unless the driver complains that the | 
					
						
							|  |  |  | 			base address is not set. | 
					
						
							|  |  |  | 			Example: 'modprobe sis5595 force_addr=0x290' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Description | 
					
						
							|  |  |  | ----------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The SiS5595 southbridge has integrated hardware monitor functions. It also | 
					
						
							|  |  |  | has an I2C bus, but this driver only supports the hardware monitor. For the | 
					
						
							|  |  |  | I2C bus driver see i2c-sis5595. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The SiS5595 implements zero or one temperature sensor, two fan speed | 
					
						
							|  |  |  | sensors, four or five voltage sensors, and alarms. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | On the first version of the chip, there are four voltage sensors and one | 
					
						
							|  |  |  | temperature sensor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | On the second version of the chip, the temperature sensor (temp) and the | 
					
						
							|  |  |  | fifth voltage sensor (in4) share a pin which is configurable, but not | 
					
						
							|  |  |  | through the driver. Sorry. The driver senses the configuration of the pin, | 
					
						
							|  |  |  | which was hopefully set by the BIOS. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Temperatures are measured in degrees Celsius. An alarm is triggered once | 
					
						
							|  |  |  | when the max is crossed; it is also triggered when it drops below the min | 
					
						
							|  |  |  | value. Measurements are guaranteed between -55 and +125 degrees, with a | 
					
						
							|  |  |  | resolution of 1 degree. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is | 
					
						
							|  |  |  | triggered if the rotation speed has dropped below a programmable limit. Fan | 
					
						
							|  |  |  | readings can be divided by a programmable divider (1, 2, 4 or 8) to give | 
					
						
							|  |  |  | the readings more range or accuracy. Not all RPM values can accurately be | 
					
						
							|  |  |  | represented, so some rounding is done. With a divider of 2, the lowest | 
					
						
							|  |  |  | representable value is around 2600 RPM. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Voltage sensors (also known as IN sensors) report their values in volts. An | 
					
						
							|  |  |  | alarm is triggered if the voltage has crossed a programmable minimum or | 
					
						
							|  |  |  | maximum limit. Note that minimum in this case always means 'closest to | 
					
						
							|  |  |  | zero'; this is important for negative voltage measurements. All voltage | 
					
						
							|  |  |  | inputs can measure voltages between 0 and 4.08 volts, with a resolution of | 
					
						
							|  |  |  | 0.016 volt. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | In addition to the alarms described above, there is a BTI alarm, which gets | 
					
						
							|  |  |  | triggered when an external chip has crossed its limits. Usually, this is | 
					
						
							|  |  |  | connected to some LM75-like chip; if at least one crosses its limits, this | 
					
						
							|  |  |  | bit gets set. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If an alarm triggers, it will remain triggered until the hardware register | 
					
						
							|  |  |  | is read at least once. This means that the cause for the alarm may already | 
					
						
							|  |  |  | have disappeared! Note that in the current implementation, all hardware | 
					
						
							|  |  |  | registers are read whenever any data is read (unless it is less than 1.5 | 
					
						
							|  |  |  | seconds since the last update). This means that you can easily miss | 
					
						
							|  |  |  | once-only alarms. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The SiS5595 only updates its values each 1.5 seconds; reading it more often | 
					
						
							|  |  |  | will do no harm, but will return 'old' values. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Problems | 
					
						
							|  |  |  | -------- | 
					
						
							|  |  |  | Some chips refuse to be enabled. We don't know why. | 
					
						
							|  |  |  | The driver will recognize this and print a message in dmesg. | 
					
						
							|  |  |  | 
 |