xref: /linux/Documentation/hwmon/dme1737.rst (revision c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2)
1*7ebd8b66SMauro Carvalho ChehabKernel driver dme1737
2*7ebd8b66SMauro Carvalho Chehab=====================
3*7ebd8b66SMauro Carvalho Chehab
4*7ebd8b66SMauro Carvalho ChehabSupported chips:
5*7ebd8b66SMauro Carvalho Chehab
6*7ebd8b66SMauro Carvalho Chehab  * SMSC DME1737 and compatibles (like Asus A8000)
7*7ebd8b66SMauro Carvalho Chehab
8*7ebd8b66SMauro Carvalho Chehab    Prefix: 'dme1737'
9*7ebd8b66SMauro Carvalho Chehab
10*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
11*7ebd8b66SMauro Carvalho Chehab
12*7ebd8b66SMauro Carvalho Chehab    Datasheet: Provided by SMSC upon request and under NDA
13*7ebd8b66SMauro Carvalho Chehab
14*7ebd8b66SMauro Carvalho Chehab  * SMSC SCH3112, SCH3114, SCH3116
15*7ebd8b66SMauro Carvalho Chehab
16*7ebd8b66SMauro Carvalho Chehab    Prefix: 'sch311x'
17*7ebd8b66SMauro Carvalho Chehab
18*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: none, address read from Super-I/O config space
19*7ebd8b66SMauro Carvalho Chehab
20*7ebd8b66SMauro Carvalho Chehab    Datasheet: Available on the Internet
21*7ebd8b66SMauro Carvalho Chehab
22*7ebd8b66SMauro Carvalho Chehab  * SMSC SCH5027
23*7ebd8b66SMauro Carvalho Chehab
24*7ebd8b66SMauro Carvalho Chehab    Prefix: 'sch5027'
25*7ebd8b66SMauro Carvalho Chehab
26*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
27*7ebd8b66SMauro Carvalho Chehab
28*7ebd8b66SMauro Carvalho Chehab    Datasheet: Provided by SMSC upon request and under NDA
29*7ebd8b66SMauro Carvalho Chehab
30*7ebd8b66SMauro Carvalho Chehab  * SMSC SCH5127
31*7ebd8b66SMauro Carvalho Chehab
32*7ebd8b66SMauro Carvalho Chehab    Prefix: 'sch5127'
33*7ebd8b66SMauro Carvalho Chehab
34*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: none, address read from Super-I/O config space
35*7ebd8b66SMauro Carvalho Chehab
36*7ebd8b66SMauro Carvalho Chehab    Datasheet: Provided by SMSC upon request and under NDA
37*7ebd8b66SMauro Carvalho Chehab
38*7ebd8b66SMauro Carvalho ChehabAuthors:
39*7ebd8b66SMauro Carvalho Chehab    Juerg Haefliger <juergh@gmail.com>
40*7ebd8b66SMauro Carvalho Chehab
41*7ebd8b66SMauro Carvalho Chehab
42*7ebd8b66SMauro Carvalho ChehabModule Parameters
43*7ebd8b66SMauro Carvalho Chehab-----------------
44*7ebd8b66SMauro Carvalho Chehab
45*7ebd8b66SMauro Carvalho Chehab* force_start: bool
46*7ebd8b66SMauro Carvalho Chehab			Enables the monitoring of voltage, fan and temp inputs
47*7ebd8b66SMauro Carvalho Chehab			and PWM output control functions. Using this parameter
48*7ebd8b66SMauro Carvalho Chehab			shouldn't be required since the BIOS usually takes care
49*7ebd8b66SMauro Carvalho Chehab			of this.
50*7ebd8b66SMauro Carvalho Chehab
51*7ebd8b66SMauro Carvalho Chehab* probe_all_addr: bool
52*7ebd8b66SMauro Carvalho Chehab			Include non-standard LPC addresses 0x162e and 0x164e
53*7ebd8b66SMauro Carvalho Chehab			when probing for ISA devices. This is required for the
54*7ebd8b66SMauro Carvalho Chehab			following boards:
55*7ebd8b66SMauro Carvalho Chehab			- VIA EPIA SN18000
56*7ebd8b66SMauro Carvalho Chehab
57*7ebd8b66SMauro Carvalho Chehab
58*7ebd8b66SMauro Carvalho ChehabDescription
59*7ebd8b66SMauro Carvalho Chehab-----------
60*7ebd8b66SMauro Carvalho Chehab
61*7ebd8b66SMauro Carvalho ChehabThis driver implements support for the hardware monitoring capabilities of the
62*7ebd8b66SMauro Carvalho ChehabSMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x,
63*7ebd8b66SMauro Carvalho Chehaband SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors
64*7ebd8b66SMauro Carvalho Chehabtemp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and
65*7ebd8b66SMauro Carvalho Chehab1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement
66*7ebd8b66SMauro Carvalho Chehabup to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
67*7ebd8b66SMauro Carvalho Chehabautomatically.
68*7ebd8b66SMauro Carvalho Chehab
69*7ebd8b66SMauro Carvalho ChehabFor the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present.
70*7ebd8b66SMauro Carvalho ChehabFan[3-6] and pwm[3,5-6] are optional features and their availability depends on
71*7ebd8b66SMauro Carvalho Chehabthe configuration of the chip. The driver will detect which features are
72*7ebd8b66SMauro Carvalho Chehabpresent during initialization and create the sysfs attributes accordingly.
73*7ebd8b66SMauro Carvalho Chehab
74*7ebd8b66SMauro Carvalho ChehabFor the SCH311x and SCH5127, fan[1-3] and pwm[1-3] are always present and
75*7ebd8b66SMauro Carvalho Chehabfan[4-6] and pwm[5-6] don't exist.
76*7ebd8b66SMauro Carvalho Chehab
77*7ebd8b66SMauro Carvalho ChehabThe hardware monitoring features of the DME1737, A8000, and SCH5027 are only
78*7ebd8b66SMauro Carvalho Chehabaccessible via SMBus, while the SCH311x and SCH5127 only provide access via
79*7ebd8b66SMauro Carvalho Chehabthe ISA bus. The driver will therefore register itself as an I2C client driver
80*7ebd8b66SMauro Carvalho Chehabif it detects a DME1737, A8000, or SCH5027 and as a platform driver if it
81*7ebd8b66SMauro Carvalho Chehabdetects a SCH311x or SCH5127 chip.
82*7ebd8b66SMauro Carvalho Chehab
83*7ebd8b66SMauro Carvalho Chehab
84*7ebd8b66SMauro Carvalho ChehabVoltage Monitoring
85*7ebd8b66SMauro Carvalho Chehab------------------
86*7ebd8b66SMauro Carvalho Chehab
87*7ebd8b66SMauro Carvalho ChehabThe voltage inputs are sampled with 12-bit resolution and have internal
88*7ebd8b66SMauro Carvalho Chehabscaling resistors. The values returned by the driver therefore reflect true
89*7ebd8b66SMauro Carvalho Chehabmillivolts and don't need scaling. The voltage inputs are mapped as follows
90*7ebd8b66SMauro Carvalho Chehab(the last column indicates the input ranges):
91*7ebd8b66SMauro Carvalho Chehab
92*7ebd8b66SMauro Carvalho ChehabDME1737, A8000::
93*7ebd8b66SMauro Carvalho Chehab
94*7ebd8b66SMauro Carvalho Chehab	in0: +5VTR	(+5V standby)		0V - 6.64V
95*7ebd8b66SMauro Carvalho Chehab	in1: Vccp	(processor core)	0V - 3V
96*7ebd8b66SMauro Carvalho Chehab	in2: VCC	(internal +3.3V)	0V - 4.38V
97*7ebd8b66SMauro Carvalho Chehab	in3: +5V				0V - 6.64V
98*7ebd8b66SMauro Carvalho Chehab	in4: +12V				0V - 16V
99*7ebd8b66SMauro Carvalho Chehab	in5: VTR	(+3.3V standby)		0V - 4.38V
100*7ebd8b66SMauro Carvalho Chehab	in6: Vbat	(+3.0V)			0V - 4.38V
101*7ebd8b66SMauro Carvalho Chehab
102*7ebd8b66SMauro Carvalho ChehabSCH311x::
103*7ebd8b66SMauro Carvalho Chehab
104*7ebd8b66SMauro Carvalho Chehab	in0: +2.5V				0V - 3.32V
105*7ebd8b66SMauro Carvalho Chehab	in1: Vccp	(processor core)	0V - 2V
106*7ebd8b66SMauro Carvalho Chehab	in2: VCC	(internal +3.3V)	0V - 4.38V
107*7ebd8b66SMauro Carvalho Chehab	in3: +5V				0V - 6.64V
108*7ebd8b66SMauro Carvalho Chehab	in4: +12V				0V - 16V
109*7ebd8b66SMauro Carvalho Chehab	in5: VTR	(+3.3V standby)		0V - 4.38V
110*7ebd8b66SMauro Carvalho Chehab	in6: Vbat	(+3.0V)			0V - 4.38V
111*7ebd8b66SMauro Carvalho Chehab
112*7ebd8b66SMauro Carvalho ChehabSCH5027::
113*7ebd8b66SMauro Carvalho Chehab
114*7ebd8b66SMauro Carvalho Chehab	in0: +5VTR	(+5V standby)		0V - 6.64V
115*7ebd8b66SMauro Carvalho Chehab	in1: Vccp	(processor core)	0V - 3V
116*7ebd8b66SMauro Carvalho Chehab	in2: VCC	(internal +3.3V)	0V - 4.38V
117*7ebd8b66SMauro Carvalho Chehab	in3: V2_IN				0V - 1.5V
118*7ebd8b66SMauro Carvalho Chehab	in4: V1_IN				0V - 1.5V
119*7ebd8b66SMauro Carvalho Chehab	in5: VTR	(+3.3V standby)		0V - 4.38V
120*7ebd8b66SMauro Carvalho Chehab	in6: Vbat	(+3.0V)			0V - 4.38V
121*7ebd8b66SMauro Carvalho Chehab
122*7ebd8b66SMauro Carvalho ChehabSCH5127::
123*7ebd8b66SMauro Carvalho Chehab
124*7ebd8b66SMauro Carvalho Chehab	in0: +2.5				0V - 3.32V
125*7ebd8b66SMauro Carvalho Chehab	in1: Vccp	(processor core)	0V - 3V
126*7ebd8b66SMauro Carvalho Chehab	in2: VCC	(internal +3.3V)	0V - 4.38V
127*7ebd8b66SMauro Carvalho Chehab	in3: V2_IN				0V - 1.5V
128*7ebd8b66SMauro Carvalho Chehab	in4: V1_IN				0V - 1.5V
129*7ebd8b66SMauro Carvalho Chehab	in5: VTR	(+3.3V standby)		0V - 4.38V
130*7ebd8b66SMauro Carvalho Chehab	in6: Vbat	(+3.0V)			0V - 4.38V
131*7ebd8b66SMauro Carvalho Chehab	in7: Vtrip	(+1.5V)			0V - 1.99V
132*7ebd8b66SMauro Carvalho Chehab
133*7ebd8b66SMauro Carvalho ChehabEach voltage input has associated min and max limits which trigger an alarm
134*7ebd8b66SMauro Carvalho Chehabwhen crossed.
135*7ebd8b66SMauro Carvalho Chehab
136*7ebd8b66SMauro Carvalho Chehab
137*7ebd8b66SMauro Carvalho ChehabTemperature Monitoring
138*7ebd8b66SMauro Carvalho Chehab----------------------
139*7ebd8b66SMauro Carvalho Chehab
140*7ebd8b66SMauro Carvalho ChehabTemperatures are measured with 12-bit resolution and reported in millidegree
141*7ebd8b66SMauro Carvalho ChehabCelsius. The chip also features offsets for all 3 temperature inputs which -
142*7ebd8b66SMauro Carvalho Chehabwhen programmed - get added to the input readings. The chip does all the
143*7ebd8b66SMauro Carvalho Chehabscaling by itself and the driver therefore reports true temperatures that don't
144*7ebd8b66SMauro Carvalho Chehabneed any user-space adjustments. The temperature inputs are mapped as follows
145*7ebd8b66SMauro Carvalho Chehab(the last column indicates the input ranges)::
146*7ebd8b66SMauro Carvalho Chehab
147*7ebd8b66SMauro Carvalho Chehab	temp1: Remote diode 1 (3904 type) temperature	-127C - +127C
148*7ebd8b66SMauro Carvalho Chehab	temp2: DME1737 internal temperature		-127C - +127C
149*7ebd8b66SMauro Carvalho Chehab	temp3: Remote diode 2 (3904 type) temperature	-127C - +127C
150*7ebd8b66SMauro Carvalho Chehab
151*7ebd8b66SMauro Carvalho ChehabEach temperature input has associated min and max limits which trigger an alarm
152*7ebd8b66SMauro Carvalho Chehabwhen crossed. Additionally, each temperature input has a fault attribute that
153*7ebd8b66SMauro Carvalho Chehabreturns 1 when a faulty diode or an unconnected input is detected and 0
154*7ebd8b66SMauro Carvalho Chehabotherwise.
155*7ebd8b66SMauro Carvalho Chehab
156*7ebd8b66SMauro Carvalho Chehab
157*7ebd8b66SMauro Carvalho ChehabFan Monitoring
158*7ebd8b66SMauro Carvalho Chehab--------------
159*7ebd8b66SMauro Carvalho Chehab
160*7ebd8b66SMauro Carvalho ChehabFan RPMs are measured with 16-bit resolution. The chip provides inputs for 6
161*7ebd8b66SMauro Carvalho Chehabfan tachometers. All 6 inputs have an associated min limit which triggers an
162*7ebd8b66SMauro Carvalho Chehabalarm when crossed. Fan inputs 1-4 provide type attributes that need to be set
163*7ebd8b66SMauro Carvalho Chehabto the number of pulses per fan revolution that the connected tachometer
164*7ebd8b66SMauro Carvalho Chehabgenerates. Supported values are 1, 2, and 4. Fan inputs 5-6 only support fans
165*7ebd8b66SMauro Carvalho Chehabthat generate 2 pulses per revolution. Fan inputs 5-6 also provide a max
166*7ebd8b66SMauro Carvalho Chehabattribute that needs to be set to the maximum attainable RPM (fan at 100% duty-
167*7ebd8b66SMauro Carvalho Chehabcycle) of the input. The chip adjusts the sampling rate based on this value.
168*7ebd8b66SMauro Carvalho Chehab
169*7ebd8b66SMauro Carvalho Chehab
170*7ebd8b66SMauro Carvalho ChehabPWM Output Control
171*7ebd8b66SMauro Carvalho Chehab------------------
172*7ebd8b66SMauro Carvalho Chehab
173*7ebd8b66SMauro Carvalho ChehabThis chip features 5 PWM outputs. PWM outputs 1-3 are associated with fan
174*7ebd8b66SMauro Carvalho Chehabinputs 1-3 and PWM outputs 5-6 are associated with fan inputs 5-6. PWM outputs
175*7ebd8b66SMauro Carvalho Chehab1-3 can be configured to operate either in manual or automatic mode by setting
176*7ebd8b66SMauro Carvalho Chehabthe appropriate enable attribute accordingly. PWM outputs 5-6 can only operate
177*7ebd8b66SMauro Carvalho Chehabin manual mode, their enable attributes are therefore read-only. When set to
178*7ebd8b66SMauro Carvalho Chehabmanual mode, the fan speed is set by writing the duty-cycle value to the
179*7ebd8b66SMauro Carvalho Chehabappropriate PWM attribute. In automatic mode, the PWM attribute returns the
180*7ebd8b66SMauro Carvalho Chehabcurrent duty-cycle as set by the fan controller in the chip. All PWM outputs
181*7ebd8b66SMauro Carvalho Chehabsupport the setting of the output frequency via the freq attribute.
182*7ebd8b66SMauro Carvalho Chehab
183*7ebd8b66SMauro Carvalho ChehabIn automatic mode, the chip supports the setting of the PWM ramp rate which
184*7ebd8b66SMauro Carvalho Chehabdefines how fast the PWM output is adjusting to changes of the associated
185*7ebd8b66SMauro Carvalho Chehabtemperature input. Associating PWM outputs to temperature inputs is done via
186*7ebd8b66SMauro Carvalho Chehabtemperature zones. The chip features 3 zones whose assignments to temperature
187*7ebd8b66SMauro Carvalho Chehabinputs is static and determined during initialization. These assignments can
188*7ebd8b66SMauro Carvalho Chehabbe retrieved via the zone[1-3]_auto_channels_temp attributes. Each PWM output
189*7ebd8b66SMauro Carvalho Chehabis assigned to one (or hottest of multiple) temperature zone(s) through the
190*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_channels_zone attributes. Each PWM output has 3 distinct output
191*7ebd8b66SMauro Carvalho Chehabduty-cycles: full, low, and min. Full is internally hard-wired to 255 (100%)
192*7ebd8b66SMauro Carvalho Chehaband low and min can be programmed via pwm[1-3]_auto_point1_pwm and
193*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_pwm_min, respectively. The thermal thresholds of the zones are
194*7ebd8b66SMauro Carvalho Chehabprogrammed via zone[1-3]_auto_point[1-3]_temp and
195*7ebd8b66SMauro Carvalho Chehabzone[1-3]_auto_point1_temp_hyst:
196*7ebd8b66SMauro Carvalho Chehab
197*7ebd8b66SMauro Carvalho Chehab	=============================== =======================================
198*7ebd8b66SMauro Carvalho Chehab	pwm[1-3]_auto_point2_pwm	full-speed duty-cycle (255, i.e., 100%)
199*7ebd8b66SMauro Carvalho Chehab	pwm[1-3]_auto_point1_pwm	low-speed duty-cycle
200*7ebd8b66SMauro Carvalho Chehab	pwm[1-3]_auto_pwm_min		min-speed duty-cycle
201*7ebd8b66SMauro Carvalho Chehab
202*7ebd8b66SMauro Carvalho Chehab	zone[1-3]_auto_point3_temp	full-speed temp (all outputs)
203*7ebd8b66SMauro Carvalho Chehab	zone[1-3]_auto_point2_temp	full-speed temp
204*7ebd8b66SMauro Carvalho Chehab	zone[1-3]_auto_point1_temp	low-speed temp
205*7ebd8b66SMauro Carvalho Chehab	zone[1-3]_auto_point1_temp_hyst	min-speed temp
206*7ebd8b66SMauro Carvalho Chehab	=============================== =======================================
207*7ebd8b66SMauro Carvalho Chehab
208*7ebd8b66SMauro Carvalho ChehabThe chip adjusts the output duty-cycle linearly in the range of auto_point1_pwm
209*7ebd8b66SMauro Carvalho Chehabto auto_point2_pwm if the temperature of the associated zone is between
210*7ebd8b66SMauro Carvalho Chehabauto_point1_temp and auto_point2_temp. If the temperature drops below the
211*7ebd8b66SMauro Carvalho Chehabauto_point1_temp_hyst value, the output duty-cycle is set to the auto_pwm_min
212*7ebd8b66SMauro Carvalho Chehabvalue which only supports two values: 0 or auto_point1_pwm. That means that the
213*7ebd8b66SMauro Carvalho Chehabfan either turns completely off or keeps spinning with the low-speed
214*7ebd8b66SMauro Carvalho Chehabduty-cycle. If any of the temperatures rise above the auto_point3_temp value,
215*7ebd8b66SMauro Carvalho Chehaball PWM outputs are set to 100% duty-cycle.
216*7ebd8b66SMauro Carvalho Chehab
217*7ebd8b66SMauro Carvalho ChehabFollowing is another representation of how the chip sets the output duty-cycle
218*7ebd8b66SMauro Carvalho Chehabbased on the temperature of the associated thermal zone:
219*7ebd8b66SMauro Carvalho Chehab
220*7ebd8b66SMauro Carvalho Chehab	=============== =============== =================
221*7ebd8b66SMauro Carvalho Chehab	Temperature	Duty-Cycle	Duty-Cycle
222*7ebd8b66SMauro Carvalho Chehab			Rising Temp	Falling Temp
223*7ebd8b66SMauro Carvalho Chehab	=============== =============== =================
224*7ebd8b66SMauro Carvalho Chehab	full-speed	full-speed	full-speed
225*7ebd8b66SMauro Carvalho Chehab
226*7ebd8b66SMauro Carvalho Chehab	-		< linearly	-
227*7ebd8b66SMauro Carvalho Chehab			adjusted
228*7ebd8b66SMauro Carvalho Chehab			duty-cycle >
229*7ebd8b66SMauro Carvalho Chehab
230*7ebd8b66SMauro Carvalho Chehab	low-speed	low-speed	low-speed
231*7ebd8b66SMauro Carvalho Chehab	-		min-speed	low-speed
232*7ebd8b66SMauro Carvalho Chehab	min-speed	min-speed	min-speed
233*7ebd8b66SMauro Carvalho Chehab	-		min-speed	min-speed
234*7ebd8b66SMauro Carvalho Chehab	=============== =============== =================
235*7ebd8b66SMauro Carvalho Chehab
236*7ebd8b66SMauro Carvalho Chehab
237*7ebd8b66SMauro Carvalho ChehabSysfs Attributes
238*7ebd8b66SMauro Carvalho Chehab----------------
239*7ebd8b66SMauro Carvalho Chehab
240*7ebd8b66SMauro Carvalho ChehabFollowing is a list of all sysfs attributes that the driver provides, their
241*7ebd8b66SMauro Carvalho Chehabpermissions and a short description:
242*7ebd8b66SMauro Carvalho Chehab
243*7ebd8b66SMauro Carvalho Chehab=============================== ======= =======================================
244*7ebd8b66SMauro Carvalho ChehabName				Perm	Description
245*7ebd8b66SMauro Carvalho Chehab=============================== ======= =======================================
246*7ebd8b66SMauro Carvalho Chehabcpu0_vid			RO	CPU core reference voltage in
247*7ebd8b66SMauro Carvalho Chehab					millivolts.
248*7ebd8b66SMauro Carvalho Chehabvrm				RW	Voltage regulator module version
249*7ebd8b66SMauro Carvalho Chehab					number.
250*7ebd8b66SMauro Carvalho Chehab
251*7ebd8b66SMauro Carvalho Chehabin[0-7]_input			RO	Measured voltage in millivolts.
252*7ebd8b66SMauro Carvalho Chehabin[0-7]_min			RW	Low limit for voltage input.
253*7ebd8b66SMauro Carvalho Chehabin[0-7]_max			RW	High limit for voltage input.
254*7ebd8b66SMauro Carvalho Chehabin[0-7]_alarm			RO	Voltage input alarm. Returns 1 if
255*7ebd8b66SMauro Carvalho Chehab					voltage input is or went outside the
256*7ebd8b66SMauro Carvalho Chehab					associated min-max range, 0 otherwise.
257*7ebd8b66SMauro Carvalho Chehab
258*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_input			RO	Measured temperature in millidegree
259*7ebd8b66SMauro Carvalho Chehab					Celsius.
260*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_min			RW	Low limit for temp input.
261*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_max			RW	High limit for temp input.
262*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_offset		RW	Offset for temp input. This value will
263*7ebd8b66SMauro Carvalho Chehab					be added by the chip to the measured
264*7ebd8b66SMauro Carvalho Chehab					temperature.
265*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_alarm			RO	Alarm for temp input. Returns 1 if temp
266*7ebd8b66SMauro Carvalho Chehab					input is or went outside the associated
267*7ebd8b66SMauro Carvalho Chehab					min-max range, 0 otherwise.
268*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_fault			RO	Temp input fault. Returns 1 if the chip
269*7ebd8b66SMauro Carvalho Chehab					detects a faulty thermal diode or an
270*7ebd8b66SMauro Carvalho Chehab					unconnected temp input, 0 otherwise.
271*7ebd8b66SMauro Carvalho Chehab
272*7ebd8b66SMauro Carvalho Chehabzone[1-3]_auto_channels_temp	RO	Temperature zone to temperature input
273*7ebd8b66SMauro Carvalho Chehab					mapping. This attribute is a bitfield
274*7ebd8b66SMauro Carvalho Chehab					and supports the following values:
275*7ebd8b66SMauro Carvalho Chehab
276*7ebd8b66SMauro Carvalho Chehab						- 1: temp1
277*7ebd8b66SMauro Carvalho Chehab						- 2: temp2
278*7ebd8b66SMauro Carvalho Chehab						- 4: temp3
279*7ebd8b66SMauro Carvalho Chehabzone[1-3]_auto_point1_temp_hyst	RW	Auto PWM temp point1 hysteresis. The
280*7ebd8b66SMauro Carvalho Chehab					output of the corresponding PWM is set
281*7ebd8b66SMauro Carvalho Chehab					to the pwm_auto_min value if the temp
282*7ebd8b66SMauro Carvalho Chehab					falls below the auto_point1_temp_hyst
283*7ebd8b66SMauro Carvalho Chehab					value.
284*7ebd8b66SMauro Carvalho Chehabzone[1-3]_auto_point[1-3]_temp	RW	Auto PWM temp points. Auto_point1 is
285*7ebd8b66SMauro Carvalho Chehab					the low-speed temp, auto_point2 is the
286*7ebd8b66SMauro Carvalho Chehab					full-speed temp, and auto_point3 is the
287*7ebd8b66SMauro Carvalho Chehab					temp at which all PWM outputs are set
288*7ebd8b66SMauro Carvalho Chehab					to full-speed (100% duty-cycle).
289*7ebd8b66SMauro Carvalho Chehab
290*7ebd8b66SMauro Carvalho Chehabfan[1-6]_input			RO	Measured fan speed in RPM.
291*7ebd8b66SMauro Carvalho Chehabfan[1-6]_min			RW	Low limit for fan input.
292*7ebd8b66SMauro Carvalho Chehabfan[1-6]_alarm			RO	Alarm for fan input. Returns 1 if fan
293*7ebd8b66SMauro Carvalho Chehab					input is or went below the associated
294*7ebd8b66SMauro Carvalho Chehab					min value, 0 otherwise.
295*7ebd8b66SMauro Carvalho Chehabfan[1-4]_type			RW	Type of attached fan. Expressed in
296*7ebd8b66SMauro Carvalho Chehab					number of pulses per revolution that
297*7ebd8b66SMauro Carvalho Chehab					the fan generates. Supported values are
298*7ebd8b66SMauro Carvalho Chehab					1, 2, and 4.
299*7ebd8b66SMauro Carvalho Chehabfan[5-6]_max			RW	Max attainable RPM at 100% duty-cycle.
300*7ebd8b66SMauro Carvalho Chehab					Required for chip to adjust the
301*7ebd8b66SMauro Carvalho Chehab					sampling rate accordingly.
302*7ebd8b66SMauro Carvalho Chehab
303*7ebd8b66SMauro Carvalho Chehabpmw[1-3,5-6]			RO/RW	Duty-cycle of PWM output. Supported
304*7ebd8b66SMauro Carvalho Chehab					values are 0-255 (0%-100%). Only
305*7ebd8b66SMauro Carvalho Chehab					writeable if the associated PWM is in
306*7ebd8b66SMauro Carvalho Chehab					manual mode.
307*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_enable			RW	Enable of PWM outputs 1-3. Supported
308*7ebd8b66SMauro Carvalho Chehab					values are:
309*7ebd8b66SMauro Carvalho Chehab
310*7ebd8b66SMauro Carvalho Chehab						- 0: turned off (output @ 100%)
311*7ebd8b66SMauro Carvalho Chehab						- 1: manual mode
312*7ebd8b66SMauro Carvalho Chehab						- 2: automatic mode
313*7ebd8b66SMauro Carvalho Chehabpwm[5-6]_enable			RO	Enable of PWM outputs 5-6. Always
314*7ebd8b66SMauro Carvalho Chehab					returns 1 since these 2 outputs are
315*7ebd8b66SMauro Carvalho Chehab					hard-wired to manual mode.
316*7ebd8b66SMauro Carvalho Chehabpmw[1-3,5-6]_freq		RW	Frequency of PWM output. Supported
317*7ebd8b66SMauro Carvalho Chehab					values are in the range 11Hz-30000Hz
318*7ebd8b66SMauro Carvalho Chehab					(default is 25000Hz).
319*7ebd8b66SMauro Carvalho Chehabpmw[1-3]_ramp_rate		RW	Ramp rate of PWM output. Determines how
320*7ebd8b66SMauro Carvalho Chehab					fast the PWM duty-cycle will change
321*7ebd8b66SMauro Carvalho Chehab					when the PWM is in automatic mode.
322*7ebd8b66SMauro Carvalho Chehab					Expressed in ms per PWM step. Supported
323*7ebd8b66SMauro Carvalho Chehab					values are in the range 0ms-206ms
324*7ebd8b66SMauro Carvalho Chehab					(default is 0, which means the duty-
325*7ebd8b66SMauro Carvalho Chehab					cycle changes instantly).
326*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_channels_zone	RW	PWM output to temperature zone mapping.
327*7ebd8b66SMauro Carvalho Chehab					This attribute is a bitfield and
328*7ebd8b66SMauro Carvalho Chehab					supports the following values:
329*7ebd8b66SMauro Carvalho Chehab
330*7ebd8b66SMauro Carvalho Chehab						- 1: zone1
331*7ebd8b66SMauro Carvalho Chehab						- 2: zone2
332*7ebd8b66SMauro Carvalho Chehab						- 4: zone3
333*7ebd8b66SMauro Carvalho Chehab						- 6: highest of zone[2-3]
334*7ebd8b66SMauro Carvalho Chehab						- 7: highest of zone[1-3]
335*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_pwm_min		RW	Auto PWM min pwm. Minimum PWM duty-
336*7ebd8b66SMauro Carvalho Chehab					cycle. Supported values are 0 or
337*7ebd8b66SMauro Carvalho Chehab					auto_point1_pwm.
338*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_point1_pwm	RW	Auto PWM pwm point. Auto_point1 is the
339*7ebd8b66SMauro Carvalho Chehab					low-speed duty-cycle.
340*7ebd8b66SMauro Carvalho Chehabpwm[1-3]_auto_point2_pwm	RO	Auto PWM pwm point. Auto_point2 is the
341*7ebd8b66SMauro Carvalho Chehab					full-speed duty-cycle which is hard-
342*7ebd8b66SMauro Carvalho Chehab					wired to 255 (100% duty-cycle).
343*7ebd8b66SMauro Carvalho Chehab=============================== ======= =======================================
344*7ebd8b66SMauro Carvalho Chehab
345*7ebd8b66SMauro Carvalho ChehabChip Differences
346*7ebd8b66SMauro Carvalho Chehab----------------
347*7ebd8b66SMauro Carvalho Chehab
348*7ebd8b66SMauro Carvalho Chehab======================= ======= ======= ======= =======
349*7ebd8b66SMauro Carvalho ChehabFeature			dme1737	sch311x	sch5027	sch5127
350*7ebd8b66SMauro Carvalho Chehab======================= ======= ======= ======= =======
351*7ebd8b66SMauro Carvalho Chehabtemp[1-3]_offset	yes	yes
352*7ebd8b66SMauro Carvalho Chehabvid			yes
353*7ebd8b66SMauro Carvalho Chehabzone3			yes	yes	yes
354*7ebd8b66SMauro Carvalho Chehabzone[1-3]_hyst		yes	yes
355*7ebd8b66SMauro Carvalho Chehabpwm min/off		yes	yes
356*7ebd8b66SMauro Carvalho Chehabfan3			opt	yes	opt	yes
357*7ebd8b66SMauro Carvalho Chehabpwm3			opt	yes	opt	yes
358*7ebd8b66SMauro Carvalho Chehabfan4			opt		opt
359*7ebd8b66SMauro Carvalho Chehabfan5			opt		opt
360*7ebd8b66SMauro Carvalho Chehabpwm5			opt		opt
361*7ebd8b66SMauro Carvalho Chehabfan6			opt		opt
362*7ebd8b66SMauro Carvalho Chehabpwm6			opt		opt
363*7ebd8b66SMauro Carvalho Chehabin7						yes
364*7ebd8b66SMauro Carvalho Chehab======================= ======= ======= ======= =======
365