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