103 lines
		
	
	
	
		
			3.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			103 lines
		
	
	
	
		
			3.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								Kernel driver amc6821
							 | 
						||
| 
								 | 
							
								=====================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Supported chips:
							 | 
						||
| 
								 | 
							
									Texas Instruments AMC6821
							 | 
						||
| 
								 | 
							
									Prefix: 'amc6821'
							 | 
						||
| 
								 | 
							
									Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
							 | 
						||
| 
								 | 
							
									Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Authors:
							 | 
						||
| 
								 | 
							
									Tomaz Mertelj <tomaz.mertelj@guest.arnes.si>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Description
							 | 
						||
| 
								 | 
							
								-----------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This driver implements support for the Texas Instruments amc6821 chip.
							 | 
						||
| 
								 | 
							
								The chip has one on-chip and one remote temperature sensor and one pwm fan
							 | 
						||
| 
								 | 
							
								regulator.
							 | 
						||
| 
								 | 
							
								The pwm can be controlled either from software or automatically.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The driver provides the following sensor accesses in sysfs:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								temp1_input		ro	on-chip temperature
							 | 
						||
| 
								 | 
							
								temp1_min		rw	"
							 | 
						||
| 
								 | 
							
								temp1_max		rw	"
							 | 
						||
| 
								 | 
							
								temp1_crit	 	rw	"
							 | 
						||
| 
								 | 
							
								temp1_min_alarm		ro	"
							 | 
						||
| 
								 | 
							
								temp1_max_alarm		ro	"
							 | 
						||
| 
								 | 
							
								temp1_crit_alarm	ro	"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								temp2_input		ro	remote temperature
							 | 
						||
| 
								 | 
							
								temp2_min		rw	"
							 | 
						||
| 
								 | 
							
								temp2_max		rw	"
							 | 
						||
| 
								 | 
							
								temp2_crit	 	rw	"
							 | 
						||
| 
								 | 
							
								temp2_min_alarm		ro	"
							 | 
						||
| 
								 | 
							
								temp2_max_alarm		ro	"
							 | 
						||
| 
								 | 
							
								temp2_crit_alarm	ro	"
							 | 
						||
| 
								 | 
							
								temp2_fault		ro	"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								fan1_input	 	ro	tachometer speed
							 | 
						||
| 
								 | 
							
								fan1_min		rw	"
							 | 
						||
| 
								 | 
							
								fan1_max		rw	"
							 | 
						||
| 
								 | 
							
								fan1_fault	 	ro	"
							 | 
						||
| 
								 | 
							
								fan1_div		rw	Fan divisor can be either 2 or 4.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								pwm1			rw	pwm1
							 | 
						||
| 
								 | 
							
								pwm1_enable		rw	regulator mode, 1=open loop, 2=fan controlled
							 | 
						||
| 
								 | 
							
												by remote temperature, 3=fan controlled by
							 | 
						||
| 
								 | 
							
												combination of the on-chip temperature and
							 | 
						||
| 
								 | 
							
												remote-sensor temperature,
							 | 
						||
| 
								 | 
							
								pwm1_auto_channels_temp ro	1 if pwm_enable==2, 3 if pwm_enable==3
							 | 
						||
| 
								 | 
							
								pwm1_auto_point1_pwm	ro	Hardwired to 0, shared for both
							 | 
						||
| 
								 | 
							
												temperature channels.
							 | 
						||
| 
								 | 
							
								pwm1_auto_point2_pwm	rw	This value is shared for both temperature
							 | 
						||
| 
								 | 
							
												channels.
							 | 
						||
| 
								 | 
							
								pwm1_auto_point3_pwm	rw	Hardwired to 255, shared for both
							 | 
						||
| 
								 | 
							
												temperature channels.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								temp1_auto_point1_temp	ro	Hardwired to temp2_auto_point1_temp
							 | 
						||
| 
								 | 
							
												which is rw. Below this temperature fan stops.
							 | 
						||
| 
								 | 
							
								temp1_auto_point2_temp	rw	The low-temperature limit of the proportional
							 | 
						||
| 
								 | 
							
												range. Below this temperature
							 | 
						||
| 
								 | 
							
												pwm1 = pwm1_auto_point2_pwm. It can go from
							 | 
						||
| 
								 | 
							
												0 degree C to 124 degree C in steps of
							 | 
						||
| 
								 | 
							
												4 degree C. Read it out after writing to get
							 | 
						||
| 
								 | 
							
												the actual value.
							 | 
						||
| 
								 | 
							
								temp1_auto_point3_temp	rw	Above this temperature fan runs at maximum
							 | 
						||
| 
								 | 
							
												speed. It can go from temp1_auto_point2_temp.
							 | 
						||
| 
								 | 
							
												It can only have certain discrete values
							 | 
						||
| 
								 | 
							
												which depend on temp1_auto_point2_temp and
							 | 
						||
| 
								 | 
							
												pwm1_auto_point2_pwm. Read it out after
							 | 
						||
| 
								 | 
							
												writing to get the actual value.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								temp2_auto_point1_temp	rw	Must be between 0 degree C and 63 degree C and
							 | 
						||
| 
								 | 
							
												it defines the passive cooling temperature.
							 | 
						||
| 
								 | 
							
												Below this temperature the fan stops in
							 | 
						||
| 
								 | 
							
												the closed loop mode.
							 | 
						||
| 
								 | 
							
								temp2_auto_point2_temp	rw	The low-temperature limit of the proportional
							 | 
						||
| 
								 | 
							
												range. Below this temperature
							 | 
						||
| 
								 | 
							
												pwm1 = pwm1_auto_point2_pwm. It can go from
							 | 
						||
| 
								 | 
							
												0 degree C to 124 degree C in steps
							 | 
						||
| 
								 | 
							
												of 4 degree C.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								temp2_auto_point3_temp	rw	Above this temperature fan runs at maximum
							 | 
						||
| 
								 | 
							
												speed. It can only have certain discrete
							 | 
						||
| 
								 | 
							
												values which depend on temp2_auto_point2_temp
							 | 
						||
| 
								 | 
							
												and pwm1_auto_point2_pwm. Read it out after
							 | 
						||
| 
								 | 
							
												writing to get actual value.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Module parameters
							 | 
						||
| 
								 | 
							
								-----------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If your board has a BIOS that initializes the amc6821 correctly, you should
							 | 
						||
| 
								 | 
							
								load the module with: init=0.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If your board BIOS doesn't initialize the chip, or you want
							 | 
						||
| 
								 | 
							
								different settings, you can set the following parameters:
							 | 
						||
| 
								 | 
							
								init=1,
							 | 
						||
| 
								 | 
							
								pwminv: 0 default pwm output, 1 inverts pwm output.
							 | 
						||
| 
								 | 
							
								
							 |