Skip to content

Commit 0d3f385

Browse files
openedevmmind
authored andcommitted
arm64: dts: rockchip: Add PMIC for edgeble-neu6b
This adds PMIC support for the Edgeble Neu6B NCM. Signed-off-by: Jagan Teki <jagan@edgeble.ai> Link: https://lore.kernel.org/r/20230713143941.1756849-1-jagan@edgeble.ai Signed-off-by: Heiko Stuebner <heiko@sntech.de>
1 parent 9c7f249 commit 0d3f385

1 file changed

Lines changed: 358 additions & 0 deletions

File tree

arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6b.dtsi

Lines changed: 358 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,42 @@
1818
regulator-min-microvolt = <12000000>;
1919
regulator-max-microvolt = <12000000>;
2020
};
21+
22+
vcc5v0_sys: vcc5v0-sys-regulator {
23+
compatible = "regulator-fixed";
24+
regulator-name = "vcc5v0_sys";
25+
regulator-always-on;
26+
regulator-boot-on;
27+
regulator-min-microvolt = <5000000>;
28+
regulator-max-microvolt = <5000000>;
29+
vin-supply = <&vcc12v_dcin>;
30+
};
31+
32+
vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
33+
compatible = "regulator-fixed";
34+
regulator-name = "vcc_1v1_nldo_s3";
35+
regulator-always-on;
36+
regulator-boot-on;
37+
regulator-min-microvolt = <1100000>;
38+
regulator-max-microvolt = <1100000>;
39+
vin-supply = <&vcc5v0_sys>;
40+
};
41+
};
42+
43+
&cpu_l0 {
44+
cpu-supply = <&vdd_cpu_lit_s0>;
45+
};
46+
47+
&cpu_l1 {
48+
cpu-supply = <&vdd_cpu_lit_s0>;
49+
};
50+
51+
&cpu_l2 {
52+
cpu-supply = <&vdd_cpu_lit_s0>;
53+
};
54+
55+
&cpu_l3 {
56+
cpu-supply = <&vdd_cpu_lit_s0>;
2157
};
2258

2359
&sdhci {
@@ -29,3 +65,325 @@
2965
mmc-hs400-enhanced-strobe;
3066
status = "okay";
3167
};
68+
69+
&spi2 {
70+
status = "okay";
71+
assigned-clocks = <&cru CLK_SPI2>;
72+
assigned-clock-rates = <200000000>;
73+
num-cs = <1>;
74+
pinctrl-names = "default";
75+
pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
76+
77+
pmic@0 {
78+
compatible = "rockchip,rk806";
79+
spi-max-frequency = <1000000>;
80+
reg = <0x0>;
81+
interrupt-parent = <&gpio0>;
82+
interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
83+
pinctrl-names = "default";
84+
pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
85+
<&rk806_dvs2_null>, <&rk806_dvs3_null>;
86+
87+
vcc1-supply = <&vcc5v0_sys>;
88+
vcc2-supply = <&vcc5v0_sys>;
89+
vcc3-supply = <&vcc5v0_sys>;
90+
vcc4-supply = <&vcc5v0_sys>;
91+
vcc5-supply = <&vcc5v0_sys>;
92+
vcc6-supply = <&vcc5v0_sys>;
93+
vcc7-supply = <&vcc5v0_sys>;
94+
vcc8-supply = <&vcc5v0_sys>;
95+
vcc9-supply = <&vcc5v0_sys>;
96+
vcc10-supply = <&vcc5v0_sys>;
97+
vcc11-supply = <&vcc_2v0_pldo_s3>;
98+
vcc12-supply = <&vcc5v0_sys>;
99+
vcc13-supply = <&vcc_1v1_nldo_s3>;
100+
vcc14-supply = <&vcc_1v1_nldo_s3>;
101+
vcca-supply = <&vcc5v0_sys>;
102+
103+
gpio-controller;
104+
#gpio-cells = <2>;
105+
106+
rk806_dvs1_null: dvs1-null-pins {
107+
pins = "gpio_pwrctrl2";
108+
function = "pin_fun0";
109+
};
110+
111+
rk806_dvs2_null: dvs2-null-pins {
112+
pins = "gpio_pwrctrl2";
113+
function = "pin_fun0";
114+
};
115+
116+
rk806_dvs3_null: dvs3-null-pins {
117+
pins = "gpio_pwrctrl3";
118+
function = "pin_fun0";
119+
};
120+
121+
regulators {
122+
vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
123+
regulator-name = "vdd_gpu_s0";
124+
regulator-boot-on;
125+
regulator-min-microvolt = <550000>;
126+
regulator-max-microvolt = <950000>;
127+
regulator-ramp-delay = <12500>;
128+
regulator-enable-ramp-delay = <400>;
129+
130+
regulator-state-mem {
131+
regulator-off-in-suspend;
132+
};
133+
};
134+
135+
vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
136+
regulator-name = "vdd_cpu_lit_s0";
137+
regulator-always-on;
138+
regulator-boot-on;
139+
regulator-min-microvolt = <550000>;
140+
regulator-max-microvolt = <950000>;
141+
regulator-ramp-delay = <12500>;
142+
143+
regulator-state-mem {
144+
regulator-off-in-suspend;
145+
};
146+
};
147+
148+
vdd_log_s0: dcdc-reg3 {
149+
regulator-name = "vdd_log_s0";
150+
regulator-always-on;
151+
regulator-boot-on;
152+
regulator-min-microvolt = <675000>;
153+
regulator-max-microvolt = <750000>;
154+
regulator-ramp-delay = <12500>;
155+
156+
regulator-state-mem {
157+
regulator-off-in-suspend;
158+
regulator-suspend-microvolt = <750000>;
159+
};
160+
};
161+
162+
vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
163+
regulator-name = "vdd_vdenc_s0";
164+
regulator-always-on;
165+
regulator-boot-on;
166+
regulator-min-microvolt = <550000>;
167+
regulator-max-microvolt = <950000>;
168+
regulator-init-microvolt = <750000>;
169+
regulator-ramp-delay = <12500>;
170+
171+
regulator-state-mem {
172+
regulator-off-in-suspend;
173+
};
174+
};
175+
176+
vdd_ddr_s0: dcdc-reg5 {
177+
regulator-name = "vdd_ddr_s0";
178+
regulator-always-on;
179+
regulator-boot-on;
180+
regulator-min-microvolt = <675000>;
181+
regulator-max-microvolt = <900000>;
182+
regulator-ramp-delay = <12500>;
183+
184+
regulator-state-mem {
185+
regulator-off-in-suspend;
186+
regulator-suspend-microvolt = <850000>;
187+
};
188+
};
189+
190+
vdd2_ddr_s3: dcdc-reg6 {
191+
regulator-name = "vdd2_ddr_s3";
192+
regulator-always-on;
193+
regulator-boot-on;
194+
195+
regulator-state-mem {
196+
regulator-on-in-suspend;
197+
};
198+
};
199+
200+
vcc_2v0_pldo_s3: dcdc-reg7 {
201+
regulator-name = "vdd_2v0_pldo_s3";
202+
regulator-always-on;
203+
regulator-boot-on;
204+
regulator-min-microvolt = <2000000>;
205+
regulator-max-microvolt = <2000000>;
206+
regulator-ramp-delay = <12500>;
207+
208+
regulator-state-mem {
209+
regulator-on-in-suspend;
210+
regulator-suspend-microvolt = <2000000>;
211+
};
212+
};
213+
214+
vcc_3v3_s3: dcdc-reg8 {
215+
regulator-name = "vcc_3v3_s3";
216+
regulator-always-on;
217+
regulator-boot-on;
218+
regulator-min-microvolt = <3300000>;
219+
regulator-max-microvolt = <3300000>;
220+
221+
regulator-state-mem {
222+
regulator-on-in-suspend;
223+
regulator-suspend-microvolt = <3300000>;
224+
};
225+
};
226+
227+
vddq_ddr_s0: dcdc-reg9 {
228+
regulator-name = "vddq_ddr_s0";
229+
regulator-always-on;
230+
regulator-boot-on;
231+
232+
regulator-state-mem {
233+
regulator-off-in-suspend;
234+
};
235+
};
236+
237+
vcc_1v8_s3: dcdc-reg10 {
238+
regulator-name = "vcc_1v8_s3";
239+
regulator-always-on;
240+
regulator-boot-on;
241+
regulator-min-microvolt = <1800000>;
242+
regulator-max-microvolt = <1800000>;
243+
244+
regulator-state-mem {
245+
regulator-on-in-suspend;
246+
regulator-suspend-microvolt = <1800000>;
247+
};
248+
};
249+
250+
avcc_1v8_s0: pldo-reg1 {
251+
regulator-name = "avcc_1v8_s0";
252+
regulator-always-on;
253+
regulator-boot-on;
254+
regulator-min-microvolt = <1800000>;
255+
regulator-max-microvolt = <1800000>;
256+
257+
regulator-state-mem {
258+
regulator-off-in-suspend;
259+
};
260+
};
261+
262+
vcc_1v8_s0: pldo-reg2 {
263+
regulator-name = "vcc_1v8_s0";
264+
regulator-always-on;
265+
regulator-boot-on;
266+
regulator-min-microvolt = <1800000>;
267+
regulator-max-microvolt = <1800000>;
268+
269+
regulator-state-mem {
270+
regulator-off-in-suspend;
271+
regulator-suspend-microvolt = <1800000>;
272+
};
273+
};
274+
275+
avdd_1v2_s0: pldo-reg3 {
276+
regulator-name = "avdd_1v2_s0";
277+
regulator-always-on;
278+
regulator-boot-on;
279+
regulator-min-microvolt = <1200000>;
280+
regulator-max-microvolt = <1200000>;
281+
282+
regulator-state-mem {
283+
regulator-off-in-suspend;
284+
};
285+
};
286+
287+
vcc_3v3_s0: pldo-reg4 {
288+
regulator-name = "vcc_3v3_s0";
289+
regulator-always-on;
290+
regulator-boot-on;
291+
regulator-min-microvolt = <3300000>;
292+
regulator-max-microvolt = <3300000>;
293+
regulator-ramp-delay = <12500>;
294+
295+
regulator-state-mem {
296+
regulator-off-in-suspend;
297+
};
298+
};
299+
300+
vccio_sd_s0: pldo-reg5 {
301+
regulator-name = "vccio_sd_s0";
302+
regulator-always-on;
303+
regulator-boot-on;
304+
regulator-min-microvolt = <1800000>;
305+
regulator-max-microvolt = <3300000>;
306+
regulator-ramp-delay = <12500>;
307+
308+
regulator-state-mem {
309+
regulator-off-in-suspend;
310+
};
311+
};
312+
313+
pldo6_s3: pldo-reg6 {
314+
regulator-name = "pldo6_s3";
315+
regulator-always-on;
316+
regulator-boot-on;
317+
regulator-min-microvolt = <1800000>;
318+
regulator-max-microvolt = <1800000>;
319+
320+
regulator-state-mem {
321+
regulator-on-in-suspend;
322+
regulator-suspend-microvolt = <1800000>;
323+
};
324+
};
325+
326+
vdd_0v75_s3: nldo-reg1 {
327+
regulator-name = "vdd_0v75_s3";
328+
regulator-always-on;
329+
regulator-boot-on;
330+
regulator-min-microvolt = <750000>;
331+
regulator-max-microvolt = <750000>;
332+
333+
regulator-state-mem {
334+
regulator-on-in-suspend;
335+
regulator-suspend-microvolt = <750000>;
336+
};
337+
};
338+
339+
vdd_ddr_pll_s0: nldo-reg2 {
340+
regulator-name = "vdd_ddr_pll_s0";
341+
regulator-always-on;
342+
regulator-boot-on;
343+
regulator-min-microvolt = <850000>;
344+
regulator-max-microvolt = <850000>;
345+
346+
regulator-state-mem {
347+
regulator-off-in-suspend;
348+
regulator-suspend-microvolt = <850000>;
349+
};
350+
};
351+
352+
avdd_0v75_s0: nldo-reg3 {
353+
regulator-name = "avdd_0v75_s0";
354+
regulator-always-on;
355+
regulator-boot-on;
356+
regulator-min-microvolt = <750000>;
357+
regulator-max-microvolt = <750000>;
358+
359+
regulator-state-mem {
360+
regulator-off-in-suspend;
361+
};
362+
};
363+
364+
vdd_0v85_s0: nldo-reg4 {
365+
regulator-name = "vdd_0v85_s0";
366+
regulator-always-on;
367+
regulator-boot-on;
368+
regulator-min-microvolt = <850000>;
369+
regulator-max-microvolt = <850000>;
370+
371+
regulator-state-mem {
372+
regulator-off-in-suspend;
373+
};
374+
};
375+
376+
vdd_0v75_s0: nldo-reg5 {
377+
regulator-name = "vdd_0v75_s0";
378+
regulator-always-on;
379+
regulator-boot-on;
380+
regulator-min-microvolt = <750000>;
381+
regulator-max-microvolt = <750000>;
382+
383+
regulator-state-mem {
384+
regulator-off-in-suspend;
385+
};
386+
};
387+
};
388+
};
389+
};

0 commit comments

Comments
 (0)