Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / rockchip / rk3568-evb1-v10.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4  *
5  */
6
7 /dts-v1/;
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/leds/common.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/soc/rockchip,vop2.h>
12 #include "rk3568.dtsi"
13
14 / {
15         model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
16         compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
17
18         aliases {
19                 ethernet0 = &gmac0;
20                 ethernet1 = &gmac1;
21                 mmc0 = &sdmmc0;
22                 mmc1 = &sdhci;
23         };
24
25         chosen: chosen {
26                 stdout-path = "serial2:1500000n8";
27         };
28
29         dc_12v: dc-12v {
30                 compatible = "regulator-fixed";
31                 regulator-name = "dc_12v";
32                 regulator-always-on;
33                 regulator-boot-on;
34                 regulator-min-microvolt = <12000000>;
35                 regulator-max-microvolt = <12000000>;
36         };
37
38         hdmi-con {
39                 compatible = "hdmi-connector";
40                 type = "a";
41
42                 port {
43                         hdmi_con_in: endpoint {
44                                 remote-endpoint = <&hdmi_out_con>;
45                         };
46                 };
47         };
48
49         leds {
50                 compatible = "gpio-leds";
51
52                 led_work: led-0 {
53                         gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
54                         function = LED_FUNCTION_HEARTBEAT;
55                         color = <LED_COLOR_ID_BLUE>;
56                         linux,default-trigger = "heartbeat";
57                         pinctrl-names = "default";
58                         pinctrl-0 = <&led_work_en>;
59                 };
60         };
61
62         rk809-sound {
63                 compatible = "simple-audio-card";
64                 simple-audio-card,format = "i2s";
65                 simple-audio-card,name = "Analog RK809";
66                 simple-audio-card,mclk-fs = <256>;
67
68                 simple-audio-card,cpu {
69                         sound-dai = <&i2s1_8ch>;
70                 };
71                 simple-audio-card,codec {
72                         sound-dai = <&rk809>;
73                 };
74         };
75
76         vcc3v3_sys: vcc3v3-sys {
77                 compatible = "regulator-fixed";
78                 regulator-name = "vcc3v3_sys";
79                 regulator-always-on;
80                 regulator-boot-on;
81                 regulator-min-microvolt = <3300000>;
82                 regulator-max-microvolt = <3300000>;
83                 vin-supply = <&dc_12v>;
84         };
85
86         vcc5v0_sys: vcc5v0-sys {
87                 compatible = "regulator-fixed";
88                 regulator-name = "vcc5v0_sys";
89                 regulator-always-on;
90                 regulator-boot-on;
91                 regulator-min-microvolt = <5000000>;
92                 regulator-max-microvolt = <5000000>;
93                 vin-supply = <&dc_12v>;
94         };
95
96         vcc5v0_usb: vcc5v0-usb {
97                 compatible = "regulator-fixed";
98                 regulator-name = "vcc5v0_usb";
99                 regulator-always-on;
100                 regulator-boot-on;
101                 regulator-min-microvolt = <5000000>;
102                 regulator-max-microvolt = <5000000>;
103                 vin-supply = <&dc_12v>;
104         };
105
106         vcc5v0_usb_host: vcc5v0-usb-host {
107                 compatible = "regulator-fixed";
108                 enable-active-high;
109                 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
110                 pinctrl-names = "default";
111                 pinctrl-0 = <&vcc5v0_usb_host_en>;
112                 regulator-name = "vcc5v0_usb_host";
113                 regulator-min-microvolt = <5000000>;
114                 regulator-max-microvolt = <5000000>;
115                 vin-supply = <&vcc5v0_usb>;
116         };
117
118         vcc5v0_usb_otg: vcc5v0-usb-otg {
119                 compatible = "regulator-fixed";
120                 enable-active-high;
121                 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
122                 pinctrl-names = "default";
123                 pinctrl-0 = <&vcc5v0_usb_otg_en>;
124                 regulator-name = "vcc5v0_usb_otg";
125                 regulator-min-microvolt = <5000000>;
126                 regulator-max-microvolt = <5000000>;
127                 vin-supply = <&vcc5v0_usb>;
128         };
129
130         vcc3v3_lcd0_n: vcc3v3-lcd0-n {
131                 compatible = "regulator-fixed";
132                 regulator-name = "vcc3v3_lcd0_n";
133                 regulator-min-microvolt = <3300000>;
134                 regulator-max-microvolt = <3300000>;
135                 enable-active-high;
136                 gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
137                 vin-supply = <&vcc3v3_sys>;
138                 pinctrl-names = "default";
139                 pinctrl-0 = <&vcc3v3_lcd0_n_en>;
140
141                 regulator-state-mem {
142                         regulator-off-in-suspend;
143                 };
144         };
145
146         vcc3v3_lcd1_n: vcc3v3-lcd1-n {
147                 compatible = "regulator-fixed";
148                 regulator-name = "vcc3v3_lcd1_n";
149                 regulator-min-microvolt = <3300000>;
150                 regulator-max-microvolt = <3300000>;
151                 enable-active-high;
152                 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
153                 vin-supply = <&vcc3v3_sys>;
154                 pinctrl-names = "default";
155                 pinctrl-0 = <&vcc3v3_lcd1_n_en>;
156
157                 regulator-state-mem {
158                         regulator-off-in-suspend;
159                 };
160         };
161 };
162
163 &combphy0 {
164         status = "okay";
165 };
166
167 &combphy1 {
168         status = "okay";
169 };
170
171 &cpu0 {
172         cpu-supply = <&vdd_cpu>;
173 };
174
175 &cpu1 {
176         cpu-supply = <&vdd_cpu>;
177 };
178
179 &cpu2 {
180         cpu-supply = <&vdd_cpu>;
181 };
182
183 &cpu3 {
184         cpu-supply = <&vdd_cpu>;
185 };
186
187 &gmac0 {
188         assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
189         assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
190         assigned-clock-rates = <0>, <125000000>;
191         clock_in_out = "output";
192         phy-handle = <&rgmii_phy0>;
193         phy-mode = "rgmii-id";
194         pinctrl-names = "default";
195         pinctrl-0 = <&gmac0_miim
196                      &gmac0_tx_bus2
197                      &gmac0_rx_bus2
198                      &gmac0_rgmii_clk
199                      &gmac0_rgmii_bus>;
200         status = "okay";
201 };
202
203 &gmac1 {
204         assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
205         assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
206         assigned-clock-rates = <0>, <125000000>;
207         clock_in_out = "output";
208         phy-handle = <&rgmii_phy1>;
209         phy-mode = "rgmii-id";
210         pinctrl-names = "default";
211         pinctrl-0 = <&gmac1m1_miim
212                      &gmac1m1_tx_bus2
213                      &gmac1m1_rx_bus2
214                      &gmac1m1_rgmii_clk
215                      &gmac1m1_rgmii_bus>;
216         status = "okay";
217 };
218
219 &gpu {
220         mali-supply = <&vdd_gpu>;
221         status = "okay";
222 };
223
224 &hdmi {
225         avdd-0v9-supply = <&vdda0v9_image>;
226         avdd-1v8-supply = <&vcca1v8_image>;
227         status = "okay";
228 };
229
230 &hdmi_in {
231         hdmi_in_vp0: endpoint {
232                 remote-endpoint = <&vp0_out_hdmi>;
233         };
234 };
235
236 &hdmi_out {
237         hdmi_out_con: endpoint {
238                 remote-endpoint = <&hdmi_con_in>;
239         };
240 };
241
242 &hdmi_sound {
243         status = "okay";
244 };
245
246 &i2c0 {
247         status = "okay";
248
249         vdd_cpu: regulator@1c {
250                 compatible = "tcs,tcs4525";
251                 reg = <0x1c>;
252                 fcs,suspend-voltage-selector = <1>;
253                 regulator-name = "vdd_cpu";
254                 regulator-always-on;
255                 regulator-boot-on;
256                 regulator-min-microvolt = <800000>;
257                 regulator-max-microvolt = <1150000>;
258                 regulator-ramp-delay = <2300>;
259                 vin-supply = <&vcc5v0_sys>;
260
261                 regulator-state-mem {
262                         regulator-off-in-suspend;
263                 };
264         };
265
266         rk809: pmic@20 {
267                 compatible = "rockchip,rk809";
268                 reg = <0x20>;
269                 interrupt-parent = <&gpio0>;
270                 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
271                 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
272                 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
273                 #clock-cells = <1>;
274                 clock-names = "mclk";
275                 clocks = <&cru I2S1_MCLKOUT_TX>;
276                 pinctrl-names = "default";
277                 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
278                 rockchip,system-power-controller;
279                 #sound-dai-cells = <0>;
280                 vcc1-supply = <&vcc3v3_sys>;
281                 vcc2-supply = <&vcc3v3_sys>;
282                 vcc3-supply = <&vcc3v3_sys>;
283                 vcc4-supply = <&vcc3v3_sys>;
284                 vcc5-supply = <&vcc3v3_sys>;
285                 vcc6-supply = <&vcc3v3_sys>;
286                 vcc7-supply = <&vcc3v3_sys>;
287                 vcc8-supply = <&vcc3v3_sys>;
288                 vcc9-supply = <&vcc3v3_sys>;
289                 wakeup-source;
290
291                 regulators {
292                         vdd_logic: DCDC_REG1 {
293                                 regulator-name = "vdd_logic";
294                                 regulator-always-on;
295                                 regulator-boot-on;
296                                 regulator-initial-mode = <0x2>;
297                                 regulator-min-microvolt = <500000>;
298                                 regulator-max-microvolt = <1350000>;
299                                 regulator-ramp-delay = <6001>;
300
301                                 regulator-state-mem {
302                                         regulator-off-in-suspend;
303                                 };
304                         };
305
306                         vdd_gpu: DCDC_REG2 {
307                                 regulator-name = "vdd_gpu";
308                                 regulator-always-on;
309                                 regulator-initial-mode = <0x2>;
310                                 regulator-min-microvolt = <500000>;
311                                 regulator-max-microvolt = <1350000>;
312                                 regulator-ramp-delay = <6001>;
313
314                                 regulator-state-mem {
315                                         regulator-off-in-suspend;
316                                 };
317                         };
318
319                         vcc_ddr: DCDC_REG3 {
320                                 regulator-name = "vcc_ddr";
321                                 regulator-always-on;
322                                 regulator-boot-on;
323                                 regulator-initial-mode = <0x2>;
324
325                                 regulator-state-mem {
326                                         regulator-on-in-suspend;
327                                 };
328                         };
329
330                         vdd_npu: DCDC_REG4 {
331                                 regulator-name = "vdd_npu";
332                                 regulator-initial-mode = <0x2>;
333                                 regulator-min-microvolt = <500000>;
334                                 regulator-max-microvolt = <1350000>;
335                                 regulator-ramp-delay = <6001>;
336
337                                 regulator-state-mem {
338                                         regulator-off-in-suspend;
339                                 };
340                         };
341
342                         vcc_1v8: DCDC_REG5 {
343                                 regulator-name = "vcc_1v8";
344                                 regulator-always-on;
345                                 regulator-boot-on;
346                                 regulator-min-microvolt = <1800000>;
347                                 regulator-max-microvolt = <1800000>;
348
349                                 regulator-state-mem {
350                                         regulator-off-in-suspend;
351                                 };
352                         };
353
354                         vdda0v9_image: LDO_REG1 {
355                                 regulator-name = "vdda0v9_image";
356                                 regulator-min-microvolt = <900000>;
357                                 regulator-max-microvolt = <900000>;
358
359                                 regulator-state-mem {
360                                         regulator-off-in-suspend;
361                                 };
362                         };
363
364                         vdda_0v9: LDO_REG2 {
365                                 regulator-name = "vdda_0v9";
366                                 regulator-always-on;
367                                 regulator-boot-on;
368                                 regulator-min-microvolt = <900000>;
369                                 regulator-max-microvolt = <900000>;
370
371                                 regulator-state-mem {
372                                         regulator-off-in-suspend;
373                                 };
374                         };
375
376                         vdda0v9_pmu: LDO_REG3 {
377                                 regulator-name = "vdda0v9_pmu";
378                                 regulator-always-on;
379                                 regulator-boot-on;
380                                 regulator-min-microvolt = <900000>;
381                                 regulator-max-microvolt = <900000>;
382
383                                 regulator-state-mem {
384                                         regulator-on-in-suspend;
385                                         regulator-suspend-microvolt = <900000>;
386                                 };
387                         };
388
389                         vccio_acodec: LDO_REG4 {
390                                 regulator-name = "vccio_acodec";
391                                 regulator-always-on;
392                                 regulator-min-microvolt = <3300000>;
393                                 regulator-max-microvolt = <3300000>;
394
395                                 regulator-state-mem {
396                                         regulator-off-in-suspend;
397                                 };
398                         };
399
400                         vccio_sd: LDO_REG5 {
401                                 regulator-name = "vccio_sd";
402                                 regulator-min-microvolt = <1800000>;
403                                 regulator-max-microvolt = <3300000>;
404
405                                 regulator-state-mem {
406                                         regulator-off-in-suspend;
407                                 };
408                         };
409
410                         vcc3v3_pmu: LDO_REG6 {
411                                 regulator-name = "vcc3v3_pmu";
412                                 regulator-always-on;
413                                 regulator-boot-on;
414                                 regulator-min-microvolt = <3300000>;
415                                 regulator-max-microvolt = <3300000>;
416
417                                 regulator-state-mem {
418                                         regulator-on-in-suspend;
419                                         regulator-suspend-microvolt = <3300000>;
420                                 };
421                         };
422
423                         vcca_1v8: LDO_REG7 {
424                                 regulator-name = "vcca_1v8";
425                                 regulator-always-on;
426                                 regulator-boot-on;
427                                 regulator-min-microvolt = <1800000>;
428                                 regulator-max-microvolt = <1800000>;
429
430                                 regulator-state-mem {
431                                         regulator-off-in-suspend;
432                                 };
433                         };
434
435                         vcca1v8_pmu: LDO_REG8 {
436                                 regulator-name = "vcca1v8_pmu";
437                                 regulator-always-on;
438                                 regulator-boot-on;
439                                 regulator-min-microvolt = <1800000>;
440                                 regulator-max-microvolt = <1800000>;
441
442                                 regulator-state-mem {
443                                         regulator-on-in-suspend;
444                                         regulator-suspend-microvolt = <1800000>;
445                                 };
446                         };
447
448                         vcca1v8_image: LDO_REG9 {
449                                 regulator-name = "vcca1v8_image";
450                                 regulator-min-microvolt = <1800000>;
451                                 regulator-max-microvolt = <1800000>;
452
453                                 regulator-state-mem {
454                                         regulator-off-in-suspend;
455                                 };
456                         };
457
458                         vcc_3v3: SWITCH_REG1 {
459                                 regulator-name = "vcc_3v3";
460                                 regulator-always-on;
461                                 regulator-boot-on;
462
463                                 regulator-state-mem {
464                                         regulator-off-in-suspend;
465                                 };
466                         };
467
468                         vcc3v3_sd: SWITCH_REG2 {
469                                 regulator-name = "vcc3v3_sd";
470
471                                 regulator-state-mem {
472                                         regulator-off-in-suspend;
473                                 };
474                         };
475                 };
476
477                 codec {
478                         mic-in-differential;
479                 };
480         };
481 };
482
483 &i2c1 {
484         status = "okay";
485
486         touchscreen0: goodix@14 {
487                 compatible = "goodix,gt1151";
488                 reg = <0x14>;
489                 interrupt-parent = <&gpio0>;
490                 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>;
491                 AVDD28-supply = <&vcc3v3_lcd0_n>;
492                 irq-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
493                 pinctrl-names = "default";
494                 pinctrl-0 = <&touch_int &touch_rst>;
495                 reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
496                 VDDIO-supply = <&vcc3v3_lcd0_n>;
497         };
498 };
499
500 &i2s0_8ch {
501         status = "okay";
502 };
503
504 &i2s1_8ch {
505         rockchip,trcm-sync-tx-only;
506         status = "okay";
507 };
508
509 &mdio0 {
510         rgmii_phy0: ethernet-phy@0 {
511                 compatible = "ethernet-phy-ieee802.3-c22";
512                 reg = <0x0>;
513                 reset-assert-us = <20000>;
514                 reset-deassert-us = <100000>;
515                 reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
516         };
517 };
518
519 &mdio1 {
520         rgmii_phy1: ethernet-phy@0 {
521                 compatible = "ethernet-phy-ieee802.3-c22";
522                 reg = <0x0>;
523                 reset-assert-us = <20000>;
524                 reset-deassert-us = <100000>;
525                 reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>;
526         };
527 };
528
529 &pinctrl {
530         display {
531                 vcc3v3_lcd0_n_en: vcc3v3_lcd0_n_en {
532                         rockchip,pins = <0 RK_PC7 0 &pcfg_pull_none>;
533                 };
534                 vcc3v3_lcd1_n_en: vcc3v3_lcd1_n_en {
535                         rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>;
536                 };
537         };
538
539         leds {
540                 led_work_en: led_work_en {
541                         rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
542                 };
543         };
544
545         pmic {
546                 pmic_int: pmic_int {
547                         rockchip,pins =
548                                 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
549                 };
550         };
551
552         touchscreen {
553                 touch_int: touch_int {
554                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
555                 };
556                 touch_rst: touch_rst {
557                         rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
558                 };
559         };
560
561         usb {
562                 vcc5v0_usb_host_en: vcc5v0_usb_host_en {
563                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
564                 };
565                 vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
566                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
567                 };
568         };
569 };
570
571 &pmu_io_domains {
572         pmuio1-supply = <&vcc3v3_pmu>;
573         pmuio2-supply = <&vcc3v3_pmu>;
574         vccio1-supply = <&vccio_acodec>;
575         vccio2-supply = <&vcc_1v8>;
576         vccio3-supply = <&vccio_sd>;
577         vccio4-supply = <&vcc_1v8>;
578         vccio5-supply = <&vcc_3v3>;
579         vccio6-supply = <&vcc_1v8>;
580         vccio7-supply = <&vcc_3v3>;
581         status = "okay";
582 };
583
584 &saradc {
585         vref-supply = <&vcca_1v8>;
586         status = "okay";
587 };
588
589 &sdhci {
590         bus-width = <8>;
591         max-frequency = <200000000>;
592         non-removable;
593         pinctrl-names = "default";
594         pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
595         status = "okay";
596 };
597
598 &sdmmc0 {
599         bus-width = <4>;
600         cap-sd-highspeed;
601         cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
602         disable-wp;
603         pinctrl-names = "default";
604         pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
605         sd-uhs-sdr104;
606         vmmc-supply = <&vcc3v3_sd>;
607         vqmmc-supply = <&vccio_sd>;
608         status = "okay";
609 };
610
611 &tsadc {
612         rockchip,hw-tshut-mode = <1>;
613         rockchip,hw-tshut-polarity = <0>;
614         status = "okay";
615 };
616
617 &uart2 {
618         status = "okay";
619 };
620
621 &usb_host0_ehci {
622         status = "okay";
623 };
624
625 &usb_host0_ohci {
626         status = "okay";
627 };
628
629 &usb_host0_xhci {
630         extcon = <&usb2phy0>;
631         status = "okay";
632 };
633
634 &usb_host1_ehci {
635         status = "okay";
636 };
637
638 &usb_host1_ohci {
639         status = "okay";
640 };
641
642 &usb_host1_xhci {
643         status = "okay";
644 };
645
646 &usb2phy0 {
647         status = "okay";
648 };
649
650 &usb2phy0_host {
651         phy-supply = <&vcc5v0_usb_host>;
652         status = "okay";
653 };
654
655 &usb2phy0_otg {
656         phy-supply = <&vcc5v0_usb_otg>;
657         status = "okay";
658 };
659
660 &usb2phy1 {
661         status = "okay";
662 };
663
664 &usb2phy1_host {
665         phy-supply = <&vcc5v0_usb_host>;
666         status = "okay";
667 };
668
669 &usb2phy1_otg {
670         phy-supply = <&vcc5v0_usb_host>;
671         status = "okay";
672 };
673
674 &vop {
675         assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
676         assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
677         status = "okay";
678 };
679
680 &vop_mmu {
681         status = "okay";
682 };
683
684 &vp0 {
685         vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
686                 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
687                 remote-endpoint = <&hdmi_in_vp0>;
688         };
689 };