0df37ad0175ccc5a59458cc3b6f99ecab4ff4949
[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_out0: endpoint {
404                                 remote-endpoint = <&dsi0_output>;
405                         };
406                 };
407         };
408
409         tinker_ft5406: tinker_ft5406@38 {
410                 compatible = "tinker_ft5406";
411                 reg = <0x38>;
412         };
413
414         panel_radxa@19 {
415                 compatible ="starfive_jadard";
416                 reg = <0x19>;
417                 reset-gpio = <&gpio 23 0>;
418                 enable-gpio = <&gpio 22 0>;
419
420                 port {
421                         panel_out1: endpoint {
422                                 remote-endpoint = <&dsi1_output>;
423                                 };
424                 };
425         };
426
427 };
428
429 &i2c5 {
430         clock-frequency = <100000>;
431         i2c-sda-hold-time-ns = <300>;
432         i2c-sda-falling-time-ns = <510>;
433         i2c-scl-falling-time-ns = <510>;
434         auto_calc_scl_lhcnt;
435         pinctrl-names = "default";
436         pinctrl-0 = <&i2c5_pins>;
437         status = "okay";
438
439         eeprom@50 {
440                 compatible = "atmel,24c04";
441                 reg = <0x50>;
442                 pagesize = <16>;
443         };
444
445         pmic: axp15060_reg@36 {
446                 compatible = "stf,axp15060-regulator";
447                 reg = <0x36>;
448
449                 regulators {
450                         mipi_0p9: ALDO1 {
451                                 regulator-boot-on;
452                                 regulator-compatible = "mipi_0p9";
453                                 regulator-name = "mipi_0p9";
454                                 regulator-min-microvolt = <900000>;
455                                 regulator-max-microvolt = <900000>;
456                         };
457                         hdmi_0p9: ALDO5 {
458                                 regulator-boot-on;
459                                 regulator-compatible = "hdmi_0p9";
460                                 regulator-name = "hdmi_0p9";
461                                 regulator-min-microvolt = <900000>;
462                                 regulator-max-microvolt = <900000>;
463                         };
464                         hdmi_1p8: ALDO3 {
465                                 regulator-boot-on;
466                                 regulator-compatible = "hdmi_1p8";
467                                 regulator-name = "hdmi_1p8";
468                                 regulator-min-microvolt = <1800000>;
469                                 regulator-max-microvolt = <1800000>;
470                         };
471                         cpu_vdd: DCDC2 {
472                                 regulator-boot-on;
473                                 regulator-always-on;
474                                 regulator-compatible = "cpu_vdd";
475                                 regulator-name = "cpu_vdd";
476                                 regulator-min-microvolt = <500000>;
477                                 regulator-max-microvolt = <1540000>;
478                         };
479                 };
480         };
481 };
482
483 &i2c6 {
484         clock-frequency = <100000>;
485         i2c-sda-hold-time-ns = <300>;
486         i2c-sda-falling-time-ns = <510>;
487         i2c-scl-falling-time-ns = <510>;
488         auto_calc_scl_lhcnt;
489         pinctrl-names = "default";
490         pinctrl-0 = <&i2c6_pins>;
491         status = "okay";
492
493         imx219: imx219@10 {
494                 compatible = "sony,imx219";
495                 reg = <0x10>;
496                 clocks = <&clk_ext_camera>;
497                 clock-names = "xclk";
498                 //reset-gpio = <&gpio 18 0>;
499                 //DOVDD-supply = <&v2v8>;
500                 pinctrl-names = "default";
501                 pinctrl-0 = <&csi_pins>;
502                 rotation = <0>;
503                 orientation = <1>; //CAMERA_ORIENTATION_BACK
504
505                 port {
506                         /* CSI2 bus endpoint */
507                         imx219_to_csi2rx0: endpoint {
508                                 remote-endpoint = <&csi2rx0_from_imx219>;
509                                 bus-type = <4>;      /* MIPI CSI-2 D-PHY */
510                                 clock-lanes = <4>;
511                                 data-lanes = <0 1>;
512                                 lane-polarities = <0 0 0>;
513                                 link-frequencies = /bits/ 64 <456000000>;
514                         };
515                 };
516         };
517 };
518
519 &sdio0 {
520         max-frequency = <100000000>;
521         card-detect-delay = <300>;
522         bus-width = <8>;
523         cap-mmc-highspeed;
524         mmc-ddr-1_8v;
525         mmc-hs200-1_8v;
526         non-removable;
527         cap-mmc-hw-reset;
528         post-power-on-delay-ms = <200>;
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 = <0xa>;
595                 tx_inverted_10 = <0x1>;
596                 tx_inverted_100 = <0x1>;
597                 tx_inverted_1000 = <0x1>;
598         };
599 };
600
601 &gmac1 {
602         #address-cells = <1>;
603         #size-cells = <0>;
604         status = "okay";
605         phy1: ethernet-phy@1 {
606                 tx_delay_sel_fe = <5>;
607                 tx_delay_sel = <0>;
608                 rxc_dly_en = <0>;
609                 tx_inverted_10 = <0x1>;
610                 tx_inverted_100 = <0x1>;
611                 tx_inverted_1000 = <0x0>;
612         };
613 };
614
615 &gpu {
616         status = "okay";
617 };
618
619 &pwmdac {
620         pinctrl-names = "default";
621         pinctrl-0 = <&pwmdac0_pins>;
622         status = "okay";
623 };
624
625 &i2srx_3ch {
626         pinctrl-names = "default";
627         pinctrl-0 = <&i2s_clk_pins &i2srx_pins>;
628         status = "disabled";
629 };
630
631 &i2stx_4ch1 {
632         pinctrl-names = "default";
633         pinctrl-0 = <&i2stx_pins>;
634         status = "disabled";
635 };
636
637 &pwmdac_codec {
638         status = "okay";
639 };
640
641 &spi0 {
642         pinctrl-names = "default";
643         pinctrl-0 = <&ssp0_pins>;
644         status = "okay";
645
646         spi_dev0: spi@0 {
647                 compatible = "rohm,dh2228fv";
648                 pl022,com-mode = <1>;
649                 spi-max-frequency = <10000000>;
650                 reg = <0>;
651                 status = "okay";
652         };
653 };
654
655 &pcie0 {
656         pinctrl-names = "default", "perst-default", "perst-active";
657         pinctrl-0 = <&pcie0_wake_default>,
658                     <&pcie0_clkreq_default>;
659         pinctrl-1 = <&pcie0_perst_default>;
660         pinctrl-2 = <&pcie0_perst_active>;
661         status = "okay";
662 };
663
664 &pcie1 {
665         pinctrl-names = "default", "perst-default", "perst-active";
666         pinctrl-0 = <&pcie1_wake_default>,
667                     <&pcie1_clkreq_default>;
668         pinctrl-1 = <&pcie1_perst_default>;
669         pinctrl-2 = <&pcie1_perst_active>;
670         status = "okay";
671 };
672
673 &mailbox_contrl0 {
674         status = "okay";
675 };
676
677 &mailbox_client0 {
678         status = "okay";
679 };
680
681 &display {
682         status = "okay";
683 };
684
685 &hdmi {
686         status = "okay";
687
688         hdmi_in: port {
689                 #address-cells = <1>;
690                 #size-cells = <0>;
691                 hdmi_in_lcdc: endpoint@0 {
692                         reg = <0>;
693                         remote-endpoint = <&dc_out_dpi1>;
694                 };
695         };
696 };
697
698 &dc8200 {
699         status = "okay";
700
701         dc_out: port {
702                 #address-cells = <1>;
703                 #size-cells = <0>;
704                 dc_out_dpi0: endpoint@0 {
705                         reg = <0>;
706                         remote-endpoint = <&hdmi_input0>;
707                 };
708                 dc_out_dpi1: endpoint@1 {
709                         reg = <1>;
710                         remote-endpoint = <&hdmi_in_lcdc>;
711                 };
712
713                 dc_out_dpi2: endpoint@2 {
714                         reg = <2>;
715                         remote-endpoint = <&mipi_in>;
716                 };
717         };
718 };
719
720 &rgb_output {
721         status = "disabled";
722
723         ports {
724                 #address-cells = <1>;
725                 #size-cells = <0>;
726                 port@0 {
727                         #address-cells = <1>;
728                         #size-cells = <0>;
729                         reg = <0>;
730                         hdmi_input0:endpoint@0 {
731                                 reg = <0>;
732                                 remote-endpoint = <&dc_out_dpi0>;
733                         };
734                 };
735         };
736 };
737
738 &dsi_output {
739         status = "okay";
740
741         ports {
742                 #address-cells = <1>;
743                 #size-cells = <0>;
744
745                 port@0 {
746                         reg = <0>;
747                         mipi_in: endpoint {
748                                 remote-endpoint = <&dc_out_dpi2>;
749                         };
750                 };
751
752                 port@1 {
753                         reg = <1>;
754                         sf_dpi_output: endpoint {
755                                 remote-endpoint = <&dsi_in_port>;
756                         };
757                 };
758         };
759 };
760
761 &mipi_dsi {
762         status = "okay";
763
764         ports {
765                 #address-cells = <1>;
766                 #size-cells = <0>;
767
768                 port@0 {
769                         reg = <0>;
770                         #address-cells = <1>;
771                         #size-cells = <0>;
772
773                         dsi0_output: endpoint@0 {
774                                 reg = <0>;
775                                 remote-endpoint = <&panel_out0>;
776                         };
777
778                         dsi1_output: endpoint@1 {
779                                 reg = <1>;
780                                 remote-endpoint = <&panel_out1>;
781                         };
782                 };
783
784                 port@1{
785                         reg = <1>;
786                         dsi_in_port: endpoint {
787                                 remote-endpoint = <&sf_dpi_output>;
788                         };
789                 };
790
791         };
792 };
793
794 &mipi_dphy {
795         status = "okay";
796 };
797
798 &co_process {
799         status = "okay";
800 };
801
802 &usbdrd30 {
803         clocks = <&clkgen JH7110_USB_125M>,
804                  <&clkgen JH7110_USB0_CLK_APP_125>,
805                  <&clkgen JH7110_USB0_CLK_LPM>,
806                  <&clkgen JH7110_USB0_CLK_STB>,
807                  <&clkgen JH7110_USB0_CLK_USB_APB>,
808                  <&clkgen JH7110_USB0_CLK_AXI>,
809                  <&clkgen JH7110_USB0_CLK_UTMI_APB>;
810         clock-names = "125m","app","lpm","stb","apb","axi","utmi";
811         resets = <&rstgen RSTN_U0_CDN_USB_PWRUP>,
812                  <&rstgen RSTN_U0_CDN_USB_APB>,
813                  <&rstgen RSTN_U0_CDN_USB_AXI>,
814                  <&rstgen RSTN_U0_CDN_USB_UTMI_APB>;
815         reset-names = "pwrup","apb","axi","utmi";
816         starfive,usb2-only;
817         dr_mode = "peripheral"; /*host or peripheral*/
818         status = "okay";
819 };
820
821 &xrp {
822         status = "okay";
823 };
824
825 &ptc {
826         pinctrl-names = "default";
827         pinctrl-0 = <&pwm_pins>;
828         status = "okay";
829 };