blob: 173da81fc23117f959b859e5587d44dcea7c1143 [file] [log] [blame]
Andy Yancdb03cf2022-09-18 19:30:02 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd.
4 */
5
6/dts-v1/;
7#include <dt-bindings/input/linux-event-codes.h>
8#include <dt-bindings/pwm/pwm.h>
9#include <dt-bindings/usb/pd.h>
10#include "rk3399.dtsi"
11#include "rk3399-opp.dtsi"
12
13/ {
14 model = "OPEN AI LAB EAIDK-610";
15 compatible = "openailab,eaidk-610", "rockchip,rk3399";
16
17 aliases {
Jonas Karlman1a4ea732024-05-01 16:22:26 +000018 ethernet0 = &gmac;
Andy Yancdb03cf2022-09-18 19:30:02 +080019 mmc0 = &sdio0;
20 mmc1 = &sdmmc;
21 mmc2 = &sdhci;
22 };
23
24 backlight: backlight {
25 compatible = "pwm-backlight";
26 pwms = <&pwm0 0 25000 0>;
27 brightness-levels = <
28 0 1 2 3 4 5 6 7
29 8 9 10 11 12 13 14 15
30 16 17 18 19 20 21 22 23
31 24 25 26 27 28 29 30 31
32 32 33 34 35 36 37 38 39
33 40 41 42 43 44 45 46 47
34 48 49 50 51 52 53 54 55
35 56 57 58 59 60 61 62 63
36 64 65 66 67 68 69 70 71
37 72 73 74 75 76 77 78 79
38 80 81 82 83 84 85 86 87
39 88 89 90 91 92 93 94 95
40 96 97 98 99 100 101 102 103
41 104 105 106 107 108 109 110 111
42 112 113 114 115 116 117 118 119
43 120 121 122 123 124 125 126 127
44 128 129 130 131 132 133 134 135
45 136 137 138 139 140 141 142 143
46 144 145 146 147 148 149 150 151
47 152 153 154 155 156 157 158 159
48 160 161 162 163 164 165 166 167
49 168 169 170 171 172 173 174 175
50 176 177 178 179 180 181 182 183
51 184 185 186 187 188 189 190 191
52 192 193 194 195 196 197 198 199
53 200 201 202 203 204 205 206 207
54 208 209 210 211 212 213 214 215
55 216 217 218 219 220 221 222 223
56 224 225 226 227 228 229 230 231
57 232 233 234 235 236 237 238 239
58 240 241 242 243 244 245 246 247
59 248 249 250 251 252 253 254 255>;
60 default-brightness-level = <200>;
61 };
62
63 clkin_gmac: external-gmac-clock {
64 compatible = "fixed-clock";
65 clock-frequency = <125000000>;
66 clock-output-names = "clkin_gmac";
67 #clock-cells = <0>;
68 };
69
70 dc_12v: dc-12v {
71 compatible = "regulator-fixed";
72 regulator-name = "dc_12v";
73 regulator-always-on;
74 regulator-boot-on;
75 regulator-min-microvolt = <12000000>;
76 regulator-max-microvolt = <12000000>;
77 };
78
79 gpio-keys {
80 compatible = "gpio-keys";
81 autorepeat;
82 pinctrl-names = "default";
83 pinctrl-0 = <&pwrbtn>;
84
85 key-power {
86 debounce-interval = <100>;
87 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
88 label = "GPIO Key Power";
89 linux,code = <KEY_POWER>;
90 wakeup-source;
91 };
92 };
93
94 leds {
95 compatible = "gpio-leds";
96 pinctrl-names = "default";
97 pinctrl-0 = <&work_led_pin>, <&user_led_pin>,
98 <&heartbeat_led_pin>, <&wlan_active_led_pin>,
99 <&bt_active_led_pin>;
100
101 work_led: led-0 {
102 label = "blue:work";
103 default-state = "on";
104 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
105 };
106
107 user_led: led-1 {
108 label = "read:user";
109 default-state = "off";
110 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
111 };
112
113 heartbeat_led: led-2 {
114 label = "green:heartbeat";
115 linux,default-trigger = "heartbeat";
116 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
117 };
118
119 wlan_active_led: led-3 {
120 label = "yellow:wlan";
121 gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
122 linux,default-trigger = "phy0tx";
123 default-state = "off";
124 };
125
126 bt_active_led: led-4 {
127 label = "blue:bt";
128 gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
129 linux,default-trigger = "hci0-power";
130 default-state = "off";
131 };
132 };
133
134 rt5651-sound {
135 compatible = "simple-audio-card";
136 simple-audio-card,name = "realtek,rt5651-codec";
137 simple-audio-card,format = "i2s";
138 simple-audio-card,mclk-fs = <256>;
139 simple-audio-card,widgets =
140 "Microphone", "Mic Jack",
141 "Headphone", "Headphone Jack";
142 simple-audio-card,routing =
143 "Mic Jack", "MICBIAS1",
144 "IN1P", "Mic Jack",
145 "Headphone Jack", "HPOL",
146 "Headphone Jack", "HPOR";
147 simple-audio-card,cpu {
148 sound-dai = <&i2s1>;
149 };
150 simple-audio-card,codec {
151 sound-dai = <&rt5651>;
152 };
153 };
154
155 sdio_pwrseq: sdio-pwrseq {
156 compatible = "mmc-pwrseq-simple";
157 clocks = <&rk808 1>;
158 clock-names = "ext_clock";
159 pinctrl-names = "default";
160 pinctrl-0 = <&wifi_enable_h>;
161
162 /*
163 * On the module itself this is one of these (depending
164 * on the actual card populated):
165 * - SDIO_RESET_L_WL_REG_ON
166 * - PDN (power down when low)
167 */
168 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
169 };
170
171 /* switched by pmic_sleep */
172 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
173 compatible = "regulator-fixed";
174 regulator-name = "vcc1v8_s3";
175 regulator-always-on;
176 regulator-boot-on;
177 regulator-min-microvolt = <1800000>;
178 regulator-max-microvolt = <1800000>;
179 vin-supply = <&vcc_1v8>;
180 };
181
182 vcc3v3_sys: vcc3v3-sys {
183 compatible = "regulator-fixed";
184 regulator-name = "vcc3v3_sys";
185 regulator-always-on;
186 regulator-boot-on;
187 regulator-min-microvolt = <3300000>;
188 regulator-max-microvolt = <3300000>;
189 vin-supply = <&dc_12v>;
190 };
191
192 vcc5v0_sys: vcc5v0-sys {
193 compatible = "regulator-fixed";
194 regulator-name = "vcc5v0_sys";
195 regulator-always-on;
196 regulator-boot-on;
197 regulator-min-microvolt = <5000000>;
198 regulator-max-microvolt = <5000000>;
199 vin-supply = <&dc_12v>;
200 };
201
202 /* For USB3.0 Port1/2 */
203 vcc5v0_host1: vcc5v0-host1-regulator {
204 compatible = "regulator-fixed";
205 enable-active-high;
206 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&vcc5v0_host1_en>;
209 regulator-name = "vcc5v0_host1";
210 regulator-always-on;
211 vin-supply = <&vcc5v0_sys>;
212 };
213
214 /* For USB2.0 Port1/2 */
215 vcc5v0_host3: vcc5v0-host3-regulator {
216 compatible = "regulator-fixed";
217 enable-active-high;
218 gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
219 pinctrl-names = "default";
220 pinctrl-0 = <&vcc5v0_host3_en>;
221 regulator-name = "vcc5v0_host3";
222 regulator-always-on;
223 vin-supply = <&vcc5v0_sys>;
224 };
225
226 vcc5v0_typec: vcc5v0-typec-regulator {
227 compatible = "regulator-fixed";
228 enable-active-high;
229 gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
230 pinctrl-names = "default";
231 pinctrl-0 = <&vcc5v0_typec_en>;
232 regulator-name = "vcc5v0_typec";
233 regulator-always-on;
234 vin-supply = <&vcc3v3_sys>;
235 };
236
237 vdd_log: vdd-log {
238 compatible = "regulator-fixed";
239 regulator-name = "vdd_log";
240 regulator-always-on;
241 regulator-boot-on;
242 regulator-min-microvolt = <900000>;
243 regulator-max-microvolt = <900000>;
244 };
245};
246
247&cpu_l0 {
248 cpu-supply = <&vdd_cpu_l>;
249};
250
251&cpu_l1 {
252 cpu-supply = <&vdd_cpu_l>;
253};
254
255&cpu_l2 {
256 cpu-supply = <&vdd_cpu_l>;
257};
258
259&cpu_l3 {
260 cpu-supply = <&vdd_cpu_l>;
261};
262
263&cpu_b0 {
264 cpu-supply = <&vdd_cpu_b>;
265};
266
267&cpu_b1 {
268 cpu-supply = <&vdd_cpu_b>;
269};
270
271&emmc_phy {
272 status = "okay";
273};
274
275&gmac {
276 assigned-clocks = <&cru SCLK_RMII_SRC>;
277 assigned-clock-parents = <&clkin_gmac>;
278 clock_in_out = "input";
279 phy-supply = <&vcc_lan>;
280 phy-mode = "rgmii";
281 pinctrl-names = "default";
282 pinctrl-0 = <&rgmii_pins>;
283 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
284 snps,reset-active-low;
285 snps,reset-delays-us = <0 10000 50000>;
286 tx_delay = <0x28>;
287 rx_delay = <0x11>;
288 status = "okay";
289};
290
291&gpu {
292 mali-supply = <&vdd_gpu>;
293 status = "okay";
294};
295
296&hdmi {
297 ddc-i2c-bus = <&i2c3>;
298 pinctrl-names = "default";
299 pinctrl-0 = <&hdmi_cec>;
300 status = "okay";
301};
302
303&i2c0 {
304 status = "okay";
305
306 rk808: pmic@1b {
307 compatible = "rockchip,rk808";
308 reg = <0x1b>;
309 interrupt-parent = <&gpio1>;
310 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
311 pinctrl-names = "default";
312 pinctrl-0 = <&pmic_int_l>;
313 rockchip,system-power-controller;
314 wakeup-source;
315 #clock-cells = <1>;
316 clock-output-names = "xin32k", "rk808-clkout2";
317
318 vcc1-supply = <&vcc3v3_sys>;
319 vcc2-supply = <&vcc3v3_sys>;
320 vcc3-supply = <&vcc3v3_sys>;
321 vcc4-supply = <&vcc3v3_sys>;
322 vcc6-supply = <&vcc3v3_sys>;
323 vcc7-supply = <&vcc3v3_sys>;
324 vcc8-supply = <&vcc3v3_sys>;
325 vcc9-supply = <&vcc3v3_sys>;
326 vcc10-supply = <&vcc3v3_sys>;
327 vcc11-supply = <&vcc3v3_sys>;
328 vcc12-supply = <&vcc3v3_sys>;
329 vddio-supply = <&vcc_3v0>;
330
331 regulators {
332 vdd_center: DCDC_REG1 {
333 regulator-name = "vdd_center";
334 regulator-min-microvolt = <750000>;
335 regulator-max-microvolt = <1350000>;
336 regulator-ramp-delay = <6001>;
337 regulator-always-on;
338 regulator-boot-on;
339
340 regulator-state-mem {
341 regulator-off-in-suspend;
342 };
343 };
344
345 vdd_cpu_l: DCDC_REG2 {
346 regulator-name = "vdd_cpu_l";
347 regulator-min-microvolt = <750000>;
348 regulator-max-microvolt = <1350000>;
349 regulator-ramp-delay = <6001>;
350 regulator-always-on;
351 regulator-boot-on;
352
353 regulator-state-mem {
354 regulator-off-in-suspend;
355 };
356 };
357
358 vcc_ddr: DCDC_REG3 {
359 regulator-name = "vcc_ddr";
360 regulator-always-on;
361 regulator-boot-on;
362 regulator-state-mem {
363 regulator-on-in-suspend;
364 };
365 };
366
367 vcc_1v8: DCDC_REG4 {
368 regulator-name = "vcc_1v8";
369 regulator-min-microvolt = <1800000>;
370 regulator-max-microvolt = <1800000>;
371 regulator-always-on;
372 regulator-boot-on;
373
374 regulator-state-mem {
375 regulator-on-in-suspend;
376 regulator-suspend-microvolt = <1800000>;
377 };
378 };
379
380 vcc1v8_dvp: LDO_REG1 {
381 regulator-name = "vcc1v8_dvp";
382 regulator-min-microvolt = <1800000>;
383 regulator-max-microvolt = <1800000>;
384 regulator-always-on;
385 regulator-boot-on;
386
387 regulator-state-mem {
388 regulator-off-in-suspend;
389 };
390 };
391
392 vcc2v8_dvp: LDO_REG2 {
393 regulator-name = "vcc2v8_dvp";
394 regulator-min-microvolt = <2800000>;
395 regulator-max-microvolt = <2800000>;
396 regulator-always-on;
397 regulator-boot-on;
398
399 regulator-state-mem {
400 regulator-off-in-suspend;
401 };
402 };
403
404 vcc1v8_pmu: LDO_REG3 {
405 regulator-name = "vcc1v8_pmu";
406 regulator-min-microvolt = <1800000>;
407 regulator-max-microvolt = <1800000>;
408 regulator-always-on;
409 regulator-boot-on;
410
411 regulator-state-mem {
412 regulator-on-in-suspend;
413 regulator-suspend-microvolt = <1800000>;
414 };
415 };
416
417 vcc_sdio: LDO_REG4 {
418 regulator-name = "vcc_sdio";
419 regulator-min-microvolt = <1800000>;
420 regulator-max-microvolt = <3000000>;
421 regulator-always-on;
422 regulator-boot-on;
423
424 regulator-state-mem {
425 regulator-on-in-suspend;
426 regulator-suspend-microvolt = <3000000>;
427 };
428 };
429
430 vcca3v0_codec: LDO_REG5 {
431 regulator-name = "vcca3v0_codec";
432 regulator-min-microvolt = <3000000>;
433 regulator-max-microvolt = <3000000>;
434 regulator-always-on;
435 regulator-boot-on;
436
437 regulator-state-mem {
438 regulator-off-in-suspend;
439 };
440 };
441
442 vcc_1v5: LDO_REG6 {
443 regulator-name = "vcc_1v5";
444 regulator-min-microvolt = <1500000>;
445 regulator-max-microvolt = <1500000>;
446 regulator-always-on;
447 regulator-boot-on;
448
449 regulator-state-mem {
450 regulator-on-in-suspend;
451 regulator-suspend-microvolt = <1500000>;
452 };
453 };
454
455 vcca1v8_codec: LDO_REG7 {
456 regulator-name = "vcca1v8_codec";
457 regulator-min-microvolt = <1800000>;
458 regulator-max-microvolt = <1800000>;
459 regulator-always-on;
460 regulator-boot-on;
461
462 regulator-state-mem {
463 regulator-off-in-suspend;
464 };
465 };
466
467 vcc_3v0: LDO_REG8 {
468 regulator-name = "vcc_3v0";
469 regulator-min-microvolt = <3000000>;
470 regulator-max-microvolt = <3000000>;
471 regulator-always-on;
472 regulator-boot-on;
473
474 regulator-state-mem {
475 regulator-on-in-suspend;
476 regulator-suspend-microvolt = <3000000>;
477 };
478 };
479
480 vcc3v3_s3: vcc_lan: SWITCH_REG1 {
481 regulator-name = "vcc3v3_s3";
482 regulator-always-on;
483 regulator-boot-on;
484 regulator-state-mem {
485 regulator-off-in-suspend;
486 };
487 };
488
489 vcc3v3_s0: SWITCH_REG2 {
490 regulator-name = "vcc3v3_s0";
491 regulator-always-on;
492 regulator-boot-on;
493 regulator-state-mem {
494 regulator-off-in-suspend;
495 };
496 };
497 };
498 };
499
500 vdd_cpu_b: regulator@40 {
501 compatible = "silergy,syr827";
502 reg = <0x40>;
503 fcs,suspend-voltage-selector = <1>;
504 regulator-name = "vdd_cpu_b";
505 pinctrl-names = "default";
506 pinctrl-0 = <&vsel1_pin>;
507 regulator-min-microvolt = <712500>;
508 regulator-max-microvolt = <1500000>;
509 regulator-ramp-delay = <1000>;
510 regulator-always-on;
511 regulator-boot-on;
512 vin-supply = <&vcc3v3_sys>;
513
514 regulator-state-mem {
515 regulator-off-in-suspend;
516 };
517 };
518
519 vdd_gpu: regulator@41 {
520 compatible = "silergy,syr828";
521 reg = <0x41>;
522 fcs,suspend-voltage-selector = <1>;
523 regulator-name = "vdd_gpu";
524 pinctrl-names = "default";
525 pinctrl-0 = <&vsel2_pin>;
526 regulator-min-microvolt = <712500>;
527 regulator-max-microvolt = <1500000>;
528 regulator-ramp-delay = <1000>;
529 regulator-always-on;
530 regulator-boot-on;
531 vin-supply = <&vcc3v3_sys>;
532
533 regulator-state-mem {
534 regulator-off-in-suspend;
535 };
536 };
537};
538
539&i2c1 {
540 i2c-scl-rising-time-ns = <300>;
541 i2c-scl-falling-time-ns = <15>;
542 status = "okay";
543
544 rt5651: audio-codec@1a {
545 compatible = "rockchip,rt5651";
546 reg = <0x1a>;
547 clocks = <&cru SCLK_I2S_8CH_OUT>;
548 clock-names = "mclk";
549 hp-det-gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
550 spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
551 #sound-dai-cells = <0>;
552 };
553
554};
555
556&i2c3 {
557 i2c-scl-rising-time-ns = <450>;
558 i2c-scl-falling-time-ns = <15>;
559 status = "okay";
560};
561
562&i2c4 {
563 i2c-scl-rising-time-ns = <600>;
564 i2c-scl-falling-time-ns = <20>;
565 status = "okay";
566
567 fusb0: typec-portc@22 {
568 compatible = "fcs,fusb302";
569 reg = <0x22>;
570 interrupt-parent = <&gpio1>;
571 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
572 pinctrl-names = "default";
573 pinctrl-0 = <&fusb0_int>;
574 vbus-supply = <&vcc5v0_typec>;
575
576 ports {
577 #address-cells = <1>;
578 #size-cells = <0>;
579
580 port@0 {
581 reg = <0>;
582 usbc0_role_sw: endpoint@0 {
583 remote-endpoint = <&dwc3_0_role_switch>;
584 };
585 };
586 };
587
588 connector {
589 compatible = "usb-c-connector";
590 data-role = "dual";
591 label = "USB-C";
592
593 ports {
594 #address-cells = <1>;
595 #size-cells = <0>;
596
597 port@0 {
598 reg = <0>;
599
600 usbc_hs: endpoint {
601 remote-endpoint = <&u2phy0_typec_hs>;
602 };
603 };
604
605 port@1 {
606 reg = <1>;
607
608 usbc_ss: endpoint {
609 remote-endpoint = <&tcphy0_typec_ss>;
610 };
611 };
612 };
613 };
614 };
615};
616
617&i2s1 {
618 rockchip,playback-channels = <2>;
619 rockchip,capture-channels = <2>;
620 status = "okay";
621};
622
623&i2s2 {
624 status = "okay";
625};
626
627&io_domains {
628 status = "okay";
629
630 audio-supply = <&vcca1v8_codec>;
631 bt656-supply = <&vcc_3v0>;
632 gpio1830-supply = <&vcc_3v0>;
633 sdmmc-supply = <&vcc_sdio>;
634};
635
636&pmu_io_domains {
637 status = "okay";
638
639 pmu1830-supply = <&vcc_3v0>;
640};
641
642&pinctrl {
643 buttons {
644 pwrbtn: pwrbtn {
645 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
646 };
647 };
648
649 bt {
650 bt_enable_h: bt-enable-h {
651 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
652 };
653
654 bt_host_wake_l: bt-host-wake-l {
655 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
656 };
657
658 bt_wake_l: bt-wake-l {
659 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
660 };
661 };
662
663 fusb302x {
664 fusb0_int: fusb0-int {
665 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
666 };
667 };
668
669 lcd-panel {
670 lcd_panel_reset: lcd-panel-reset {
671 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
672 };
673 };
674
675 leds {
676 work_led_pin: work-led-pin {
677 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
678 };
679
680 user_led_pin: user-led-pin {
681 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
682 };
683
684 heartbeat_led_pin: heartbeat-led-pin {
685 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
686 };
687
688 wlan_active_led_pin: wlan-led-pin {
689 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
690 };
691
692 bt_active_led_pin: bt-led-pin {
693 rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
694 };
695
696
697 };
698
699 pmic {
700 pmic_int_l: pmic-int-l {
701 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
702 };
703
704 vsel1_pin: vsel1-pin {
705 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
706 };
707
708 vsel2_pin: vsel2-pin {
709 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
710 };
711 };
712
713 rt5651 {
714 rt5651_hpcon: rt5640-hpcon {
715 rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
716 };
717 };
718
719 sdio-pwrseq {
720 wifi_enable_h: wifi-enable-h {
721 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
722 };
723 };
724
725 usb-typec {
726 vcc5v0_typec_en: vcc5v0_typec_en {
727 rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
728 };
729 };
730
731 usb2 {
732 vcc5v0_host3_en: vcc5v0-host3-en {
733 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
734 };
735
736 vcc5v0_host1_en: vcc5v0-host1-en {
737 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
738 };
739 };
740
741 wifi {
742 wifi_host_wake_l: wifi-host-wake-l {
743 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
744 };
745 };
746};
747
748&pwm0 {
749 status = "okay";
750};
751
752&saradc {
753 vref-supply = <&vcca1v8_s3>;
754 status = "okay";
755};
756
757&sdio0 {
758 /* WiFi & BT combo module AMPAK AP6255 */
759 #address-cells = <1>;
760 #size-cells = <0>;
761 bus-width = <4>;
762 clock-frequency = <50000000>;
763 cap-sdio-irq;
764 cap-sd-highspeed;
765 keep-power-in-suspend;
766 mmc-pwrseq = <&sdio_pwrseq>;
767 non-removable;
768 pinctrl-names = "default";
769 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
770 sd-uhs-sdr104;
771 status = "okay";
772
773 brcmf: wifi@1 {
774 compatible = "brcm,bcm4329-fmac";
775 reg = <1>;
776 interrupt-parent = <&gpio0>;
Jonas Karlman1a4ea732024-05-01 16:22:26 +0000777 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
Andy Yancdb03cf2022-09-18 19:30:02 +0800778 interrupt-names = "host-wake";
779 pinctrl-names = "default";
780 pinctrl-0 = <&wifi_host_wake_l>;
781 };
782};
783
784&sdmmc {
785 bus-width = <4>;
786 cap-mmc-highspeed;
787 cap-sd-highspeed;
788 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
789 disable-wp;
790 max-frequency = <150000000>;
791 pinctrl-names = "default";
792 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
793 status = "okay";
794};
795
796&sdhci {
797 bus-width = <8>;
798 non-removable;
799 status = "okay";
800};
801
802&tcphy0 {
803 status = "okay";
804};
805
806&tcphy0_usb3 {
807 orientation-switch;
808 port {
809 tcphy0_typec_ss: endpoint {
810 remote-endpoint = <&usbc_ss>;
811 };
812 };
813};
814
815&tcphy1 {
816 status = "okay";
817};
818
819&tsadc {
820 /* tshut mode 0:CRU 1:GPIO */
821 rockchip,hw-tshut-mode = <1>;
822 /* tshut polarity 0:LOW 1:HIGH */
823 rockchip,hw-tshut-polarity = <1>;
824 status = "okay";
825};
826
827&u2phy0 {
828 status = "okay";
829
830 u2phy0_otg: otg-port {
831 status = "okay";
832 };
833
834 u2phy0_host: host-port {
835 phy-supply = <&vcc5v0_host3>;
836 status = "okay";
837 };
838
839 port {
840 u2phy0_typec_hs: endpoint {
841 remote-endpoint = <&usbc_hs>;
842 };
843 };
844};
845
846&u2phy1 {
847 status = "okay";
848
849 u2phy1_otg: otg-port {
850 status = "okay";
851 };
852
853 u2phy1_host: host-port {
854 phy-supply = <&vcc5v0_host3>;
855 status = "okay";
856 };
857};
858
859&uart0 {
860 pinctrl-names = "default";
861 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
862 status = "okay";
863
864 bluetooth {
865 compatible = "brcm,bcm4345c5";
866 clocks = <&rk808 1>;
867 clock-names = "lpo";
868 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
869 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
870 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
871 max-speed = <1500000>;
872 pinctrl-names = "default";
873 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
874 vbat-supply = <&vcc3v3_sys>;
875 vddio-supply = <&vcc_1v8>;
876 };
877};
878
879&uart2 {
880 status = "okay";
881};
882
883&usb_host0_ehci {
884 status = "okay";
885};
886
887&usb_host0_ohci {
888 status = "okay";
889};
890
891&usb_host1_ehci {
892 status = "okay";
893};
894
895&usb_host1_ohci {
896 status = "okay";
897};
898
899&usbdrd3_0 {
900 status = "okay";
901};
902
903&usbdrd_dwc3_0 {
904 status = "okay";
905 usb-role-switch;
906
907 port {
908 #address-cells = <1>;
909 #size-cells = <0>;
910 dwc3_0_role_switch: endpoint@0 {
911 reg = <0>;
912 remote-endpoint = <&usbc0_role_sw>;
913 };
914 };
915};
916
917&usbdrd3_1 {
918 status = "okay";
919};
920
921&usbdrd_dwc3_1 {
922 status = "okay";
923 dr_mode = "host";
924};
925
926&vopb {
927 status = "okay";
928};
929
930&vopb_mmu {
931 status = "okay";
932};
933
934&vopl {
935 status = "okay";
936};
937
938&vopl_mmu {
939 status = "okay";
940};