Documentation / devicetree / bindings / hwmon / adi,ltc2991.yaml


Based on kernel version 6.9. Page generated on 2024-05-14 10:02 EST.

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;
            };
        };
    };
...