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