hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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.