blob: 4786b19fd01786add59224103919197d636034e0 [file] [log] [blame]
Tom Rini93743d22024-04-01 09:08:13 -04001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/input/linux-event-codes.h>
7#include <dt-bindings/leds/common.h>
8#include <dt-bindings/pinctrl/rockchip.h>
9#include <dt-bindings/soc/rockchip,vop2.h>
10#include "rk3566.dtsi"
11
12/ {
13 model = "Powkiddy x55";
14 compatible = "powkiddy,x55", "rockchip,rk3566";
15
16 aliases {
17 mmc0 = &sdhci;
18 mmc1 = &sdmmc0;
19 mmc2 = &sdmmc2;
20 mmc3 = &sdmmc1;
21 };
22
23 chosen: chosen {
24 stdout-path = "serial2:1500000n8";
25 };
26
27 adc_joystick: adc-joystick {
28 compatible = "adc-joystick";
29 io-channels = <&saradc 0>, <&saradc 1>,
30 <&saradc 2>, <&saradc 3>;
31 poll-interval = <60>;
32 #address-cells = <1>;
33 #size-cells = <0>;
34
35 axis@0 {
36 reg = <0>;
37 abs-flat = <30>;
38 abs-fuzz = <20>;
39 abs-range = <15 1023>;
40 linux,code = <ABS_X>;
41 };
42
43 axis@1 {
44 reg = <1>;
45 abs-flat = <30>;
46 abs-fuzz = <20>;
47 abs-range = <1023 15>;
48 linux,code = <ABS_Y>;
49 };
50
51 axis@2 {
52 reg = <2>;
53 abs-flat = <30>;
54 abs-fuzz = <20>;
55 abs-range = <15 1023>;
56 linux,code = <ABS_RX>;
57 };
58
59 axis@3 {
60 reg = <3>;
61 abs-flat = <30>;
62 abs-fuzz = <20>;
63 abs-range = <1023 15>;
64 linux,code = <ABS_RY>;
65 };
66 };
67
68 backlight: backlight {
69 compatible = "pwm-backlight";
70 power-supply = <&vcc_sys>;
71 pwms = <&pwm4 0 25000 0>;
72 };
73
74 battery: battery {
75 compatible = "simple-battery";
76 charge-full-design-microamp-hours = <4000000>;
77 charge-term-current-microamp = <300000>;
78 constant-charge-current-max-microamp = <2000000>;
79 constant-charge-voltage-max-microvolt = <4300000>;
80 factory-internal-resistance-micro-ohms = <91000>;
81 voltage-max-design-microvolt = <4138000>;
82 voltage-min-design-microvolt = <3400000>;
83
84 ocv-capacity-celsius = <20>;
85 ocv-capacity-table-0 = <4138000 100>, <4083000 95>, <4059000 90>, <4044000 85>,
86 <4030000 80>, <4020000 75>, <4006000 70>, <3972000 65>,
87 <3934000 60>, <3904000 55>, <3878000 50>, <3857000 45>,
88 <3843000 40>, <3826000 35>, <3801000 30>, <3768000 25>,
89 <3735000 20>, <3688000 15>, <3621000 10>, <3553000 5>,
90 <3400000 0>;
91 };
92
93 gpio_keys_control: gpio-keys-control {
94 compatible = "gpio-keys";
95 pinctrl-0 = <&btn_pins_ctrl>;
96 pinctrl-names = "default";
97
98 button-a {
99 gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
100 label = "EAST";
101 linux,code = <BTN_EAST>;
102 };
103
104 button-b {
105 gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
106 label = "SOUTH";
107 linux,code = <BTN_SOUTH>;
108 };
109
110 button-down {
111 gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>;
112 label = "DPAD-DOWN";
113 linux,code = <BTN_DPAD_DOWN>;
114 };
115
116 button-l1 {
117 gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>;
118 label = "TL";
119 linux,code = <BTN_TL>;
120 };
121
122 button-l2 {
123 gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>;
124 label = "TL2";
125 linux,code = <BTN_TL2>;
126 };
127
128 button-left {
129 gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
130 label = "DPAD-LEFT";
131 linux,code = <BTN_DPAD_LEFT>;
132 };
133
134 button-right {
135 gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_LOW>;
136 label = "DPAD-RIGHT";
137 linux,code = <BTN_DPAD_RIGHT>;
138 };
139
140 button-select {
141 gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>;
142 label = "SELECT";
143 linux,code = <BTN_SELECT>;
144 };
145
146 button-start {
147 gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>;
148 label = "START";
149 linux,code = <BTN_START>;
150 };
151
152 button-thumbl {
153 gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
154 label = "THUMBL";
155 linux,code = <BTN_THUMBL>;
156 };
157
158 button-thumbr {
159 gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
160 label = "THUMBR";
161 linux,code = <BTN_THUMBR>;
162 };
163
164 button-r1 {
165 gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
166 label = "TR";
167 linux,code = <BTN_TR>;
168 };
169
170 button-r2 {
171 gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>;
172 label = "TR2";
173 linux,code = <BTN_TR2>;
174 };
175
176 button-up {
177 gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
178 label = "DPAD-UP";
179 linux,code = <BTN_DPAD_UP>;
180 };
181
182 button-x {
183 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
184 label = "NORTH";
185 linux,code = <BTN_NORTH>;
186 };
187
188 button-y {
189 gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>;
190 label = "WEST";
191 linux,code = <BTN_WEST>;
192 };
193 };
194
195 gpio_keys_vol: gpio-keys-vol {
196 compatible = "gpio-keys";
197 autorepeat;
198 pinctrl-0 = <&btn_pins_vol>;
199 pinctrl-names = "default";
200
201 button-voldown {
202 gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>;
203 label = "VOLUMEDOWN";
204 linux,code = <KEY_VOLUMEDOWN>;
205 };
206
207 button-volup {
208 gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>;
209 label = "VOLUMEUP";
210 linux,code = <KEY_VOLUMEUP>;
211 };
212 };
213
214 gpio_leds: gpio-leds {
215 compatible = "gpio-leds";
216 pinctrl-names = "default";
217 pinctrl-0 = <&led_pins>;
218
219 red_led: led-0 {
220 color = <LED_COLOR_ID_RED>;
221 default-state = "off";
222 gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
223 function = LED_FUNCTION_STATUS;
224 };
225
226 green_led: led-1 {
227 color = <LED_COLOR_ID_GREEN>;
228 default-state = "on";
229 gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
230 function = LED_FUNCTION_POWER;
231 };
232
233 amber_led: led-2 {
234 color = <LED_COLOR_ID_AMBER>;
235 gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
236 function = LED_FUNCTION_CHARGING;
237 };
238
239 };
240
241 hdmi-con {
242 compatible = "hdmi-connector";
243 ddc-i2c-bus = <&i2c5>;
244 type = "c";
245
246 port {
247 hdmi_con_in: endpoint {
248 remote-endpoint = <&hdmi_out_con>;
249 };
250 };
251 };
252
253 sdio_pwrseq: sdio-pwrseq {
254 compatible = "mmc-pwrseq-simple";
255 clocks = <&rk817 1>;
256 clock-names = "ext_clock";
257 pinctrl-0 = <&wifi_enable_h>;
258 pinctrl-names = "default";
259 post-power-on-delay-ms = <200>;
260 reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
261 };
262
263 /* Channels reversed for both headphones and speakers. */
264 sound {
265 compatible = "simple-audio-card";
266 pinctrl-0 = <&hp_det>;
267 pinctrl-names = "default";
268 simple-audio-card,name = "rk817_ext";
269 simple-audio-card,aux-devs = <&spk_amp>;
270 simple-audio-card,format = "i2s";
271 simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
272 simple-audio-card,mclk-fs = <256>;
273 simple-audio-card,widgets =
274 "Microphone", "Mic Jack",
275 "Headphone", "Headphones",
276 "Speaker", "Internal Speakers";
277 simple-audio-card,routing =
278 "MICL", "Mic Jack",
279 "Headphones", "HPOL",
280 "Headphones", "HPOR",
281 "Internal Speakers", "Speaker Amp OUTL",
282 "Internal Speakers", "Speaker Amp OUTR",
283 "Speaker Amp INL", "HPOL",
284 "Speaker Amp INR", "HPOR";
285 simple-audio-card,pin-switches = "Internal Speakers";
286
287 simple-audio-card,codec {
288 sound-dai = <&rk817>;
289 };
290
291 simple-audio-card,cpu {
292 sound-dai = <&i2s1_8ch>;
293 };
294 };
295
296 spk_amp: audio-amplifier {
297 compatible = "simple-audio-amplifier";
298 enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
299 pinctrl-0 = <&spk_amp_enable_h>;
300 pinctrl-names = "default";
301 sound-name-prefix = "Speaker Amp";
302 };
303
304 vcc5v0_host: regulator-vcc5v0-host {
305 compatible = "regulator-fixed";
306 enable-active-high;
307 gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
308 pinctrl-0 = <&vcc5v0_host_en>;
309 pinctrl-names = "default";
310 regulator-name = "vcc5v0_host";
311 vin-supply = <&dcdc_boost>;
312 };
313
314 vcc_lcd: regulator-vcc-lcd {
315 compatible = "regulator-fixed";
316 enable-active-high;
317 gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
318 pinctrl-0 = <&vcc_lcd_en>;
319 pinctrl-names = "default";
320 regulator-min-microvolt = <3300000>;
321 regulator-max-microvolt = <3300000>;
322 regulator-name = "vcc_lcd";
323 };
324
325 vcc_sys: regulator-vcc-sys {
326 compatible = "regulator-fixed";
327 regulator-always-on;
328 regulator-boot-on;
329 regulator-min-microvolt = <3800000>;
330 regulator-max-microvolt = <3800000>;
331 regulator-name = "vcc_sys";
332 };
333
334 vcc_wifi: regulator-vcc-wifi {
335 compatible = "regulator-fixed";
336 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
337 pinctrl-0 = <&vcc_wifi_h>;
338 pinctrl-names = "default";
339 regulator-min-microvolt = <3300000>;
340 regulator-max-microvolt = <3300000>;
341 regulator-name = "vcc_wifi";
342 };
343};
344
345&combphy1 {
346 status = "okay";
347};
348
349&cru {
350 assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
351 <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
352 assigned-clock-rates = <32768>, <1200000000>,
353 <200000000>, <126400000>;
354};
355
356&cpu0 {
357 cpu-supply = <&vdd_cpu>;
358};
359
360&cpu1 {
361 cpu-supply = <&vdd_cpu>;
362};
363
364&cpu2 {
365 cpu-supply = <&vdd_cpu>;
366};
367
368&cpu3 {
369 cpu-supply = <&vdd_cpu>;
370};
371
372&dsi_dphy0 {
373 status = "okay";
374};
375
376&dsi0 {
377 status = "okay";
378 #address-cells = <1>;
379 #size-cells = <0>;
380
381 ports {
382 dsi0_in: port@0 {
383 reg = <0>;
384 dsi0_in_vp1: endpoint {
385 remote-endpoint = <&vp1_out_dsi0>;
386 };
387 };
388
389 dsi0_out: port@1 {
390 reg = <1>;
391 mipi_out_panel: endpoint {
392 remote-endpoint = <&mipi_in_panel>;
393 };
394 };
395 };
396
397 panel: panel@0 {
398 compatible = "powkiddy,x55-panel", "himax,hx8394";
399 reg = <0>;
400 backlight = <&backlight>;
401 iovcc-supply = <&vcc_lcd>;
402 pinctrl-names = "default";
403 pinctrl-0 = <&lcd_rst>;
404 reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_LOW>;
405 rotation = <270>;
406 vcc-supply = <&vcc_lcd>;
407
408 port {
409 mipi_in_panel: endpoint {
410 remote-endpoint = <&mipi_out_panel>;
411 };
412 };
413 };
414};
415
416&gpu {
417 mali-supply = <&vdd_gpu>;
418 status = "okay";
419};
420
421&hdmi {
422 ddc-i2c-bus = <&i2c5>;
423 pinctrl-0 = <&hdmitxm0_cec>;
424 pinctrl-names = "default";
425 status = "okay";
426};
427
428&hdmi_in {
429 hdmi_in_vp0: endpoint {
430 remote-endpoint = <&vp0_out_hdmi>;
431 };
432};
433
434&hdmi_out {
435 hdmi_out_con: endpoint {
436 remote-endpoint = <&hdmi_con_in>;
437 };
438};
439
440&hdmi_sound {
441 status = "okay";
442};
443
444&i2c0 {
445 status = "okay";
446
447 rk817: pmic@20 {
448 compatible = "rockchip,rk817";
449 reg = <0x20>;
450 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
451 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
452 clock-names = "mclk";
453 clock-output-names = "rk808-clkout1", "rk808-clkout2";
454 clocks = <&cru I2S1_MCLKOUT_TX>;
455 interrupt-parent = <&gpio0>;
456 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
457 pinctrl-names = "default";
458 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>;
459 wakeup-source;
460 #clock-cells = <1>;
461 #sound-dai-cells = <0>;
462
463 vcc1-supply = <&vcc_sys>;
464 vcc2-supply = <&vcc_sys>;
465 vcc3-supply = <&vcc_sys>;
466 vcc4-supply = <&vcc_sys>;
467 vcc5-supply = <&vcc_sys>;
468 vcc6-supply = <&vcc_sys>;
469 vcc7-supply = <&vcc_sys>;
470 vcc8-supply = <&vcc_sys>;
471 vcc9-supply = <&dcdc_boost>;
472
473 regulators {
474 vdd_logic: DCDC_REG1 {
475 regulator-always-on;
476 regulator-boot-on;
477 regulator-min-microvolt = <500000>;
478 regulator-max-microvolt = <1350000>;
479 regulator-ramp-delay = <6001>;
480 regulator-initial-mode = <0x2>;
481 regulator-name = "vdd_logic";
482 regulator-state-mem {
483 regulator-off-in-suspend;
484 regulator-suspend-microvolt = <900000>;
485 };
486 };
487
488 vdd_gpu: DCDC_REG2 {
489 regulator-always-on;
490 regulator-boot-on;
491 regulator-min-microvolt = <500000>;
492 regulator-max-microvolt = <1350000>;
493 regulator-ramp-delay = <6001>;
494 regulator-initial-mode = <0x2>;
495 regulator-name = "vdd_gpu";
496 regulator-state-mem {
497 regulator-off-in-suspend;
498 };
499 };
500
501 vcc_ddr: DCDC_REG3 {
502 regulator-always-on;
503 regulator-boot-on;
504 regulator-initial-mode = <0x2>;
505 regulator-name = "vcc_ddr";
506 regulator-state-mem {
507 regulator-on-in-suspend;
508 };
509 };
510
511 vcc_3v3: DCDC_REG4 {
512 regulator-always-on;
513 regulator-boot-on;
514 regulator-min-microvolt = <3300000>;
515 regulator-max-microvolt = <3300000>;
516 regulator-initial-mode = <0x2>;
517 regulator-name = "vcc_3v3";
518 regulator-state-mem {
519 regulator-on-in-suspend;
520 regulator-suspend-microvolt = <3300000>;
521 };
522 };
523
524 vcca1v8_pmu: LDO_REG1 {
525 regulator-always-on;
526 regulator-boot-on;
527 regulator-min-microvolt = <1800000>;
528 regulator-max-microvolt = <1800000>;
529 regulator-name = "vcca1v8_pmu";
530 regulator-state-mem {
531 regulator-on-in-suspend;
532 regulator-suspend-microvolt = <1800000>;
533 };
534 };
535
536 vdda_0v9: LDO_REG2 {
537 regulator-always-on;
538 regulator-boot-on;
539 regulator-min-microvolt = <900000>;
540 regulator-max-microvolt = <900000>;
541 regulator-name = "vdda_0v9";
542 regulator-state-mem {
543 regulator-off-in-suspend;
544 };
545 };
546
547 vdda0v9_pmu: LDO_REG3 {
548 regulator-always-on;
549 regulator-boot-on;
550 regulator-min-microvolt = <900000>;
551 regulator-max-microvolt = <900000>;
552 regulator-name = "vdda0v9_pmu";
553 regulator-state-mem {
554 regulator-on-in-suspend;
555 regulator-suspend-microvolt = <900000>;
556 };
557 };
558
559 vccio_acodec: LDO_REG4 {
560 regulator-always-on;
561 regulator-boot-on;
562 regulator-min-microvolt = <3300000>;
563 regulator-max-microvolt = <3300000>;
564 regulator-name = "vccio_acodec";
565 regulator-state-mem {
566 regulator-off-in-suspend;
567 };
568 };
569
570 vccio_sd: LDO_REG5 {
571 regulator-always-on;
572 regulator-boot-on;
573 regulator-min-microvolt = <1800000>;
574 regulator-max-microvolt = <3300000>;
575 regulator-name = "vccio_sd";
576 regulator-state-mem {
577 regulator-off-in-suspend;
578 };
579 };
580
581 vcc3v3_pmu: LDO_REG6 {
582 regulator-always-on;
583 regulator-boot-on;
584 regulator-min-microvolt = <3300000>;
585 regulator-max-microvolt = <3300000>;
586 regulator-name = "vcc3v3_pmu";
587 regulator-state-mem {
588 regulator-on-in-suspend;
589 regulator-suspend-microvolt = <3300000>;
590 };
591 };
592
593 vcc_1v8: LDO_REG7 {
594 regulator-always-on;
595 regulator-boot-on;
596 regulator-min-microvolt = <1800000>;
597 regulator-max-microvolt = <1800000>;
598 regulator-name = "vcc_1v8";
599 regulator-state-mem {
600 regulator-off-in-suspend;
601 };
602 };
603
604 vcc1v8_dvp: LDO_REG8 {
605 regulator-always-on;
606 regulator-boot-on;
607 regulator-min-microvolt = <1800000>;
608 regulator-max-microvolt = <1800000>;
609 regulator-name = "vcc1v8_dvp";
610 regulator-state-mem {
611 regulator-on-in-suspend;
612 };
613 };
614
615 vcc2v8_dvp: LDO_REG9 {
616 regulator-always-on;
617 regulator-boot-on;
618 regulator-min-microvolt = <1800000>;
619 regulator-max-microvolt = <3300000>;
620 regulator-name = "vcc2v8_dvp";
621 regulator-state-mem {
622 regulator-off-in-suspend;
623 };
624 };
625
626 dcdc_boost: BOOST {
627 regulator-min-microvolt = <4700000>;
628 regulator-max-microvolt = <5400000>;
629 regulator-name = "boost";
630 regulator-state-mem {
631 regulator-off-in-suspend;
632 };
633 };
634
635 otg_switch: OTG_SWITCH {
636 regulator-name = "otg_switch";
637 regulator-state-mem {
638 regulator-off-in-suspend;
639 };
640 };
641 };
642
643 rk817_charger: charger {
644 monitored-battery = <&battery>;
645 rockchip,resistor-sense-micro-ohms = <10000>;
646 rockchip,sleep-enter-current-microamp = <150000>;
647 rockchip,sleep-filter-current-microamp = <100000>;
648 };
649
650 };
651
652 vdd_cpu: regulator@1c {
653 compatible = "tcs,tcs4525";
654 reg = <0x1c>;
655 fcs,suspend-voltage-selector = <1>;
656 regulator-always-on;
657 regulator-boot-on;
658 regulator-min-microvolt = <712500>;
659 regulator-max-microvolt = <1390000>;
660 regulator-name = "vdd_cpu";
661 regulator-ramp-delay = <2300>;
662 vin-supply = <&vcc_sys>;
663 regulator-state-mem {
664 regulator-off-in-suspend;
665 };
666 };
667};
668
669&i2c5 {
670 pinctrl-0 = <&i2c5m1_xfer>;
671 pinctrl-names = "default";
672 status = "okay";
673};
674
675&i2s0_8ch {
676 status = "okay";
677};
678
679&i2s1_8ch {
680 pinctrl-0 = <&i2s1m0_sclktx>, <&i2s1m0_lrcktx>, <&i2s1m0_sdi0>,
681 <&i2s1m0_sdo0>;
682 pinctrl-names = "default";
683 rockchip,trcm-sync-tx-only;
684 status = "okay";
685};
686
687&pinctrl {
688 audio-amplifier {
689 spk_amp_enable_h: spk-amp-enable-h {
690 rockchip,pins =
691 <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
692 };
693 };
694
695 gpio-control {
696 btn_pins_ctrl: btn-pins-ctrl {
697 rockchip,pins =
698 <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>,
699 <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>,
700 <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>,
701 <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>,
702 <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>,
703 <3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>,
704 <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>,
705 <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>,
706 <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>,
707 <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>,
708 <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
709 <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
710 <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
711 <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
712 <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
713 <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
714 };
715
716 btn_pins_vol: btn-pins-vol {
717 rockchip,pins =
718 <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
719 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
720 };
721 };
722
723 gpio-lcd {
724 lcd_rst: lcd-rst {
725 rockchip,pins =
726 <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
727 };
728 };
729
730 gpio-leds {
731 led_pins: led-pins {
732 rockchip,pins =
733 <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>,
734 <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
735 <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
736 };
737 };
738
739 hp-detect {
740 hp_det: hp-det {
741 rockchip,pins =
742 <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
743 };
744 };
745
746 pmic {
747 pmic_int_l: pmic-int-l {
748 rockchip,pins =
749 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
750 };
751 };
752
753 sdio-pwrseq {
754 wifi_enable_h: wifi-enable-h {
755 rockchip,pins =
756 <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
757 };
758 };
759
760 usb {
761 vcc5v0_host_en: vcc5v0-host-en {
762 rockchip,pins =
763 <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
764 };
765
766 vcc5v0_otg_en: vcc5v0-otg-en {
767 rockchip,pins =
768 <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
769 };
770 };
771
772 vcc-lcd {
773 vcc_lcd_en: vcc-lcd-en {
774 rockchip,pins =
775 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
776 };
777 };
778
779 vcc-wifi {
780 vcc_wifi_h: vcc-wifi-h {
781 rockchip,pins =
782 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
783 };
784 };
785};
786
787&pmu_io_domains {
788 status = "okay";
789 pmuio1-supply = <&vcc3v3_pmu>;
790 pmuio2-supply = <&vcca1v8_pmu>;
791 vccio1-supply = <&vccio_acodec>;
792 vccio3-supply = <&vccio_sd>;
793 vccio4-supply = <&vcca1v8_pmu>;
794 vccio5-supply = <&vcc2v8_dvp>;
795 vccio6-supply = <&vcc1v8_dvp>;
796 vccio7-supply = <&vcc_3v3>;
797};
798
799&pwm4 {
800 status = "okay";
801};
802
803&saradc {
804 vref-supply = <&vcc_1v8>;
805 status = "okay";
806};
807
808&sdhci {
809 bus-width = <8>;
810 mmc-hs200-1_8v;
811 non-removable;
812 pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>,
813 <&emmc_datastrobe>, <&emmc_rstnout>;
814 pinctrl-names = "default";
815 status = "okay";
816};
817
818&sdmmc0 {
819 bus-width = <4>;
820 cap-mmc-highspeed;
821 cap-sd-highspeed;
822 disable-wp;
823 pinctrl-0 = <&sdmmc0_bus4>, <&sdmmc0_clk>, <&sdmmc0_cmd>,
824 <&sdmmc0_det>;
825 pinctrl-names = "default";
826 sd-uhs-sdr104;
827 vqmmc-supply = <&vccio_sd>;
828 status = "okay";
829};
830
831&sdmmc1 {
832 bus-width = <4>;
833 cap-sd-highspeed;
834 cap-sdio-irq;
835 keep-power-in-suspend;
836 mmc-pwrseq = <&sdio_pwrseq>;
837 non-removable;
838 pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_cmd>, <&sdmmc1_clk>;
839 pinctrl-names = "default";
840 vmmc-supply = <&vcc_wifi>;
841 status = "okay";
842};
843
844&sdmmc2 {
845 bus-width = <4>;
846 cap-mmc-highspeed;
847 cap-sd-highspeed;
848 disable-wp;
849 pinctrl-0 = <&sdmmc2m1_bus4>, <&sdmmc2m1_cmd>, <&sdmmc2m1_clk>,
850 <&sdmmc2m1_det>;
851 pinctrl-names = "default";
852 sd-uhs-sdr104;
853 vqmmc-supply = <&vcc2v8_dvp>;
854 status = "okay";
855};
856
857&tsadc {
858 rockchip,hw-tshut-mode = <1>;
859 rockchip,hw-tshut-polarity = <0>;
860 status = "okay";
861};
862
863&uart1 {
864 pinctrl-0 = <&uart1m0_xfer>, <&uart1m0_ctsn>, <&uart1m0_rtsn>;
865 pinctrl-names = "default";
866 uart-has-rtscts;
867 status = "okay";
868
869 bluetooth {
870 compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt";
871 device-wake-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
872 enable-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
873 host-wake-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
874 };
875};
876
877&uart2 {
878 status = "okay";
879};
880
881&usb_host0_xhci {
882 phys = <&usb2phy0_otg>;
883 phy-names = "usb2-phy";
884 status = "okay";
885};
886
887&usb_host1_xhci {
888 status = "okay";
889};
890
891&usb2phy0 {
892 status = "okay";
893};
894
895&usb2phy0_otg {
896 status = "okay";
897};
898
899&usb2phy0_host {
900 phy-supply = <&vcc5v0_host>;
901 status = "okay";
902};
903
904&vop {
905 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
906 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
907 status = "okay";
908};
909
910&vop_mmu {
911 status = "okay";
912};
913
914&vp0 {
915 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
916 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
917 remote-endpoint = <&hdmi_in_vp0>;
918 };
919};
920
921&vp1 {
922 vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 {
923 reg = <ROCKCHIP_VOP2_EP_MIPI0>;
924 remote-endpoint = <&dsi0_in_vp1>;
925 };
926};