Merge tag 'acpi-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[linux-block.git] / arch / arm64 / boot / dts / rockchip / rk3566-anbernic-rgxx3.dtsi
1 // 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         chosen: chosen {
14                 stdout-path = "serial2:1500000n8";
15         };
16
17         adc-joystick {
18                 compatible = "adc-joystick";
19                 io-channels = <&adc_mux 0>,
20                               <&adc_mux 1>,
21                               <&adc_mux 2>,
22                               <&adc_mux 3>;
23                 pinctrl-0 = <&joy_mux_en>;
24                 pinctrl-names = "default";
25                 poll-interval = <60>;
26                 #address-cells = <1>;
27                 #size-cells = <0>;
28
29                 axis@0 {
30                         reg = <0>;
31                         abs-flat = <32>;
32                         abs-fuzz = <32>;
33                         abs-range = <1023 15>;
34                         linux,code = <ABS_X>;
35                 };
36
37                 axis@1 {
38                         reg = <1>;
39                         abs-flat = <32>;
40                         abs-fuzz = <32>;
41                         abs-range = <15 1023>;
42                         linux,code = <ABS_RX>;
43                 };
44
45                 axis@2 {
46                         reg = <2>;
47                         abs-flat = <32>;
48                         abs-fuzz = <32>;
49                         abs-range = <15 1023>;
50                         linux,code = <ABS_Y>;
51                 };
52
53                 axis@3 {
54                         reg = <3>;
55                         abs-flat = <32>;
56                         abs-fuzz = <32>;
57                         abs-range = <1023 15>;
58                         linux,code = <ABS_RY>;
59                 };
60         };
61
62         adc_keys: adc-keys {
63                 compatible = "adc-keys";
64                 io-channels = <&saradc 0>;
65                 io-channel-names = "buttons";
66                 keyup-threshold-microvolt = <1800000>;
67                 poll-interval = <60>;
68
69                 /*
70                  * Button is mapped to F key in BSP kernel, but
71                  * according to input guidelines it should be mode.
72                  */
73                 button-mode {
74                         label = "MODE";
75                         linux,code = <BTN_MODE>;
76                         press-threshold-microvolt = <1750>;
77                 };
78         };
79
80         adc_mux: adc-mux {
81                 compatible = "io-channel-mux";
82                 channels = "left_x", "right_x", "left_y", "right_y";
83                 #io-channel-cells = <1>;
84                 io-channels = <&saradc 3>;
85                 io-channel-names = "parent";
86                 mux-controls = <&gpio_mux>;
87                 settle-time-us = <100>;
88         };
89
90         gpio_keys_control: gpio-keys-control {
91                 compatible = "gpio-keys";
92                 pinctrl-0 = <&btn_pins_ctrl>;
93                 pinctrl-names = "default";
94
95                 button-b {
96                         gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>;
97                         label = "SOUTH";
98                         linux,code = <BTN_SOUTH>;
99                 };
100
101                 button-down {
102                         gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
103                         label = "DPAD-DOWN";
104                         linux,code = <BTN_DPAD_DOWN>;
105                 };
106
107                 button-l1 {
108                         gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
109                         label = "TL";
110                         linux,code = <BTN_TL>;
111                 };
112
113                 button-l2 {
114                         gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
115                         label = "TL2";
116                         linux,code = <BTN_TL2>;
117                 };
118
119                 button-select {
120                         gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
121                         label = "SELECT";
122                         linux,code = <BTN_SELECT>;
123                 };
124
125                 button-start {
126                         gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
127                         label = "START";
128                         linux,code = <BTN_START>;
129                 };
130
131                 button-thumbl {
132                         gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
133                         label = "THUMBL";
134                         linux,code = <BTN_THUMBL>;
135                 };
136
137                 button-thumbr {
138                         gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
139                         label = "THUMBR";
140                         linux,code = <BTN_THUMBR>;
141                 };
142
143                 button-up {
144                         gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
145                         label = "DPAD-UP";
146                         linux,code = <BTN_DPAD_UP>;
147                 };
148
149                 button-x {
150                         gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
151                         label = "NORTH";
152                         linux,code = <BTN_NORTH>;
153                 };
154         };
155
156         gpio_keys_vol: gpio-keys-vol {
157                 compatible = "gpio-keys";
158                 autorepeat;
159                 pinctrl-0 = <&btn_pins_vol>;
160                 pinctrl-names = "default";
161
162                 button-vol-down {
163                         gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
164                         label = "VOLUMEDOWN";
165                         linux,code = <KEY_VOLUMEDOWN>;
166                 };
167
168                 button-vol-up {
169                         gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
170                         label = "VOLUMEUP";
171                         linux,code = <KEY_VOLUMEUP>;
172                 };
173         };
174
175         gpio_mux: mux-controller {
176                 compatible = "gpio-mux";
177                 mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
178                             <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
179                 #mux-control-cells = <0>;
180         };
181
182         hdmi-con {
183                 compatible = "hdmi-connector";
184                 ddc-i2c-bus = <&i2c5>;
185                 type = "c";
186
187                 port {
188                         hdmi_con_in: endpoint {
189                                 remote-endpoint = <&hdmi_out_con>;
190                         };
191                 };
192         };
193
194         leds: gpio-leds {
195                 compatible = "gpio-leds";
196                 pinctrl-0 = <&led_pins>;
197                 pinctrl-names = "default";
198
199                 green_led: led-0 {
200                         color = <LED_COLOR_ID_GREEN>;
201                         default-state = "on";
202                         function = LED_FUNCTION_POWER;
203                         gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
204                 };
205
206                 amber_led: led-1 {
207                         color = <LED_COLOR_ID_AMBER>;
208                         function = LED_FUNCTION_CHARGING;
209                         gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
210                         retain-state-suspended;
211                 };
212
213                 red_led: led-2 {
214                         color = <LED_COLOR_ID_RED>;
215                         default-state = "off";
216                         function = LED_FUNCTION_STATUS;
217                         gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
218                 };
219         };
220
221         sdio_pwrseq: sdio-pwrseq {
222                 compatible = "mmc-pwrseq-simple";
223                 clocks = <&rk817 1>;
224                 clock-names = "ext_clock";
225                 pinctrl-0 = <&wifi_enable_h>;
226                 pinctrl-names = "default";
227                 post-power-on-delay-ms = <200>;
228                 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>;
229         };
230
231         vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 {
232                 compatible = "regulator-fixed";
233                 gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
234                 enable-active-high;
235                 pinctrl-0 = <&vcc_lcd_h>;
236                 pinctrl-names = "default";
237                 regulator-boot-on;
238                 regulator-min-microvolt = <3300000>;
239                 regulator-max-microvolt = <3300000>;
240                 regulator-name = "vcc3v3_lcd0_n";
241                 vin-supply = <&vcc_3v3>;
242                 regulator-state-mem {
243                         regulator-off-in-suspend;
244                 };
245         };
246
247         vcc_sys: regulator-vcc-sys {
248                 compatible = "regulator-fixed";
249                 regulator-always-on;
250                 regulator-boot-on;
251                 regulator-min-microvolt = <3800000>;
252                 regulator-max-microvolt = <3800000>;
253                 regulator-name = "vcc_sys";
254         };
255
256         vcc_wifi: regulator-vcc-wifi {
257                 compatible = "regulator-fixed";
258                 enable-active-high;
259                 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
260                 pinctrl-0 = <&vcc_wifi_h>;
261                 pinctrl-names = "default";
262                 regulator-always-on;
263                 regulator-boot-on;
264                 regulator-min-microvolt = <3300000>;
265                 regulator-max-microvolt = <3300000>;
266                 regulator-name = "vcc_wifi";
267         };
268
269         vibrator: pwm-vibrator {
270                 compatible = "pwm-vibrator";
271                 pwm-names = "enable";
272                 pwms = <&pwm5 0 1000000000 0>;
273         };
274 };
275
276 &combphy1 {
277         status = "okay";
278 };
279
280 &cpu0 {
281         cpu-supply = <&vdd_cpu>;
282 };
283
284 &cpu1 {
285         cpu-supply = <&vdd_cpu>;
286 };
287
288 &cpu2 {
289         cpu-supply = <&vdd_cpu>;
290 };
291
292 &cpu3 {
293         cpu-supply = <&vdd_cpu>;
294 };
295
296 &gpu {
297         mali-supply = <&vdd_gpu>;
298         status = "okay";
299 };
300
301 &hdmi {
302         ddc-i2c-bus = <&i2c5>;
303         pinctrl-0 = <&hdmitxm0_cec>;
304         pinctrl-names = "default";
305         status = "okay";
306 };
307
308 &hdmi_in {
309         hdmi_in_vp0: endpoint {
310                 remote-endpoint = <&vp0_out_hdmi>;
311         };
312 };
313
314 &hdmi_out {
315         hdmi_out_con: endpoint {
316                 remote-endpoint = <&hdmi_con_in>;
317         };
318 };
319
320 &hdmi_sound {
321         status = "okay";
322 };
323
324 &i2c0 {
325         status = "okay";
326
327         rk817: pmic@20 {
328                 compatible = "rockchip,rk817";
329                 reg = <0x20>;
330                 interrupt-parent = <&gpio0>;
331                 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
332                 clock-output-names = "rk808-clkout1", "rk808-clkout2";
333                 clock-names = "mclk";
334                 clocks = <&cru I2S1_MCLKOUT_TX>;
335                 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
336                 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
337                 #clock-cells = <1>;
338                 #sound-dai-cells = <0>;
339                 pinctrl-names = "default";
340                 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>;
341                 wakeup-source;
342
343                 vcc1-supply = <&vcc_sys>;
344                 vcc2-supply = <&vcc_sys>;
345                 vcc3-supply = <&vcc_sys>;
346                 vcc4-supply = <&vcc_sys>;
347                 vcc5-supply = <&vcc_sys>;
348                 vcc6-supply = <&vcc_sys>;
349                 vcc7-supply = <&vcc_sys>;
350                 vcc8-supply = <&vcc_sys>;
351                 vcc9-supply = <&dcdc_boost>;
352
353                 regulators {
354                         vdd_logic: DCDC_REG1 {
355                                 regulator-always-on;
356                                 regulator-boot-on;
357                                 regulator-min-microvolt = <500000>;
358                                 regulator-max-microvolt = <1350000>;
359                                 regulator-init-microvolt = <900000>;
360                                 regulator-ramp-delay = <6001>;
361                                 regulator-initial-mode = <0x2>;
362                                 regulator-name = "vdd_logic";
363                                 regulator-state-mem {
364                                         regulator-off-in-suspend;
365                                         regulator-suspend-microvolt = <900000>;
366                                 };
367                         };
368
369                         vdd_gpu: DCDC_REG2 {
370                                 regulator-always-on;
371                                 regulator-boot-on;
372                                 regulator-min-microvolt = <500000>;
373                                 regulator-max-microvolt = <1350000>;
374                                 regulator-init-microvolt = <900000>;
375                                 regulator-ramp-delay = <6001>;
376                                 regulator-initial-mode = <0x2>;
377                                 regulator-name = "vdd_gpu";
378                                 regulator-state-mem {
379                                         regulator-off-in-suspend;
380                                 };
381                         };
382
383                         vcc_ddr: DCDC_REG3 {
384                                 regulator-always-on;
385                                 regulator-boot-on;
386                                 regulator-initial-mode = <0x2>;
387                                 regulator-name = "vcc_ddr";
388                                 regulator-state-mem {
389                                         regulator-on-in-suspend;
390                                 };
391                         };
392
393                         vcc_3v3: DCDC_REG4 {
394                                 regulator-always-on;
395                                 regulator-boot-on;
396                                 regulator-min-microvolt = <3300000>;
397                                 regulator-max-microvolt = <3300000>;
398                                 regulator-initial-mode = <0x2>;
399                                 regulator-name = "vcc_3v3";
400                                 regulator-state-mem {
401                                         regulator-on-in-suspend;
402                                         regulator-suspend-microvolt = <3300000>;
403                                 };
404                         };
405
406                         vcca1v8_pmu: LDO_REG1 {
407                                 regulator-always-on;
408                                 regulator-boot-on;
409                                 regulator-min-microvolt = <1800000>;
410                                 regulator-max-microvolt = <1800000>;
411                                 regulator-name = "vcca1v8_pmu";
412                                 regulator-state-mem {
413                                         regulator-on-in-suspend;
414                                         regulator-suspend-microvolt = <1800000>;
415                                 };
416                         };
417
418                         vdda_0v9: LDO_REG2 {
419                                 regulator-always-on;
420                                 regulator-boot-on;
421                                 regulator-min-microvolt = <900000>;
422                                 regulator-max-microvolt = <900000>;
423                                 regulator-name = "vdda_0v9";
424                                 regulator-state-mem {
425                                         regulator-off-in-suspend;
426                                 };
427                         };
428
429                         vdda0v9_pmu: LDO_REG3 {
430                                 regulator-always-on;
431                                 regulator-boot-on;
432                                 regulator-min-microvolt = <900000>;
433                                 regulator-max-microvolt = <900000>;
434                                 regulator-name = "vdda0v9_pmu";
435                                 regulator-state-mem {
436                                         regulator-on-in-suspend;
437                                         regulator-suspend-microvolt = <900000>;
438                                 };
439                         };
440
441                         vccio_acodec: LDO_REG4 {
442                                 regulator-always-on;
443                                 regulator-boot-on;
444                                 regulator-min-microvolt = <3300000>;
445                                 regulator-max-microvolt = <3300000>;
446                                 regulator-name = "vccio_acodec";
447                                 regulator-state-mem {
448                                         regulator-off-in-suspend;
449                                 };
450                         };
451
452                         vccio_sd: LDO_REG5 {
453                                 regulator-always-on;
454                                 regulator-boot-on;
455                                 regulator-min-microvolt = <1800000>;
456                                 regulator-max-microvolt = <3300000>;
457                                 regulator-name = "vccio_sd";
458                                 regulator-state-mem {
459                                         regulator-off-in-suspend;
460                                 };
461                         };
462
463                         vcc3v3_pmu: LDO_REG6 {
464                                 regulator-always-on;
465                                 regulator-boot-on;
466                                 regulator-min-microvolt = <3300000>;
467                                 regulator-max-microvolt = <3300000>;
468                                 regulator-name = "vcc3v3_pmu";
469                                 regulator-state-mem {
470                                         regulator-on-in-suspend;
471                                         regulator-suspend-microvolt = <3300000>;
472                                 };
473                         };
474
475                         vcc_1v8: LDO_REG7 {
476                                 regulator-always-on;
477                                 regulator-boot-on;
478                                 regulator-min-microvolt = <1800000>;
479                                 regulator-max-microvolt = <1800000>;
480                                 regulator-name = "vcc_1v8";
481                                 regulator-state-mem {
482                                         regulator-off-in-suspend;
483                                 };
484                         };
485
486                         vcc1v8_dvp: LDO_REG8 {
487                                 regulator-always-on;
488                                 regulator-boot-on;
489                                 regulator-min-microvolt = <1800000>;
490                                 regulator-max-microvolt = <3300000>;
491                                 regulator-name = "vcc1v8_dvp";
492                                 regulator-state-mem {
493                                         regulator-off-in-suspend;
494                                 };
495                         };
496
497                         vcc2v8_dvp: LDO_REG9 {
498                                 regulator-always-on;
499                                 regulator-boot-on;
500                                 regulator-min-microvolt = <2800000>;
501                                 regulator-max-microvolt = <2800000>;
502                                 regulator-name = "vcc2v8_dvp";
503                                 regulator-state-mem {
504                                         regulator-off-in-suspend;
505                                 };
506                         };
507
508                         dcdc_boost: BOOST {
509                                 regulator-always-on;
510                                 regulator-boot-on;
511                                 regulator-min-microvolt = <4700000>;
512                                 regulator-max-microvolt = <5400000>;
513                                 regulator-name = "boost";
514                                 regulator-state-mem {
515                                         regulator-off-in-suspend;
516                                 };
517                         };
518
519                         otg_switch: OTG_SWITCH {
520                                 regulator-name = "otg_switch";
521                                 regulator-state-mem {
522                                         regulator-off-in-suspend;
523                                 };
524                         };
525                 };
526         };
527
528         vdd_cpu: regulator@40 {
529                 compatible = "fcs,fan53555";
530                 reg = <0x40>;
531                 fcs,suspend-voltage-selector = <1>;
532                 regulator-always-on;
533                 regulator-boot-on;
534                 regulator-min-microvolt = <712500>;
535                 regulator-max-microvolt = <1390000>;
536                 regulator-init-microvolt = <900000>;
537                 regulator-name = "vdd_cpu";
538                 regulator-ramp-delay = <2300>;
539                 vin-supply = <&vcc_sys>;
540                 regulator-state-mem {
541                         regulator-off-in-suspend;
542                 };
543         };
544 };
545
546 &i2c1 {
547         /* Unknown/unused device at 0x3c */
548         status = "disabled";
549 };
550
551 &i2c5 {
552         pinctrl-0 = <&i2c5m1_xfer>;
553         pinctrl-names = "default";
554         status = "okay";
555 };
556
557 &i2s0_8ch {
558         status = "okay";
559 };
560
561 &i2s1_8ch {
562         pinctrl-0 = <&i2s1m0_sclktx
563                      &i2s1m0_lrcktx
564                      &i2s1m0_sdi0
565                      &i2s1m0_sdo0>;
566         pinctrl-names = "default";
567         rockchip,trcm-sync-tx-only;
568         status = "okay";
569 };
570
571 &pinctrl {
572         gpio-btns {
573                 btn_pins_ctrl: btn-pins-ctrl {
574                         rockchip,pins =
575                                 <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
576                                 <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
577                                 <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
578                                 <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
579                                 <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
580                                 <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
581                                 <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
582                                 <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
583                                 <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
584                                 <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
585                                 <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
586                                 <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
587                                 <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>,
588                                 <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>,
589                                 <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>,
590                                 <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>;
591                 };
592
593                 btn_pins_vol: btn-pins-vol {
594                         rockchip,pins =
595                         <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
596                         <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
597                 };
598         };
599
600         gpio-led {
601                 led_pins: led-pins {
602                         rockchip,pins =
603                                 <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>,
604                                 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>,
605                                 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
606                 };
607         };
608
609         joy-mux {
610                 joy_mux_en: joy-mux-en {
611                         rockchip,pins =
612                                 <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_low>;
613                 };
614         };
615
616         pmic {
617                 pmic_int_l: pmic-int-l {
618                         rockchip,pins =
619                                 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
620                 };
621         };
622
623         sdio-pwrseq {
624                 wifi_enable_h: wifi-enable-h {
625                         rockchip,pins =
626                                 <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
627                 };
628         };
629
630         vcc3v3-lcd {
631                 vcc_lcd_h: vcc-lcd-h {
632                         rockchip,pins =
633                                 <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
634                 };
635         };
636
637         vcc-wifi {
638                 vcc_wifi_h: vcc-wifi-h {
639                         rockchip,pins =
640                                 <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
641                 };
642         };
643 };
644
645 &pmu_io_domains {
646         status = "okay";
647         pmuio1-supply = <&vcc3v3_pmu>;
648         pmuio2-supply = <&vcc3v3_pmu>;
649         vccio1-supply = <&vccio_acodec>;
650         vccio3-supply = <&vccio_sd>;
651         vccio4-supply = <&vcc_1v8>;
652         vccio5-supply = <&vcc_3v3>;
653         vccio6-supply = <&vcc1v8_dvp>;
654         vccio7-supply = <&vcc_3v3>;
655 };
656
657 &pwm5 {
658         status = "okay";
659 };
660
661 &saradc {
662         vref-supply = <&vcc_1v8>;
663         status = "okay";
664 };
665
666 &sdmmc0 {
667         bus-width = <4>;
668         cap-sd-highspeed;
669         cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
670         disable-wp;
671         pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
672         pinctrl-names = "default";
673         sd-uhs-sdr104;
674         vmmc-supply = <&vcc_3v3>;
675         vqmmc-supply = <&vccio_sd>;
676         status = "okay";
677 };
678
679 &sdmmc1 {
680         bus-width = <4>;
681         cap-sd-highspeed;
682         cd-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>;
683         disable-wp;
684         pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &sdmmc1_det>;
685         pinctrl-names = "default";
686         sd-uhs-sdr104;
687         vmmc-supply = <&vcc_3v3>;
688         vqmmc-supply = <&vcc1v8_dvp>;
689         status = "okay";
690 };
691
692 &sdmmc2 {
693         bus-width = <4>;
694         cap-sd-highspeed;
695         cap-sdio-irq;
696         keep-power-in-suspend;
697         mmc-pwrseq = <&sdio_pwrseq>;
698         non-removable;
699         pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
700         pinctrl-names = "default";
701         vmmc-supply = <&vcc_wifi>;
702         vqmmc-supply = <&vcca1v8_pmu>;
703         status = "okay";
704 };
705
706 &tsadc {
707         rockchip,hw-tshut-mode = <1>;
708         rockchip,hw-tshut-polarity = <0>;
709         status = "okay";
710 };
711
712 &uart1 {
713         pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>;
714         pinctrl-names = "default";
715         uart-has-rtscts;
716         status = "okay";
717
718         bluetooth {
719                 compatible = "realtek,rtl8821cs-bt", "realtek,rtl8822cs-bt";
720                 device-wake-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
721                 enable-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
722                 host-wake-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>;
723         };
724 };
725
726 &uart2 {
727         status = "okay";
728 };
729
730 /*
731  * Lack the schematics to verify, but port works as a peripheral
732  * (and not a host or OTG port).
733  */
734 &usb_host0_xhci {
735         dr_mode = "peripheral";
736         phys = <&usb2phy0_otg>;
737         phy-names = "usb2-phy";
738         status = "okay";
739 };
740
741 &usb_host1_ehci {
742         status = "okay";
743 };
744
745 &usb_host1_ohci {
746         status = "okay";
747 };
748
749 &usb_host1_xhci {
750         phy-names = "usb2-phy", "usb3-phy";
751         phys = <&usb2phy1_host>, <&combphy1 PHY_TYPE_USB3>;
752         status = "okay";
753 };
754
755 &usb2phy0 {
756         status = "okay";
757 };
758
759 &usb2phy0_otg {
760         status = "okay";
761 };
762
763 &usb2phy1 {
764         status = "okay";
765 };
766
767 &usb2phy1_host {
768         status = "okay";
769 };
770
771 &vop {
772         assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
773         assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
774         status = "okay";
775 };
776
777 &vop_mmu {
778         status = "okay";
779 };
780
781 &vp0 {
782         vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
783                 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
784                 remote-endpoint = <&hdmi_in_vp0>;
785         };
786 };