| Tomaz Mertelj | b5430a0 | 2010-01-08 14:43:04 -0800 | [diff] [blame] | 1 | Kernel driver amc6821 | 
|  | 2 | ===================== | 
|  | 3 |  | 
|  | 4 | Supported chips: | 
|  | 5 | Texas Instruments AMC6821 | 
|  | 6 | Prefix: 'amc6821' | 
|  | 7 | Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e | 
|  | 8 | Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html | 
|  | 9 |  | 
|  | 10 | Authors: | 
|  | 11 | Tomaz Mertelj <tomaz.mertelj@guest.arnes.si> | 
|  | 12 |  | 
|  | 13 |  | 
|  | 14 | Description | 
|  | 15 | ----------- | 
|  | 16 |  | 
|  | 17 | This driver implements support for the Texas Instruments amc6821 chip. | 
|  | 18 | The chip has one on-chip and one remote temperature sensor and one pwm fan | 
|  | 19 | regulator. | 
|  | 20 | The pwm can be controlled either from software or automatically. | 
|  | 21 |  | 
|  | 22 | The driver provides the following sensor accesses in sysfs: | 
|  | 23 |  | 
|  | 24 | temp1_input		ro	on-chip temperature | 
|  | 25 | temp1_min		rw	" | 
|  | 26 | temp1_max		rw	" | 
|  | 27 | temp1_crit	 	rw	" | 
|  | 28 | temp1_min_alarm		ro	" | 
|  | 29 | temp1_max_alarm		ro	" | 
|  | 30 | temp1_crit_alarm	ro	" | 
|  | 31 |  | 
|  | 32 | temp2_input		ro	remote temperature | 
|  | 33 | temp2_min		rw	" | 
|  | 34 | temp2_max		rw	" | 
|  | 35 | temp2_crit	 	rw	" | 
|  | 36 | temp2_min_alarm		ro	" | 
|  | 37 | temp2_max_alarm		ro	" | 
|  | 38 | temp2_crit_alarm	ro	" | 
|  | 39 | temp2_fault		ro	" | 
|  | 40 |  | 
|  | 41 | fan1_input	 	ro	tachometer speed | 
|  | 42 | fan1_min		rw	" | 
|  | 43 | fan1_max		rw	" | 
|  | 44 | fan1_fault	 	ro	" | 
|  | 45 | fan1_div		rw	Fan divisor can be either 2 or 4. | 
|  | 46 |  | 
|  | 47 | pwm1			rw	pwm1 | 
|  | 48 | pwm1_enable		rw	regulator mode, 1=open loop, 2=fan controlled | 
|  | 49 | by remote temperature, 3=fan controlled by | 
|  | 50 | combination of the on-chip temperature and | 
|  | 51 | remote-sensor temperature, | 
|  | 52 | pwm1_auto_channels_temp ro	1 if pwm_enable==2, 3 if pwm_enable==3 | 
|  | 53 | pwm1_auto_point1_pwm	ro	Hardwired to 0, shared for both | 
|  | 54 | temperature channels. | 
|  | 55 | pwm1_auto_point2_pwm	rw	This value is shared for both temperature | 
|  | 56 | channels. | 
|  | 57 | pwm1_auto_point3_pwm	rw	Hardwired to 255, shared for both | 
|  | 58 | temperature channels. | 
|  | 59 |  | 
|  | 60 | temp1_auto_point1_temp	ro	Hardwired to temp2_auto_point1_temp | 
|  | 61 | which is rw. Below this temperature fan stops. | 
|  | 62 | temp1_auto_point2_temp	rw	The low-temperature limit of the proportional | 
|  | 63 | range. Below this temperature | 
|  | 64 | pwm1 = pwm1_auto_point2_pwm. It can go from | 
|  | 65 | 0 degree C to 124 degree C in steps of | 
|  | 66 | 4 degree C. Read it out after writing to get | 
|  | 67 | the actual value. | 
|  | 68 | temp1_auto_point3_temp	rw	Above this temperature fan runs at maximum | 
|  | 69 | speed. It can go from temp1_auto_point2_temp. | 
|  | 70 | It can only have certain discrete values | 
|  | 71 | which depend on temp1_auto_point2_temp and | 
|  | 72 | pwm1_auto_point2_pwm. Read it out after | 
|  | 73 | writing to get the actual value. | 
|  | 74 |  | 
|  | 75 | temp2_auto_point1_temp	rw	Must be between 0 degree C and 63 degree C and | 
|  | 76 | it defines the passive cooling temperature. | 
|  | 77 | Below this temperature the fan stops in | 
|  | 78 | the closed loop mode. | 
|  | 79 | temp2_auto_point2_temp	rw	The low-temperature limit of the proportional | 
|  | 80 | range. Below this temperature | 
|  | 81 | pwm1 = pwm1_auto_point2_pwm. It can go from | 
|  | 82 | 0 degree C to 124 degree C in steps | 
|  | 83 | of 4 degree C. | 
|  | 84 |  | 
|  | 85 | temp2_auto_point3_temp	rw	Above this temperature fan runs at maximum | 
|  | 86 | speed. It can only have certain discrete | 
|  | 87 | values which depend on temp2_auto_point2_temp | 
|  | 88 | and pwm1_auto_point2_pwm. Read it out after | 
|  | 89 | writing to get actual value. | 
|  | 90 |  | 
|  | 91 |  | 
|  | 92 | Module parameters | 
|  | 93 | ----------------- | 
|  | 94 |  | 
|  | 95 | If your board has a BIOS that initializes the amc6821 correctly, you should | 
|  | 96 | load the module with: init=0. | 
|  | 97 |  | 
|  | 98 | If your board BIOS doesn't initialize the chip, or you want | 
|  | 99 | different settings, you can set the following parameters: | 
|  | 100 | init=1, | 
|  | 101 | pwminv: 0 default pwm output, 1 inverts pwm output. | 
|  | 102 |  |