summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
blob: 011e5b65c79c4326384e1fa527ea170ab10554e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/adi,ltc2991.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature Monitor

maintainers:
  - Antoniu Miclaus <antoniu.miclaus@analog.com>

description: |
  The LTC2991 is used to monitor system temperatures, voltages and currents.
  Through the I2C serial interface, the eight monitors can individually measure
  supply voltages and can be paired for differential measurements of current
  sense resistors or temperature sensing transistors.

  Datasheet:
    https://www.analog.com/en/products/ltc2991.html

properties:
  compatible:
    const: adi,ltc2991

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  vcc-supply: true

patternProperties:
  "^channel@[0-3]$":
    type: object
    description:
      Represents the differential/temperature channels.

    properties:
      reg:
        description:
          The channel number. LTC2991 can monitor 4 currents/temperatures.
        items:
          minimum: 0
          maximum: 3

      shunt-resistor-micro-ohms:
        description:
          The value of curent sense resistor in micro ohms. Pin configuration is
          set for differential input pair.

      adi,temperature-enable:
        description:
          Enables temperature readings. Pin configuration is set for remote
          diode temperature measurement.
        type: boolean

    required:
      - reg

    allOf:
      - if:
          required:
            - shunt-resistor-micro-ohms
        then:
          properties:
            adi,temperature-enable: false

    additionalProperties: false

required:
  - compatible
  - reg
  - vcc-supply

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        hwmon@48 {
            compatible = "adi,ltc2991";
            reg = <0x48>;
            vcc-supply = <&vcc>;
        };
    };
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        hwmon@48 {
            #address-cells = <1>;
            #size-cells = <0>;

            compatible = "adi,ltc2991";
            reg = <0x48>;
            vcc-supply = <&vcc>;

            channel@0 {
                    reg = <0x0>;
                    shunt-resistor-micro-ohms = <100000>;
            };

            channel@1 {
                    reg = <0x1>;
                    shunt-resistor-micro-ohms = <100000>;
            };

            channel@2 {
                    reg = <0x2>;
                    adi,temperature-enable;
            };

            channel@3 {
                    reg = <0x3>;
                    adi,temperature-enable;
            };
        };
    };
...