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


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 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 129 130 131 132 133 134
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/adi,adm1275.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADM1075/ADM127x/ADM1281/ADM129x digital power monitors

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |
  The ADM1293 and ADM1294 are high accuracy integrated digital power monitors
  that offer digital current, voltage, and power monitoring using an on-chip,
  12-bit analog-to-digital converter (ADC), communicated through a PMBus
  compliant I2C interface.
 
  Datasheets:
    https://www.analog.com/en/products/adm1294.html
 
  The SQ24905C is also a Hot-swap controller compatibility to the ADM1278,
  the PMBUS_MFR_MODEL is MC09C
 
  Datasheets:
    https://www.silergy.com/
    download/downloadFile?id=5669&type=product&ftype=note

properties:
  compatible:
    enum:
      - adi,adm1075
      - adi,adm1272
      - adi,adm1273
      - adi,adm1275
      - adi,adm1276
      - adi,adm1278
      - adi,adm1281
      - adi,adm1293
      - adi,adm1294
      - silergy,mc09c

  reg:
    maxItems: 1

  adi,volt-curr-sample-average:
    description: |
      Number of samples to be used to report voltage and current values.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 4, 8, 16, 32, 64, 128]

  adi,power-sample-average:
    description: |
      Number of samples to be used to report power values.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 4, 8, 16, 32, 64, 128]

allOf:
  - $ref: hwmon-common.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adm1075
              - adi,adm1276
    then:
      properties:
        adi,volt-curr-sample-average:
          default: 128
        adi,power-sample-average: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adm1275
    then:
      properties:
        adi,volt-curr-sample-average:
          default: 16
        adi,power-sample-average: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adm1272
              - adi,adm1273
    then:
      properties:
        adi,volt-curr-sample-average:
          default: 128
        adi,power-sample-average:
          default: 128

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adm1278
              - adi,adm1281
              - adi,adm1293
              - adi,adm1294
              - silergy,mc09c
    then:
      properties:
        adi,volt-curr-sample-average:
          default: 128
        adi,power-sample-average:
          default: 1

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        power-sensor@10 {
            compatible = "adi,adm1272";
            reg = <0x10>;
            shunt-resistor-micro-ohms = <500>;
            adi,volt-curr-sample-average = <128>;
            adi,power-sample-average = <128>;
        };
    };