6 * Texas Instruments INA219
10 Addresses: I2C 0x40 - 0x4f
12 Datasheet: Publicly available at the Texas Instruments website
16 * Texas Instruments INA220
20 Addresses: I2C 0x40 - 0x4f
22 Datasheet: Publicly available at the Texas Instruments website
26 * Texas Instruments INA226
30 Addresses: I2C 0x40 - 0x4f
32 Datasheet: Publicly available at the Texas Instruments website
36 * Texas Instruments INA230
40 Addresses: I2C 0x40 - 0x4f
42 Datasheet: Publicly available at the Texas Instruments website
46 * Texas Instruments INA231
50 Addresses: I2C 0x40 - 0x4f
52 Datasheet: Publicly available at the Texas Instruments website
56 Author: Lothar Felten <lothar.felten@gmail.com>
61 The INA219 is a high-side current shunt and power monitor with an I2C
62 interface. The INA219 monitors both shunt drop and supply voltage, with
63 programmable conversion times and filtering.
65 The INA220 is a high or low side current shunt and power monitor with an I2C
66 interface. The INA220 monitors both shunt drop and supply voltage.
68 The INA226 is a current shunt and power monitor with an I2C interface.
69 The INA226 monitors both a shunt voltage drop and bus supply voltage.
71 INA230 and INA231 are high or low side current shunt and power monitors
72 with an I2C interface. The chips monitor both a shunt voltage drop and
75 The shunt value in micro-ohms can be set via platform data or device tree at
76 compile-time or via the shunt_resistor attribute in sysfs at run-time. Please
77 refer to the Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml for bindings
78 if the device tree is used.
80 Additionally ina226 supports update_interval attribute as described in
81 Documentation/hwmon/sysfs-interface.rst. Internally the interval is the sum of
82 bus and shunt voltage conversion times multiplied by the averaging rate. We
83 don't touch the conversion times and only modify the number of averages. The
84 lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
85 The actual programmed interval may vary from the desired value.
90 ======================= ===============================
91 in0_input Shunt voltage(mV) channel
92 in1_input Bus voltage(mV) channel
93 curr1_input Current(mA) measurement channel
94 power1_input Power(uW) measurement channel
95 shunt_resistor Shunt resistance(uOhm) channel
96 ======================= ===============================
98 Sysfs entries for ina226, ina230 and ina231 only
99 ------------------------------------------------
101 ======================= ====================================================
102 curr1_lcrit Critical low current
103 curr1_crit Critical high current
104 curr1_lcrit_alarm Current critical low alarm
105 curr1_crit_alarm Current critical high alarm
106 in0_lcrit Critical low shunt voltage
107 in0_crit Critical high shunt voltage
108 in0_lcrit_alarm Shunt voltage critical low alarm
109 in0_crit_alarm Shunt voltage critical high alarm
110 in1_lcrit Critical low bus voltage
111 in1_crit Critical high bus voltage
112 in1_lcrit_alarm Bus voltage critical low alarm
113 in1_crit_alarm Bus voltage critical high alarm
114 power1_crit Critical high power
115 power1_crit_alarm Power critical high alarm
116 update_interval data conversion time; affects number of samples used
117 to average results for shunt and bus voltages.
118 ======================= ====================================================
122 - Configure `shunt_resistor` before configure `power1_crit`, because power
123 value is calculated based on `shunt_resistor` set.
124 - Because of the underlying register implementation, only one `*crit` setting
125 and its `alarm` can be active. Writing to one `*crit` setting clears other
126 `*crit` settings and alarms. Writing 0 to any `*crit` setting clears all
127 `*crit` settings and alarms.