blob: 9cc7aa3298d00dc95ba6858f142a343c43b32a57 [file] [log] [blame]
Jonas Karlman01032122024-08-02 22:12:19 +00001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/leds/common.h>
5#include <dt-bindings/soc/rockchip,vop2.h>
6#include "rk3566.dtsi"
7
8/ {
Jonas Karlman01032122024-08-02 22:12:19 +00009 chosen {
10 stdout-path = "serial2:1500000n8";
11 };
12
13 hdmi-con {
14 compatible = "hdmi-connector";
15 type = "d";
16
17 port {
18 hdmi_con_in: endpoint {
19 remote-endpoint = <&hdmi_out_con>;
20 };
21 };
22 };
23
24 leds {
25 compatible = "gpio-leds";
26 pinctrl-names = "default";
27 pinctrl-0 = <&user_led2>;
28
29 led-green {
30 color = <LED_COLOR_ID_GREEN>;
31 default-state = "on";
32 function = LED_FUNCTION_HEARTBEAT;
33 gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
34 linux,default-trigger = "heartbeat";
35 };
36 };
37
38 vcc_1v8: regulator-1v8-vcc {
39 compatible = "regulator-fixed";
40 regulator-name = "vcc_1v8";
41 regulator-always-on;
42 regulator-boot-on;
43 regulator-min-microvolt = <1800000>;
44 regulator-max-microvolt = <1800000>;
45 vin-supply = <&vcc_1v8_p>;
46 };
47
48 vcca_1v8: regulator-1v8-vcca {
49 compatible = "regulator-fixed";
50 regulator-name = "vcca_1v8";
51 regulator-always-on;
52 regulator-boot-on;
53 regulator-min-microvolt = <1800000>;
54 regulator-max-microvolt = <1800000>;
55 vin-supply = <&vcc_1v8_p>;
56 };
57
58 vcca1v8_image: regulator-1v8-vcca-image {
59 compatible = "regulator-fixed";
60 regulator-name = "vcca1v8_image";
61 regulator-always-on;
62 regulator-boot-on;
63 regulator-min-microvolt = <1800000>;
64 regulator-max-microvolt = <1800000>;
65 vin-supply = <&vcc_1v8_p>;
66 };
67
68 vcc_3v3: regulator-3v3-vcc {
69 compatible = "regulator-fixed";
70 regulator-name = "vcc_3v3";
71 regulator-always-on;
72 regulator-boot-on;
73 regulator-min-microvolt = <3300000>;
74 regulator-max-microvolt = <3300000>;
75 vin-supply = <&vcc3v3_sys>;
76 };
77
78 vcc_sys: regulator-5v0-vcc-sys {
79 compatible = "regulator-fixed";
80 regulator-name = "vcc_sys";
81 regulator-always-on;
82 regulator-boot-on;
83 regulator-min-microvolt = <5000000>;
84 regulator-max-microvolt = <5000000>;
85 };
86};
87
88&combphy1 {
89 status = "okay";
90};
91
92&cpu0 {
93 cpu-supply = <&vdd_cpu>;
94};
95
96&cpu1 {
97 cpu-supply = <&vdd_cpu>;
98};
99
100&cpu2 {
101 cpu-supply = <&vdd_cpu>;
102};
103
104&cpu3 {
105 cpu-supply = <&vdd_cpu>;
106};
107
Trevor Woerner629f2c52024-08-02 22:12:21 +0000108&gpio0 {
109 gpio-line-names =
110 /* GPIO0_A0 - A7 */
111 "", "", "", "", "", "", "", "",
112 /* GPIO0_B0 - B7 */
113 "", "", "", "", "", "", "", "",
114 /* GPIO0_C0 - C7 */
115 "", "", "", "", "", "", "", "",
116 /* GPIO0_D0 - D7 */
117 "pin-10 [GPIO0_D0]", "pin-08 [GPIO0_D1]", "",
118 "", "", "", "", "";
119};
120
121&gpio1 {
122 gpio-line-names =
123 /* GPIO1_A0 - A7 */
124 "pin-03 [GPIO1_A0]", "pin-05 [GPIO1_A1]", "",
125 "", "pin-37 [GPIO1_A4]", "",
126 "", "",
127 /* GPIO1_B0 - B7 */
128 "", "", "", "", "", "", "", "",
129 /* GPIO1_C0 - C7 */
130 "", "", "", "", "", "", "", "",
131 /* GPIO1_D0 - D7 */
132 "", "", "", "", "", "", "", "";
133};
134
135&gpio2 {
136 gpio-line-names =
137 /* GPIO2_A0 - A7 */
138 "", "", "", "", "", "", "", "",
139 /* GPIO2_B0 - B7 */
140 "", "", "", "", "", "", "", "",
141 /* GPIO2_C0 - C7 */
142 "", "", "", "", "", "", "", "",
143 /* GPIO2_D0 - D7 */
144 "", "", "", "", "", "", "", "";
145};
146
147&gpio3 {
148 gpio-line-names =
149 /* GPIO3_A0 - A7 */
150 "", "pin-11 [GPIO3_A1]", "pin-13 [GPIO3_A2]",
151 "pin-12 [GPIO3_A3]", "pin-35 [GPIO3_A4]", "pin-40 [GPIO3_A5]",
152 "pin-38 [GPIO3_A6]", "pin-36 [GPIO3_A7]",
153 /* GPIO3_B0 - B7 */
154 "pin-15 [GPIO3_B0]", "pin-16 [GPIO3_B1]", "pin-18 [GPIO3_B2]",
155 "pin-29 [GPIO3_B3]", "pin-31 [GPIO3_B4]", "",
156 "", "",
157 /* GPIO3_C0 - C7 */
158 "", "pin-22 [GPIO3_C1]", "pin-32 [GPIO3_C2]",
159 "pin-33 [GPIO3_C3]", "pin-07 [GPIO3_C4]", "",
160 "", "",
161 /* GPIO3_D0 - D7 */
162 "", "", "", "", "", "", "", "";
163};
164
165&gpio4 {
166 gpio-line-names =
167 /* GPIO4_A0 - A7 */
168 "", "", "", "", "", "", "", "",
169 /* GPIO4_B0 - B7 */
170 "", "", "pin-27 [GPIO4_B2]",
171 "pin-28 [GPIO4_B3]", "", "", "", "",
172 /* GPIO4_C0 - C7 */
173 "", "", "pin-23 [GPIO4_C2]",
174 "pin-19 [GPIO4_C3]", "", "pin-21 [GPIO4_C5]",
175 "pin-24 [GPIO4_C6]", "",
176 /* GPIO4_D0 - D7 */
177 "", "", "", "", "", "", "", "";
178};
179
Jonas Karlman01032122024-08-02 22:12:19 +0000180&gpu {
181 mali-supply = <&vdd_gpu_npu>;
182 status = "okay";
183};
184
185&hdmi {
186 avdd-0v9-supply = <&vdda_0v9>;
187 avdd-1v8-supply = <&vcca1v8_image>;
188 status = "okay";
189};
190
191&hdmi_in {
192 hdmi_in_vp0: endpoint {
193 remote-endpoint = <&vp0_out_hdmi>;
194 };
195};
196
197&hdmi_out {
198 hdmi_out_con: endpoint {
199 remote-endpoint = <&hdmi_con_in>;
200 };
201};
202
203&hdmi_sound {
204 status = "okay";
205};
206
207&i2c0 {
208 status = "okay";
209
210 rk817: pmic@20 {
211 compatible = "rockchip,rk817";
212 reg = <0x20>;
213 #clock-cells = <1>;
214 clock-output-names = "rk817-clkout1", "rk817-clkout2";
215 interrupt-parent = <&gpio0>;
216 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
217 pinctrl-names = "default";
218 pinctrl-0 = <&pmic_int_l>;
219 system-power-controller;
220 wakeup-source;
221
222 vcc1-supply = <&vcc_sys>;
223 vcc2-supply = <&vcc_sys>;
224 vcc3-supply = <&vcc_sys>;
225 vcc4-supply = <&vcc_sys>;
226 vcc5-supply = <&vcc_sys>;
227 vcc6-supply = <&vcc_sys>;
228 vcc7-supply = <&vcc_sys>;
229 vcc8-supply = <&vcc_sys>;
230 vcc9-supply = <&vcc5v_midu>;
231
232 regulators {
233 vdd_logic: DCDC_REG1 {
234 regulator-name = "vdd_logic";
235 regulator-always-on;
236 regulator-boot-on;
237 regulator-initial-mode = <0x2>;
238 regulator-min-microvolt = <500000>;
239 regulator-max-microvolt = <1350000>;
240 regulator-ramp-delay = <6001>;
241
242 regulator-state-mem {
243 regulator-off-in-suspend;
244 regulator-suspend-microvolt = <900000>;
245 };
246 };
247
248 vdd_gpu_npu: DCDC_REG2 {
249 regulator-name = "vdd_gpu_npu";
250 regulator-always-on;
251 regulator-boot-on;
252 regulator-initial-mode = <0x2>;
253 regulator-min-microvolt = <500000>;
254 regulator-max-microvolt = <1350000>;
255 regulator-ramp-delay = <6001>;
256
257 regulator-state-mem {
258 regulator-off-in-suspend;
259 };
260 };
261
262 vcc_ddr: DCDC_REG3 {
263 regulator-name = "vcc_ddr";
264 regulator-always-on;
265 regulator-boot-on;
266 regulator-initial-mode = <0x2>;
267
268 regulator-state-mem {
269 regulator-on-in-suspend;
270 };
271 };
272
273 vcc3v3_sys: DCDC_REG4 {
274 regulator-name = "vcc3v3_sys";
275 regulator-always-on;
276 regulator-boot-on;
277 regulator-initial-mode = <0x2>;
278 regulator-min-microvolt = <3300000>;
279 regulator-max-microvolt = <3300000>;
280
281 regulator-state-mem {
282 regulator-on-in-suspend;
283 regulator-suspend-microvolt = <3300000>;
284 };
285 };
286
287 vcca1v8_pmu: LDO_REG1 {
288 regulator-name = "vcca1v8_pmu";
289 regulator-always-on;
290 regulator-boot-on;
291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1800000>;
293
294 regulator-state-mem {
295 regulator-on-in-suspend;
296 regulator-suspend-microvolt = <1800000>;
297 };
298 };
299
300 vdda_0v9: LDO_REG2 {
301 regulator-name = "vdda_0v9";
302 regulator-always-on;
303 regulator-boot-on;
304 regulator-min-microvolt = <900000>;
305 regulator-max-microvolt = <900000>;
306
307 regulator-state-mem {
308 regulator-off-in-suspend;
309 };
310 };
311
312 vdda0v9_pmu: LDO_REG3 {
313 regulator-name = "vdda0v9_pmu";
314 regulator-always-on;
315 regulator-boot-on;
316 regulator-min-microvolt = <900000>;
317 regulator-max-microvolt = <900000>;
318
319 regulator-state-mem {
320 regulator-on-in-suspend;
321 regulator-suspend-microvolt = <900000>;
322 };
323 };
324
325 vccio_acodec: LDO_REG4 {
326 regulator-name = "vccio_acodec";
327 regulator-always-on;
328 regulator-boot-on;
329 regulator-min-microvolt = <3300000>;
330 regulator-max-microvolt = <3300000>;
331
332 regulator-state-mem {
333 regulator-off-in-suspend;
334 };
335 };
336
337 vccio_sd: LDO_REG5 {
338 regulator-name = "vccio_sd";
339 regulator-always-on;
340 regulator-boot-on;
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <3300000>;
343
344 regulator-state-mem {
345 regulator-off-in-suspend;
346 };
347 };
348
349 vcc3v3_pmu: LDO_REG6 {
350 regulator-name = "vcc3v3_pmu";
351 regulator-always-on;
352 regulator-boot-on;
353 regulator-min-microvolt = <3300000>;
354 regulator-max-microvolt = <3300000>;
355
356 regulator-state-mem {
357 regulator-on-in-suspend;
358 regulator-suspend-microvolt = <3300000>;
359 };
360 };
361
362 vcc_1v8_p: LDO_REG7 {
363 regulator-name = "vcc_1v8_p";
364 regulator-always-on;
365 regulator-boot-on;
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <1800000>;
368
369 regulator-state-mem {
370 regulator-off-in-suspend;
371 };
372 };
373
374 vcc1v8_dvp: LDO_REG8 {
375 regulator-name = "vcc1v8_dvp";
376 regulator-always-on;
377 regulator-boot-on;
378 regulator-min-microvolt = <1800000>;
379 regulator-max-microvolt = <1800000>;
380
381 regulator-state-mem {
382 regulator-off-in-suspend;
383 };
384 };
385
386 vcc2v8_dvp: LDO_REG9 {
387 regulator-name = "vcc2v8_dvp";
388 regulator-always-on;
389 regulator-boot-on;
390 regulator-min-microvolt = <2800000>;
391 regulator-max-microvolt = <2800000>;
392
393 regulator-state-mem {
394 regulator-off-in-suspend;
395 };
396 };
397
398 vcc5v_midu: BOOST {
399 regulator-name = "vcc5v_midu";
400 regulator-always-on;
401 regulator-boot-on;
402 regulator-min-microvolt = <5000000>;
403 regulator-max-microvolt = <5000000>;
404
405 regulator-state-mem {
406 regulator-off-in-suspend;
407 };
408 };
409
410 vbus: OTG_SWITCH {
411 regulator-name = "vbus";
412
413 regulator-state-mem {
414 regulator-off-in-suspend;
415 };
416 };
417 };
418 };
419
420 vdd_cpu: regulator@40 {
421 compatible = "rockchip,rk8600";
422 reg = <0x40>;
423 fcs,suspend-voltage-selector = <1>;
424 regulator-name = "vdd_cpu";
425 regulator-always-on;
426 regulator-boot-on;
427 regulator-min-microvolt = <712500>;
428 regulator-max-microvolt = <1390000>;
429 regulator-ramp-delay = <2300>;
430 vin-supply = <&vcc_sys>;
431
432 regulator-state-mem {
433 regulator-off-in-suspend;
434 };
435 };
436};
437
438&i2s0_8ch {
439 status = "okay";
440};
441
442&pinctrl {
443 leds {
444 user_led2: user-led2 {
445 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
446 };
447 };
448
449 pmic {
450 pmic_int_l: pmic-int-l {
451 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
452 };
453 };
454};
455
456&pmu_io_domains {
457 pmuio1-supply = <&vcc3v3_pmu>;
458 pmuio2-supply = <&vcca1v8_pmu>;
459 vccio1-supply = <&vccio_acodec>;
460 vccio2-supply = <&vcc_1v8>;
461 vccio3-supply = <&vccio_sd>;
462 vccio4-supply = <&vcc_1v8>;
463 vccio5-supply = <&vcc_3v3>;
464 vccio6-supply = <&vcc_3v3>;
465 vccio7-supply = <&vcc_3v3>;
466 status = "okay";
467};
468
469&saradc {
470 vref-supply = <&vcca_1v8>;
471 status = "okay";
472};
473
474&sdmmc0 {
475 bus-width = <4>;
476 cap-sd-highspeed;
477 disable-wp;
478 pinctrl-names = "default";
479 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
480 vmmc-supply = <&vcc3v3_sys>;
481 vqmmc-supply = <&vccio_sd>;
482 status = "okay";
483};
484
485&tsadc {
486 rockchip,hw-tshut-mode = <1>;
487 rockchip,hw-tshut-polarity = <0>;
488 status = "okay";
489};
490
491&uart2 {
492 status = "okay";
493};
494
495&usb_host0_xhci {
496 dr_mode = "peripheral";
497 status = "okay";
498};
499
500&usb_host1_xhci {
501 status = "okay";
502};
503
504&usb2phy0 {
505 status = "okay";
506};
507
508&usb2phy0_host {
509 status = "okay";
510};
511
512&usb2phy0_otg {
513 status = "okay";
514};
515
516&vop {
517 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
518 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
519 status = "okay";
520};
521
522&vop_mmu {
523 status = "okay";
524};
525
526&vp0 {
527 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
528 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
529 remote-endpoint = <&hdmi_in_vp0>;
530 };
531};