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