Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / Documentation / hwmon / ina2xx.rst
bloba3860aae444c08319a3ef90092ddd43fe5a91f89
1 Kernel driver ina2xx
2 ====================
4 Supported chips:
6   * Texas Instruments INA219
9     Prefix: 'ina219'
10     Addresses: I2C 0x40 - 0x4f
12     Datasheet: Publicly available at the Texas Instruments website
14                https://www.ti.com/
16   * Texas Instruments INA220
18     Prefix: 'ina220'
20     Addresses: I2C 0x40 - 0x4f
22     Datasheet: Publicly available at the Texas Instruments website
24                https://www.ti.com/
26   * Texas Instruments INA226
28     Prefix: 'ina226'
30     Addresses: I2C 0x40 - 0x4f
32     Datasheet: Publicly available at the Texas Instruments website
34                https://www.ti.com/
36   * Texas Instruments INA230
38     Prefix: 'ina230'
40     Addresses: I2C 0x40 - 0x4f
42     Datasheet: Publicly available at the Texas Instruments website
44                https://www.ti.com/
46   * Texas Instruments INA231
48     Prefix: 'ina231'
50     Addresses: I2C 0x40 - 0x4f
52     Datasheet: Publicly available at the Texas Instruments website
54                https://www.ti.com/
56   * Texas Instruments INA260
58     Prefix: 'ina260'
60     Addresses: I2C 0x40 - 0x4f
62     Datasheet: Publicly available at the Texas Instruments website
64                https://www.ti.com/
66   * Silergy SY24655
68     Prefix: 'sy24655'
70     Addresses: I2C 0x40 - 0x4f
72     Datasheet: Publicly available at the Silergy website
74                https://us1.silergy.com/
77 Author: Lothar Felten <lothar.felten@gmail.com>
79 Description
80 -----------
82 The INA219 is a high-side current shunt and power monitor with an I2C
83 interface. The INA219 monitors both shunt drop and supply voltage, with
84 programmable conversion times and filtering.
86 The INA220 is a high or low side current shunt and power monitor with an I2C
87 interface. The INA220 monitors both shunt drop and supply voltage.
89 The INA226 is a current shunt and power monitor with an I2C interface.
90 The INA226 monitors both a shunt voltage drop and bus supply voltage.
92 INA230 and INA231 are high or low side current shunt and power monitors
93 with an I2C interface. The chips monitor both a shunt voltage drop and
94 bus supply voltage.
96 INA260 is a high or low side current and power monitor with integrated shunt
97 resistor.
99 The SY24655 is a high- and low-side current shunt and power monitor with an I2C
100 interface. The SY24655 supports both shunt drop and supply voltage, with
101 programmable calibration value and conversion times. The SY24655 can also
102 calculate average power for use in energy conversion.
104 The shunt value in micro-ohms can be set via platform data or device tree at
105 compile-time or via the shunt_resistor attribute in sysfs at run-time. Please
106 refer to the Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml for bindings
107 if the device tree is used.
109 Additionally ina226 supports update_interval attribute as described in
110 Documentation/hwmon/sysfs-interface.rst. Internally the interval is the sum of
111 bus and shunt voltage conversion times multiplied by the averaging rate. We
112 don't touch the conversion times and only modify the number of averages. The
113 lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
114 The actual programmed interval may vary from the desired value.
116 General sysfs entries
117 ---------------------
119 ======================= ===============================================
120 in0_input               Shunt voltage(mV) channel
121 in1_input               Bus voltage(mV) channel
122 curr1_input             Current(mA) measurement channel
123 power1_input            Power(uW) measurement channel
124 shunt_resistor          Shunt resistance(uOhm) channel (not for ina260)
125 ======================= ===============================================
127 Additional sysfs entries for ina226, ina230, ina231, ina260, and sy24655
128 ------------------------------------------------------------------------
130 ======================= ====================================================
131 curr1_lcrit             Critical low current
132 curr1_crit              Critical high current
133 curr1_lcrit_alarm       Current critical low alarm
134 curr1_crit_alarm        Current critical high alarm
135 in0_lcrit               Critical low shunt voltage
136 in0_crit                Critical high shunt voltage
137 in0_lcrit_alarm         Shunt voltage critical low alarm
138 in0_crit_alarm          Shunt voltage critical high alarm
139 in1_lcrit               Critical low bus voltage
140 in1_crit                Critical high bus voltage
141 in1_lcrit_alarm         Bus voltage critical low alarm
142 in1_crit_alarm          Bus voltage critical high alarm
143 power1_crit             Critical high power
144 power1_crit_alarm       Power critical high alarm
145 update_interval         data conversion time; affects number of samples used
146                         to average results for shunt and bus voltages.
147 ======================= ====================================================
149 Sysfs entries for sy24655 only
150 ------------------------------
152 ======================= ====================================================
153 power1_average          average power from last reading to the present.
154 ======================= ====================================================
156 .. note::
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.