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