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