1172e611bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only
2172e611bSKrzysztof Kozlowski%YAML 1.2
3172e611bSKrzysztof Kozlowski---
4172e611bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/mfd/maxim,max77802.yaml#
5172e611bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6172e611bSKrzysztof Kozlowski
7172e611bSKrzysztof Kozlowskititle: Maxim MAX77802 Power Management IC
8172e611bSKrzysztof Kozlowski
9172e611bSKrzysztof Kozlowskimaintainers:
10172e611bSKrzysztof Kozlowski  - Javier Martinez Canillas <javier@dowhile0.org>
11*8a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
12172e611bSKrzysztof Kozlowski
13172e611bSKrzysztof Kozlowskidescription: |
14172e611bSKrzysztof Kozlowski  This is a part of device tree bindings for Maxim MAX77802 Power Management
15172e611bSKrzysztof Kozlowski  Integrated Circuit (PMIC).
16172e611bSKrzysztof Kozlowski
17172e611bSKrzysztof Kozlowski  The Maxim MAX77802 is a Power Management IC which includes voltage and
18172e611bSKrzysztof Kozlowski  current regulators (10 high efficiency Buck regulators and 32 Low-DropOut
19172e611bSKrzysztof Kozlowski  (LDO)), RTC and clock outputs.
20172e611bSKrzysztof Kozlowski
21172e611bSKrzysztof Kozlowski  The MAX77802 provides two 32.768khz clock outputs that can be controlled
22172e611bSKrzysztof Kozlowski  (gated/ungated) over I2C.  The clock IDs are defined as preprocessor macros
23172e611bSKrzysztof Kozlowski  in dt-bindings/clock/maxim,max77802.h.
24172e611bSKrzysztof Kozlowski
25172e611bSKrzysztof Kozlowskiproperties:
26172e611bSKrzysztof Kozlowski  compatible:
27172e611bSKrzysztof Kozlowski    const: maxim,max77802
28172e611bSKrzysztof Kozlowski
29172e611bSKrzysztof Kozlowski  '#clock-cells':
30172e611bSKrzysztof Kozlowski    const: 1
31172e611bSKrzysztof Kozlowski
32172e611bSKrzysztof Kozlowski  interrupts:
33172e611bSKrzysztof Kozlowski    maxItems: 1
34172e611bSKrzysztof Kozlowski
35172e611bSKrzysztof Kozlowski  reg:
36172e611bSKrzysztof Kozlowski    maxItems: 1
37172e611bSKrzysztof Kozlowski
38172e611bSKrzysztof Kozlowski  regulators:
39172e611bSKrzysztof Kozlowski    $ref: /schemas/regulator/maxim,max77802.yaml
40172e611bSKrzysztof Kozlowski    description:
41172e611bSKrzysztof Kozlowski      List of child nodes that specify the regulators.
42172e611bSKrzysztof Kozlowski
43172e611bSKrzysztof Kozlowski  inb1-supply:
44172e611bSKrzysztof Kozlowski    description: Power supply for buck1
45172e611bSKrzysztof Kozlowski  inb2-supply:
46172e611bSKrzysztof Kozlowski    description: Power supply for buck2
47172e611bSKrzysztof Kozlowski  inb3-supply:
48172e611bSKrzysztof Kozlowski    description: Power supply for buck3
49172e611bSKrzysztof Kozlowski  inb4-supply:
50172e611bSKrzysztof Kozlowski    description: Power supply for buck4
51172e611bSKrzysztof Kozlowski  inb5-supply:
52172e611bSKrzysztof Kozlowski    description: Power supply for buck5
53172e611bSKrzysztof Kozlowski  inb6-supply:
54172e611bSKrzysztof Kozlowski    description: Power supply for buck6
55172e611bSKrzysztof Kozlowski  inb7-supply:
56172e611bSKrzysztof Kozlowski    description: Power supply for buck7
57172e611bSKrzysztof Kozlowski  inb8-supply:
58172e611bSKrzysztof Kozlowski    description: Power supply for buck8
59172e611bSKrzysztof Kozlowski  inb9-supply:
60172e611bSKrzysztof Kozlowski    description: Power supply for buck9
61172e611bSKrzysztof Kozlowski  inb10-supply:
62172e611bSKrzysztof Kozlowski    description: Power supply for buck10
63172e611bSKrzysztof Kozlowski
64172e611bSKrzysztof Kozlowski  inl1-supply:
65172e611bSKrzysztof Kozlowski    description: Power supply for LDO8, LDO15
66172e611bSKrzysztof Kozlowski  inl2-supply:
67172e611bSKrzysztof Kozlowski    description: Power supply for LDO17, LDO27, LDO30, LDO35
68172e611bSKrzysztof Kozlowski  inl3-supply:
69172e611bSKrzysztof Kozlowski    description: Power supply for LDO3, LDO5, LDO7, LDO7
70172e611bSKrzysztof Kozlowski  inl4-supply:
71172e611bSKrzysztof Kozlowski    description: Power supply for LDO10, LDO11, LDO13, LDO14
72172e611bSKrzysztof Kozlowski  inl5-supply:
73172e611bSKrzysztof Kozlowski    description: Power supply for LDO9, LDO19
74172e611bSKrzysztof Kozlowski  inl6-supply:
75172e611bSKrzysztof Kozlowski    description: Power supply for LDO4, LDO21, LDO24, LDO33
76172e611bSKrzysztof Kozlowski  inl7-supply:
77172e611bSKrzysztof Kozlowski    description: Power supply for LDO18, LDO20, LDO28, LDO29
78172e611bSKrzysztof Kozlowski  inl9-supply:
79172e611bSKrzysztof Kozlowski    description: Power supply for LDO12, LDO23, LDO25, LDO26, LDO32, LDO34
80172e611bSKrzysztof Kozlowski  inl10-supply:
81172e611bSKrzysztof Kozlowski    description: Power supply for LDO1, LDO2
82172e611bSKrzysztof Kozlowski
83172e611bSKrzysztof Kozlowski  wakeup-source: true
84172e611bSKrzysztof Kozlowski
85172e611bSKrzysztof Kozlowskirequired:
86172e611bSKrzysztof Kozlowski  - compatible
87172e611bSKrzysztof Kozlowski  - '#clock-cells'
88172e611bSKrzysztof Kozlowski  - reg
89172e611bSKrzysztof Kozlowski
90172e611bSKrzysztof KozlowskiadditionalProperties: false
91172e611bSKrzysztof Kozlowski
92172e611bSKrzysztof Kozlowskiexamples:
93172e611bSKrzysztof Kozlowski  - |
94172e611bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
95172e611bSKrzysztof Kozlowski    #include <dt-bindings/regulator/maxim,max77802.h>
96172e611bSKrzysztof Kozlowski
97172e611bSKrzysztof Kozlowski    i2c {
98172e611bSKrzysztof Kozlowski        #address-cells = <1>;
99172e611bSKrzysztof Kozlowski        #size-cells = <0>;
100172e611bSKrzysztof Kozlowski
101172e611bSKrzysztof Kozlowski        pmic@9 {
102172e611bSKrzysztof Kozlowski            compatible = "maxim,max77802";
103172e611bSKrzysztof Kozlowski            interrupt-parent = <&gpx3>;
104172e611bSKrzysztof Kozlowski            interrupts = <1 IRQ_TYPE_NONE>;
105172e611bSKrzysztof Kozlowski            pinctrl-names = "default";
106172e611bSKrzysztof Kozlowski            pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
107172e611bSKrzysztof Kozlowski                        <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
108172e611bSKrzysztof Kozlowski            wakeup-source;
109172e611bSKrzysztof Kozlowski            reg = <0x9>;
110172e611bSKrzysztof Kozlowski            #clock-cells = <1>;
111172e611bSKrzysztof Kozlowski
112172e611bSKrzysztof Kozlowski            inb1-supply = <&tps65090_dcdc2>;
113172e611bSKrzysztof Kozlowski            inb2-supply = <&tps65090_dcdc1>;
114172e611bSKrzysztof Kozlowski            inb3-supply = <&tps65090_dcdc2>;
115172e611bSKrzysztof Kozlowski            inb4-supply = <&tps65090_dcdc2>;
116172e611bSKrzysztof Kozlowski            inb5-supply = <&tps65090_dcdc1>;
117172e611bSKrzysztof Kozlowski            inb6-supply = <&tps65090_dcdc2>;
118172e611bSKrzysztof Kozlowski            inb7-supply = <&tps65090_dcdc1>;
119172e611bSKrzysztof Kozlowski            inb8-supply = <&tps65090_dcdc1>;
120172e611bSKrzysztof Kozlowski            inb9-supply = <&tps65090_dcdc1>;
121172e611bSKrzysztof Kozlowski            inb10-supply = <&tps65090_dcdc1>;
122172e611bSKrzysztof Kozlowski
123172e611bSKrzysztof Kozlowski            inl1-supply = <&buck5_reg>;
124172e611bSKrzysztof Kozlowski            inl2-supply = <&buck7_reg>;
125172e611bSKrzysztof Kozlowski            inl3-supply = <&buck9_reg>;
126172e611bSKrzysztof Kozlowski            inl4-supply = <&buck9_reg>;
127172e611bSKrzysztof Kozlowski            inl5-supply = <&buck9_reg>;
128172e611bSKrzysztof Kozlowski            inl6-supply = <&tps65090_dcdc2>;
129172e611bSKrzysztof Kozlowski            inl7-supply = <&buck9_reg>;
130172e611bSKrzysztof Kozlowski            inl9-supply = <&tps65090_dcdc2>;
131172e611bSKrzysztof Kozlowski            inl10-supply = <&buck7_reg>;
132172e611bSKrzysztof Kozlowski
133172e611bSKrzysztof Kozlowski            regulators {
134172e611bSKrzysztof Kozlowski                BUCK1 {
135172e611bSKrzysztof Kozlowski                    regulator-name = "vdd_mif";
136172e611bSKrzysztof Kozlowski                    regulator-min-microvolt = <800000>;
137172e611bSKrzysztof Kozlowski                    regulator-max-microvolt = <1300000>;
138172e611bSKrzysztof Kozlowski                    regulator-always-on;
139172e611bSKrzysztof Kozlowski                    regulator-boot-on;
140172e611bSKrzysztof Kozlowski                    regulator-ramp-delay = <12500>;
141172e611bSKrzysztof Kozlowski                    regulator-state-mem {
142172e611bSKrzysztof Kozlowski                        regulator-off-in-suspend;
143172e611bSKrzysztof Kozlowski                    };
144172e611bSKrzysztof Kozlowski                };
145172e611bSKrzysztof Kozlowski
146172e611bSKrzysztof Kozlowski                BUCK2 {
147172e611bSKrzysztof Kozlowski                    regulator-name = "vdd_arm";
148172e611bSKrzysztof Kozlowski                    regulator-min-microvolt = <800000>;
149172e611bSKrzysztof Kozlowski                    regulator-max-microvolt = <1500000>;
150172e611bSKrzysztof Kozlowski                    regulator-always-on;
151172e611bSKrzysztof Kozlowski                    regulator-boot-on;
152172e611bSKrzysztof Kozlowski                    regulator-ramp-delay = <12500>;
153172e611bSKrzysztof Kozlowski                    regulator-coupled-with = <&buck3_reg>;
154172e611bSKrzysztof Kozlowski                    regulator-coupled-max-spread = <300000>;
155172e611bSKrzysztof Kozlowski                    regulator-state-mem {
156172e611bSKrzysztof Kozlowski                        regulator-off-in-suspend;
157172e611bSKrzysztof Kozlowski                    };
158172e611bSKrzysztof Kozlowski                };
159172e611bSKrzysztof Kozlowski
160172e611bSKrzysztof Kozlowski                // ...
161172e611bSKrzysztof Kozlowski
162172e611bSKrzysztof Kozlowski                BUCK10 {
163172e611bSKrzysztof Kozlowski                    regulator-name = "vdd_1v8";
164172e611bSKrzysztof Kozlowski                    regulator-min-microvolt = <1800000>;
165172e611bSKrzysztof Kozlowski                    regulator-max-microvolt = <1800000>;
166172e611bSKrzysztof Kozlowski                    regulator-always-on;
167172e611bSKrzysztof Kozlowski                    regulator-boot-on;
168172e611bSKrzysztof Kozlowski                    regulator-state-mem {
169172e611bSKrzysztof Kozlowski                        regulator-on-in-suspend;
170172e611bSKrzysztof Kozlowski                    };
171172e611bSKrzysztof Kozlowski                };
172172e611bSKrzysztof Kozlowski
173172e611bSKrzysztof Kozlowski                LDO1 {
174172e611bSKrzysztof Kozlowski                    regulator-name = "vdd_1v0";
175172e611bSKrzysztof Kozlowski                    regulator-min-microvolt = <1000000>;
176172e611bSKrzysztof Kozlowski                    regulator-max-microvolt = <1000000>;
177172e611bSKrzysztof Kozlowski                    regulator-always-on;
178172e611bSKrzysztof Kozlowski                    regulator-initial-mode = <MAX77802_OPMODE_NORMAL>;
179172e611bSKrzysztof Kozlowski                    regulator-state-mem {
180172e611bSKrzysztof Kozlowski                        regulator-on-in-suspend;
181172e611bSKrzysztof Kozlowski                        regulator-mode = <MAX77802_OPMODE_LP>;
182172e611bSKrzysztof Kozlowski                    };
183172e611bSKrzysztof Kozlowski                };
184172e611bSKrzysztof Kozlowski
185172e611bSKrzysztof Kozlowski                // ...
186172e611bSKrzysztof Kozlowski
187172e611bSKrzysztof Kozlowski                LDO35 {
188172e611bSKrzysztof Kozlowski                    regulator-name = "ldo_35";
189172e611bSKrzysztof Kozlowski                    regulator-min-microvolt = <1200000>;
190172e611bSKrzysztof Kozlowski                    regulator-max-microvolt = <1200000>;
191172e611bSKrzysztof Kozlowski                };
192172e611bSKrzysztof Kozlowski            };
193172e611bSKrzysztof Kozlowski        };
194172e611bSKrzysztof Kozlowski    };
195