1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/maxim,max14577.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim MAX14577/MAX77836 MicroUSB and Companion Power Management IC
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12description: |
13  This is a part of device tree bindings for Maxim MAX14577/MAX77836 MicroUSB
14  Integrated Circuit (MUIC).
15
16  The Maxim MAX14577 is a MicroUSB and Companion Power Management IC which
17  includes voltage safeout regulators, charger and MicroUSB management IC.
18
19  The Maxim MAX77836 is a MicroUSB and Companion Power Management IC which
20  includes voltage safeout and LDO regulators, charger, fuel-gauge and MicroUSB
21  management IC.
22
23properties:
24  compatible:
25    enum:
26      - maxim,max14577
27      - maxim,max77836
28
29  interrupts:
30    maxItems: 1
31
32  reg:
33    maxItems: 1
34
35  wakeup-source: true
36
37  charger:
38    $ref: /schemas/power/supply/maxim,max14577.yaml
39
40  extcon:
41    type: object
42    additionalProperties: false
43    properties:
44      compatible:
45        enum:
46          - maxim,max14577-muic
47          - maxim,max77836-muic
48
49    required:
50      - compatible
51
52  regulators:
53    $ref: /schemas/regulator/maxim,max14577.yaml
54
55required:
56  - compatible
57  - interrupts
58  - reg
59  - charger
60
61allOf:
62  - if:
63      properties:
64        compatible:
65          contains:
66            const: maxim,max14577
67    then:
68      properties:
69        charger:
70          properties:
71            compatible:
72              const: maxim,max14577-charger
73        extcon:
74          properties:
75            compatible:
76              const: maxim,max14577-muic
77        regulator:
78          properties:
79            compatible:
80              const: maxim,max14577-regulator
81    else:
82      properties:
83        charger:
84          properties:
85            compatible:
86              const: maxim,max77836-charger
87        extcon:
88          properties:
89            compatible:
90              const: maxim,max77836-muic
91        regulator:
92          properties:
93            compatible:
94              const: maxim,max77836-regulator
95
96additionalProperties: false
97
98examples:
99  - |
100    #include <dt-bindings/interrupt-controller/irq.h>
101
102    i2c {
103        #address-cells = <1>;
104        #size-cells = <0>;
105
106        pmic@25 {
107            compatible = "maxim,max14577";
108            reg = <0x25>;
109            interrupt-parent = <&gpx1>;
110            interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
111
112            extcon {
113                compatible = "maxim,max14577-muic";
114            };
115
116            regulators {
117                compatible = "maxim,max14577-regulator";
118
119                SAFEOUT {
120                    regulator-name = "SAFEOUT";
121                };
122
123                CHARGER {
124                    regulator-name = "CHARGER";
125                    regulator-min-microamp = <90000>;
126                    regulator-max-microamp = <950000>;
127                    regulator-boot-on;
128                };
129            };
130
131            charger {
132                compatible = "maxim,max14577-charger";
133
134                maxim,constant-uvolt = <4350000>;
135                maxim,fast-charge-uamp = <450000>;
136                maxim,eoc-uamp = <50000>;
137                maxim,ovp-uvolt = <6500000>;
138            };
139        };
140    };
141
142  - |
143    #include <dt-bindings/interrupt-controller/irq.h>
144
145    i2c {
146        #address-cells = <1>;
147        #size-cells = <0>;
148
149        pmic@25 {
150            compatible = "maxim,max77836";
151            interrupt-parent = <&gpx1>;
152            interrupts = <5 IRQ_TYPE_NONE>;
153            reg = <0x25>;
154            wakeup-source;
155
156            extcon {
157                compatible = "maxim,max77836-muic";
158            };
159
160            regulators {
161                compatible = "maxim,max77836-regulator";
162
163                SAFEOUT {
164                    regulator-name = "SAFEOUT";
165                };
166
167                CHARGER {
168                    regulator-name = "CHARGER";
169                    regulator-min-microamp = <45000>;
170                    regulator-max-microamp = <475000>;
171                    regulator-boot-on;
172                };
173
174                LDO1 {
175                    regulator-name = "MOT_2.7V";
176                    regulator-min-microvolt = <1100000>;
177                    regulator-max-microvolt = <2700000>;
178                };
179
180                LDO2 {
181                    regulator-name = "UNUSED_LDO2";
182                    regulator-min-microvolt = <800000>;
183                    regulator-max-microvolt = <3950000>;
184                };
185            };
186
187            charger {
188                compatible = "maxim,max77836-charger";
189
190                maxim,constant-uvolt = <4350000>;
191                maxim,fast-charge-uamp = <225000>;
192                maxim,eoc-uamp = <7500>;
193                maxim,ovp-uvolt = <6500000>;
194            };
195        };
196    };
197