77 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			3.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| Kernel driver lm87
 | |
| ==================
 | |
| 
 | |
| Supported chips:
 | |
|   * National Semiconductor LM87
 | |
|     Prefix: 'lm87'
 | |
|     Addresses scanned: I2C 0x2c - 0x2e
 | |
|     Datasheet: http://www.national.com/pf/LM/LM87.html
 | |
|   * Analog Devices ADM1024
 | |
|     Prefix: 'adm1024'
 | |
|     Addresses scanned: I2C 0x2c - 0x2e
 | |
|     Datasheet: http://www.analog.com/en/prod/0,2877,ADM1024,00.html
 | |
| 
 | |
| Authors:
 | |
|         Frodo Looijaard <frodol@dds.nl>,
 | |
|         Philip Edelbrock <phil@netroedge.com>,
 | |
|         Mark Studebaker <mdsxyz123@yahoo.com>,
 | |
|         Stephen Rousset <stephen.rousset@rocketlogix.com>,
 | |
|         Dan Eaton <dan.eaton@rocketlogix.com>,
 | |
|         Jean Delvare <jdelvare@suse.de>,
 | |
|         Original 2.6 port Jeff Oliver
 | |
| 
 | |
| Description
 | |
| -----------
 | |
| 
 | |
| This driver implements support for the National Semiconductor LM87
 | |
| and the Analog Devices ADM1024.
 | |
| 
 | |
| The LM87 implements up to three temperature sensors, up to two fan
 | |
| rotation speed sensors, up to seven voltage sensors, alarms, and some
 | |
| miscellaneous stuff. The ADM1024 is fully compatible.
 | |
| 
 | |
| Temperatures are measured in degrees Celsius. Each input has a high
 | |
| and low alarm settings. A high limit produces an alarm when the value
 | |
| goes above it, and an alarm is also produced when the value goes below
 | |
| the low limit.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 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.0 seconds since the last update). This means that you can easily
 | |
| miss once-only alarms.
 | |
| 
 | |
| The lm87 driver only updates its values each 1.0 seconds; reading it more
 | |
| often will do no harm, but will return 'old' values.
 | |
| 
 | |
| 
 | |
| Hardware Configurations
 | |
| -----------------------
 | |
| 
 | |
| The LM87 has four pins which can serve one of two possible functions,
 | |
| depending on the hardware configuration.
 | |
| 
 | |
| Some functions share pins, so not all functions are available at the same
 | |
| time. Which are depends on the hardware setup. This driver normally
 | |
| assumes that firmware configured the chip correctly. Where this is not
 | |
| the case, platform code must set the I2C client's platform_data to point
 | |
| to a u8 value to be written to the channel register.
 | |
| 
 | |
| For reference, here is the list of exclusive functions:
 | |
|  - in0+in5 (default) or temp3
 | |
|  - fan1 (default) or in6
 | |
|  - fan2 (default) or in7
 | |
|  - VID lines (default) or IRQ lines (not handled by this driver)
 | 
