xref: /linux/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4
5$id: http://devicetree.org/schemas/hwmon/adi,ltc2991.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature Monitor
9
10maintainers:
11  - Antoniu Miclaus <antoniu.miclaus@analog.com>
12
13description: |
14  The LTC2991 is used to monitor system temperatures, voltages and currents.
15  Through the I2C serial interface, the eight monitors can individually measure
16  supply voltages and can be paired for differential measurements of current
17  sense resistors or temperature sensing transistors.
18
19  Datasheet:
20    https://www.analog.com/en/products/ltc2991.html
21
22properties:
23  compatible:
24    const: adi,ltc2991
25
26  reg:
27    maxItems: 1
28
29  '#address-cells':
30    const: 1
31
32  '#size-cells':
33    const: 0
34
35  vcc-supply: true
36
37patternProperties:
38  "^channel@[0-3]$":
39    type: object
40    description:
41      Represents the differential/temperature channels.
42
43    properties:
44      reg:
45        description:
46          The channel number. LTC2991 can monitor 4 currents/temperatures.
47        items:
48          minimum: 0
49          maximum: 3
50
51      shunt-resistor-micro-ohms:
52        description:
53          The value of curent sense resistor in micro ohms. Pin configuration is
54          set for differential input pair.
55
56      adi,temperature-enable:
57        description:
58          Enables temperature readings. Pin configuration is set for remote
59          diode temperature measurement.
60        type: boolean
61
62    required:
63      - reg
64
65    allOf:
66      - if:
67          required:
68            - shunt-resistor-micro-ohms
69        then:
70          properties:
71            adi,temperature-enable: false
72
73    additionalProperties: false
74
75required:
76  - compatible
77  - reg
78  - vcc-supply
79
80additionalProperties: false
81
82examples:
83  - |
84    i2c {
85        #address-cells = <1>;
86        #size-cells = <0>;
87
88        hwmon@48 {
89            compatible = "adi,ltc2991";
90            reg = <0x48>;
91            vcc-supply = <&vcc>;
92        };
93    };
94  - |
95    i2c {
96        #address-cells = <1>;
97        #size-cells = <0>;
98
99        hwmon@48 {
100            #address-cells = <1>;
101            #size-cells = <0>;
102
103            compatible = "adi,ltc2991";
104            reg = <0x48>;
105            vcc-supply = <&vcc>;
106
107            channel@0 {
108                    reg = <0x0>;
109                    shunt-resistor-micro-ohms = <100000>;
110            };
111
112            channel@1 {
113                    reg = <0x1>;
114                    shunt-resistor-micro-ohms = <100000>;
115            };
116
117            channel@2 {
118                    reg = <0x2>;
119                    adi,temperature-enable;
120            };
121
122            channel@3 {
123                    reg = <0x3>;
124                    adi,temperature-enable;
125            };
126        };
127    };
128...
129