xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/amc6821.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver amc6821
2*4882a593Smuzhiyun=====================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun	Texas Instruments AMC6821
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun	Prefix: 'amc6821'
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun	Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunAuthors:
15*4882a593Smuzhiyun	Tomaz Mertelj <tomaz.mertelj@guest.arnes.si>
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunDescription
19*4882a593Smuzhiyun-----------
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunThis driver implements support for the Texas Instruments amc6821 chip.
22*4882a593SmuzhiyunThe chip has one on-chip and one remote temperature sensor and one pwm fan
23*4882a593Smuzhiyunregulator.
24*4882a593SmuzhiyunThe pwm can be controlled either from software or automatically.
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunThe driver provides the following sensor accesses in sysfs:
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun======================= ==      ===============================================
29*4882a593Smuzhiyuntemp1_input		ro	on-chip temperature
30*4882a593Smuzhiyuntemp1_min		rw	"
31*4882a593Smuzhiyuntemp1_max		rw	"
32*4882a593Smuzhiyuntemp1_crit		rw	"
33*4882a593Smuzhiyuntemp1_min_alarm		ro	"
34*4882a593Smuzhiyuntemp1_max_alarm		ro	"
35*4882a593Smuzhiyuntemp1_crit_alarm	ro	"
36*4882a593Smuzhiyun
37*4882a593Smuzhiyuntemp2_input		ro	remote temperature
38*4882a593Smuzhiyuntemp2_min		rw	"
39*4882a593Smuzhiyuntemp2_max		rw	"
40*4882a593Smuzhiyuntemp2_crit		rw	"
41*4882a593Smuzhiyuntemp2_min_alarm		ro	"
42*4882a593Smuzhiyuntemp2_max_alarm		ro	"
43*4882a593Smuzhiyuntemp2_crit_alarm	ro	"
44*4882a593Smuzhiyuntemp2_fault		ro	"
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunfan1_input		ro	tachometer speed
47*4882a593Smuzhiyunfan1_min		rw	"
48*4882a593Smuzhiyunfan1_max		rw	"
49*4882a593Smuzhiyunfan1_fault		ro	"
50*4882a593Smuzhiyunfan1_div		rw	Fan divisor can be either 2 or 4.
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunpwm1			rw	pwm1
53*4882a593Smuzhiyunpwm1_enable		rw	regulator mode, 1=open loop, 2=fan controlled
54*4882a593Smuzhiyun				by remote temperature, 3=fan controlled by
55*4882a593Smuzhiyun				combination of the on-chip temperature and
56*4882a593Smuzhiyun				remote-sensor temperature,
57*4882a593Smuzhiyunpwm1_auto_channels_temp ro	1 if pwm_enable==2, 3 if pwm_enable==3
58*4882a593Smuzhiyunpwm1_auto_point1_pwm	ro	Hardwired to 0, shared for both
59*4882a593Smuzhiyun				temperature channels.
60*4882a593Smuzhiyunpwm1_auto_point2_pwm	rw	This value is shared for both temperature
61*4882a593Smuzhiyun				channels.
62*4882a593Smuzhiyunpwm1_auto_point3_pwm	rw	Hardwired to 255, shared for both
63*4882a593Smuzhiyun				temperature channels.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyuntemp1_auto_point1_temp	ro	Hardwired to temp2_auto_point1_temp
66*4882a593Smuzhiyun				which is rw. Below this temperature fan stops.
67*4882a593Smuzhiyuntemp1_auto_point2_temp	rw	The low-temperature limit of the proportional
68*4882a593Smuzhiyun				range. Below this temperature
69*4882a593Smuzhiyun				pwm1 = pwm1_auto_point2_pwm. It can go from
70*4882a593Smuzhiyun				0 degree C to 124 degree C in steps of
71*4882a593Smuzhiyun				4 degree C. Read it out after writing to get
72*4882a593Smuzhiyun				the actual value.
73*4882a593Smuzhiyuntemp1_auto_point3_temp	rw	Above this temperature fan runs at maximum
74*4882a593Smuzhiyun				speed. It can go from temp1_auto_point2_temp.
75*4882a593Smuzhiyun				It can only have certain discrete values
76*4882a593Smuzhiyun				which depend on temp1_auto_point2_temp and
77*4882a593Smuzhiyun				pwm1_auto_point2_pwm. Read it out after
78*4882a593Smuzhiyun				writing to get the actual value.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyuntemp2_auto_point1_temp	rw	Must be between 0 degree C and 63 degree C and
81*4882a593Smuzhiyun				it defines the passive cooling temperature.
82*4882a593Smuzhiyun				Below this temperature the fan stops in
83*4882a593Smuzhiyun				the closed loop mode.
84*4882a593Smuzhiyuntemp2_auto_point2_temp	rw	The low-temperature limit of the proportional
85*4882a593Smuzhiyun				range. Below this temperature
86*4882a593Smuzhiyun				pwm1 = pwm1_auto_point2_pwm. It can go from
87*4882a593Smuzhiyun				0 degree C to 124 degree C in steps
88*4882a593Smuzhiyun				of 4 degree C.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyuntemp2_auto_point3_temp	rw	Above this temperature fan runs at maximum
91*4882a593Smuzhiyun				speed. It can only have certain discrete
92*4882a593Smuzhiyun				values which depend on temp2_auto_point2_temp
93*4882a593Smuzhiyun				and pwm1_auto_point2_pwm. Read it out after
94*4882a593Smuzhiyun				writing to get actual value.
95*4882a593Smuzhiyun======================= ==      ===============================================
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun
98*4882a593SmuzhiyunModule parameters
99*4882a593Smuzhiyun-----------------
100*4882a593Smuzhiyun
101*4882a593SmuzhiyunIf your board has a BIOS that initializes the amc6821 correctly, you should
102*4882a593Smuzhiyunload the module with: init=0.
103*4882a593Smuzhiyun
104*4882a593SmuzhiyunIf your board BIOS doesn't initialize the chip, or you want
105*4882a593Smuzhiyundifferent settings, you can set the following parameters:
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun- init=1,
108*4882a593Smuzhiyun- pwminv: 0 default pwm output, 1 inverts pwm output.
109