xref: /openbmc/linux/Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml (revision 762f99f4f3cb41a775b5157dd761217beba65873)
1ce66e52bSJonathan Cameron# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2ce66e52bSJonathan Cameron%YAML 1.2
3ce66e52bSJonathan Cameron---
4ce66e52bSJonathan Cameron$id: http://devicetree.org/schemas/iio/afe/current-sense-shunt.yaml#
5ce66e52bSJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
6ce66e52bSJonathan Cameron
7ce66e52bSJonathan Camerontitle: Current Sense Shunt
8ce66e52bSJonathan Cameron
9ce66e52bSJonathan Cameronmaintainers:
10ce66e52bSJonathan Cameron  - Peter Rosin <peda@axentia.se>
11ce66e52bSJonathan Cameron
12ce66e52bSJonathan Camerondescription: |
13ce66e52bSJonathan Cameron  When an io-channel measures the voltage over a current sense shunt,
14ce66e52bSJonathan Cameron  the interesting measurement is almost always the current through the
15ce66e52bSJonathan Cameron  shunt, not the voltage over it. This binding describes such a current
16ce66e52bSJonathan Cameron  sense circuit.
17ce66e52bSJonathan Cameron
18ce66e52bSJonathan Cameronproperties:
19ce66e52bSJonathan Cameron  compatible:
20ce66e52bSJonathan Cameron    const: current-sense-shunt
21ce66e52bSJonathan Cameron
22ce66e52bSJonathan Cameron  io-channels:
23ce66e52bSJonathan Cameron    maxItems: 1
24ce66e52bSJonathan Cameron    description: |
25ce66e52bSJonathan Cameron      Channel node of a voltage io-channel.
26ce66e52bSJonathan Cameron
27*34797898SKrzysztof Kozlowski  "#io-channel-cells":
28*34797898SKrzysztof Kozlowski    const: 0
29*34797898SKrzysztof Kozlowski
30ce66e52bSJonathan Cameron  shunt-resistor-micro-ohms:
31ce66e52bSJonathan Cameron    description: The shunt resistance.
32ce66e52bSJonathan Cameron
33ce66e52bSJonathan Cameronrequired:
34ce66e52bSJonathan Cameron  - compatible
35ce66e52bSJonathan Cameron  - io-channels
36ce66e52bSJonathan Cameron  - shunt-resistor-micro-ohms
37ce66e52bSJonathan Cameron
38ce66e52bSJonathan CameronadditionalProperties: false
39ce66e52bSJonathan Cameron
40ce66e52bSJonathan Cameronexamples:
41ce66e52bSJonathan Cameron  - |
42ce66e52bSJonathan Cameron    i2c {
43ce66e52bSJonathan Cameron        #address-cells = <1>;
44ce66e52bSJonathan Cameron        #size-cells = <0>;
45ce66e52bSJonathan Cameron        tiadc: adc@48 {
46ce66e52bSJonathan Cameron            compatible = "ti,ads1015";
47ce66e52bSJonathan Cameron            reg = <0x48>;
48ce66e52bSJonathan Cameron            #io-channel-cells = <1>;
49ce66e52bSJonathan Cameron
50ce66e52bSJonathan Cameron            #address-cells = <1>;
51ce66e52bSJonathan Cameron            #size-cells = <0>;
52ce66e52bSJonathan Cameron
53ce66e52bSJonathan Cameron            channel@0 { /* IN0,IN1 differential */
54ce66e52bSJonathan Cameron                reg = <0>;
55ce66e52bSJonathan Cameron                ti,gain = <1>;
56ce66e52bSJonathan Cameron                ti,datarate = <4>;
57ce66e52bSJonathan Cameron            };
58ce66e52bSJonathan Cameron        };
59ce66e52bSJonathan Cameron    };
60ce66e52bSJonathan Cameron    sysi {
61ce66e52bSJonathan Cameron        compatible = "current-sense-shunt";
62ce66e52bSJonathan Cameron        io-channels = <&tiadc 0>;
63*34797898SKrzysztof Kozlowski        #io-channel-cells = <0>;
64ce66e52bSJonathan Cameron
65ce66e52bSJonathan Cameron        /* Divide the voltage by 3300000/1000000 (or 3.3) for the current. */
66ce66e52bSJonathan Cameron        shunt-resistor-micro-ohms = <3300000>;
67ce66e52bSJonathan Cameron    };
68ce66e52bSJonathan Cameron...
69