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