summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
blob: 283cd166268921a556c495ab37c02875c221e89c (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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# 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

  The BD12780 and BD12780A are hot-swap controllers from ROHM. They are
  functionally compatible with the ADM1278. The main difference between
  the BD12780A and the BD12780 is amount of configurable I2C addresses.

  Datasheets:
    https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/power_switch/bd12780muv-lb-e.pdf
    https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/power_switch/bd12780amuv-lb-e.pdf

  The BD12790 is a ROHM hot-swap controller, functionally similar to the
  ADM1272.

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

      # Require BD12780 as a fall-back for BD12780A.
      - items:
          - const: rohm,bd12780a
          - const: rohm,bd12780

  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
              - rohm,bd12790
    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
              - rohm,bd12780
              - 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>;
        };
    };