xref: /linux/Documentation/hwmon/max34440.rst (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
1Kernel driver max34440
2======================
3
4Supported chips:
5
6  * ADI ADPM12160
7
8    Prefixes: 'adpm12160'
9
10    Addresses scanned: -
11
12    Datasheet: -
13
14  * ADI ADPM12200
15
16    Prefixes: 'adpm12200'
17
18    Addresses scanned: -
19
20    Datasheet: -
21
22  * ADI ADPM12250
23
24    Prefixes: 'adpm12250'
25
26    Addresses scanned: -
27
28    Datasheet: -
29
30  * Maxim MAX34440
31
32    Prefixes: 'max34440'
33
34    Addresses scanned: -
35
36    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34440.pdf
37
38  * Maxim MAX34441
39
40    PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
41
42    Prefixes: 'max34441'
43
44    Addresses scanned: -
45
46    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34441.pdf
47
48  * Maxim MAX34446
49
50    PMBus Power-Supply Data Logger
51
52    Prefixes: 'max34446'
53
54    Addresses scanned: -
55
56    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34446.pdf
57
58  * Maxim MAX34451
59
60    PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
61
62    Prefixes: 'max34451'
63
64    Addresses scanned: -
65
66    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34451.pdf
67
68  * Maxim MAX34452
69
70    PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
71
72    Prefixes: 'max34452'
73
74    Addresses scanned: -
75
76    Datasheet: -
77
78  * Maxim MAX34460
79
80    PMBus 12-Channel Voltage Monitor & Sequencer
81
82    Prefix: 'max34460'
83
84    Addresses scanned: -
85
86    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34460.pdf
87
88  * Maxim MAX34461
89
90    PMBus 16-Channel Voltage Monitor & Sequencer
91
92    Prefix: 'max34461'
93
94    Addresses scanned: -
95
96    Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/max34461.pdf
97
98Author: Guenter Roeck <linux@roeck-us.net>
99
100
101Description
102-----------
103
104This driver supports multiple devices: hardware monitoring for Maxim MAX34440
105PMBus 6-Channel Power-Supply Manager, MAX34441 PMBus 5-Channel Power-Supply
106Manager and Intelligent Fan Controller, and MAX34446 PMBus Power-Supply Data
107Logger; PMBus Voltage Monitor and Sequencers for MAX34451, MAX34452, MAX34460,
108and MAX34461; PMBus DC/DC Power Module ADPM12160, ADPM12200, and ADPM12250. The
109MAX34451 and MAX34452 support monitoring voltage or current of 16 channels based
110on GIN pins. The MAX34460 supports 12 voltage channels, and the MAX34461 supports
11116 voltage channels. The ADPM12160, ADPM12200, and ADPM12250 also monitor both
112input and output of voltage and current.
113
114The driver is a client driver to the core PMBus driver. Please see
115Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
116
117
118Usage Notes
119-----------
120
121This driver does not auto-detect devices. You will have to instantiate the
122devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
123details.
124
125For MAX34446, the value of the currX_crit attribute determines if current or
126voltage measurement is enabled for a given channel. Voltage measurement is
127enabled if currX_crit is set to 0; current measurement is enabled if the
128attribute is set to a positive value. Power measurement is only enabled if
129channel 1 (3) is configured for voltage measurement, and channel 2 (4) is
130configured for current measurement.
131
132
133Platform data support
134---------------------
135
136The driver supports standard PMBus driver platform data.
137
138
139Sysfs entries
140-------------
141
142The following attributes are supported. Limits are read-write; all other
143attributes are read-only.
144
145In
146~~
147
148======================= =======================================================
149in[1-6]_label		"vout[1-6]".
150in[1-6]_input		Measured voltage. From READ_VOUT register.
151in[1-6]_min		Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
152in[1-6]_max		Maximum voltage. From VOUT_OV_WARN_LIMIT register.
153in[1-6]_lcrit		Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
154in[1-6]_crit		Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
155			register.
156in[1-6]_min_alarm	Voltage low alarm. From VOLTAGE_UV_WARNING status.
157in[1-6]_max_alarm	Voltage high alarm. From VOLTAGE_OV_WARNING status.
158in[1-6]_lcrit_alarm	Voltage critical low alarm. From VOLTAGE_UV_FAULT
159			status.
160in[1-6]_crit_alarm	Voltage critical high alarm. From VOLTAGE_OV_FAULT
161			status.
162in[1-6]_lowest		Historical minimum voltage.
163in[1-6]_highest		Historical maximum voltage.
164in[1-6]_reset_history	Write any value to reset history.
165======================= =======================================================
166
167.. note::
168
169    - MAX34446 only supports in[1-4].
170    - ADPM12160, ADPM12200, and ADPM12250 only supports in[1-2]. Label is "vin1"
171      and "vout1" respectively.
172
173Curr
174~~~~
175
176======================= ========================================================
177curr[1-6]_label		"iout[1-6]".
178curr[1-6]_input		Measured current. From READ_IOUT register.
179curr[1-6]_max		Maximum current. From IOUT_OC_WARN_LIMIT register.
180curr[1-6]_crit		Critical maximum current. From IOUT_OC_FAULT_LIMIT
181			register.
182curr[1-6]_max_alarm	Current high alarm. From IOUT_OC_WARNING status.
183curr[1-6]_crit_alarm	Current critical high alarm. From IOUT_OC_FAULT status.
184curr[1-4]_average	Historical average current (MAX34446/34451/34452 only).
185curr[1-6]_highest	Historical maximum current.
186curr[1-6]_reset_history	Write any value to reset history.
187======================= ========================================================
188
189.. note::
190
191    - in6 and curr6 attributes only exist for MAX34440.
192    - MAX34446 only supports curr[1-4].
193    - For ADPM12160, ADPM12200, and ADPM12250, curr[1] is "iin1"
194    - For ADPM12160, and ADPM12200 curr[2-6] are "iout[1-5]".
195    - For ADPM12250, curr[2-4] are "iout[1-3]".
196
197Power
198~~~~~
199
200======================= ========================================================
201power[1,3]_label	"pout[1,3]"
202power[1,3]_input	Measured power.
203power[1,3]_average	Historical average power.
204power[1,3]_highest	Historical maximum power.
205======================= ========================================================
206
207.. note:: Power attributes only exist for MAX34446.
208
209Temp
210~~~~
211
212======================= ========================================================
213temp[1-8]_input		Measured temperatures. From READ_TEMPERATURE_1 register.
214			temp1 is the chip's internal temperature. temp2..temp5
215			are remote I2C temperature sensors. For MAX34441, temp6
216			is a remote thermal-diode sensor. For MAX34440, temp6..8
217			are remote I2C temperature sensors.
218temp[1-8]_max		Maximum temperature. From OT_WARN_LIMIT register.
219temp[1-8]_crit		Critical high temperature. From OT_FAULT_LIMIT register.
220temp[1-8]_max_alarm	Temperature high alarm.
221temp[1-8]_crit_alarm	Temperature critical high alarm.
222temp[1-8]_average	Historical average temperature (MAX34446 only).
223temp[1-8]_highest	Historical maximum temperature.
224temp[1-8]_reset_history	Write any value to reset history.
225======================= ========================================================
226
227
228.. note::
229   - temp7 and temp8 attributes only exist for MAX34440.
230   - MAX34446 only supports temp[1-3].
231   - ADPM12160, ADPM12200, and ADPM12250 only supports temp[1].
232
233
234.. note::
235
236   - MAX34451 and MAX34452 support attribute groups in[1-16] (or curr[1-16]
237     based on input pins) and temp[1-5].
238   - MAX34460 supports attribute groups in[1-12] and temp[1-5].
239   - MAX34461 supports attribute groups in[1-16] and temp[1-5].
240