dts: starfive: Enable usb device node
[platform/kernel/linux-starfive.git] / arch / riscv / boot / dts / starfive / jh7110-visionfive-v2.dtsi
1 // SPDX-License-Identifier: GPL-2.0 OR MIT
2 /*
3  * Copyright (C) 2022 StarFive Technology Co., Ltd.
4  * Copyright (C) 2022 Hal Feng <hal.feng@starfivetech.com>
5  */
6
7 /dts-v1/;
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/leds/common.h>
10 #include <dt-bindings/pinctrl/starfive,jh7110-pinfunc.h>
11 #include "jh7110.dtsi"
12 #include "codecs/sf_pwmdac.dtsi"
13
14 / {
15         model = "StarFive VisionFive V2";
16         compatible = "starfive,visionfive-v2", "starfive,jh7110";
17
18         aliases {
19                 spi0 = &qspi;
20                 gpio0 = &gpio;
21                 ethernet0 = &gmac0;
22                 ethernet1 = &gmac1;
23                 mmc0 = &sdio0;
24                 mmc1 = &sdio1;
25                 serial0 = &uart0;
26                 serial3 = &uart3;
27                 i2c0 = &i2c0;
28                 i2c1 = &i2c1;
29                 i2c2 = &i2c2;
30                 i2c3 = &i2c3;
31                 i2c4 = &i2c4;
32                 i2c5 = &i2c5;
33                 i2c6 = &i2c6;
34         };
35
36         chosen {
37                 linux,initrd-start = <0x0 0x46100000>;
38                 linux,initrd-end = <0x0 0x4c000000>;
39                 stdout-path = "serial0:115200";
40                 #bootargs = "debug console=ttyS0 rootwait";
41         };
42
43         cpus {
44                 timebase-frequency = <4000000>;
45         };
46
47         memory@40000000 {
48                 device_type = "memory";
49                 reg = <0x0 0x40000000 0x1 0x0>;
50         };
51
52         reserved-memory {
53                 #address-cells = <2>;
54                 #size-cells = <2>;
55                 ranges;
56
57                 linux,cma {
58                         compatible = "shared-dma-pool";
59                         reusable;
60                         size = <0x0 0x20000000>;
61                         alignment = <0x0 0x1000>;
62                         alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
63                         linux,cma-default;
64                 };
65
66                 e24_mem: e24@c0000000 {
67                         no-map;
68                         reg = <0x0 0xc0110000 0x0 0xf0000>;
69                 };
70
71                 xrp_reserved: xrpbuffer@f0000000 {
72                         reg = <0x0 0xf0000000 0x0 0x01ffffff
73                                 0x0 0xf2000000 0x0 0x00001000
74                                 0x0 0xf2001000 0x0 0x00fff000
75                                 0x0 0xf3000000 0x0 0x00001000>;
76                 };
77
78         };
79
80         leds {
81                 compatible = "gpio-leds";
82
83                 led-ack {
84                         gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>;
85                         color = <LED_COLOR_ID_GREEN>;
86                         function = LED_FUNCTION_HEARTBEAT;
87                         linux,default-trigger = "heartbeat";
88                         label = "ack";
89                 };
90         };
91 };
92
93 &gpio {
94         i2c0_pins: i2c0-pins {
95                 i2c0-pins-scl {
96                         starfive,pins = <PAD_GPIO57>;
97                         starfive,pinmux = <PAD_GPIO57_FUNC_SEL 0>;
98                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
99                         starfive,pin-gpio-dout = <GPO_LOW>;
100                         starfive,pin-gpio-doen = <OEN_I2C0_IC_CLK_OE>;
101                         starfive,pin-gpio-din =  <GPI_I2C0_IC_CLK_IN_A>;
102                 };
103
104                 i2c0-pins-sda {
105                         starfive,pins = <PAD_GPIO58>;
106                         starfive,pinmux = <PAD_GPIO58_FUNC_SEL 0>;
107                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
108                         starfive,pin-gpio-dout = <GPO_LOW>;
109                         starfive,pin-gpio-doen = <OEN_I2C0_IC_DATA_OE>;
110                         starfive,pin-gpio-din =  <GPI_I2C0_IC_DATA_IN_A>;
111                 };
112         };
113
114         i2c5_pins: i2c5-pins {
115                 i2c5-pins-scl {
116                         starfive,pins = <PAD_GPIO19>;
117                         starfive,pinmux = <PAD_GPIO19_FUNC_SEL 0>;
118                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
119                         starfive,pin-gpio-dout = <GPO_LOW>;
120                         starfive,pin-gpio-doen = <OEN_I2C5_IC_CLK_OE>;
121                         starfive,pin-gpio-din =  <GPI_I2C5_IC_CLK_IN_A>;
122                 };
123
124                 i2c5-pins-sda {
125                         starfive,pins = <PAD_GPIO20>;
126                         starfive,pinmux = <PAD_GPIO20_FUNC_SEL 0>;
127                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
128                         starfive,pin-gpio-dout = <GPO_LOW>;
129                         starfive,pin-gpio-doen = <OEN_I2C5_IC_DATA_OE>;
130                         starfive,pin-gpio-din =  <GPI_I2C5_IC_DATA_IN_A>;
131                 };
132         };
133
134         i2c6_pins: i2c6-pins {
135                 i2c6-pins-scl {
136                         starfive,pins = <PAD_GPIO16>;
137                         starfive,pinmux = <PAD_GPIO16_FUNC_SEL 0>;
138                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
139                         starfive,pin-gpio-dout = <GPO_LOW>;
140                         starfive,pin-gpio-doen = <OEN_I2C6_IC_CLK_OE>;
141                         starfive,pin-gpio-din =  <GPI_I2C6_IC_CLK_IN_A>;
142                 };
143
144                 i2c6-pins-sda {
145                         starfive,pins = <PAD_GPIO17>;
146                         starfive,pinmux = <PAD_GPIO17_FUNC_SEL 0>;
147                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
148                         starfive,pin-gpio-dout = <GPO_LOW>;
149                         starfive,pin-gpio-doen = <OEN_I2C6_IC_DATA_OE>;
150                         starfive,pin-gpio-din =  <GPI_I2C6_IC_DATA_IN_A>;
151                 };
152         };
153
154         csi_pins: csi-pins {
155                 csi-pins-pwdn {
156                         starfive,pins = <PAD_GPIO18>;
157                         starfive,pinmux = <PAD_GPIO18_FUNC_SEL 0>;
158                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
159                         starfive,pin-gpio-dout = <GPO_HIGH>;
160                         starfive,pin-gpio-doen = <OEN_LOW>;
161                 };
162         };
163
164         pwmdac0_pins: pwmdac0-pins {
165                 pwmdac0-pins-left {
166                         starfive,pins = <PAD_GPIO33>;
167                         starfive,pinmux = <PAD_GPIO33_FUNC_SEL 0>;
168                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
169                         starfive,pin-gpio-dout = <GPO_PWMDAC0_LEFT_OUTPUT>;
170                         starfive,pin-gpio-doen = <OEN_LOW>;
171                 };
172
173                 pwmdac0-pins-right {
174                         starfive,pins = <PAD_GPIO34>;
175                         starfive,pinmux = <PAD_GPIO34_FUNC_SEL 0>;
176                         starfive,pin-ioconfig = <IO(GPIO_IE(1) | (GPIO_PU(1)))>;
177                         starfive,pin-gpio-dout = <GPO_PWMDAC0_RIGHT_OUTPUT>;
178                         starfive,pin-gpio-doen = <OEN_LOW>;
179                 };
180         };
181
182         pwm_pins: pwm-pins {
183                 pwm_ch0-pins {
184                         starfive,pins = <PAD_GPIO46>;
185                         starfive,pinmux = <PAD_GPIO46_FUNC_SEL 0>;
186                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
187                         starfive,pin-gpio-dout = <GPO_PTC0_PWM_0>;
188                         starfive,pin-gpio-doen = <OEN_PTC0_PWM_0_OE_N>;
189                 };
190
191                 pwm_ch1-pins {
192                         starfive,pins = <PAD_GPIO59>;
193                         starfive,pinmux = <PAD_GPIO59_FUNC_SEL 0>;
194                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
195                         starfive,pin-gpio-dout = <GPO_PTC0_PWM_1>;
196                         starfive,pin-gpio-doen = <OEN_PTC0_PWM_1_OE_N>;
197                 };
198         };
199
200         ssp0_pins: ssp0-pins {
201                 ssp0-pins_tx {
202                         starfive,pins = <PAD_GPIO52>;
203                         starfive,pinmux = <PAD_GPIO52_FUNC_SEL 0>;
204                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
205                         starfive,pin-gpio-dout = <GPO_SPI0_SSPTXD>;
206                         starfive,pin-gpio-doen = <OEN_LOW>;
207                 };
208
209                 ssp0-pins_rx {
210                         starfive,pins = <PAD_GPIO53>;
211                         starfive,pinmux = <PAD_GPIO53_FUNC_SEL 0>;
212                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
213                         starfive,pin-gpio-doen = <OEN_HIGH>;
214                         starfive,pin-gpio-din =  <GPI_SPI0_SSPRXD>;
215                 };
216
217                 ssp0-pins_clk {
218                         starfive,pins = <PAD_GPIO48>;
219                         starfive,pinmux = <PAD_GPIO48_FUNC_SEL 0>;
220                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
221                         starfive,pin-gpio-dout = <GPO_SPI0_SSPCLKOUT>;
222                         starfive,pin-gpio-doen = <OEN_LOW>;
223                 };
224
225                 ssp0-pins_cs {
226                         starfive,pins = <PAD_GPIO49>;
227                         starfive,pinmux = <PAD_GPIO49_FUNC_SEL 0>;
228                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
229                         starfive,pin-gpio-dout = <GPO_SPI0_SSPFSSOUT>;
230                         starfive,pin-gpio-doen = <OEN_LOW>;
231                 };
232         };
233
234         pcie0_perst_default: pcie0_perst_default {
235                 perst-pins {
236                         starfive,pins = <PAD_GPIO26>;
237                         starfive,pinmux = <PAD_GPIO26_FUNC_SEL 0>;
238                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
239                         starfive,pin-gpio-dout = <GPO_HIGH>;
240                         starfive,pin-gpio-doen = <OEN_LOW>;
241                 };
242         };
243
244         pcie0_perst_active: pcie0_perst_active {
245                 perst-pins {
246                         starfive,pins = <PAD_GPIO26>;
247                         starfive,pinmux = <PAD_GPIO26_FUNC_SEL 0>;
248                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
249                         starfive,pin-gpio-dout = <GPO_LOW>;
250                         starfive,pin-gpio-doen = <OEN_LOW>;
251                 };
252         };
253
254         pcie0_wake_default: pcie0_wake_default {
255                 wake-pins {
256                         starfive,pins = <PAD_GPIO32>;
257                         starfive,pinmux = <PAD_GPIO32_FUNC_SEL 0>;
258                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
259                         starfive,pin-gpio-doen = <OEN_HIGH>;
260                 };
261         };
262
263         pcie0_clkreq_default: pcie0_clkreq_default {
264                 clkreq-pins {
265                         starfive,pins = <PAD_GPIO27>;
266                         starfive,pinmux = <PAD_GPIO27_FUNC_SEL 0>;
267                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
268                         starfive,pin-gpio-doen = <OEN_HIGH>;
269                 };
270         };
271
272         pcie0_vbus_default: pcie0_vbus_default {
273                 drive-vbus-pin {
274                         starfive,pins = <PAD_GPIO25>;
275                         starfive,pinmux = <PAD_GPIO25_FUNC_SEL 0>;
276                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
277                         starfive,pin-gpio-dout = <GPO_HIGH>;
278                         starfive,pin-gpio-doen = <OEN_LOW>;
279                 };
280         };
281
282         pcie1_perst_default: pcie1_perst_default {
283                 perst-pins {
284                         starfive,pins = <PAD_GPIO28>;
285                         starfive,pinmux = <PAD_GPIO28_FUNC_SEL 0>;
286                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
287                         starfive,pin-gpio-dout = <GPO_HIGH>;
288                         starfive,pin-gpio-doen = <OEN_LOW>;
289                 };
290         };
291
292         pcie1_perst_active: pcie1_perst_active {
293                 perst-pins {
294                         starfive,pins = <PAD_GPIO28>;
295                         starfive,pinmux = <PAD_GPIO28_FUNC_SEL 0>;
296                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
297                         starfive,pin-gpio-dout = <GPO_LOW>;
298                         starfive,pin-gpio-doen = <OEN_LOW>;
299                 };
300         };
301
302         pcie1_wake_default: pcie1_wake_default {
303                 wake-pins {
304                         starfive,pins = <PAD_GPIO21>;
305                         starfive,pinmux = <PAD_GPIO21_FUNC_SEL 0>;
306                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
307                         starfive,pin-gpio-doen = <OEN_HIGH>;
308                 };
309         };
310
311         pcie1_clkreq_default: pcie1_clkreq_default {
312                 clkreq-pins {
313                         starfive,pins = <PAD_GPIO29>;
314                         starfive,pinmux = <PAD_GPIO29_FUNC_SEL 0>;
315                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
316                         starfive,pin-gpio-doen = <OEN_HIGH>;
317                 };
318         };
319
320         usb_pins: usb-pins {
321                 drive-vbus-pin {
322                         starfive,pins = <PAD_GPIO25>;
323                         starfive,pinmux = <PAD_GPIO25_FUNC_SEL 0>;
324                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
325                         starfive,pin-gpio-dout = <GPO_USB0_DRIVE_VBUS_IO>;
326                         starfive,pin-gpio-doen = <OEN_LOW>;
327                 };
328         };
329
330         i2srx_pins: i2srx-pins {
331                 i2srx-pins0 {
332                         starfive,pins = <PAD_GPIO61>;
333                         starfive,pinmux = <PAD_GPIO61_FUNC_SEL 0>;
334                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
335                         starfive,pin-gpio-doen = <OEN_HIGH>;
336                         starfive,pin-gpio-din =  <GPI_I2SRX0_EXT_SDIN0>;
337                 };
338         };
339
340         i2s_clk_pins: i2s-clk0 {
341                 i2s-clk0_bclk {
342                         starfive,pins = <PAD_GPIO38>;
343                         starfive,pinmux = <PAD_GPIO38_FUNC_SEL 0>;
344                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
345                         starfive,pin-gpio-din = <GPI_I2STX0_BCLK_SLV GPI_I2SRX0_BCLK_SLV>;
346                         starfive,pin-gpio-doen = <OEN_HIGH>;
347                 };
348
349                 i2s-clk0_lrclk {
350                         starfive,pins = <PAD_GPIO63>;
351                         starfive,pinmux = <PAD_GPIO63_FUNC_SEL 0>;
352                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
353                         starfive,pin-gpio-din = <GPI_I2STX0_LRCK_SLV GPI_I2SRX0_LRCK_SLV>;
354                         starfive,pin-gpio-doen = <OEN_HIGH>;
355                 };
356         };
357
358         i2stx_pins: i2stx-pins {
359                 i2stx-pins0 {
360                         starfive,pins = <PAD_GPIO44>;
361                         starfive,pinmux = <PAD_GPIO44_FUNC_SEL 0>;
362                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
363                         starfive,pin-gpio-dout = <GPO_I2STX_4CH1_SDO0>;
364                         starfive,pin-gpio-doen = <OEN_LOW>;
365                 };
366         };
367 };
368
369 &uart0 {
370         status = "okay";
371 };
372
373 &dma {
374         status = "okay";
375 };
376
377 &trng {
378         status = "okay";
379 };
380
381 &crypto {
382         status = "okay";
383 };
384
385 &sec_dma {
386         status = "okay";
387 };
388
389 &i2c0 {
390         clock-frequency = <100000>;
391         i2c-sda-hold-time-ns = <300>;
392         i2c-sda-falling-time-ns = <510>;
393         i2c-scl-falling-time-ns = <510>;
394         auto_calc_scl_lhcnt;
395         pinctrl-names = "default";
396         pinctrl-0 = <&i2c0_pins>;
397         status = "okay";
398 };
399
400 &i2c2 {
401         clock-frequency = <100000>;
402         i2c-sda-hold-time-ns = <300>;
403         i2c-sda-falling-time-ns = <510>;
404         i2c-scl-falling-time-ns = <510>;
405         auto_calc_scl_lhcnt;
406         status = "okay";
407
408         seeed_plane_i2c@45 {
409                 compatible = "seeed_panel";
410                 reg = <0x45>;
411
412                 port {
413                         panel_dsi_port: endpoint {
414                                 remote-endpoint = <&dsi_out_port>;
415                         };
416                 };
417         };
418
419 };
420
421 &i2c5 {
422         clock-frequency = <100000>;
423         i2c-sda-hold-time-ns = <300>;
424         i2c-sda-falling-time-ns = <510>;
425         i2c-scl-falling-time-ns = <510>;
426         auto_calc_scl_lhcnt;
427         pinctrl-names = "default";
428         pinctrl-0 = <&i2c5_pins>;
429         status = "okay";
430
431         eeprom@50 {
432                 compatible = "atmel,24c04";
433                 reg = <0x50>;
434                 pagesize = <16>;
435         };
436
437         pmic: axp15060_reg@36 {
438                 compatible = "stf,axp15060-regulator";
439                 reg = <0x36>;
440
441                 regulators {
442                         mipi_0p9: ALDO1 {
443                                 regulator-boot-on;
444                                 regulator-compatible = "mipi_0p9";
445                                 regulator-name = "mipi_0p9";
446                                 regulator-min-microvolt = <900000>;
447                                 regulator-max-microvolt = <900000>;
448                         };
449                         hdmi_0p9: ALDO5 {
450                                 regulator-boot-on;
451                                 regulator-compatible = "hdmi_0p9";
452                                 regulator-name = "hdmi_0p9";
453                                 regulator-min-microvolt = <900000>;
454                                 regulator-max-microvolt = <900000>;
455                         };
456                         hdmi_1p8: ALDO3 {
457                                 regulator-boot-on;
458                                 regulator-compatible = "hdmi_1p8";
459                                 regulator-name = "hdmi_1p8";
460                                 regulator-min-microvolt = <1800000>;
461                                 regulator-max-microvolt = <1800000>;
462                         };
463                         sdio_vdd: ALDO4 {
464                                 regulator-boot-on;
465                                 regulator-compatible = "sdio_vdd";
466                                 regulator-name = "sdio_vdd";
467                                 regulator-min-microvolt = <1800000>;
468                                 regulator-max-microvolt = <1800000>;
469                         };
470                         cpu_vdd: DCDC2 {
471                                 regulator-boot-on;
472                                 regulator-always-on;
473                                 regulator-compatible = "cpu_vdd";
474                                 regulator-name = "cpu_vdd";
475                                 regulator-min-microvolt = <500000>;
476                                 regulator-max-microvolt = <1540000>;
477                         };
478                 };
479         };
480 };
481
482 &i2c6 {
483         clock-frequency = <100000>;
484         i2c-sda-hold-time-ns = <300>;
485         i2c-sda-falling-time-ns = <510>;
486         i2c-scl-falling-time-ns = <510>;
487         auto_calc_scl_lhcnt;
488         pinctrl-names = "default";
489         pinctrl-0 = <&i2c6_pins>;
490         status = "okay";
491
492         imx219: imx219@10 {
493                 compatible = "sony,imx219";
494                 reg = <0x10>;
495                 clocks = <&clk_ext_camera>;
496                 clock-names = "xclk";
497                 //reset-gpio = <&gpio 18 0>;
498                 //DOVDD-supply = <&v2v8>;
499                 pinctrl-names = "default";
500                 pinctrl-0 = <&csi_pins>;
501                 rotation = <0>;
502                 orientation = <1>; //CAMERA_ORIENTATION_BACK
503
504                 port {
505                         /* CSI2 bus endpoint */
506                         imx219_to_csi2rx0: endpoint {
507                                 remote-endpoint = <&csi2rx0_from_imx219>;
508                                 bus-type = <4>;      /* MIPI CSI-2 D-PHY */
509                                 clock-lanes = <4>;
510                                 data-lanes = <0 1>;
511                                 lane-polarities = <0 0 0>;
512                                 link-frequencies = /bits/ 64 <456000000>;
513                         };
514                 };
515         };
516 };
517
518 &sdio0 {
519         max-frequency = <100000000>;
520         card-detect-delay = <300>;
521         bus-width = <8>;
522         cap-mmc-highspeed;
523         mmc-ddr-1_8v;
524         mmc-hs200-1_8v;
525         non-removable;
526         cap-mmc-hw-reset;
527         post-power-on-delay-ms = <200>;
528         vqmmc-supply = <&sdio_vdd>;
529         status = "okay";
530 };
531
532 &sdio1 {
533         max-frequency = <100000000>;
534         card-detect-delay = <300>;
535         bus-width = <4>;
536         no-sdio;
537         no-mmc;
538         broken-cd;
539         cap-sd-highspeed;
540         post-power-on-delay-ms = <200>;
541         status = "okay";
542 };
543
544 &vin_sysctl {
545         /* when use dvp open this pinctrl*/
546         status = "okay";
547
548         ports {
549                 #address-cells = <1>;
550                 #size-cells = <0>;
551
552                 port@1 {
553                         reg = <1>;
554                         #address-cells = <1>;
555                         #size-cells = <0>;
556
557                         /* CSI2 bus endpoint */
558                         csi2rx0_from_imx219: endpoint@0 {
559                                 reg = <0>;
560                                 remote-endpoint = <&imx219_to_csi2rx0>;
561                                 bus-type = <4>;      /* MIPI CSI-2 D-PHY */
562                                 clock-lanes = <4>;
563                                 data-lanes = <0 1>;
564                                 lane-polarities = <0 0 0>;
565                                 status = "okay";
566                         };
567                 };
568         };
569 };
570
571 &sfctemp {
572         status = "okay";
573 };
574
575 &jpu {
576         status = "okay";
577 };
578
579 &vpu_dec {
580         status = "okay";
581 };
582
583 &vpu_enc {
584         status = "okay";
585 };
586
587 &gmac0 {
588         status = "okay";
589         #address-cells = <1>;
590         #size-cells = <0>;
591         phy0: ethernet-phy@0 {
592                 rxc_dly_en = <1>;
593                 tx_delay_sel_fe = <5>;
594                 tx_delay_sel = <9>;
595         };
596 };
597
598 &gmac1 {
599         #address-cells = <1>;
600         #size-cells = <0>;
601         status = "okay";
602         phy1: ethernet-phy@1 {
603                 tx_delay_sel_fe = <5>;
604                 tx_delay_sel = <9>;
605                 rxc_dly_en = <0>;
606         };
607 };
608
609 &gpu {
610         status = "okay";
611 };
612
613 &pwmdac {
614         pinctrl-names = "default";
615         pinctrl-0 = <&pwmdac0_pins>;
616         status = "okay";
617 };
618
619 &i2srx_3ch {
620         pinctrl-names = "default";
621         pinctrl-0 = <&i2s_clk_pins &i2srx_pins>;
622         status = "disabled";
623 };
624
625 &i2stx_4ch1 {
626         pinctrl-names = "default";
627         pinctrl-0 = <&i2stx_pins>;
628         status = "disabled";
629 };
630
631 &pwmdac_codec {
632         status = "okay";
633 };
634
635 &spi0 {
636         pinctrl-names = "default";
637         pinctrl-0 = <&ssp0_pins>;
638         status = "okay";
639
640         spi_dev0: spi@0 {
641                 compatible = "rohm,dh2228fv";
642                 pl022,com-mode = <1>;
643                 spi-max-frequency = <10000000>;
644                 reg = <0>;
645                 status = "okay";
646         };
647 };
648
649 &pcie0 {
650         pinctrl-names = "default", "perst-default", "perst-active";
651         pinctrl-0 = <&pcie0_wake_default>,
652                     <&pcie0_clkreq_default>,
653                     <&pcie0_vbus_default>;
654         pinctrl-1 = <&pcie0_perst_default>;
655         pinctrl-2 = <&pcie0_perst_active>;
656         status = "okay";
657 };
658
659 &pcie1 {
660         pinctrl-names = "default", "perst-default", "perst-active";
661         pinctrl-0 = <&pcie1_wake_default>,
662                     <&pcie1_clkreq_default>;
663         pinctrl-1 = <&pcie1_perst_default>;
664         pinctrl-2 = <&pcie1_perst_active>;
665         status = "okay";
666 };
667
668 &mailbox_contrl0 {
669         status = "okay";
670 };
671
672 &mailbox_client0 {
673         status = "okay";
674 };
675
676 &display {
677         status = "okay";
678 };
679
680 &hdmi {
681         status = "okay";
682
683         hdmi_in: port {
684                 #address-cells = <1>;
685                 #size-cells = <0>;
686                 hdmi_in_lcdc: endpoint@0 {
687                         reg = <0>;
688                         remote-endpoint = <&dc_out_dpi1>;
689                 };
690         };
691 };
692
693 &dc8200 {
694         status = "okay";
695
696         dc_out: port {
697                 #address-cells = <1>;
698                 #size-cells = <0>;
699                 dc_out_dpi0: endpoint@0 {
700                         reg = <0>;
701                         remote-endpoint = <&hdmi_input0>;
702                 };
703                 dc_out_dpi1: endpoint@1 {
704                         reg = <1>;
705                         remote-endpoint = <&hdmi_in_lcdc>;
706                 };
707
708                 dc_out_dpi2: endpoint@2 {
709                         reg = <2>;
710                         remote-endpoint = <&mipi_in>;
711                 };
712         };
713 };
714
715 &rgb_output {
716         status = "okay";
717
718         ports {
719                 #address-cells = <1>;
720                 #size-cells = <0>;
721                 port@0 {
722                         #address-cells = <1>;
723                         #size-cells = <0>;
724                         reg = <0>;
725                         hdmi_input0:endpoint@0 {
726                                 reg = <0>;
727                                 remote-endpoint = <&dc_out_dpi0>;
728                         };
729                 };
730         };
731 };
732
733 &dsi_output {
734         status = "okay";
735
736         ports {
737                 #address-cells = <1>;
738                 #size-cells = <0>;
739
740                 port@0 {
741                         reg = <0>;
742                         mipi_in: endpoint {
743                                 remote-endpoint = <&dc_out_dpi2>;
744                         };
745                 };
746
747                 port@1 {
748                         reg = <1>;
749                         mipi_out: endpoint {
750                                 remote-endpoint = <&dsi_in_port>;
751                         };
752                 };
753         };
754 };
755
756 &mipi_dsi {
757         status = "okay";
758 };
759
760 &mipi_dphy {
761         status = "okay";
762 };
763
764 &co_process {
765         status = "okay";
766 };
767
768 &usbdrd30 {
769         clocks = <&clkgen JH7110_USB_125M>,
770                  <&clkgen JH7110_USB0_CLK_APP_125>,
771                  <&clkgen JH7110_USB0_CLK_LPM>,
772                  <&clkgen JH7110_USB0_CLK_STB>,
773                  <&clkgen JH7110_USB0_CLK_USB_APB>,
774                  <&clkgen JH7110_USB0_CLK_AXI>,
775                  <&clkgen JH7110_USB0_CLK_UTMI_APB>;
776         clock-names = "125m","app","lpm","stb","apb","axi","utmi";
777         resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>,
778                  <&rstgen RSTN_U0_CDN_USB_APB>,
779                  <&rstgen RSTN_U0_CDN_USB_AXI>,
780                  <&rstgen RSTN_U0_CDN_USB_UTMI_APB>;
781         reset-names = "pwrup","apb","axi","utmi";
782         starfive,usb2-only;
783         dr_mode = "peripheral"; /*host or peripheral*/
784         status = "okay";
785 };
786
787 &xrp {
788         status = "okay";
789 };
790
791 &ptc {
792         pinctrl-names = "default";
793         pinctrl-0 = <&pwm_pins>;
794         status = "okay";
795 };