1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/maxim,max5970.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Regulator for MAX5970 Smart Switch from Maxim Integrated
8
9maintainers:
10  - Patrick Rudolph <patrick.rudolph@9elements.com>
11
12description: |
13  The smart switch provides no output regulation, but independent fault protection
14  and voltage and current sensing.
15  Programming is done through I2C bus.
16
17  Datasheets:
18    https://datasheets.maximintegrated.com/en/ds/MAX5970.pdf
19    https://datasheets.maximintegrated.com/en/ds/MAX5978.pdf
20
21properties:
22  compatible:
23    enum:
24      - maxim,max5970
25      - maxim,max5978
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  leds:
34    type: object
35    description:
36      Properties for four LEDS.
37
38    properties:
39      "#address-cells":
40        const: 1
41
42      "#size-cells":
43        const: 0
44
45    patternProperties:
46      "^led@[0-3]$":
47        $ref: /schemas/leds/common.yaml#
48        unevaluatedProperties: false
49        type: object
50
51        properties:
52          reg:
53            maximum: 3
54
55    additionalProperties: false
56
57  vss1-supply:
58    description: Supply of the first channel.
59
60  vss2-supply:
61    description: Supply of the second channel.
62
63  regulators:
64    type: object
65    description:
66      Properties for both hot swap control/switch.
67
68    patternProperties:
69      "^sw[0-1]$":
70        $ref: /schemas/regulator/regulator.yaml#
71        type: object
72        properties:
73          shunt-resistor-micro-ohms:
74            description: |
75              The value of current sense resistor in microohms.
76
77        required:
78          - shunt-resistor-micro-ohms
79
80        unevaluatedProperties: false
81
82    additionalProperties: false
83
84required:
85  - compatible
86  - reg
87  - regulators
88  - vss1-supply
89
90allOf:
91  - if:
92      properties:
93        compatible:
94          enum:
95            - maxim,max5970
96    then:
97      required:
98        - vss2-supply
99
100additionalProperties: false
101
102examples:
103  - |
104    i2c {
105        #address-cells = <1>;
106        #size-cells = <0>;
107        regulator@3a {
108            compatible = "maxim,max5978";
109            reg = <0x3a>;
110            vss1-supply = <&p3v3>;
111
112            regulators {
113                sw0_ref_0: sw0 {
114                    shunt-resistor-micro-ohms = <12000>;
115                };
116            };
117
118            leds {
119                #address-cells = <1>;
120                #size-cells = <0>;
121                led@0 {
122                    reg = <0>;
123                    label = "led0";
124                    default-state = "on";
125                };
126                led@1 {
127                    reg = <1>;
128                    label = "led1";
129                    default-state = "on";
130                };
131            };
132        };
133    };
134
135  - |
136    i2c {
137        #address-cells = <1>;
138        #size-cells = <0>;
139
140        regulator@3a {
141            compatible = "maxim,max5970";
142            reg = <0x3a>;
143            vss1-supply = <&p3v3>;
144            vss2-supply = <&p5v>;
145
146            regulators {
147                sw0_ref_1: sw0 {
148                    shunt-resistor-micro-ohms = <12000>;
149                };
150                sw1_ref_1: sw1 {
151                    shunt-resistor-micro-ohms = <10000>;
152                };
153            };
154        };
155    };
156...
157