xref: /openbmc/linux/Documentation/hwmon/amc6821.rst (revision c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2)
1*7ebd8b66SMauro Carvalho ChehabKernel driver amc6821
2*7ebd8b66SMauro Carvalho Chehab=====================
3*7ebd8b66SMauro Carvalho Chehab
4*7ebd8b66SMauro Carvalho ChehabSupported chips:
5*7ebd8b66SMauro Carvalho Chehab
6*7ebd8b66SMauro Carvalho Chehab	Texas Instruments AMC6821
7*7ebd8b66SMauro Carvalho Chehab
8*7ebd8b66SMauro Carvalho Chehab	Prefix: 'amc6821'
9*7ebd8b66SMauro Carvalho Chehab
10*7ebd8b66SMauro Carvalho Chehab	Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
11*7ebd8b66SMauro Carvalho Chehab
12*7ebd8b66SMauro Carvalho Chehab	Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
13*7ebd8b66SMauro Carvalho Chehab
14*7ebd8b66SMauro Carvalho ChehabAuthors:
15*7ebd8b66SMauro Carvalho Chehab	Tomaz Mertelj <tomaz.mertelj@guest.arnes.si>
16*7ebd8b66SMauro Carvalho Chehab
17*7ebd8b66SMauro Carvalho Chehab
18*7ebd8b66SMauro Carvalho ChehabDescription
19*7ebd8b66SMauro Carvalho Chehab-----------
20*7ebd8b66SMauro Carvalho Chehab
21*7ebd8b66SMauro Carvalho ChehabThis driver implements support for the Texas Instruments amc6821 chip.
22*7ebd8b66SMauro Carvalho ChehabThe chip has one on-chip and one remote temperature sensor and one pwm fan
23*7ebd8b66SMauro Carvalho Chehabregulator.
24*7ebd8b66SMauro Carvalho ChehabThe pwm can be controlled either from software or automatically.
25*7ebd8b66SMauro Carvalho Chehab
26*7ebd8b66SMauro Carvalho ChehabThe driver provides the following sensor accesses in sysfs:
27*7ebd8b66SMauro Carvalho Chehab
28*7ebd8b66SMauro Carvalho Chehab======================= ==      ===============================================
29*7ebd8b66SMauro Carvalho Chehabtemp1_input		ro	on-chip temperature
30*7ebd8b66SMauro Carvalho Chehabtemp1_min		rw	"
31*7ebd8b66SMauro Carvalho Chehabtemp1_max		rw	"
32*7ebd8b66SMauro Carvalho Chehabtemp1_crit		rw	"
33*7ebd8b66SMauro Carvalho Chehabtemp1_min_alarm		ro	"
34*7ebd8b66SMauro Carvalho Chehabtemp1_max_alarm		ro	"
35*7ebd8b66SMauro Carvalho Chehabtemp1_crit_alarm	ro	"
36*7ebd8b66SMauro Carvalho Chehab
37*7ebd8b66SMauro Carvalho Chehabtemp2_input		ro	remote temperature
38*7ebd8b66SMauro Carvalho Chehabtemp2_min		rw	"
39*7ebd8b66SMauro Carvalho Chehabtemp2_max		rw	"
40*7ebd8b66SMauro Carvalho Chehabtemp2_crit		rw	"
41*7ebd8b66SMauro Carvalho Chehabtemp2_min_alarm		ro	"
42*7ebd8b66SMauro Carvalho Chehabtemp2_max_alarm		ro	"
43*7ebd8b66SMauro Carvalho Chehabtemp2_crit_alarm	ro	"
44*7ebd8b66SMauro Carvalho Chehabtemp2_fault		ro	"
45*7ebd8b66SMauro Carvalho Chehab
46*7ebd8b66SMauro Carvalho Chehabfan1_input		ro	tachometer speed
47*7ebd8b66SMauro Carvalho Chehabfan1_min		rw	"
48*7ebd8b66SMauro Carvalho Chehabfan1_max		rw	"
49*7ebd8b66SMauro Carvalho Chehabfan1_fault		ro	"
50*7ebd8b66SMauro Carvalho Chehabfan1_div		rw	Fan divisor can be either 2 or 4.
51*7ebd8b66SMauro Carvalho Chehab
52*7ebd8b66SMauro Carvalho Chehabpwm1			rw	pwm1
53*7ebd8b66SMauro Carvalho Chehabpwm1_enable		rw	regulator mode, 1=open loop, 2=fan controlled
54*7ebd8b66SMauro Carvalho Chehab				by remote temperature, 3=fan controlled by
55*7ebd8b66SMauro Carvalho Chehab				combination of the on-chip temperature and
56*7ebd8b66SMauro Carvalho Chehab				remote-sensor temperature,
57*7ebd8b66SMauro Carvalho Chehabpwm1_auto_channels_temp ro	1 if pwm_enable==2, 3 if pwm_enable==3
58*7ebd8b66SMauro Carvalho Chehabpwm1_auto_point1_pwm	ro	Hardwired to 0, shared for both
59*7ebd8b66SMauro Carvalho Chehab				temperature channels.
60*7ebd8b66SMauro Carvalho Chehabpwm1_auto_point2_pwm	rw	This value is shared for both temperature
61*7ebd8b66SMauro Carvalho Chehab				channels.
62*7ebd8b66SMauro Carvalho Chehabpwm1_auto_point3_pwm	rw	Hardwired to 255, shared for both
63*7ebd8b66SMauro Carvalho Chehab				temperature channels.
64*7ebd8b66SMauro Carvalho Chehab
65*7ebd8b66SMauro Carvalho Chehabtemp1_auto_point1_temp	ro	Hardwired to temp2_auto_point1_temp
66*7ebd8b66SMauro Carvalho Chehab				which is rw. Below this temperature fan stops.
67*7ebd8b66SMauro Carvalho Chehabtemp1_auto_point2_temp	rw	The low-temperature limit of the proportional
68*7ebd8b66SMauro Carvalho Chehab				range. Below this temperature
69*7ebd8b66SMauro Carvalho Chehab				pwm1 = pwm1_auto_point2_pwm. It can go from
70*7ebd8b66SMauro Carvalho Chehab				0 degree C to 124 degree C in steps of
71*7ebd8b66SMauro Carvalho Chehab				4 degree C. Read it out after writing to get
72*7ebd8b66SMauro Carvalho Chehab				the actual value.
73*7ebd8b66SMauro Carvalho Chehabtemp1_auto_point3_temp	rw	Above this temperature fan runs at maximum
74*7ebd8b66SMauro Carvalho Chehab				speed. It can go from temp1_auto_point2_temp.
75*7ebd8b66SMauro Carvalho Chehab				It can only have certain discrete values
76*7ebd8b66SMauro Carvalho Chehab				which depend on temp1_auto_point2_temp and
77*7ebd8b66SMauro Carvalho Chehab				pwm1_auto_point2_pwm. Read it out after
78*7ebd8b66SMauro Carvalho Chehab				writing to get the actual value.
79*7ebd8b66SMauro Carvalho Chehab
80*7ebd8b66SMauro Carvalho Chehabtemp2_auto_point1_temp	rw	Must be between 0 degree C and 63 degree C and
81*7ebd8b66SMauro Carvalho Chehab				it defines the passive cooling temperature.
82*7ebd8b66SMauro Carvalho Chehab				Below this temperature the fan stops in
83*7ebd8b66SMauro Carvalho Chehab				the closed loop mode.
84*7ebd8b66SMauro Carvalho Chehabtemp2_auto_point2_temp	rw	The low-temperature limit of the proportional
85*7ebd8b66SMauro Carvalho Chehab				range. Below this temperature
86*7ebd8b66SMauro Carvalho Chehab				pwm1 = pwm1_auto_point2_pwm. It can go from
87*7ebd8b66SMauro Carvalho Chehab				0 degree C to 124 degree C in steps
88*7ebd8b66SMauro Carvalho Chehab				of 4 degree C.
89*7ebd8b66SMauro Carvalho Chehab
90*7ebd8b66SMauro Carvalho Chehabtemp2_auto_point3_temp	rw	Above this temperature fan runs at maximum
91*7ebd8b66SMauro Carvalho Chehab				speed. It can only have certain discrete
92*7ebd8b66SMauro Carvalho Chehab				values which depend on temp2_auto_point2_temp
93*7ebd8b66SMauro Carvalho Chehab				and pwm1_auto_point2_pwm. Read it out after
94*7ebd8b66SMauro Carvalho Chehab				writing to get actual value.
95*7ebd8b66SMauro Carvalho Chehab======================= ==      ===============================================
96*7ebd8b66SMauro Carvalho Chehab
97*7ebd8b66SMauro Carvalho Chehab
98*7ebd8b66SMauro Carvalho ChehabModule parameters
99*7ebd8b66SMauro Carvalho Chehab-----------------
100*7ebd8b66SMauro Carvalho Chehab
101*7ebd8b66SMauro Carvalho ChehabIf your board has a BIOS that initializes the amc6821 correctly, you should
102*7ebd8b66SMauro Carvalho Chehabload the module with: init=0.
103*7ebd8b66SMauro Carvalho Chehab
104*7ebd8b66SMauro Carvalho ChehabIf your board BIOS doesn't initialize the chip, or you want
105*7ebd8b66SMauro Carvalho Chehabdifferent settings, you can set the following parameters:
106*7ebd8b66SMauro Carvalho Chehab
107*7ebd8b66SMauro Carvalho Chehab- init=1,
108*7ebd8b66SMauro Carvalho Chehab- pwminv: 0 default pwm output, 1 inverts pwm output.
109