1 // SPDX-License-Identifier: GPL-2.0 OR MIT
3 * Copyright (C) 2022 StarFive Technology Co., Ltd.
4 * Copyright (C) 2022 Hal Feng <hal.feng@starfivetech.com>
9 #include "jh7110-evb-pinctrl.dtsi"
10 #include "codecs/sf_hdmi.dtsi"
32 linux,initrd-start = <0x0 0x46100000>;
33 linux,initrd-end = <0x0 0x4c000000>;
34 stdout-path = "serial0:115200";
35 #bootargs = "debug console=ttyS0 rootwait";
39 timebase-frequency = <4000000>;
43 device_type = "memory";
44 reg = <0x0 0x40000000 0x1 0x0>;
53 compatible = "shared-dma-pool";
55 size = <0x0 0x20000000>;
56 alignment = <0x0 0x1000>;
57 alloc-ranges = <0x0 0x80000000 0x0 0x20000000>;
61 e24_mem: e24@c0000000 {
63 reg = <0x0 0xc0110000 0x0 0xf0000>;
66 xrp_reserved: xrpbuffer@f0000000 {
67 reg = <0x0 0xf0000000 0x0 0x01ffffff
68 0x0 0xf2000000 0x0 0x00001000
69 0x0 0xf2001000 0x0 0x00fff000
70 0x0 0xf3000000 0x0 0x00001000>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&uart0_pins>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&uart1_pins>;
89 pinctrl-names = "default";
90 pinctrl-0 = <&uart2_pins>;
95 pinctrl-names = "default";
96 pinctrl-0 = <&uart3_pins>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&uart4_pins>;
107 pinctrl-names = "default";
108 pinctrl-0 = <&uart5_pins>;
129 clock-frequency = <100000>;
130 i2c-sda-hold-time-ns = <300>;
131 i2c-sda-falling-time-ns = <510>;
132 i2c-scl-falling-time-ns = <510>;
134 pinctrl-names = "default";
135 pinctrl-0 = <&i2c0_pins>;
139 compatible = "x-power,ac108_0";
141 #sound-dai-cells = <0>;
146 compatible = "wlf,wm8960";
148 #sound-dai-cells = <0>;
155 clock-frequency = <100000>;
156 i2c-sda-hold-time-ns = <300>;
157 i2c-sda-falling-time-ns = <510>;
158 i2c-scl-falling-time-ns = <510>;
160 pinctrl-names = "default";
161 pinctrl-0 = <&i2c1_pins>;
166 clock-frequency = <100000>;
167 i2c-sda-hold-time-ns = <300>;
168 i2c-sda-falling-time-ns = <510>;
169 i2c-scl-falling-time-ns = <510>;
171 pinctrl-names = "default";
172 pinctrl-0 = <&i2c2_pins>;
176 compatible = "seeed_panel";
180 panel_dsi_port: endpoint {
181 remote-endpoint = <&dsi_out_port>;
186 tinker_ft5406: tinker_ft5406@38 {
187 compatible = "tinker_ft5406";
193 clock-frequency = <100000>;
194 i2c-sda-hold-time-ns = <300>;
195 i2c-sda-falling-time-ns = <510>;
196 i2c-scl-falling-time-ns = <510>;
198 pinctrl-names = "default";
199 pinctrl-0 = <&i2c3_pins>;
204 clock-frequency = <100000>;
205 i2c-sda-hold-time-ns = <300>;
206 i2c-sda-falling-time-ns = <510>;
207 i2c-scl-falling-time-ns = <510>;
209 pinctrl-names = "default";
210 pinctrl-0 = <&i2c4_pins>;
214 compatible = "smartsens,sc2235";
216 clocks = <&clk_ext_camera>;
217 clock-names = "xclk";
220 /* Parallel bus endpoint */
221 sc2235_to_parallel: endpoint {
222 remote-endpoint = <¶llel_from_sc2235>;
223 bus-type = <5>; /* Parallel */
225 data-shift = <2>; /* lines 13:6 are used */
234 compatible = "nxp,tda998x";
238 tda998x_0_input: endpoint {
239 remote-endpoint = <&hdmi_out>;
246 clock-frequency = <100000>;
247 i2c-sda-hold-time-ns = <300>;
248 i2c-sda-falling-time-ns = <510>;
249 i2c-scl-falling-time-ns = <510>;
251 pinctrl-names = "default";
252 pinctrl-0 = <&i2c5_pins>;
257 clock-frequency = <100000>;
258 i2c-sda-hold-time-ns = <300>;
259 i2c-sda-falling-time-ns = <510>;
260 i2c-scl-falling-time-ns = <510>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&i2c6_pins>;
267 compatible = "ovti,ov4689";
269 clocks = <&clk_ext_camera>;
270 clock-names = "xclk";
271 //reset-gpio = <&gpio 18 0>;
275 /* Parallel bus endpoint */
276 ov4689_to_csi2rx0: endpoint {
277 remote-endpoint = <&csi2rx0_from_ov4689>;
278 bus-type = <4>; /* MIPI CSI-2 D-PHY */
280 data-lanes = <1 2 3 4>;
286 compatible = "sony,imx219";
288 clocks = <&clk_ext_camera>;
289 clock-names = "xclk";
290 //reset-gpio = <&gpio 18 0>;
291 //DOVDD-supply = <&v2v8>;
293 orientation = <1>; //CAMERA_ORIENTATION_BACK
296 /* CSI2 bus endpoint */
297 imx219_to_csi2rx0: endpoint {
298 remote-endpoint = <&csi2rx0_from_imx219>;
299 bus-type = <4>; /* MIPI CSI-2 D-PHY */
302 lane-polarities = <1 1 1>;
303 link-frequencies = /bits/ 64 <456000000>;
321 #address-cells = <1>;
326 #address-cells = <1>;
329 /* Parallel bus endpoint */
330 parallel_from_sc2235: endpoint@0 {
332 remote-endpoint = <&sc2235_to_parallel>;
333 bus-type = <5>; /* Parallel */
335 data-shift = <2>; /* lines 9:2 are used */
345 #address-cells = <1>;
348 /* CSI2 bus endpoint */
349 csi2rx0_from_ov4689: endpoint@0 {
351 remote-endpoint = <&ov4689_to_csi2rx0>;
352 bus-type = <4>; /* MIPI CSI-2 D-PHY */
354 data-lanes = <1 2 3 4>;
358 /* CSI2 bus endpoint */
359 csi2rx0_from_imx219: endpoint@1 {
361 remote-endpoint = <&imx219_to_csi2rx0>;
362 bus-type = <4>; /* MIPI CSI-2 D-PHY */
365 lane-polarities = <1 1 1>;
390 #address-cells = <1>;
392 phy0: ethernet-phy@0 {
394 tx_delay_sel_fe = <5>;
395 tx_delay_sel = <0xb>;
396 tx_inverted_10 = <0x0>;
397 tx_inverted_100 = <0x0>;
398 tx_inverted_1000 = <0x0>;
403 #address-cells = <1>;
406 phy1: ethernet-phy@1 {
407 rxc-skew-ps = <1060>;
408 txc-skew-ps = <1800>;
418 pinctrl-names = "default";
419 pinctrl-0 = <&can0_pins>;
424 pinctrl-names = "default";
425 pinctrl-0 = <&can1_pins>;
430 pinctrl-names = "default";
431 pinctrl-0 = <&tdm0_pins>;
436 pinctrl-names = "default";
437 pinctrl-0 = <&spdif0_pins>;
442 pinctrl-names = "default";
443 pinctrl-0 = <&pwmdac0_pins>;
452 pinctrl-names = "default";
453 pinctrl-0 = <&pdm0_pins>;
458 pinctrl-names = "default";
459 pinctrl-0 = <&i2srx_clk_pins>;
464 pinctrl-names = "default";
465 pinctrl-0 = <&i2s_clk_pins &i2srx_pins>;
470 pinctrl-names = "default";
471 pinctrl-0 = <&mclk_ext_pins>;
476 pinctrl-names = "default";
477 pinctrl-0 = <&i2stx_pins>;
494 pinctrl-names = "default";
495 pinctrl-0 = <&ssp0_pins>;
499 compatible = "rohm,dh2228fv";
500 pl022,com-mode = <1>;
501 spi-max-frequency = <10000000>;
508 pinctrl-names = "default";
509 pinctrl-0 = <&ssp1_pins>;
513 compatible = "rohm,dh2228fv";
514 pl022,com-mode = <1>;
515 spi-max-frequency = <10000000>;
522 pinctrl-names = "default";
523 pinctrl-0 = <&ssp2_pins>;
527 compatible = "rohm,dh2228fv";
528 pl022,com-mode = <1>;
529 spi-max-frequency = <10000000>;
536 pinctrl-names = "default";
537 pinctrl-0 = <&ssp3_pins>;
541 compatible = "rohm,dh2228fv";
542 pl022,com-mode = <1>;
543 spi-max-frequency = <10000000>;
550 pinctrl-names = "default";
551 pinctrl-0 = <&ssp4_pins>;
555 compatible = "rohm,dh2228fv";
556 pl022,com-mode = <1>;
557 spi-max-frequency = <10000000>;
564 pinctrl-names = "default";
565 pinctrl-0 = <&ssp5_pins>;
569 compatible = "rohm,dh2228fv";
570 pl022,com-mode = <1>;
571 spi-max-frequency = <10000000>;
578 pinctrl-names = "default";
579 pinctrl-0 = <&ssp6_pins>;
583 compatible = "rohm,dh2228fv";
584 pl022,com-mode = <1>;
585 spi-max-frequency = <10000000>;
592 pinctrl-names = "perst-default", "perst-active", "power-default", "power-active";
593 pinctrl-0 = <&pcie0_perst_default>;
594 pinctrl-1 = <&pcie0_perst_active>;
595 pinctrl-2 = <&pcie0_power_default>;
596 pinctrl-3 = <&pcie0_power_active>;
601 pinctrl-names = "perst-default", "perst-active", "power-default", "power-active";
602 pinctrl-0 = <&pcie1_perst_default>;
603 pinctrl-1 = <&pcie1_perst_active>;
604 pinctrl-2 = <&pcie1_power_default>;
605 pinctrl-3 = <&pcie1_power_active>;
623 pinctrl-names = "default";
624 pinctrl-0 = <&inno_hdmi_pins>;
627 #address-cells = <1>;
629 hdmi_in_lcdc: endpoint@0 {
631 remote-endpoint = <&dc_out_dpi1>;
640 #address-cells = <1>;
642 dc_out_dpi0: endpoint@0 {
644 remote-endpoint = <&hdmi_input0>;
646 dc_out_dpi1: endpoint@1 {
648 remote-endpoint = <&hdmi_in_lcdc>;
651 dc_out_dpi2: endpoint@2 {
653 remote-endpoint = <&mipi_in>;
662 #address-cells = <1>;
665 #address-cells = <1>;
668 hdmi_input0:endpoint@0 {
670 remote-endpoint = <&dc_out_dpi0>;
676 remote-endpoint = <&tda998x_0_input>;
683 pinctrl-names = "default";
684 pinctrl-0 = <&rgb_pad_pins>;
692 #address-cells = <1>;
698 remote-endpoint = <&dc_out_dpi2>;
705 remote-endpoint = <&dsi_in_port>;
715 dsi_out_port: endpoint@0 {
716 remote-endpoint = <&panel_dsi_port>;
718 dsi_in_port: endpoint@1 {
719 remote-endpoint = <&mipi_out>;
723 mipi_panel: panel@0 {
738 pinctrl-names = "default";
739 pinctrl-0 = <&usb_pins>;
740 dr_mode = "host"; /*host or peripheral*/