xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/maxim,max77802.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/maxim,max77802.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: Maxim MAX77802 Power Management IC
8*c9ccf3a3SEmmanuel Vadot
9*c9ccf3a3SEmmanuel Vadotmaintainers:
10*c9ccf3a3SEmmanuel Vadot  - Javier Martinez Canillas <javier@dowhile0.org>
11*c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
12*c9ccf3a3SEmmanuel Vadot
13*c9ccf3a3SEmmanuel Vadotdescription: |
14*c9ccf3a3SEmmanuel Vadot  This is a part of device tree bindings for Maxim MAX77802 Power Management
15*c9ccf3a3SEmmanuel Vadot  Integrated Circuit (PMIC).
16*c9ccf3a3SEmmanuel Vadot
17*c9ccf3a3SEmmanuel Vadot  The Maxim MAX77802 is a Power Management IC which includes voltage and
18*c9ccf3a3SEmmanuel Vadot  current regulators (10 high efficiency Buck regulators and 32 Low-DropOut
19*c9ccf3a3SEmmanuel Vadot  (LDO)), RTC and clock outputs.
20*c9ccf3a3SEmmanuel Vadot
21*c9ccf3a3SEmmanuel Vadot  The MAX77802 provides two 32.768khz clock outputs that can be controlled
22*c9ccf3a3SEmmanuel Vadot  (gated/ungated) over I2C.  The clock IDs are defined as preprocessor macros
23*c9ccf3a3SEmmanuel Vadot  in dt-bindings/clock/maxim,max77802.h.
24*c9ccf3a3SEmmanuel Vadot
25*c9ccf3a3SEmmanuel Vadotproperties:
26*c9ccf3a3SEmmanuel Vadot  compatible:
27*c9ccf3a3SEmmanuel Vadot    const: maxim,max77802
28*c9ccf3a3SEmmanuel Vadot
29*c9ccf3a3SEmmanuel Vadot  '#clock-cells':
30*c9ccf3a3SEmmanuel Vadot    const: 1
31*c9ccf3a3SEmmanuel Vadot
32*c9ccf3a3SEmmanuel Vadot  interrupts:
33*c9ccf3a3SEmmanuel Vadot    maxItems: 1
34*c9ccf3a3SEmmanuel Vadot
35*c9ccf3a3SEmmanuel Vadot  reg:
36*c9ccf3a3SEmmanuel Vadot    maxItems: 1
37*c9ccf3a3SEmmanuel Vadot
38*c9ccf3a3SEmmanuel Vadot  regulators:
39*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/regulator/maxim,max77802.yaml
40*c9ccf3a3SEmmanuel Vadot    description:
41*c9ccf3a3SEmmanuel Vadot      List of child nodes that specify the regulators.
42*c9ccf3a3SEmmanuel Vadot
43*c9ccf3a3SEmmanuel Vadot  inb1-supply:
44*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck1
45*c9ccf3a3SEmmanuel Vadot  inb2-supply:
46*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck2
47*c9ccf3a3SEmmanuel Vadot  inb3-supply:
48*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck3
49*c9ccf3a3SEmmanuel Vadot  inb4-supply:
50*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck4
51*c9ccf3a3SEmmanuel Vadot  inb5-supply:
52*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck5
53*c9ccf3a3SEmmanuel Vadot  inb6-supply:
54*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck6
55*c9ccf3a3SEmmanuel Vadot  inb7-supply:
56*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck7
57*c9ccf3a3SEmmanuel Vadot  inb8-supply:
58*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck8
59*c9ccf3a3SEmmanuel Vadot  inb9-supply:
60*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck9
61*c9ccf3a3SEmmanuel Vadot  inb10-supply:
62*c9ccf3a3SEmmanuel Vadot    description: Power supply for buck10
63*c9ccf3a3SEmmanuel Vadot
64*c9ccf3a3SEmmanuel Vadot  inl1-supply:
65*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO8, LDO15
66*c9ccf3a3SEmmanuel Vadot  inl2-supply:
67*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO17, LDO27, LDO30, LDO35
68*c9ccf3a3SEmmanuel Vadot  inl3-supply:
69*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO3, LDO5, LDO7, LDO7
70*c9ccf3a3SEmmanuel Vadot  inl4-supply:
71*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO10, LDO11, LDO13, LDO14
72*c9ccf3a3SEmmanuel Vadot  inl5-supply:
73*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO9, LDO19
74*c9ccf3a3SEmmanuel Vadot  inl6-supply:
75*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO4, LDO21, LDO24, LDO33
76*c9ccf3a3SEmmanuel Vadot  inl7-supply:
77*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO18, LDO20, LDO28, LDO29
78*c9ccf3a3SEmmanuel Vadot  inl9-supply:
79*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO12, LDO23, LDO25, LDO26, LDO32, LDO34
80*c9ccf3a3SEmmanuel Vadot  inl10-supply:
81*c9ccf3a3SEmmanuel Vadot    description: Power supply for LDO1, LDO2
82*c9ccf3a3SEmmanuel Vadot
83*c9ccf3a3SEmmanuel Vadot  wakeup-source: true
84*c9ccf3a3SEmmanuel Vadot
85*c9ccf3a3SEmmanuel Vadotrequired:
86*c9ccf3a3SEmmanuel Vadot  - compatible
87*c9ccf3a3SEmmanuel Vadot  - '#clock-cells'
88*c9ccf3a3SEmmanuel Vadot  - reg
89*c9ccf3a3SEmmanuel Vadot
90*c9ccf3a3SEmmanuel VadotadditionalProperties: false
91*c9ccf3a3SEmmanuel Vadot
92*c9ccf3a3SEmmanuel Vadotexamples:
93*c9ccf3a3SEmmanuel Vadot  - |
94*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
95*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/regulator/maxim,max77802.h>
96*c9ccf3a3SEmmanuel Vadot
97*c9ccf3a3SEmmanuel Vadot    i2c {
98*c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
99*c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
100*c9ccf3a3SEmmanuel Vadot
101*c9ccf3a3SEmmanuel Vadot        pmic@9 {
102*c9ccf3a3SEmmanuel Vadot            compatible = "maxim,max77802";
103*c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gpx3>;
104*c9ccf3a3SEmmanuel Vadot            interrupts = <1 IRQ_TYPE_NONE>;
105*c9ccf3a3SEmmanuel Vadot            pinctrl-names = "default";
106*c9ccf3a3SEmmanuel Vadot            pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
107*c9ccf3a3SEmmanuel Vadot                        <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
108*c9ccf3a3SEmmanuel Vadot            wakeup-source;
109*c9ccf3a3SEmmanuel Vadot            reg = <0x9>;
110*c9ccf3a3SEmmanuel Vadot            #clock-cells = <1>;
111*c9ccf3a3SEmmanuel Vadot
112*c9ccf3a3SEmmanuel Vadot            inb1-supply = <&tps65090_dcdc2>;
113*c9ccf3a3SEmmanuel Vadot            inb2-supply = <&tps65090_dcdc1>;
114*c9ccf3a3SEmmanuel Vadot            inb3-supply = <&tps65090_dcdc2>;
115*c9ccf3a3SEmmanuel Vadot            inb4-supply = <&tps65090_dcdc2>;
116*c9ccf3a3SEmmanuel Vadot            inb5-supply = <&tps65090_dcdc1>;
117*c9ccf3a3SEmmanuel Vadot            inb6-supply = <&tps65090_dcdc2>;
118*c9ccf3a3SEmmanuel Vadot            inb7-supply = <&tps65090_dcdc1>;
119*c9ccf3a3SEmmanuel Vadot            inb8-supply = <&tps65090_dcdc1>;
120*c9ccf3a3SEmmanuel Vadot            inb9-supply = <&tps65090_dcdc1>;
121*c9ccf3a3SEmmanuel Vadot            inb10-supply = <&tps65090_dcdc1>;
122*c9ccf3a3SEmmanuel Vadot
123*c9ccf3a3SEmmanuel Vadot            inl1-supply = <&buck5_reg>;
124*c9ccf3a3SEmmanuel Vadot            inl2-supply = <&buck7_reg>;
125*c9ccf3a3SEmmanuel Vadot            inl3-supply = <&buck9_reg>;
126*c9ccf3a3SEmmanuel Vadot            inl4-supply = <&buck9_reg>;
127*c9ccf3a3SEmmanuel Vadot            inl5-supply = <&buck9_reg>;
128*c9ccf3a3SEmmanuel Vadot            inl6-supply = <&tps65090_dcdc2>;
129*c9ccf3a3SEmmanuel Vadot            inl7-supply = <&buck9_reg>;
130*c9ccf3a3SEmmanuel Vadot            inl9-supply = <&tps65090_dcdc2>;
131*c9ccf3a3SEmmanuel Vadot            inl10-supply = <&buck7_reg>;
132*c9ccf3a3SEmmanuel Vadot
133*c9ccf3a3SEmmanuel Vadot            regulators {
134*c9ccf3a3SEmmanuel Vadot                BUCK1 {
135*c9ccf3a3SEmmanuel Vadot                    regulator-name = "vdd_mif";
136*c9ccf3a3SEmmanuel Vadot                    regulator-min-microvolt = <800000>;
137*c9ccf3a3SEmmanuel Vadot                    regulator-max-microvolt = <1300000>;
138*c9ccf3a3SEmmanuel Vadot                    regulator-always-on;
139*c9ccf3a3SEmmanuel Vadot                    regulator-boot-on;
140*c9ccf3a3SEmmanuel Vadot                    regulator-ramp-delay = <12500>;
141*c9ccf3a3SEmmanuel Vadot                    regulator-state-mem {
142*c9ccf3a3SEmmanuel Vadot                        regulator-off-in-suspend;
143*c9ccf3a3SEmmanuel Vadot                    };
144*c9ccf3a3SEmmanuel Vadot                };
145*c9ccf3a3SEmmanuel Vadot
146*c9ccf3a3SEmmanuel Vadot                BUCK2 {
147*c9ccf3a3SEmmanuel Vadot                    regulator-name = "vdd_arm";
148*c9ccf3a3SEmmanuel Vadot                    regulator-min-microvolt = <800000>;
149*c9ccf3a3SEmmanuel Vadot                    regulator-max-microvolt = <1500000>;
150*c9ccf3a3SEmmanuel Vadot                    regulator-always-on;
151*c9ccf3a3SEmmanuel Vadot                    regulator-boot-on;
152*c9ccf3a3SEmmanuel Vadot                    regulator-ramp-delay = <12500>;
153*c9ccf3a3SEmmanuel Vadot                    regulator-coupled-with = <&buck3_reg>;
154*c9ccf3a3SEmmanuel Vadot                    regulator-coupled-max-spread = <300000>;
155*c9ccf3a3SEmmanuel Vadot                    regulator-state-mem {
156*c9ccf3a3SEmmanuel Vadot                        regulator-off-in-suspend;
157*c9ccf3a3SEmmanuel Vadot                    };
158*c9ccf3a3SEmmanuel Vadot                };
159*c9ccf3a3SEmmanuel Vadot
160*c9ccf3a3SEmmanuel Vadot                // ...
161*c9ccf3a3SEmmanuel Vadot
162*c9ccf3a3SEmmanuel Vadot                BUCK10 {
163*c9ccf3a3SEmmanuel Vadot                    regulator-name = "vdd_1v8";
164*c9ccf3a3SEmmanuel Vadot                    regulator-min-microvolt = <1800000>;
165*c9ccf3a3SEmmanuel Vadot                    regulator-max-microvolt = <1800000>;
166*c9ccf3a3SEmmanuel Vadot                    regulator-always-on;
167*c9ccf3a3SEmmanuel Vadot                    regulator-boot-on;
168*c9ccf3a3SEmmanuel Vadot                    regulator-state-mem {
169*c9ccf3a3SEmmanuel Vadot                        regulator-on-in-suspend;
170*c9ccf3a3SEmmanuel Vadot                    };
171*c9ccf3a3SEmmanuel Vadot                };
172*c9ccf3a3SEmmanuel Vadot
173*c9ccf3a3SEmmanuel Vadot                LDO1 {
174*c9ccf3a3SEmmanuel Vadot                    regulator-name = "vdd_1v0";
175*c9ccf3a3SEmmanuel Vadot                    regulator-min-microvolt = <1000000>;
176*c9ccf3a3SEmmanuel Vadot                    regulator-max-microvolt = <1000000>;
177*c9ccf3a3SEmmanuel Vadot                    regulator-always-on;
178*c9ccf3a3SEmmanuel Vadot                    regulator-initial-mode = <MAX77802_OPMODE_NORMAL>;
179*c9ccf3a3SEmmanuel Vadot                    regulator-state-mem {
180*c9ccf3a3SEmmanuel Vadot                        regulator-on-in-suspend;
181*c9ccf3a3SEmmanuel Vadot                        regulator-mode = <MAX77802_OPMODE_LP>;
182*c9ccf3a3SEmmanuel Vadot                    };
183*c9ccf3a3SEmmanuel Vadot                };
184*c9ccf3a3SEmmanuel Vadot
185*c9ccf3a3SEmmanuel Vadot                // ...
186*c9ccf3a3SEmmanuel Vadot
187*c9ccf3a3SEmmanuel Vadot                LDO35 {
188*c9ccf3a3SEmmanuel Vadot                    regulator-name = "ldo_35";
189*c9ccf3a3SEmmanuel Vadot                    regulator-min-microvolt = <1200000>;
190*c9ccf3a3SEmmanuel Vadot                    regulator-max-microvolt = <1200000>;
191*c9ccf3a3SEmmanuel Vadot                };
192*c9ccf3a3SEmmanuel Vadot            };
193*c9ccf3a3SEmmanuel Vadot        };
194*c9ccf3a3SEmmanuel Vadot    };
195