bbda90ded9978ecfd23f5bc4f4602b9cc0487b1e
[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 0x80000000 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         pcie1_perst_default: pcie1_perst_default {
273                 perst-pins {
274                         starfive,pins = <PAD_GPIO28>;
275                         starfive,pinmux = <PAD_GPIO28_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_active: pcie1_perst_active {
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_LOW>;
288                         starfive,pin-gpio-doen = <OEN_LOW>;
289                 };
290         };
291
292         pcie1_wake_default: pcie1_wake_default {
293                 wake-pins {
294                         starfive,pins = <PAD_GPIO21>;
295                         starfive,pinmux = <PAD_GPIO21_FUNC_SEL 0>;
296                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
297                         starfive,pin-gpio-doen = <OEN_HIGH>;
298                 };
299         };
300
301         pcie1_clkreq_default: pcie1_clkreq_default {
302                 clkreq-pins {
303                         starfive,pins = <PAD_GPIO29>;
304                         starfive,pinmux = <PAD_GPIO29_FUNC_SEL 0>;
305                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
306                         starfive,pin-gpio-doen = <OEN_HIGH>;
307                 };
308         };
309
310         usb_pins: usb-pins {
311                 drive-vbus-pin {
312                         starfive,pins = <PAD_GPIO25>;
313                         starfive,pinmux = <PAD_GPIO25_FUNC_SEL 0>;
314                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
315                         starfive,pin-gpio-dout = <GPO_USB0_DRIVE_VBUS_IO>;
316                         starfive,pin-gpio-doen = <OEN_LOW>;
317                 };
318         };
319
320         i2srx_pins: i2srx-pins {
321                 i2srx-pins0 {
322                         starfive,pins = <PAD_GPIO61>;
323                         starfive,pinmux = <PAD_GPIO61_FUNC_SEL 0>;
324                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
325                         starfive,pin-gpio-doen = <OEN_HIGH>;
326                         starfive,pin-gpio-din =  <GPI_I2SRX0_EXT_SDIN0>;
327                 };
328         };
329
330         i2s_clk_pins: i2s-clk0 {
331                 i2s-clk0_bclk {
332                         starfive,pins = <PAD_GPIO38>;
333                         starfive,pinmux = <PAD_GPIO38_FUNC_SEL 0>;
334                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
335                         starfive,pin-gpio-din = <GPI_I2STX0_BCLK_SLV GPI_I2SRX0_BCLK_SLV>;
336                         starfive,pin-gpio-doen = <OEN_HIGH>;
337                 };
338
339                 i2s-clk0_lrclk {
340                         starfive,pins = <PAD_GPIO63>;
341                         starfive,pinmux = <PAD_GPIO63_FUNC_SEL 0>;
342                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
343                         starfive,pin-gpio-din = <GPI_I2STX0_LRCK_SLV GPI_I2SRX0_LRCK_SLV>;
344                         starfive,pin-gpio-doen = <OEN_HIGH>;
345                 };
346         };
347
348         i2stx_pins: i2stx-pins {
349                 i2stx-pins0 {
350                         starfive,pins = <PAD_GPIO44>;
351                         starfive,pinmux = <PAD_GPIO44_FUNC_SEL 0>;
352                         starfive,pin-ioconfig = <IO(GPIO_IE(1))>;
353                         starfive,pin-gpio-dout = <GPO_I2STX_4CH1_SDO0>;
354                         starfive,pin-gpio-doen = <OEN_LOW>;
355                 };
356         };
357 };
358
359 &uart0 {
360         status = "okay";
361 };
362
363 &dma {
364         status = "okay";
365 };
366
367 &trng {
368         status = "okay";
369 };
370
371 &crypto {
372         status = "okay";
373 };
374
375 &sec_dma {
376         status = "okay";
377 };
378
379 &i2c0 {
380         clock-frequency = <100000>;
381         i2c-sda-hold-time-ns = <300>;
382         i2c-sda-falling-time-ns = <510>;
383         i2c-scl-falling-time-ns = <510>;
384         auto_calc_scl_lhcnt;
385         pinctrl-names = "default";
386         pinctrl-0 = <&i2c0_pins>;
387         status = "okay";
388 };
389
390 &i2c2 {
391         clock-frequency = <100000>;
392         i2c-sda-hold-time-ns = <300>;
393         i2c-sda-falling-time-ns = <510>;
394         i2c-scl-falling-time-ns = <510>;
395         auto_calc_scl_lhcnt;
396         status = "okay";
397
398         seeed_plane_i2c@45 {
399                 compatible = "seeed_panel";
400                 reg = <0x45>;
401
402                 port {
403                         panel_dsi_port: endpoint {
404                                 remote-endpoint = <&dsi_out_port>;
405                         };
406                 };
407         };
408
409 };
410
411 &i2c5 {
412         clock-frequency = <100000>;
413         i2c-sda-hold-time-ns = <300>;
414         i2c-sda-falling-time-ns = <510>;
415         i2c-scl-falling-time-ns = <510>;
416         auto_calc_scl_lhcnt;
417         pinctrl-names = "default";
418         pinctrl-0 = <&i2c5_pins>;
419         status = "okay";
420
421         eeprom@50 {
422                 compatible = "atmel,24c04";
423                 reg = <0x50>;
424                 pagesize = <16>;
425         };
426
427         pmic: axp15060_reg@36 {
428                 compatible = "stf,axp15060-regulator";
429                 reg = <0x36>;
430
431                 regulators {
432                         mipi_0p9: ALDO1 {
433                                 regulator-boot-on;
434                                 regulator-compatible = "mipi_0p9";
435                                 regulator-name = "mipi_0p9";
436                                 regulator-min-microvolt = <900000>;
437                                 regulator-max-microvolt = <900000>;
438                         };
439                         hdmi_0p9: ALDO5 {
440                                 regulator-boot-on;
441                                 regulator-compatible = "hdmi_0p9";
442                                 regulator-name = "hdmi_0p9";
443                                 regulator-min-microvolt = <900000>;
444                                 regulator-max-microvolt = <900000>;
445                         };
446                         hdmi_1p8: ALDO3 {
447                                 regulator-boot-on;
448                                 regulator-compatible = "hdmi_1p8";
449                                 regulator-name = "hdmi_1p8";
450                                 regulator-min-microvolt = <1800000>;
451                                 regulator-max-microvolt = <1800000>;
452                         };
453                         cpu_vdd: DCDC2 {
454                                 regulator-boot-on;
455                                 regulator-always-on;
456                                 regulator-compatible = "cpu_vdd";
457                                 regulator-name = "cpu_vdd";
458                                 regulator-min-microvolt = <500000>;
459                                 regulator-max-microvolt = <1540000>;
460                         };
461                 };
462         };
463 };
464
465 &i2c6 {
466         clock-frequency = <100000>;
467         i2c-sda-hold-time-ns = <300>;
468         i2c-sda-falling-time-ns = <510>;
469         i2c-scl-falling-time-ns = <510>;
470         auto_calc_scl_lhcnt;
471         pinctrl-names = "default";
472         pinctrl-0 = <&i2c6_pins>;
473         status = "okay";
474
475         imx219: imx219@10 {
476                 compatible = "sony,imx219";
477                 reg = <0x10>;
478                 clocks = <&clk_ext_camera>;
479                 clock-names = "xclk";
480                 //reset-gpio = <&gpio 18 0>;
481                 //DOVDD-supply = <&v2v8>;
482                 pinctrl-names = "default";
483                 pinctrl-0 = <&csi_pins>;
484                 rotation = <0>;
485                 orientation = <1>; //CAMERA_ORIENTATION_BACK
486
487                 port {
488                         /* CSI2 bus endpoint */
489                         imx219_to_csi2rx0: endpoint {
490                                 remote-endpoint = <&csi2rx0_from_imx219>;
491                                 bus-type = <4>;      /* MIPI CSI-2 D-PHY */
492                                 clock-lanes = <4>;
493                                 data-lanes = <0 1>;
494                                 lane-polarities = <0 0 0>;
495                                 link-frequencies = /bits/ 64 <456000000>;
496                         };
497                 };
498         };
499 };
500
501 &sdio0 {
502         max-frequency = <100000000>;
503         card-detect-delay = <300>;
504         bus-width = <8>;
505         cap-mmc-highspeed;
506         mmc-ddr-1_8v;
507         mmc-hs200-1_8v;
508         non-removable;
509         cap-mmc-hw-reset;
510         post-power-on-delay-ms = <200>;
511         status = "okay";
512 };
513
514 &sdio1 {
515         max-frequency = <100000000>;
516         card-detect-delay = <300>;
517         bus-width = <4>;
518         no-sdio;
519         no-mmc;
520         broken-cd;
521         cap-sd-highspeed;
522         post-power-on-delay-ms = <200>;
523         status = "okay";
524 };
525
526 &vin_sysctl {
527         /* when use dvp open this pinctrl*/
528         status = "okay";
529
530         ports {
531                 #address-cells = <1>;
532                 #size-cells = <0>;
533
534                 port@1 {
535                         reg = <1>;
536                         #address-cells = <1>;
537                         #size-cells = <0>;
538
539                         /* CSI2 bus endpoint */
540                         csi2rx0_from_imx219: endpoint@0 {
541                                 reg = <0>;
542                                 remote-endpoint = <&imx219_to_csi2rx0>;
543                                 bus-type = <4>;      /* MIPI CSI-2 D-PHY */
544                                 clock-lanes = <4>;
545                                 data-lanes = <0 1>;
546                                 lane-polarities = <0 0 0>;
547                                 status = "okay";
548                         };
549                 };
550         };
551 };
552
553 &sfctemp {
554         status = "okay";
555 };
556
557 &jpu {
558         status = "okay";
559 };
560
561 &vpu_dec {
562         status = "okay";
563 };
564
565 &vpu_enc {
566         status = "okay";
567 };
568
569 &gmac0 {
570         status = "okay";
571         #address-cells = <1>;
572         #size-cells = <0>;
573         phy0: ethernet-phy@0 {
574                 rxc_dly_en = <1>;
575                 tx_delay_sel_fe = <5>;
576                 tx_delay_sel = <0xa>;
577                 tx_inverted_10 = <0x1>;
578                 tx_inverted_100 = <0x1>;
579                 tx_inverted_1000 = <0x1>;
580         };
581 };
582
583 &gmac1 {
584         #address-cells = <1>;
585         #size-cells = <0>;
586         status = "okay";
587         phy1: ethernet-phy@1 {
588                 tx_delay_sel_fe = <5>;
589                 tx_delay_sel = <0>;
590                 rxc_dly_en = <0>;
591                 tx_inverted_10 = <0x1>;
592                 tx_inverted_100 = <0x1>;
593                 tx_inverted_1000 = <0x0>;
594         };
595 };
596
597 &gpu {
598         status = "okay";
599 };
600
601 &pwmdac {
602         pinctrl-names = "default";
603         pinctrl-0 = <&pwmdac0_pins>;
604         status = "okay";
605 };
606
607 &i2srx_3ch {
608         pinctrl-names = "default";
609         pinctrl-0 = <&i2s_clk_pins &i2srx_pins>;
610         status = "disabled";
611 };
612
613 &i2stx_4ch1 {
614         pinctrl-names = "default";
615         pinctrl-0 = <&i2stx_pins>;
616         status = "disabled";
617 };
618
619 &pwmdac_codec {
620         status = "okay";
621 };
622
623 &spi0 {
624         pinctrl-names = "default";
625         pinctrl-0 = <&ssp0_pins>;
626         status = "okay";
627
628         spi_dev0: spi@0 {
629                 compatible = "rohm,dh2228fv";
630                 pl022,com-mode = <1>;
631                 spi-max-frequency = <10000000>;
632                 reg = <0>;
633                 status = "okay";
634         };
635 };
636
637 &pcie0 {
638         pinctrl-names = "default", "perst-default", "perst-active";
639         pinctrl-0 = <&pcie0_wake_default>,
640                     <&pcie0_clkreq_default>;
641         pinctrl-1 = <&pcie0_perst_default>;
642         pinctrl-2 = <&pcie0_perst_active>;
643         status = "okay";
644 };
645
646 &pcie1 {
647         pinctrl-names = "default", "perst-default", "perst-active";
648         pinctrl-0 = <&pcie1_wake_default>,
649                     <&pcie1_clkreq_default>;
650         pinctrl-1 = <&pcie1_perst_default>;
651         pinctrl-2 = <&pcie1_perst_active>;
652         status = "okay";
653 };
654
655 &mailbox_contrl0 {
656         status = "okay";
657 };
658
659 &mailbox_client0 {
660         status = "okay";
661 };
662
663 &display {
664         status = "okay";
665 };
666
667 &hdmi {
668         status = "okay";
669
670         hdmi_in: port {
671                 #address-cells = <1>;
672                 #size-cells = <0>;
673                 hdmi_in_lcdc: endpoint@0 {
674                         reg = <0>;
675                         remote-endpoint = <&dc_out_dpi1>;
676                 };
677         };
678 };
679
680 &dc8200 {
681         status = "okay";
682
683         dc_out: port {
684                 #address-cells = <1>;
685                 #size-cells = <0>;
686                 dc_out_dpi0: endpoint@0 {
687                         reg = <0>;
688                         remote-endpoint = <&hdmi_input0>;
689                 };
690                 dc_out_dpi1: endpoint@1 {
691                         reg = <1>;
692                         remote-endpoint = <&hdmi_in_lcdc>;
693                 };
694
695                 dc_out_dpi2: endpoint@2 {
696                         reg = <2>;
697                         remote-endpoint = <&mipi_in>;
698                 };
699         };
700 };
701
702 &rgb_output {
703         status = "okay";
704
705         ports {
706                 #address-cells = <1>;
707                 #size-cells = <0>;
708                 port@0 {
709                         #address-cells = <1>;
710                         #size-cells = <0>;
711                         reg = <0>;
712                         hdmi_input0:endpoint@0 {
713                                 reg = <0>;
714                                 remote-endpoint = <&dc_out_dpi0>;
715                         };
716                 };
717         };
718 };
719
720 &dsi_output {
721         status = "okay";
722
723         ports {
724                 #address-cells = <1>;
725                 #size-cells = <0>;
726
727                 port@0 {
728                         reg = <0>;
729                         mipi_in: endpoint {
730                                 remote-endpoint = <&dc_out_dpi2>;
731                         };
732                 };
733
734                 port@1 {
735                         reg = <1>;
736                         mipi_out: endpoint {
737                                 remote-endpoint = <&dsi_in_port>;
738                         };
739                 };
740         };
741 };
742
743 &mipi_dsi {
744         status = "okay";
745 };
746
747 &mipi_dphy {
748         status = "okay";
749 };
750
751 &co_process {
752         status = "okay";
753 };
754
755 &usbdrd30 {
756         clocks = <&clkgen JH7110_USB_125M>,
757                  <&clkgen JH7110_USB0_CLK_APP_125>,
758                  <&clkgen JH7110_USB0_CLK_LPM>,
759                  <&clkgen JH7110_USB0_CLK_STB>,
760                  <&clkgen JH7110_USB0_CLK_USB_APB>,
761                  <&clkgen JH7110_USB0_CLK_AXI>,
762                  <&clkgen JH7110_USB0_CLK_UTMI_APB>;
763         clock-names = "125m","app","lpm","stb","apb","axi","utmi";
764         resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>,
765                  <&rstgen RSTN_U0_CDN_USB_APB>,
766                  <&rstgen RSTN_U0_CDN_USB_AXI>,
767                  <&rstgen RSTN_U0_CDN_USB_UTMI_APB>;
768         reset-names = "pwrup","apb","axi","utmi";
769         starfive,usb2-only;
770         dr_mode = "peripheral"; /*host or peripheral*/
771         status = "okay";
772 };
773
774 &xrp {
775         status = "okay";
776 };
777
778 &ptc {
779         pinctrl-names = "default";
780         pinctrl-0 = <&pwm_pins>;
781         status = "okay";
782 };