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