112 lines
		
	
	
	
		
			4.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			112 lines
		
	
	
	
		
			4.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								Kernel driver adm1021
							 | 
						||
| 
								 | 
							
								=====================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Supported chips:
							 | 
						||
| 
								 | 
							
								  * Analog Devices ADM1021
							 | 
						||
| 
								 | 
							
								    Prefix: 'adm1021'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Analog Devices website
							 | 
						||
| 
								 | 
							
								  * Analog Devices ADM1021A/ADM1023
							 | 
						||
| 
								 | 
							
								    Prefix: 'adm1023'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Analog Devices website
							 | 
						||
| 
								 | 
							
								  * Genesys Logic GL523SM
							 | 
						||
| 
								 | 
							
								    Prefix: 'gl523sm'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet:
							 | 
						||
| 
								 | 
							
								  * Intel Xeon Processor
							 | 
						||
| 
								 | 
							
								    Prefix: - any other - may require 'force_adm1021' parameter
							 | 
						||
| 
								 | 
							
								    Addresses scanned: none
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at Intel website
							 | 
						||
| 
								 | 
							
								  * Maxim MAX1617
							 | 
						||
| 
								 | 
							
								    Prefix: 'max1617'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Maxim website
							 | 
						||
| 
								 | 
							
								  * Maxim MAX1617A
							 | 
						||
| 
								 | 
							
								    Prefix: 'max1617a'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Maxim website
							 | 
						||
| 
								 | 
							
								  * National Semiconductor LM84
							 | 
						||
| 
								 | 
							
								    Prefix: 'lm84'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the National Semiconductor website
							 | 
						||
| 
								 | 
							
								  * Philips NE1617
							 | 
						||
| 
								 | 
							
								    Prefix: 'max1617' (probably detected as a max1617)
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Philips website
							 | 
						||
| 
								 | 
							
								  * Philips NE1617A
							 | 
						||
| 
								 | 
							
								    Prefix: 'max1617' (probably detected as a max1617)
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Philips website
							 | 
						||
| 
								 | 
							
								  * TI THMC10
							 | 
						||
| 
								 | 
							
								    Prefix: 'thmc10'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the TI website
							 | 
						||
| 
								 | 
							
								  * Onsemi MC1066
							 | 
						||
| 
								 | 
							
								    Prefix: 'mc1066'
							 | 
						||
| 
								 | 
							
								    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
							 | 
						||
| 
								 | 
							
								    Datasheet: Publicly available at the Onsemi website
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Authors:
							 | 
						||
| 
								 | 
							
								        Frodo Looijaard <frodol@dds.nl>,
							 | 
						||
| 
								 | 
							
								        Philip Edelbrock <phil@netroedge.com>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Module Parameters
							 | 
						||
| 
								 | 
							
								-----------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* read_only: int
							 | 
						||
| 
								 | 
							
								  Don't set any values, read only mode
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Description
							 | 
						||
| 
								 | 
							
								-----------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The chips supported by this driver are very similar. The Maxim MAX1617 is
							 | 
						||
| 
								 | 
							
								the oldest; it has the problem that it is not very well detectable. The
							 | 
						||
| 
								 | 
							
								MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A.
							 | 
						||
| 
								 | 
							
								Ditto for the THMC10. From here on, we will refer to all these chips as
							 | 
						||
| 
								 | 
							
								ADM1021-clones.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The ADM1021 and MAX1617A reports a die code, which is a sort of revision
							 | 
						||
| 
								 | 
							
								code. This can help us pinpoint problems; it is not very useful
							 | 
						||
| 
								 | 
							
								otherwise.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ADM1021-clones implement two temperature sensors. One of them is internal,
							 | 
						||
| 
								 | 
							
								and measures the temperature of the chip itself; the other is external and
							 | 
						||
| 
								 | 
							
								is realised in the form of a transistor-like device. A special alarm
							 | 
						||
| 
								 | 
							
								indicates whether the remote sensor is connected.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Each sensor has its own low and high limits. When they are crossed, the
							 | 
						||
| 
								 | 
							
								corresponding alarm is set and remains on as long as the temperature stays
							 | 
						||
| 
								 | 
							
								out of range. Temperatures are measured in degrees Celsius. Measurements
							 | 
						||
| 
								 | 
							
								are possible between -65 and +127 degrees, with a resolution of one degree.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This driver only updates its values each 1.5 seconds; reading it more often
							 | 
						||
| 
								 | 
							
								will do no harm, but will return 'old' values. It is possible to make
							 | 
						||
| 
								 | 
							
								ADM1021-clones do faster measurements, but there is really no good reason
							 | 
						||
| 
								 | 
							
								for that.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Xeon support
							 | 
						||
| 
								 | 
							
								------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Some Xeon processors have real max1617, adm1021, or compatible chips
							 | 
						||
| 
								 | 
							
								within them, with two temperature sensors.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Other Xeons have chips with only one sensor.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you have a Xeon, and the adm1021 module loads, and both temperatures
							 | 
						||
| 
								 | 
							
								appear valid, then things are good.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If the adm1021 module doesn't load, you should try this:
							 | 
						||
| 
								 | 
							
									modprobe adm1021 force_adm1021=BUS,ADDRESS
							 | 
						||
| 
								 | 
							
									ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you have dual Xeons you may have appear to have two separate
							 | 
						||
| 
								 | 
							
								adm1021-compatible chips, or two single-temperature sensors, at distinct
							 | 
						||
| 
								 | 
							
								addresses.
							 |