xref: /linux/Documentation/hwmon/ina2xx.rst (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1Kernel driver ina2xx
2====================
3
4Supported chips:
5
6  * Texas Instruments INA219
7
8
9    Prefix: 'ina219'
10    Addresses: I2C 0x40 - 0x4f
11
12    Datasheet: Publicly available at the Texas Instruments website
13
14	       https://www.ti.com/
15
16  * Texas Instruments INA220
17
18    Prefix: 'ina220'
19
20    Addresses: I2C 0x40 - 0x4f
21
22    Datasheet: Publicly available at the Texas Instruments website
23
24	       https://www.ti.com/
25
26  * Texas Instruments INA226
27
28    Prefix: 'ina226'
29
30    Addresses: I2C 0x40 - 0x4f
31
32    Datasheet: Publicly available at the Texas Instruments website
33
34	       https://www.ti.com/
35
36  * Texas Instruments INA230
37
38    Prefix: 'ina230'
39
40    Addresses: I2C 0x40 - 0x4f
41
42    Datasheet: Publicly available at the Texas Instruments website
43
44	       https://www.ti.com/
45
46  * Texas Instruments INA231
47
48    Prefix: 'ina231'
49
50    Addresses: I2C 0x40 - 0x4f
51
52    Datasheet: Publicly available at the Texas Instruments website
53
54	       https://www.ti.com/
55
56  * Texas Instruments INA260
57
58    Prefix: 'ina260'
59
60    Addresses: I2C 0x40 - 0x4f
61
62    Datasheet: Publicly available at the Texas Instruments website
63
64	       https://www.ti.com/
65
66  * Silergy SY24655
67
68    Prefix: 'sy24655'
69
70    Addresses: I2C 0x40 - 0x4f
71
72    Datasheet: Publicly available at the Silergy website
73
74	       https://us1.silergy.com/
75
76
77Author: Lothar Felten <lothar.felten@gmail.com>
78
79Description
80-----------
81
82The INA219 is a high-side current shunt and power monitor with an I2C
83interface. The INA219 monitors both shunt drop and supply voltage, with
84programmable conversion times and filtering.
85
86The INA220 is a high or low side current shunt and power monitor with an I2C
87interface. The INA220 monitors both shunt drop and supply voltage.
88
89The INA226 is a current shunt and power monitor with an I2C interface.
90The INA226 monitors both a shunt voltage drop and bus supply voltage.
91
92INA230 and INA231 are high or low side current shunt and power monitors
93with an I2C interface. The chips monitor both a shunt voltage drop and
94bus supply voltage.
95
96INA260 is a high or low side current and power monitor with integrated shunt
97resistor.
98
99The SY24655 is a high- and low-side current shunt and power monitor with an I2C
100interface. The SY24655 supports both shunt drop and supply voltage, with
101programmable calibration value and conversion times. The SY24655 can also
102calculate average power for use in energy conversion.
103
104The shunt value in micro-ohms can be set via platform data or device tree at
105compile-time or via the shunt_resistor attribute in sysfs at run-time. Please
106refer to the Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml for bindings
107if the device tree is used.
108
109Additionally ina226 supports update_interval attribute as described in
110Documentation/hwmon/sysfs-interface.rst. Internally the interval is the sum of
111bus and shunt voltage conversion times multiplied by the averaging rate. We
112don't touch the conversion times and only modify the number of averages. The
113lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
114The actual programmed interval may vary from the desired value.
115
116General sysfs entries
117---------------------
118
119======================= ===============================================
120in0_input		Shunt voltage(mV) channel
121in1_input		Bus voltage(mV) channel
122curr1_input		Current(mA) measurement channel
123power1_input		Power(uW) measurement channel
124shunt_resistor		Shunt resistance(uOhm) channel (not for ina260)
125======================= ===============================================
126
127Additional sysfs entries for ina226, ina230, ina231, ina260, and sy24655
128------------------------------------------------------------------------
129
130======================= ====================================================
131curr1_lcrit		Critical low current
132curr1_crit		Critical high current
133curr1_lcrit_alarm	Current critical low alarm
134curr1_crit_alarm	Current critical high alarm
135in0_lcrit		Critical low shunt voltage
136in0_crit		Critical high shunt voltage
137in0_lcrit_alarm		Shunt voltage critical low alarm
138in0_crit_alarm		Shunt voltage critical high alarm
139in1_lcrit		Critical low bus voltage
140in1_crit		Critical high bus voltage
141in1_lcrit_alarm		Bus voltage critical low alarm
142in1_crit_alarm		Bus voltage critical high alarm
143power1_crit		Critical high power
144power1_crit_alarm	Power critical high alarm
145update_interval		data conversion time; affects number of samples used
146			to average results for shunt and bus voltages.
147======================= ====================================================
148
149Sysfs entries for sy24655 only
150------------------------------
151
152======================= ====================================================
153power1_average		average power from last reading to the present.
154======================= ====================================================
155
156.. note::
157
158   - Configure `shunt_resistor` before configure `power1_crit`, because power
159     value is calculated based on `shunt_resistor` set.
160   - Because of the underlying register implementation, only one `*crit` setting
161     and its `alarm` can be active. Writing to one `*crit` setting clears other
162     `*crit` settings and alarms. Writing 0 to any `*crit` setting clears all
163     `*crit` settings and alarms.
164