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