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,adm1275.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Analog Devices ADM1075/ADM127x/ADM1281/ADM129x digital power monitors
9
10maintainers:
11  - Krzysztof Kozlowski <[email protected]>
12
13description: |
14  The ADM1293 and ADM1294 are high accuracy integrated digital power monitors
15  that offer digital current, voltage, and power monitoring using an on-chip,
16  12-bit analog-to-digital converter (ADC), communicated through a PMBus
17  compliant I2C interface.
18
19  Datasheets:
20    https://www.analog.com/en/products/adm1294.html
21
22properties:
23  compatible:
24    enum:
25      - adi,adm1075
26      - adi,adm1272
27      - adi,adm1273
28      - adi,adm1275
29      - adi,adm1276
30      - adi,adm1278
31      - adi,adm1281
32      - adi,adm1293
33      - adi,adm1294
34
35  reg:
36    maxItems: 1
37
38  adi,volt-curr-sample-average:
39    description: |
40      Number of samples to be used to report voltage and current values.
41    $ref: /schemas/types.yaml#/definitions/uint32
42    enum: [1, 2, 4, 8, 16, 32, 64, 128]
43
44  adi,power-sample-average:
45    description: |
46      Number of samples to be used to report power values.
47    $ref: /schemas/types.yaml#/definitions/uint32
48    enum: [1, 2, 4, 8, 16, 32, 64, 128]
49
50allOf:
51  - $ref: hwmon-common.yaml#
52  - if:
53      properties:
54        compatible:
55          contains:
56            enum:
57              - adi,adm1075
58              - adi,adm1276
59    then:
60      properties:
61        adi,volt-curr-sample-average:
62          default: 128
63        adi,power-sample-average: false
64
65  - if:
66      properties:
67        compatible:
68          contains:
69            enum:
70              - adi,adm1275
71    then:
72      properties:
73        adi,volt-curr-sample-average:
74          default: 16
75        adi,power-sample-average: false
76
77  - if:
78      properties:
79        compatible:
80          contains:
81            enum:
82              - adi,adm1272
83              - adi,adm1273
84    then:
85      properties:
86        adi,volt-curr-sample-average:
87          default: 128
88        adi,power-sample-average:
89          default: 128
90
91  - if:
92      properties:
93        compatible:
94          contains:
95            enum:
96              - adi,adm1278
97              - adi,adm1281
98              - adi,adm1293
99              - adi,adm1294
100    then:
101      properties:
102        adi,volt-curr-sample-average:
103          default: 128
104        adi,power-sample-average:
105          default: 1
106
107required:
108  - compatible
109  - reg
110
111unevaluatedProperties: false
112
113examples:
114  - |
115    i2c {
116        #address-cells = <1>;
117        #size-cells = <0>;
118
119        power-sensor@10 {
120            compatible = "adi,adm1272";
121            reg = <0x10>;
122            shunt-resistor-micro-ohms = <500>;
123            adi,volt-curr-sample-average = <128>;
124            adi,power-sample-average = <128>;
125        };
126    };
127