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