Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / Documentation / hwmon / ina2xx.rst
1 Kernel driver ina2xx
2 ====================
3
4 Supported 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 Author: Lothar Felten <lothar.felten@gmail.com>
57
58 Description
59 -----------
60
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.
64
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.
67
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.
70
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
73 bus supply voltage.
74
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.
79
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.
86
87 General sysfs entries
88 ---------------------
89
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 ======================= ===============================
97
98 Sysfs entries for ina226, ina230 and ina231 only
99 ------------------------------------------------
100
101 ======================= ====================================================
102 in0_lcrit               Critical low shunt voltage
103 in0_crit                Critical high shunt voltage
104 in0_lcrit_alarm         Shunt voltage critical low alarm
105 in0_crit_alarm          Shunt voltage critical high alarm
106 in1_lcrit               Critical low bus voltage
107 in1_crit                Critical high bus voltage
108 in1_lcrit_alarm         Bus voltage critical low alarm
109 in1_crit_alarm          Bus voltage critical high alarm
110 power1_crit             Critical high power
111 power1_crit_alarm       Power critical high alarm
112 update_interval         data conversion time; affects number of samples used
113                         to average results for shunt and bus voltages.
114 ======================= ====================================================
115
116 .. note::
117
118    - Configure `shunt_resistor` before configure `power1_crit`, because power
119      value is calculated based on `shunt_resistor` set.
120    - Because of the underlying register implementation, only one `*crit` setting
121      and its `alarm` can be active. Writing to one `*crit` setting clears other
122      `*crit` settings and alarms. Writing 0 to any `*crit` setting clears all
123      `*crit` settings and alarms.