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