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