Merge tag 'pci-v6.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / hwmon / adi,ltc2991.yaml
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
8 title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature Monitor
9
10 maintainers:
11   - Antoniu Miclaus <antoniu.miclaus@analog.com>
12
13 description: |
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
22 properties:
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
37 patternProperties:
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
75 required:
76   - compatible
77   - reg
78   - vcc-supply
79
80 additionalProperties: false
81
82 examples:
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 ...