xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
160bf0a39SEmil Renner Berthing// SPDX-License-Identifier: GPL-2.0 OR MIT
260bf0a39SEmil Renner Berthing/*
360bf0a39SEmil Renner Berthing * Copyright (C) 2022 StarFive Technology Co., Ltd.
460bf0a39SEmil Renner Berthing * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
560bf0a39SEmil Renner Berthing */
660bf0a39SEmil Renner Berthing
760bf0a39SEmil Renner Berthing/dts-v1/;
860bf0a39SEmil Renner Berthing#include <dt-bindings/clock/starfive,jh7110-crg.h>
93d90131fSXingyu Wu#include <dt-bindings/power/starfive,jh7110-pmu.h>
1060bf0a39SEmil Renner Berthing#include <dt-bindings/reset/starfive,jh7110-crg.h>
11f2b539afSHal Feng#include <dt-bindings/thermal/thermal.h>
1260bf0a39SEmil Renner Berthing
1360bf0a39SEmil Renner Berthing/ {
1460bf0a39SEmil Renner Berthing	compatible = "starfive,jh7110";
1560bf0a39SEmil Renner Berthing	#address-cells = <2>;
1660bf0a39SEmil Renner Berthing	#size-cells = <2>;
1760bf0a39SEmil Renner Berthing
185e7922abSJisheng Zhang	cpus: cpus {
1960bf0a39SEmil Renner Berthing		#address-cells = <1>;
2060bf0a39SEmil Renner Berthing		#size-cells = <0>;
2160bf0a39SEmil Renner Berthing
2260bf0a39SEmil Renner Berthing		S7_0: cpu@0 {
2360bf0a39SEmil Renner Berthing			compatible = "sifive,s7", "riscv";
2460bf0a39SEmil Renner Berthing			reg = <0>;
2560bf0a39SEmil Renner Berthing			device_type = "cpu";
2660bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
2760bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
2860bf0a39SEmil Renner Berthing			i-cache-size = <16384>;
2960bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
3060bf0a39SEmil Renner Berthing			riscv,isa = "rv64imac_zba_zbb";
3181b5948cSConor Dooley			riscv,isa-base = "rv64i";
3281b5948cSConor Dooley			riscv,isa-extensions = "i", "m", "a", "c", "zba", "zbb", "zicntr", "zicsr",
3381b5948cSConor Dooley					       "zifencei", "zihpm";
3460bf0a39SEmil Renner Berthing			status = "disabled";
3560bf0a39SEmil Renner Berthing
3660bf0a39SEmil Renner Berthing			cpu0_intc: interrupt-controller {
3760bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
3860bf0a39SEmil Renner Berthing				interrupt-controller;
3960bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
4060bf0a39SEmil Renner Berthing			};
4160bf0a39SEmil Renner Berthing		};
4260bf0a39SEmil Renner Berthing
4360bf0a39SEmil Renner Berthing		U74_1: cpu@1 {
4460bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
4560bf0a39SEmil Renner Berthing			reg = <1>;
4660bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
4760bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
4860bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
4960bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
5060bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
5160bf0a39SEmil Renner Berthing			device_type = "cpu";
5260bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
5360bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
5460bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
5560bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
5660bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
5760bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
5860bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
5960bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
6081b5948cSConor Dooley			riscv,isa-base = "rv64i";
6181b5948cSConor Dooley			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
6281b5948cSConor Dooley					       "zicsr", "zifencei", "zihpm";
6360bf0a39SEmil Renner Berthing			tlb-split;
64e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
65e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
66e2c510d6SMason Huo			clock-names = "cpu";
67f2b539afSHal Feng			#cooling-cells = <2>;
6860bf0a39SEmil Renner Berthing
6960bf0a39SEmil Renner Berthing			cpu1_intc: interrupt-controller {
7060bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
7160bf0a39SEmil Renner Berthing				interrupt-controller;
7260bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
7360bf0a39SEmil Renner Berthing			};
7460bf0a39SEmil Renner Berthing		};
7560bf0a39SEmil Renner Berthing
7660bf0a39SEmil Renner Berthing		U74_2: cpu@2 {
7760bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
7860bf0a39SEmil Renner Berthing			reg = <2>;
7960bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
8060bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
8160bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
8260bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
8360bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
8460bf0a39SEmil Renner Berthing			device_type = "cpu";
8560bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
8660bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
8760bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
8860bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
8960bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
9060bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
9160bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
9260bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
9381b5948cSConor Dooley			riscv,isa-base = "rv64i";
9481b5948cSConor Dooley			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
9581b5948cSConor Dooley					       "zicsr", "zifencei", "zihpm";
9660bf0a39SEmil Renner Berthing			tlb-split;
97e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
98e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
99e2c510d6SMason Huo			clock-names = "cpu";
100f2b539afSHal Feng			#cooling-cells = <2>;
10160bf0a39SEmil Renner Berthing
10260bf0a39SEmil Renner Berthing			cpu2_intc: interrupt-controller {
10360bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
10460bf0a39SEmil Renner Berthing				interrupt-controller;
10560bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
10660bf0a39SEmil Renner Berthing			};
10760bf0a39SEmil Renner Berthing		};
10860bf0a39SEmil Renner Berthing
10960bf0a39SEmil Renner Berthing		U74_3: cpu@3 {
11060bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
11160bf0a39SEmil Renner Berthing			reg = <3>;
11260bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
11360bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
11460bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
11560bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
11660bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
11760bf0a39SEmil Renner Berthing			device_type = "cpu";
11860bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
11960bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
12060bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
12160bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
12260bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
12360bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
12460bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
12560bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
12681b5948cSConor Dooley			riscv,isa-base = "rv64i";
12781b5948cSConor Dooley			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
12881b5948cSConor Dooley					       "zicsr", "zifencei", "zihpm";
12960bf0a39SEmil Renner Berthing			tlb-split;
130e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
131e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
132e2c510d6SMason Huo			clock-names = "cpu";
133f2b539afSHal Feng			#cooling-cells = <2>;
13460bf0a39SEmil Renner Berthing
13560bf0a39SEmil Renner Berthing			cpu3_intc: interrupt-controller {
13660bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
13760bf0a39SEmil Renner Berthing				interrupt-controller;
13860bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
13960bf0a39SEmil Renner Berthing			};
14060bf0a39SEmil Renner Berthing		};
14160bf0a39SEmil Renner Berthing
14260bf0a39SEmil Renner Berthing		U74_4: cpu@4 {
14360bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
14460bf0a39SEmil Renner Berthing			reg = <4>;
14560bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
14660bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
14760bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
14860bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
14960bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
15060bf0a39SEmil Renner Berthing			device_type = "cpu";
15160bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
15260bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
15360bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
15460bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
15560bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
15660bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
15760bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
15860bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
15981b5948cSConor Dooley			riscv,isa-base = "rv64i";
16081b5948cSConor Dooley			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
16181b5948cSConor Dooley					       "zicsr", "zifencei", "zihpm";
16260bf0a39SEmil Renner Berthing			tlb-split;
163e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
164e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
165e2c510d6SMason Huo			clock-names = "cpu";
166f2b539afSHal Feng			#cooling-cells = <2>;
16760bf0a39SEmil Renner Berthing
16860bf0a39SEmil Renner Berthing			cpu4_intc: interrupt-controller {
16960bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
17060bf0a39SEmil Renner Berthing				interrupt-controller;
17160bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
17260bf0a39SEmil Renner Berthing			};
17360bf0a39SEmil Renner Berthing		};
17460bf0a39SEmil Renner Berthing
17560bf0a39SEmil Renner Berthing		cpu-map {
17660bf0a39SEmil Renner Berthing			cluster0 {
17760bf0a39SEmil Renner Berthing				core0 {
17860bf0a39SEmil Renner Berthing					cpu = <&S7_0>;
17960bf0a39SEmil Renner Berthing				};
18060bf0a39SEmil Renner Berthing
18160bf0a39SEmil Renner Berthing				core1 {
18260bf0a39SEmil Renner Berthing					cpu = <&U74_1>;
18360bf0a39SEmil Renner Berthing				};
18460bf0a39SEmil Renner Berthing
18560bf0a39SEmil Renner Berthing				core2 {
18660bf0a39SEmil Renner Berthing					cpu = <&U74_2>;
18760bf0a39SEmil Renner Berthing				};
18860bf0a39SEmil Renner Berthing
18960bf0a39SEmil Renner Berthing				core3 {
19060bf0a39SEmil Renner Berthing					cpu = <&U74_3>;
19160bf0a39SEmil Renner Berthing				};
19260bf0a39SEmil Renner Berthing
19360bf0a39SEmil Renner Berthing				core4 {
19460bf0a39SEmil Renner Berthing					cpu = <&U74_4>;
19560bf0a39SEmil Renner Berthing				};
19660bf0a39SEmil Renner Berthing			};
19760bf0a39SEmil Renner Berthing		};
19860bf0a39SEmil Renner Berthing	};
19960bf0a39SEmil Renner Berthing
200e2c510d6SMason Huo	cpu_opp: opp-table-0 {
201e2c510d6SMason Huo			compatible = "operating-points-v2";
202e2c510d6SMason Huo			opp-shared;
203e2c510d6SMason Huo			opp-375000000 {
204e2c510d6SMason Huo					opp-hz = /bits/ 64 <375000000>;
205e2c510d6SMason Huo					opp-microvolt = <800000>;
206e2c510d6SMason Huo			};
207e2c510d6SMason Huo			opp-500000000 {
208e2c510d6SMason Huo					opp-hz = /bits/ 64 <500000000>;
209e2c510d6SMason Huo					opp-microvolt = <800000>;
210e2c510d6SMason Huo			};
211e2c510d6SMason Huo			opp-750000000 {
212e2c510d6SMason Huo					opp-hz = /bits/ 64 <750000000>;
213e2c510d6SMason Huo					opp-microvolt = <800000>;
214e2c510d6SMason Huo			};
215e2c510d6SMason Huo			opp-1500000000 {
216e2c510d6SMason Huo					opp-hz = /bits/ 64 <1500000000>;
217e2c510d6SMason Huo					opp-microvolt = <1040000>;
218e2c510d6SMason Huo			};
219e2c510d6SMason Huo	};
220e2c510d6SMason Huo
221f2b539afSHal Feng	thermal-zones {
222f2b539afSHal Feng		cpu-thermal {
223f2b539afSHal Feng			polling-delay-passive = <250>;
224f2b539afSHal Feng			polling-delay = <15000>;
225f2b539afSHal Feng
226f2b539afSHal Feng			thermal-sensors = <&sfctemp>;
227f2b539afSHal Feng
228f2b539afSHal Feng			cooling-maps {
229f2b539afSHal Feng				map0 {
230f2b539afSHal Feng					trip = <&cpu_alert0>;
231f2b539afSHal Feng					cooling-device =
232f2b539afSHal Feng						<&U74_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
233f2b539afSHal Feng						<&U74_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
234f2b539afSHal Feng						<&U74_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
235f2b539afSHal Feng						<&U74_4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
236f2b539afSHal Feng				};
237f2b539afSHal Feng			};
238f2b539afSHal Feng
239f2b539afSHal Feng			trips {
240f0360647SKrzysztof Kozlowski				cpu_alert0: cpu-alert0 {
241f2b539afSHal Feng					/* milliCelsius */
242f2b539afSHal Feng					temperature = <85000>;
243f2b539afSHal Feng					hysteresis = <2000>;
244f2b539afSHal Feng					type = "passive";
245f2b539afSHal Feng				};
246f2b539afSHal Feng
247f0360647SKrzysztof Kozlowski				cpu-crit {
248f2b539afSHal Feng					/* milliCelsius */
249f2b539afSHal Feng					temperature = <100000>;
250f2b539afSHal Feng					hysteresis = <2000>;
251f2b539afSHal Feng					type = "critical";
252f2b539afSHal Feng				};
253f2b539afSHal Feng			};
254f2b539afSHal Feng		};
255f2b539afSHal Feng	};
256f2b539afSHal Feng
25743f09605SXingyu Wu	dvp_clk: dvp-clock {
25843f09605SXingyu Wu		compatible = "fixed-clock";
25943f09605SXingyu Wu		clock-output-names = "dvp_clk";
26043f09605SXingyu Wu		#clock-cells = <0>;
26143f09605SXingyu Wu	};
26260bf0a39SEmil Renner Berthing	gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
26360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26460bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rgmii_rxin";
26560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
26660bf0a39SEmil Renner Berthing	};
26760bf0a39SEmil Renner Berthing
26860bf0a39SEmil Renner Berthing	gmac0_rmii_refin: gmac0-rmii-refin-clock {
26960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
27060bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rmii_refin";
27160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27260bf0a39SEmil Renner Berthing	};
27360bf0a39SEmil Renner Berthing
27460bf0a39SEmil Renner Berthing	gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
27560bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
27660bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rgmii_rxin";
27760bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27860bf0a39SEmil Renner Berthing	};
27960bf0a39SEmil Renner Berthing
28060bf0a39SEmil Renner Berthing	gmac1_rmii_refin: gmac1-rmii-refin-clock {
28160bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
28260bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rmii_refin";
28360bf0a39SEmil Renner Berthing		#clock-cells = <0>;
28460bf0a39SEmil Renner Berthing	};
28560bf0a39SEmil Renner Berthing
28643f09605SXingyu Wu	hdmitx0_pixelclk: hdmitx0-pixel-clock {
28743f09605SXingyu Wu		compatible = "fixed-clock";
28843f09605SXingyu Wu		clock-output-names = "hdmitx0_pixelclk";
28943f09605SXingyu Wu		#clock-cells = <0>;
29043f09605SXingyu Wu	};
29143f09605SXingyu Wu
29260bf0a39SEmil Renner Berthing	i2srx_bclk_ext: i2srx-bclk-ext-clock {
29360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
29460bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_bclk_ext";
29560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
29660bf0a39SEmil Renner Berthing	};
29760bf0a39SEmil Renner Berthing
29860bf0a39SEmil Renner Berthing	i2srx_lrck_ext: i2srx-lrck-ext-clock {
29960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
30060bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_lrck_ext";
30160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
30260bf0a39SEmil Renner Berthing	};
30360bf0a39SEmil Renner Berthing
30460bf0a39SEmil Renner Berthing	i2stx_bclk_ext: i2stx-bclk-ext-clock {
30560bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
30660bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_bclk_ext";
30760bf0a39SEmil Renner Berthing		#clock-cells = <0>;
30860bf0a39SEmil Renner Berthing	};
30960bf0a39SEmil Renner Berthing
31060bf0a39SEmil Renner Berthing	i2stx_lrck_ext: i2stx-lrck-ext-clock {
31160bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
31260bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_lrck_ext";
31360bf0a39SEmil Renner Berthing		#clock-cells = <0>;
31460bf0a39SEmil Renner Berthing	};
31560bf0a39SEmil Renner Berthing
31660bf0a39SEmil Renner Berthing	mclk_ext: mclk-ext-clock {
31760bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
31860bf0a39SEmil Renner Berthing		clock-output-names = "mclk_ext";
31960bf0a39SEmil Renner Berthing		#clock-cells = <0>;
32060bf0a39SEmil Renner Berthing	};
32160bf0a39SEmil Renner Berthing
32260bf0a39SEmil Renner Berthing	osc: oscillator {
32360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
32460bf0a39SEmil Renner Berthing		clock-output-names = "osc";
32560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
32660bf0a39SEmil Renner Berthing	};
32760bf0a39SEmil Renner Berthing
32860bf0a39SEmil Renner Berthing	rtc_osc: rtc-oscillator {
32960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
33060bf0a39SEmil Renner Berthing		clock-output-names = "rtc_osc";
33160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
33260bf0a39SEmil Renner Berthing	};
33360bf0a39SEmil Renner Berthing
3341ff166c9SSamin Guo	stmmac_axi_setup: stmmac-axi-config {
3351ff166c9SSamin Guo		snps,lpi_en;
336f331eb1fSSamin Guo		snps,wr_osr_lmt = <15>;
337f331eb1fSSamin Guo		snps,rd_osr_lmt = <15>;
3381ff166c9SSamin Guo		snps,blen = <256 128 64 32 0 0 0>;
3391ff166c9SSamin Guo	};
3401ff166c9SSamin Guo
34160bf0a39SEmil Renner Berthing	tdm_ext: tdm-ext-clock {
34260bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
34360bf0a39SEmil Renner Berthing		clock-output-names = "tdm_ext";
34460bf0a39SEmil Renner Berthing		#clock-cells = <0>;
34560bf0a39SEmil Renner Berthing	};
34660bf0a39SEmil Renner Berthing
34760bf0a39SEmil Renner Berthing	soc {
34860bf0a39SEmil Renner Berthing		compatible = "simple-bus";
34960bf0a39SEmil Renner Berthing		interrupt-parent = <&plic>;
35060bf0a39SEmil Renner Berthing		#address-cells = <2>;
35160bf0a39SEmil Renner Berthing		#size-cells = <2>;
35260bf0a39SEmil Renner Berthing		ranges;
35360bf0a39SEmil Renner Berthing
35460bf0a39SEmil Renner Berthing		clint: timer@2000000 {
35560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-clint", "sifive,clint0";
35660bf0a39SEmil Renner Berthing			reg = <0x0 0x2000000 0x0 0x10000>;
35760bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
35860bf0a39SEmil Renner Berthing					      <&cpu1_intc 3>, <&cpu1_intc 7>,
35960bf0a39SEmil Renner Berthing					      <&cpu2_intc 3>, <&cpu2_intc 7>,
36060bf0a39SEmil Renner Berthing					      <&cpu3_intc 3>, <&cpu3_intc 7>,
36160bf0a39SEmil Renner Berthing					      <&cpu4_intc 3>, <&cpu4_intc 7>;
36260bf0a39SEmil Renner Berthing		};
36360bf0a39SEmil Renner Berthing
36460bf0a39SEmil Renner Berthing		ccache: cache-controller@2010000 {
36560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
36660bf0a39SEmil Renner Berthing			reg = <0x0 0x2010000 0x0 0x4000>;
36760bf0a39SEmil Renner Berthing			interrupts = <1>, <3>, <4>, <2>;
36860bf0a39SEmil Renner Berthing			cache-block-size = <64>;
36960bf0a39SEmil Renner Berthing			cache-level = <2>;
37060bf0a39SEmil Renner Berthing			cache-sets = <2048>;
37160bf0a39SEmil Renner Berthing			cache-size = <2097152>;
37260bf0a39SEmil Renner Berthing			cache-unified;
37360bf0a39SEmil Renner Berthing		};
37460bf0a39SEmil Renner Berthing
37560bf0a39SEmil Renner Berthing		plic: interrupt-controller@c000000 {
37660bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
37760bf0a39SEmil Renner Berthing			reg = <0x0 0xc000000 0x0 0x4000000>;
37860bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 11>,
37960bf0a39SEmil Renner Berthing					      <&cpu1_intc 11>, <&cpu1_intc 9>,
38060bf0a39SEmil Renner Berthing					      <&cpu2_intc 11>, <&cpu2_intc 9>,
38160bf0a39SEmil Renner Berthing					      <&cpu3_intc 11>, <&cpu3_intc 9>,
38260bf0a39SEmil Renner Berthing					      <&cpu4_intc 11>, <&cpu4_intc 9>;
38360bf0a39SEmil Renner Berthing			interrupt-controller;
38460bf0a39SEmil Renner Berthing			#interrupt-cells = <1>;
38560bf0a39SEmil Renner Berthing			#address-cells = <0>;
38660bf0a39SEmil Renner Berthing			riscv,ndev = <136>;
38760bf0a39SEmil Renner Berthing		};
38860bf0a39SEmil Renner Berthing
38960bf0a39SEmil Renner Berthing		uart0: serial@10000000 {
390*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
39160bf0a39SEmil Renner Berthing			reg = <0x0 0x10000000 0x0 0x10000>;
39260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>,
39360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART0_APB>;
39460bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
395*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART0_APB>,
396*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART0_CORE>;
39760bf0a39SEmil Renner Berthing			interrupts = <32>;
39860bf0a39SEmil Renner Berthing			reg-io-width = <4>;
39960bf0a39SEmil Renner Berthing			reg-shift = <2>;
40060bf0a39SEmil Renner Berthing			status = "disabled";
40160bf0a39SEmil Renner Berthing		};
40260bf0a39SEmil Renner Berthing
40360bf0a39SEmil Renner Berthing		uart1: serial@10010000 {
404*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
40560bf0a39SEmil Renner Berthing			reg = <0x0 0x10010000 0x0 0x10000>;
40660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>,
40760bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART1_APB>;
40860bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
409*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART1_APB>,
410*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART1_CORE>;
41160bf0a39SEmil Renner Berthing			interrupts = <33>;
41260bf0a39SEmil Renner Berthing			reg-io-width = <4>;
41360bf0a39SEmil Renner Berthing			reg-shift = <2>;
41460bf0a39SEmil Renner Berthing			status = "disabled";
41560bf0a39SEmil Renner Berthing		};
41660bf0a39SEmil Renner Berthing
41760bf0a39SEmil Renner Berthing		uart2: serial@10020000 {
418*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
41960bf0a39SEmil Renner Berthing			reg = <0x0 0x10020000 0x0 0x10000>;
42060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>,
42160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART2_APB>;
42260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
423*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART2_APB>,
424*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART2_CORE>;
42560bf0a39SEmil Renner Berthing			interrupts = <34>;
42660bf0a39SEmil Renner Berthing			reg-io-width = <4>;
42760bf0a39SEmil Renner Berthing			reg-shift = <2>;
42860bf0a39SEmil Renner Berthing			status = "disabled";
42960bf0a39SEmil Renner Berthing		};
43060bf0a39SEmil Renner Berthing
43160bf0a39SEmil Renner Berthing		i2c0: i2c@10030000 {
43260bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
43360bf0a39SEmil Renner Berthing			reg = <0x0 0x10030000 0x0 0x10000>;
43460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>;
43560bf0a39SEmil Renner Berthing			clock-names = "ref";
43660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C0_APB>;
43760bf0a39SEmil Renner Berthing			interrupts = <35>;
43860bf0a39SEmil Renner Berthing			#address-cells = <1>;
43960bf0a39SEmil Renner Berthing			#size-cells = <0>;
44060bf0a39SEmil Renner Berthing			status = "disabled";
44160bf0a39SEmil Renner Berthing		};
44260bf0a39SEmil Renner Berthing
44360bf0a39SEmil Renner Berthing		i2c1: i2c@10040000 {
44460bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
44560bf0a39SEmil Renner Berthing			reg = <0x0 0x10040000 0x0 0x10000>;
44660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>;
44760bf0a39SEmil Renner Berthing			clock-names = "ref";
44860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C1_APB>;
44960bf0a39SEmil Renner Berthing			interrupts = <36>;
45060bf0a39SEmil Renner Berthing			#address-cells = <1>;
45160bf0a39SEmil Renner Berthing			#size-cells = <0>;
45260bf0a39SEmil Renner Berthing			status = "disabled";
45360bf0a39SEmil Renner Berthing		};
45460bf0a39SEmil Renner Berthing
45560bf0a39SEmil Renner Berthing		i2c2: i2c@10050000 {
45660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
45760bf0a39SEmil Renner Berthing			reg = <0x0 0x10050000 0x0 0x10000>;
45860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>;
45960bf0a39SEmil Renner Berthing			clock-names = "ref";
46060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C2_APB>;
46160bf0a39SEmil Renner Berthing			interrupts = <37>;
46260bf0a39SEmil Renner Berthing			#address-cells = <1>;
46360bf0a39SEmil Renner Berthing			#size-cells = <0>;
46460bf0a39SEmil Renner Berthing			status = "disabled";
46560bf0a39SEmil Renner Berthing		};
46660bf0a39SEmil Renner Berthing
46774fb20c8SWilliam Qiu		spi0: spi@10060000 {
46874fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
46974fb20c8SWilliam Qiu			reg = <0x0 0x10060000 0x0 0x10000>;
47074fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI0_APB>,
47174fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI0_APB>;
47274fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
47374fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI0_APB>;
47474fb20c8SWilliam Qiu			interrupts = <38>;
47574fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
47674fb20c8SWilliam Qiu			num-cs = <1>;
47774fb20c8SWilliam Qiu			#address-cells = <1>;
47874fb20c8SWilliam Qiu			#size-cells = <0>;
47974fb20c8SWilliam Qiu			status = "disabled";
48074fb20c8SWilliam Qiu		};
48174fb20c8SWilliam Qiu
48274fb20c8SWilliam Qiu		spi1: spi@10070000 {
48374fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
48474fb20c8SWilliam Qiu			reg = <0x0 0x10070000 0x0 0x10000>;
48574fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI1_APB>,
48674fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI1_APB>;
48774fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
48874fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI1_APB>;
48974fb20c8SWilliam Qiu			interrupts = <39>;
49074fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
49174fb20c8SWilliam Qiu			num-cs = <1>;
49274fb20c8SWilliam Qiu			#address-cells = <1>;
49374fb20c8SWilliam Qiu			#size-cells = <0>;
49474fb20c8SWilliam Qiu			status = "disabled";
49574fb20c8SWilliam Qiu		};
49674fb20c8SWilliam Qiu
49774fb20c8SWilliam Qiu		spi2: spi@10080000 {
49874fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
49974fb20c8SWilliam Qiu			reg = <0x0 0x10080000 0x0 0x10000>;
50074fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI2_APB>,
50174fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI2_APB>;
50274fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
50374fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI2_APB>;
50474fb20c8SWilliam Qiu			interrupts = <40>;
50574fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
50674fb20c8SWilliam Qiu			num-cs = <1>;
50774fb20c8SWilliam Qiu			#address-cells = <1>;
50874fb20c8SWilliam Qiu			#size-cells = <0>;
50974fb20c8SWilliam Qiu			status = "disabled";
51074fb20c8SWilliam Qiu		};
51174fb20c8SWilliam Qiu
512e7c304c0SWalker Chen		tdm: tdm@10090000 {
513e7c304c0SWalker Chen			compatible = "starfive,jh7110-tdm";
514e7c304c0SWalker Chen			reg = <0x0 0x10090000 0x0 0x1000>;
515e7c304c0SWalker Chen			clocks = <&syscrg JH7110_SYSCLK_TDM_AHB>,
516e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_APB>,
517e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_INTERNAL>,
518e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_TDM>,
519e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
520e7c304c0SWalker Chen				 <&tdm_ext>;
521e7c304c0SWalker Chen			clock-names = "tdm_ahb", "tdm_apb",
522e7c304c0SWalker Chen				      "tdm_internal", "tdm",
523e7c304c0SWalker Chen				      "mclk_inner", "tdm_ext";
524e7c304c0SWalker Chen			resets = <&syscrg JH7110_SYSRST_TDM_AHB>,
525e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_APB>,
526e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_CORE>;
527e7c304c0SWalker Chen			dmas = <&dma 20>, <&dma 21>;
528e7c304c0SWalker Chen			dma-names = "rx","tx";
529e7c304c0SWalker Chen			#sound-dai-cells = <0>;
530e7c304c0SWalker Chen			status = "disabled";
531e7c304c0SWalker Chen		};
532e7c304c0SWalker Chen
53392cfc358SXingyu Wu		i2srx: i2s@100e0000 {
53492cfc358SXingyu Wu			compatible = "starfive,jh7110-i2srx";
53592cfc358SXingyu Wu			reg = <0x0 0x100e0000 0x0 0x1000>;
53692cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2SRX_BCLK_MST>,
53792cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_APB>,
53892cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
53992cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
54092cfc358SXingyu Wu				 <&mclk_ext>,
54192cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_BCLK>,
54292cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_LRCK>,
54392cfc358SXingyu Wu				 <&i2srx_bclk_ext>,
54492cfc358SXingyu Wu				 <&i2srx_lrck_ext>;
54592cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
54692cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
54792cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
54892cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2SRX_APB>,
54992cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2SRX_BCLK>;
55092cfc358SXingyu Wu			dmas = <0>, <&dma 24>;
55192cfc358SXingyu Wu			dma-names = "tx", "rx";
55292cfc358SXingyu Wu			starfive,syscon = <&sys_syscon 0x18 0x2>;
55392cfc358SXingyu Wu			#sound-dai-cells = <0>;
55492cfc358SXingyu Wu			status = "disabled";
55592cfc358SXingyu Wu		};
55692cfc358SXingyu Wu
557be326beeSHal Feng		pwmdac: pwmdac@100b0000 {
558be326beeSHal Feng			compatible = "starfive,jh7110-pwmdac";
559be326beeSHal Feng			reg = <0x0 0x100b0000 0x0 0x1000>;
560be326beeSHal Feng			clocks = <&syscrg JH7110_SYSCLK_PWMDAC_APB>,
561be326beeSHal Feng				 <&syscrg JH7110_SYSCLK_PWMDAC_CORE>;
562be326beeSHal Feng			clock-names = "apb", "core";
563be326beeSHal Feng			resets = <&syscrg JH7110_SYSRST_PWMDAC_APB>;
564be326beeSHal Feng			dmas = <&dma 22>;
565be326beeSHal Feng			dma-names = "tx";
566be326beeSHal Feng			#sound-dai-cells = <0>;
567be326beeSHal Feng			status = "disabled";
568be326beeSHal Feng		};
569be326beeSHal Feng
570e126aa3aSMinda Chen		usb0: usb@10100000 {
571e126aa3aSMinda Chen			compatible = "starfive,jh7110-usb";
572e126aa3aSMinda Chen			ranges = <0x0 0x0 0x10100000 0x100000>;
573e126aa3aSMinda Chen			#address-cells = <1>;
574e126aa3aSMinda Chen			#size-cells = <1>;
575e126aa3aSMinda Chen			starfive,stg-syscon = <&stg_syscon 0x4>;
576e126aa3aSMinda Chen			clocks = <&stgcrg JH7110_STGCLK_USB0_LPM>,
577e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_STB>,
578e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APB>,
579e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_AXI>,
580e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_UTMI_APB>;
581e126aa3aSMinda Chen			clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
582e126aa3aSMinda Chen			resets = <&stgcrg JH7110_STGRST_USB0_PWRUP>,
583e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_APB>,
584e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_AXI>,
585e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_UTMI_APB>;
586e126aa3aSMinda Chen			reset-names = "pwrup", "apb", "axi", "utmi_apb";
587e126aa3aSMinda Chen			status = "disabled";
588e126aa3aSMinda Chen
589e126aa3aSMinda Chen			usb_cdns3: usb@0 {
590e126aa3aSMinda Chen				compatible = "cdns,usb3";
591e126aa3aSMinda Chen				reg = <0x0 0x10000>,
592e126aa3aSMinda Chen				      <0x10000 0x10000>,
593e126aa3aSMinda Chen				      <0x20000 0x10000>;
594e126aa3aSMinda Chen				reg-names = "otg", "xhci", "dev";
595e126aa3aSMinda Chen				interrupts = <100>, <108>, <110>;
596e126aa3aSMinda Chen				interrupt-names = "host", "peripheral", "otg";
597e126aa3aSMinda Chen				phys = <&usbphy0>;
598e126aa3aSMinda Chen				phy-names = "cdns3,usb2-phy";
599e126aa3aSMinda Chen			};
600e126aa3aSMinda Chen		};
601e126aa3aSMinda Chen
602c2a10081SMinda Chen		usbphy0: phy@10200000 {
603c2a10081SMinda Chen			compatible = "starfive,jh7110-usb-phy";
604c2a10081SMinda Chen			reg = <0x0 0x10200000 0x0 0x10000>;
605c2a10081SMinda Chen			clocks = <&syscrg JH7110_SYSCLK_USB_125M>,
606c2a10081SMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APP_125>;
607c2a10081SMinda Chen			clock-names = "125m", "app_125m";
608c2a10081SMinda Chen			#phy-cells = <0>;
609c2a10081SMinda Chen		};
610c2a10081SMinda Chen
611c2a10081SMinda Chen		pciephy0: phy@10210000 {
612c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
613c2a10081SMinda Chen			reg = <0x0 0x10210000 0x0 0x10000>;
614c2a10081SMinda Chen			#phy-cells = <0>;
615c2a10081SMinda Chen		};
616c2a10081SMinda Chen
617c2a10081SMinda Chen		pciephy1: phy@10220000 {
618c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
619c2a10081SMinda Chen			reg = <0x0 0x10220000 0x0 0x10000>;
620c2a10081SMinda Chen			#phy-cells = <0>;
621c2a10081SMinda Chen		};
622c2a10081SMinda Chen
6233d90131fSXingyu Wu		stgcrg: clock-controller@10230000 {
6243d90131fSXingyu Wu			compatible = "starfive,jh7110-stgcrg";
6253d90131fSXingyu Wu			reg = <0x0 0x10230000 0x0 0x10000>;
6263d90131fSXingyu Wu			clocks = <&osc>,
6273d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_CORE>,
6283d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
6293d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_USB_125M>,
6303d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_CPU_BUS>,
6313d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_AXI>,
6323d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOCSTG_BUS>,
6333d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_APB_BUS>;
6343d90131fSXingyu Wu			clock-names = "osc", "hifi4_core",
6353d90131fSXingyu Wu				      "stg_axiahb", "usb_125m",
6363d90131fSXingyu Wu				      "cpu_bus", "hifi4_axi",
6373d90131fSXingyu Wu				      "nocstg_bus", "apb_bus";
6383d90131fSXingyu Wu			#clock-cells = <1>;
6393d90131fSXingyu Wu			#reset-cells = <1>;
6403d90131fSXingyu Wu		};
6413d90131fSXingyu Wu
6423fcbcfc4SWilliam Qiu		stg_syscon: syscon@10240000 {
6433fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-stg-syscon", "syscon";
6443fcbcfc4SWilliam Qiu			reg = <0x0 0x10240000 0x0 0x1000>;
6453fcbcfc4SWilliam Qiu		};
6463fcbcfc4SWilliam Qiu
64760bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
648*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
64960bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
65060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
65160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
65260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
653*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART3_APB>,
654*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART3_CORE>;
65560bf0a39SEmil Renner Berthing			interrupts = <45>;
65660bf0a39SEmil Renner Berthing			reg-io-width = <4>;
65760bf0a39SEmil Renner Berthing			reg-shift = <2>;
65860bf0a39SEmil Renner Berthing			status = "disabled";
65960bf0a39SEmil Renner Berthing		};
66060bf0a39SEmil Renner Berthing
66160bf0a39SEmil Renner Berthing		uart4: serial@12010000 {
662*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
66360bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
66460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
66560bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
66660bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
667*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART4_APB>,
668*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART4_CORE>;
66960bf0a39SEmil Renner Berthing			interrupts = <46>;
67060bf0a39SEmil Renner Berthing			reg-io-width = <4>;
67160bf0a39SEmil Renner Berthing			reg-shift = <2>;
67260bf0a39SEmil Renner Berthing			status = "disabled";
67360bf0a39SEmil Renner Berthing		};
67460bf0a39SEmil Renner Berthing
67560bf0a39SEmil Renner Berthing		uart5: serial@12020000 {
676*4ed81d9dSHal Feng			compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
67760bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
67860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
67960bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
68060bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
681*4ed81d9dSHal Feng			resets = <&syscrg JH7110_SYSRST_UART5_APB>,
682*4ed81d9dSHal Feng				 <&syscrg JH7110_SYSRST_UART5_CORE>;
68360bf0a39SEmil Renner Berthing			interrupts = <47>;
68460bf0a39SEmil Renner Berthing			reg-io-width = <4>;
68560bf0a39SEmil Renner Berthing			reg-shift = <2>;
68660bf0a39SEmil Renner Berthing			status = "disabled";
68760bf0a39SEmil Renner Berthing		};
68860bf0a39SEmil Renner Berthing
68960bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
69060bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
69160bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
69260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
69360bf0a39SEmil Renner Berthing			clock-names = "ref";
69460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
69560bf0a39SEmil Renner Berthing			interrupts = <48>;
69660bf0a39SEmil Renner Berthing			#address-cells = <1>;
69760bf0a39SEmil Renner Berthing			#size-cells = <0>;
69860bf0a39SEmil Renner Berthing			status = "disabled";
69960bf0a39SEmil Renner Berthing		};
70060bf0a39SEmil Renner Berthing
70160bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
70260bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
70360bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
70460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
70560bf0a39SEmil Renner Berthing			clock-names = "ref";
70660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
70760bf0a39SEmil Renner Berthing			interrupts = <49>;
70860bf0a39SEmil Renner Berthing			#address-cells = <1>;
70960bf0a39SEmil Renner Berthing			#size-cells = <0>;
71060bf0a39SEmil Renner Berthing			status = "disabled";
71160bf0a39SEmil Renner Berthing		};
71260bf0a39SEmil Renner Berthing
71360bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
71460bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
71560bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
71660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
71760bf0a39SEmil Renner Berthing			clock-names = "ref";
71860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
71960bf0a39SEmil Renner Berthing			interrupts = <50>;
72060bf0a39SEmil Renner Berthing			#address-cells = <1>;
72160bf0a39SEmil Renner Berthing			#size-cells = <0>;
72260bf0a39SEmil Renner Berthing			status = "disabled";
72360bf0a39SEmil Renner Berthing		};
72460bf0a39SEmil Renner Berthing
72560bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
72660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
72760bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
72860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
72960bf0a39SEmil Renner Berthing			clock-names = "ref";
73060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
73160bf0a39SEmil Renner Berthing			interrupts = <51>;
73260bf0a39SEmil Renner Berthing			#address-cells = <1>;
73360bf0a39SEmil Renner Berthing			#size-cells = <0>;
73460bf0a39SEmil Renner Berthing			status = "disabled";
73560bf0a39SEmil Renner Berthing		};
73660bf0a39SEmil Renner Berthing
73774fb20c8SWilliam Qiu		spi3: spi@12070000 {
73874fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
73974fb20c8SWilliam Qiu			reg = <0x0 0x12070000 0x0 0x10000>;
74074fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI3_APB>,
74174fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI3_APB>;
74274fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
74374fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI3_APB>;
74474fb20c8SWilliam Qiu			interrupts = <52>;
74574fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
74674fb20c8SWilliam Qiu			num-cs = <1>;
74774fb20c8SWilliam Qiu			#address-cells = <1>;
74874fb20c8SWilliam Qiu			#size-cells = <0>;
74974fb20c8SWilliam Qiu			status = "disabled";
75074fb20c8SWilliam Qiu		};
75174fb20c8SWilliam Qiu
75274fb20c8SWilliam Qiu		spi4: spi@12080000 {
75374fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
75474fb20c8SWilliam Qiu			reg = <0x0 0x12080000 0x0 0x10000>;
75574fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI4_APB>,
75674fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI4_APB>;
75774fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
75874fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI4_APB>;
75974fb20c8SWilliam Qiu			interrupts = <53>;
76074fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
76174fb20c8SWilliam Qiu			num-cs = <1>;
76274fb20c8SWilliam Qiu			#address-cells = <1>;
76374fb20c8SWilliam Qiu			#size-cells = <0>;
76474fb20c8SWilliam Qiu			status = "disabled";
76574fb20c8SWilliam Qiu		};
76674fb20c8SWilliam Qiu
76774fb20c8SWilliam Qiu		spi5: spi@12090000 {
76874fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
76974fb20c8SWilliam Qiu			reg = <0x0 0x12090000 0x0 0x10000>;
77074fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI5_APB>,
77174fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI5_APB>;
77274fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
77374fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI5_APB>;
77474fb20c8SWilliam Qiu			interrupts = <54>;
77574fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
77674fb20c8SWilliam Qiu			num-cs = <1>;
77774fb20c8SWilliam Qiu			#address-cells = <1>;
77874fb20c8SWilliam Qiu			#size-cells = <0>;
77974fb20c8SWilliam Qiu			status = "disabled";
78074fb20c8SWilliam Qiu		};
78174fb20c8SWilliam Qiu
78274fb20c8SWilliam Qiu		spi6: spi@120a0000 {
78374fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
78474fb20c8SWilliam Qiu			reg = <0x0 0x120A0000 0x0 0x10000>;
78574fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI6_APB>,
78674fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI6_APB>;
78774fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
78874fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI6_APB>;
78974fb20c8SWilliam Qiu			interrupts = <55>;
79074fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
79174fb20c8SWilliam Qiu			num-cs = <1>;
79274fb20c8SWilliam Qiu			#address-cells = <1>;
79374fb20c8SWilliam Qiu			#size-cells = <0>;
79474fb20c8SWilliam Qiu			status = "disabled";
79574fb20c8SWilliam Qiu		};
79674fb20c8SWilliam Qiu
79792cfc358SXingyu Wu		i2stx0: i2s@120b0000 {
79892cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx0";
79992cfc358SXingyu Wu			reg = <0x0 0x120b0000 0x0 0x1000>;
80092cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX0_BCLK_MST>,
80192cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_APB>,
80292cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
80392cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
80492cfc358SXingyu Wu				 <&mclk_ext>;
80592cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
80692cfc358SXingyu Wu				      "mclk_inner","mclk_ext";
80792cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX0_APB>,
80892cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX0_BCLK>;
80992cfc358SXingyu Wu			dmas = <&dma 47>;
81092cfc358SXingyu Wu			dma-names = "tx";
81192cfc358SXingyu Wu			#sound-dai-cells = <0>;
81292cfc358SXingyu Wu			status = "disabled";
81392cfc358SXingyu Wu		};
81492cfc358SXingyu Wu
81592cfc358SXingyu Wu		i2stx1: i2s@120c0000 {
81692cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx1";
81792cfc358SXingyu Wu			reg = <0x0 0x120c0000 0x0 0x1000>;
81892cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX1_BCLK_MST>,
81992cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_APB>,
82092cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
82192cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
82292cfc358SXingyu Wu				 <&mclk_ext>,
82392cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_BCLK>,
82492cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_LRCK>,
82592cfc358SXingyu Wu				 <&i2stx_bclk_ext>,
82692cfc358SXingyu Wu				 <&i2stx_lrck_ext>;
82792cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
82892cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
82992cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
83092cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX1_APB>,
83192cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX1_BCLK>;
83292cfc358SXingyu Wu			dmas = <&dma 48>;
83392cfc358SXingyu Wu			dma-names = "tx";
83492cfc358SXingyu Wu			#sound-dai-cells = <0>;
83592cfc358SXingyu Wu			status = "disabled";
83692cfc358SXingyu Wu		};
83792cfc358SXingyu Wu
8388d01f741SWilliam Qiu		pwm: pwm@120d0000 {
8398d01f741SWilliam Qiu			compatible = "starfive,jh7110-pwm", "opencores,pwm-v1";
8408d01f741SWilliam Qiu			reg = <0x0 0x120d0000 0x0 0x10000>;
8418d01f741SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_PWM_APB>;
8428d01f741SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_PWM_APB>;
8438d01f741SWilliam Qiu			#pwm-cells = <3>;
8448d01f741SWilliam Qiu			status = "disabled";
8458d01f741SWilliam Qiu		};
8468d01f741SWilliam Qiu
847f2b539afSHal Feng		sfctemp: temperature-sensor@120e0000 {
848f2b539afSHal Feng			compatible = "starfive,jh7110-temp";
849f2b539afSHal Feng			reg = <0x0 0x120e0000 0x0 0x10000>;
850f2b539afSHal Feng			clocks = <&syscrg JH7110_SYSCLK_TEMP_CORE>,
851f2b539afSHal Feng				 <&syscrg JH7110_SYSCLK_TEMP_APB>;
852f2b539afSHal Feng			clock-names = "sense", "bus";
853f2b539afSHal Feng			resets = <&syscrg JH7110_SYSRST_TEMP_CORE>,
854f2b539afSHal Feng				 <&syscrg JH7110_SYSRST_TEMP_APB>;
855f2b539afSHal Feng			reset-names = "sense", "bus";
856f2b539afSHal Feng			#thermal-sensor-cells = <0>;
857f2b539afSHal Feng		};
858f2b539afSHal Feng
859466a8851SConor Dooley		qspi: spi@13010000 {
860466a8851SConor Dooley			compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
861466a8851SConor Dooley			reg = <0x0 0x13010000 0x0 0x10000>,
862466a8851SConor Dooley			      <0x0 0x21000000 0x0 0x400000>;
863466a8851SConor Dooley			interrupts = <25>;
864466a8851SConor Dooley			clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>,
865466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_AHB>,
866466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_APB>;
867466a8851SConor Dooley			clock-names = "ref", "ahb", "apb";
868466a8851SConor Dooley			resets = <&syscrg JH7110_SYSRST_QSPI_APB>,
869466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_AHB>,
870466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_REF>;
871466a8851SConor Dooley			reset-names = "qspi", "qspi-ocp", "rstc_ref";
872466a8851SConor Dooley			cdns,fifo-depth = <256>;
873466a8851SConor Dooley			cdns,fifo-width = <4>;
874466a8851SConor Dooley			cdns,trigger-address = <0x0>;
875466a8851SConor Dooley			status = "disabled";
876466a8851SConor Dooley		};
877466a8851SConor Dooley
87860bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
87960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
88060bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
88160bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
88260bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
88360bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
88460bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
8853e6670a2SXingyu Wu				 <&tdm_ext>, <&mclk_ext>,
8863e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL0_OUT>,
8873e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL1_OUT>,
8883e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL2_OUT>;
88960bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
89060bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
89160bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
89260bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
8933e6670a2SXingyu Wu				      "tdm_ext", "mclk_ext",
8943e6670a2SXingyu Wu				      "pll0_out", "pll1_out", "pll2_out";
89560bf0a39SEmil Renner Berthing			#clock-cells = <1>;
89660bf0a39SEmil Renner Berthing			#reset-cells = <1>;
89760bf0a39SEmil Renner Berthing		};
89860bf0a39SEmil Renner Berthing
8993fcbcfc4SWilliam Qiu		sys_syscon: syscon@13030000 {
9003fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
9013fcbcfc4SWilliam Qiu			reg = <0x0 0x13030000 0x0 0x1000>;
9023fcbcfc4SWilliam Qiu
9033fcbcfc4SWilliam Qiu			pllclk: clock-controller {
9043fcbcfc4SWilliam Qiu				compatible = "starfive,jh7110-pll";
9053fcbcfc4SWilliam Qiu				clocks = <&osc>;
9063fcbcfc4SWilliam Qiu				#clock-cells = <1>;
9073fcbcfc4SWilliam Qiu			};
9083fcbcfc4SWilliam Qiu		};
9093fcbcfc4SWilliam Qiu
91060bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
91160bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
91260bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
91360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
91460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
91560bf0a39SEmil Renner Berthing			interrupts = <86>;
91660bf0a39SEmil Renner Berthing			interrupt-controller;
91760bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
91860bf0a39SEmil Renner Berthing			gpio-controller;
91960bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
92060bf0a39SEmil Renner Berthing		};
92160bf0a39SEmil Renner Berthing
9226361b7deSXingyu Wu		watchdog@13070000 {
9236361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
9246361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
9256361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
9266361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
9276361b7deSXingyu Wu			clock-names = "apb", "core";
9286361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
9296361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
9306361b7deSXingyu Wu		};
9316361b7deSXingyu Wu
932e2c07765SJia Jie Ho		crypto: crypto@16000000 {
933e2c07765SJia Jie Ho			compatible = "starfive,jh7110-crypto";
934e2c07765SJia Jie Ho			reg = <0x0 0x16000000 0x0 0x4000>;
935e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
936e2c07765SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
937e2c07765SJia Jie Ho			clock-names = "hclk", "ahb";
938e2c07765SJia Jie Ho			interrupts = <28>;
939e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
940e2c07765SJia Jie Ho			dmas = <&sdma 1 2>, <&sdma 0 2>;
941e2c07765SJia Jie Ho			dma-names = "tx", "rx";
942e2c07765SJia Jie Ho		};
943e2c07765SJia Jie Ho
944e2c07765SJia Jie Ho		sdma: dma-controller@16008000 {
945e2c07765SJia Jie Ho			compatible = "arm,pl080", "arm,primecell";
946e2c07765SJia Jie Ho			arm,primecell-periphid = <0x00041080>;
947e2c07765SJia Jie Ho			reg = <0x0 0x16008000 0x0 0x4000>;
948e2c07765SJia Jie Ho			interrupts = <29>;
949e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>;
950e2c07765SJia Jie Ho			clock-names = "apb_pclk";
951e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
952e2c07765SJia Jie Ho			lli-bus-interface-ahb1;
953e2c07765SJia Jie Ho			mem-bus-interface-ahb1;
954e2c07765SJia Jie Ho			memcpy-burst-size = <256>;
955e2c07765SJia Jie Ho			memcpy-bus-width = <32>;
956e2c07765SJia Jie Ho			#dma-cells = <2>;
957e2c07765SJia Jie Ho		};
958e2c07765SJia Jie Ho
95987ddf5b1SJia Jie Ho		rng: rng@1600c000 {
96087ddf5b1SJia Jie Ho			compatible = "starfive,jh7110-trng";
96187ddf5b1SJia Jie Ho			reg = <0x0 0x1600C000 0x0 0x4000>;
96287ddf5b1SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
96387ddf5b1SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
96487ddf5b1SJia Jie Ho			clock-names = "hclk", "ahb";
96587ddf5b1SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
96687ddf5b1SJia Jie Ho			interrupts = <30>;
96787ddf5b1SJia Jie Ho		};
96887ddf5b1SJia Jie Ho
969b127dbf9SWilliam Qiu		mmc0: mmc@16010000 {
970b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
971b127dbf9SWilliam Qiu			reg = <0x0 0x16010000 0x0 0x10000>;
972b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>,
973b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
974b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
975b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>;
976b127dbf9SWilliam Qiu			reset-names = "reset";
977b127dbf9SWilliam Qiu			interrupts = <74>;
978b127dbf9SWilliam Qiu			fifo-depth = <32>;
979b127dbf9SWilliam Qiu			fifo-watermark-aligned;
980b127dbf9SWilliam Qiu			data-addr = <0>;
981b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x14 0x1a 0x7c000000>;
982b127dbf9SWilliam Qiu			status = "disabled";
983b127dbf9SWilliam Qiu		};
984b127dbf9SWilliam Qiu
985b127dbf9SWilliam Qiu		mmc1: mmc@16020000 {
986b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
987b127dbf9SWilliam Qiu			reg = <0x0 0x16020000 0x0 0x10000>;
988b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>,
989b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
990b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
991b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>;
992b127dbf9SWilliam Qiu			reset-names = "reset";
993b127dbf9SWilliam Qiu			interrupts = <75>;
994b127dbf9SWilliam Qiu			fifo-depth = <32>;
995b127dbf9SWilliam Qiu			fifo-watermark-aligned;
996b127dbf9SWilliam Qiu			data-addr = <0>;
997b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x9c 0x1 0x3e>;
998b127dbf9SWilliam Qiu			status = "disabled";
999b127dbf9SWilliam Qiu		};
1000b127dbf9SWilliam Qiu
10011ff166c9SSamin Guo		gmac0: ethernet@16030000 {
10021ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
10031ff166c9SSamin Guo			reg = <0x0 0x16030000 0x0 0x10000>;
10041ff166c9SSamin Guo			clocks = <&aoncrg JH7110_AONCLK_GMAC0_AXI>,
10051ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_AHB>,
10061ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_PTP>,
10071ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_TX_INV>,
10081ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_GTXC>;
10091ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
10101ff166c9SSamin Guo				      "tx", "gtx";
10111ff166c9SSamin Guo			resets = <&aoncrg JH7110_AONRST_GMAC0_AXI>,
10121ff166c9SSamin Guo				 <&aoncrg JH7110_AONRST_GMAC0_AHB>;
10131ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10141ff166c9SSamin Guo			interrupts = <7>, <6>, <5>;
10151ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10161ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10171ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10181ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1019f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10201ff166c9SSamin Guo			snps,fixed-burst;
10211ff166c9SSamin Guo			snps,no-pbl-x8;
10221ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10231ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10241ff166c9SSamin Guo			snps,tso;
10251ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10261ff166c9SSamin Guo			snps,txpbl = <16>;
10271ff166c9SSamin Guo			snps,rxpbl = <16>;
10281ff166c9SSamin Guo			starfive,syscon = <&aon_syscon 0xc 0x12>;
10291ff166c9SSamin Guo			status = "disabled";
10301ff166c9SSamin Guo		};
10311ff166c9SSamin Guo
10321ff166c9SSamin Guo		gmac1: ethernet@16040000 {
10331ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
10341ff166c9SSamin Guo			reg = <0x0 0x16040000 0x0 0x10000>;
10351ff166c9SSamin Guo			clocks = <&syscrg JH7110_SYSCLK_GMAC1_AXI>,
10361ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_AHB>,
10371ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_PTP>,
10381ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_TX_INV>,
10391ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_GTXC>;
10401ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
10411ff166c9SSamin Guo				      "tx", "gtx";
10421ff166c9SSamin Guo			resets = <&syscrg JH7110_SYSRST_GMAC1_AXI>,
10431ff166c9SSamin Guo				 <&syscrg JH7110_SYSRST_GMAC1_AHB>;
10441ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10451ff166c9SSamin Guo			interrupts = <78>, <77>, <76>;
10461ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10471ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10481ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10491ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1050f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10511ff166c9SSamin Guo			snps,fixed-burst;
10521ff166c9SSamin Guo			snps,no-pbl-x8;
10531ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10541ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10551ff166c9SSamin Guo			snps,tso;
10561ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10571ff166c9SSamin Guo			snps,txpbl = <16>;
10581ff166c9SSamin Guo			snps,rxpbl = <16>;
10591ff166c9SSamin Guo			starfive,syscon = <&sys_syscon 0x90 0x2>;
10601ff166c9SSamin Guo			status = "disabled";
10611ff166c9SSamin Guo		};
10621ff166c9SSamin Guo
1063ac73c097SWalker Chen		dma: dma-controller@16050000 {
1064ac73c097SWalker Chen			compatible = "starfive,jh7110-axi-dma";
1065ac73c097SWalker Chen			reg = <0x0 0x16050000 0x0 0x10000>;
1066ac73c097SWalker Chen			clocks = <&stgcrg JH7110_STGCLK_DMA1P_AXI>,
1067ac73c097SWalker Chen				 <&stgcrg JH7110_STGCLK_DMA1P_AHB>;
1068ac73c097SWalker Chen			clock-names = "core-clk", "cfgr-clk";
1069ac73c097SWalker Chen			resets = <&stgcrg JH7110_STGRST_DMA1P_AXI>,
1070ac73c097SWalker Chen				 <&stgcrg JH7110_STGRST_DMA1P_AHB>;
1071ac73c097SWalker Chen			interrupts = <73>;
1072ac73c097SWalker Chen			#dma-cells = <1>;
1073ac73c097SWalker Chen			dma-channels = <4>;
1074ac73c097SWalker Chen			snps,dma-masters = <1>;
1075ac73c097SWalker Chen			snps,data-width = <3>;
1076ac73c097SWalker Chen			snps,block-size = <65536 65536 65536 65536>;
1077ac73c097SWalker Chen			snps,priority = <0 1 2 3>;
1078ac73c097SWalker Chen			snps,axi-max-burst-len = <16>;
1079ac73c097SWalker Chen		};
1080ac73c097SWalker Chen
108160bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
108260bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
108360bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
108460bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
108560bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
108660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
108760bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
108860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
108960bf0a39SEmil Renner Berthing				 <&rtc_osc>;
109060bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
109160bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
109260bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
109360bf0a39SEmil Renner Berthing				      "rtc_osc";
109460bf0a39SEmil Renner Berthing			#clock-cells = <1>;
109560bf0a39SEmil Renner Berthing			#reset-cells = <1>;
109660bf0a39SEmil Renner Berthing		};
109760bf0a39SEmil Renner Berthing
10983fcbcfc4SWilliam Qiu		aon_syscon: syscon@17010000 {
10993fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-aon-syscon", "syscon";
11003fcbcfc4SWilliam Qiu			reg = <0x0 0x17010000 0x0 0x1000>;
11013fcbcfc4SWilliam Qiu			#power-domain-cells = <1>;
11023fcbcfc4SWilliam Qiu		};
11033fcbcfc4SWilliam Qiu
110460bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
110560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
110660bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
110760bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
110860bf0a39SEmil Renner Berthing			interrupts = <85>;
110960bf0a39SEmil Renner Berthing			interrupt-controller;
111060bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
111160bf0a39SEmil Renner Berthing			gpio-controller;
111260bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
111360bf0a39SEmil Renner Berthing		};
11146a887bccSWalker Chen
11156a887bccSWalker Chen		pwrc: power-controller@17030000 {
11166a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
11176a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
11186a887bccSWalker Chen			interrupts = <111>;
11196a887bccSWalker Chen			#power-domain-cells = <1>;
11206a887bccSWalker Chen		};
11213d90131fSXingyu Wu
112228ecaaa5SChanghuang Liang		csi2rx: csi@19800000 {
112328ecaaa5SChanghuang Liang			compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";
112428ecaaa5SChanghuang Liang			reg = <0x0 0x19800000 0x0 0x10000>;
112528ecaaa5SChanghuang Liang			clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>,
112628ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_APB>,
112728ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF0>,
112828ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF1>,
112928ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF2>,
113028ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF3>;
113128ecaaa5SChanghuang Liang			clock-names = "sys_clk", "p_clk",
113228ecaaa5SChanghuang Liang				      "pixel_if0_clk", "pixel_if1_clk",
113328ecaaa5SChanghuang Liang				      "pixel_if2_clk", "pixel_if3_clk";
113428ecaaa5SChanghuang Liang			resets = <&ispcrg JH7110_ISPRST_VIN_SYS>,
113528ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_APB>,
113628ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF0>,
113728ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF1>,
113828ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF2>,
113928ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF3>;
114028ecaaa5SChanghuang Liang			reset-names = "sys", "reg_bank",
114128ecaaa5SChanghuang Liang				      "pixel_if0", "pixel_if1",
114228ecaaa5SChanghuang Liang				      "pixel_if2", "pixel_if3";
114328ecaaa5SChanghuang Liang			phys = <&csi_phy>;
114428ecaaa5SChanghuang Liang			phy-names = "dphy";
114528ecaaa5SChanghuang Liang			status = "disabled";
114628ecaaa5SChanghuang Liang		};
114728ecaaa5SChanghuang Liang
11483d90131fSXingyu Wu		ispcrg: clock-controller@19810000 {
11493d90131fSXingyu Wu			compatible = "starfive,jh7110-ispcrg";
11503d90131fSXingyu Wu			reg = <0x0 0x19810000 0x0 0x10000>;
11513d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
11523d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>,
11533d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>,
11543d90131fSXingyu Wu				 <&dvp_clk>;
11553d90131fSXingyu Wu			clock-names = "isp_top_core", "isp_top_axi",
11563d90131fSXingyu Wu				      "noc_bus_isp_axi", "dvp_clk";
11573d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_ISP_TOP>,
11583d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>,
11593d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>;
11603d90131fSXingyu Wu			#clock-cells = <1>;
11613d90131fSXingyu Wu			#reset-cells = <1>;
11623d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_ISP>;
11633d90131fSXingyu Wu		};
11643d90131fSXingyu Wu
116528ecaaa5SChanghuang Liang		csi_phy: phy@19820000 {
116628ecaaa5SChanghuang Liang			compatible = "starfive,jh7110-dphy-rx";
116728ecaaa5SChanghuang Liang			reg = <0x0 0x19820000 0x0 0x10000>;
116828ecaaa5SChanghuang Liang			clocks = <&ispcrg JH7110_ISPCLK_M31DPHY_CFG_IN>,
116928ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_M31DPHY_REF_IN>,
117028ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_M31DPHY_TX_ESC_LAN0>;
117128ecaaa5SChanghuang Liang			clock-names = "cfg", "ref", "tx";
117228ecaaa5SChanghuang Liang			resets = <&ispcrg JH7110_ISPRST_M31DPHY_HW>,
117328ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_M31DPHY_B09_AON>;
117428ecaaa5SChanghuang Liang			power-domains = <&aon_syscon JH7110_AON_PD_DPHY_RX>;
117528ecaaa5SChanghuang Liang			#phy-cells = <0>;
117628ecaaa5SChanghuang Liang		};
117728ecaaa5SChanghuang Liang
117828ecaaa5SChanghuang Liang		camss: isp@19840000 {
117928ecaaa5SChanghuang Liang			compatible = "starfive,jh7110-camss";
118028ecaaa5SChanghuang Liang			reg = <0x0 0x19840000 0x0 0x10000>,
118128ecaaa5SChanghuang Liang			      <0x0 0x19870000 0x0 0x30000>;
118228ecaaa5SChanghuang Liang			reg-names = "syscon", "isp";
118328ecaaa5SChanghuang Liang			clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
118428ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C>,
118528ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_DVP_INV>,
118628ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_VIN_P_AXI_WR>,
118728ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>,
118828ecaaa5SChanghuang Liang				 <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
118928ecaaa5SChanghuang Liang				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>;
119028ecaaa5SChanghuang Liang			clock-names = "apb_func", "wrapper_clk_c", "dvp_inv",
119128ecaaa5SChanghuang Liang				      "axiwr", "mipi_rx0_pxl", "ispcore_2x",
119228ecaaa5SChanghuang Liang				      "isp_axi";
119328ecaaa5SChanghuang Liang			resets = <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_P>,
119428ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_C>,
119528ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_P_AXI_RD>,
119628ecaaa5SChanghuang Liang				 <&ispcrg JH7110_ISPRST_VIN_P_AXI_WR>,
119728ecaaa5SChanghuang Liang				 <&syscrg JH7110_SYSRST_ISP_TOP>,
119828ecaaa5SChanghuang Liang				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>;
119928ecaaa5SChanghuang Liang			reset-names = "wrapper_p", "wrapper_c", "axird",
120028ecaaa5SChanghuang Liang				      "axiwr", "isp_top_n", "isp_top_axi";
120128ecaaa5SChanghuang Liang			power-domains = <&pwrc JH7110_PD_ISP>;
120228ecaaa5SChanghuang Liang			interrupts = <92>, <87>, <90>, <88>;
120328ecaaa5SChanghuang Liang			status = "disabled";
120428ecaaa5SChanghuang Liang		};
120528ecaaa5SChanghuang Liang
12063d90131fSXingyu Wu		voutcrg: clock-controller@295c0000 {
12073d90131fSXingyu Wu			compatible = "starfive,jh7110-voutcrg";
12083d90131fSXingyu Wu			reg = <0x0 0x295c0000 0x0 0x10000>;
12093d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
12103d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
12113d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
12123d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
12133d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
12143d90131fSXingyu Wu				 <&hdmitx0_pixelclk>;
12153d90131fSXingyu Wu			clock-names = "vout_src", "vout_top_ahb",
12163d90131fSXingyu Wu				      "vout_top_axi", "vout_top_hdmitx0_mclk",
12173d90131fSXingyu Wu				      "i2stx0_bclk", "hdmitx0_pixelclk";
12183d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
12193d90131fSXingyu Wu			#clock-cells = <1>;
12203d90131fSXingyu Wu			#reset-cells = <1>;
12213d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_VOUT>;
12223d90131fSXingyu Wu		};
12232904244aSMinda Chen
12242904244aSMinda Chen		pcie0: pcie@940000000 {
12252904244aSMinda Chen			compatible = "starfive,jh7110-pcie";
12262904244aSMinda Chen			reg = <0x9 0x40000000 0x0 0x1000000>,
12272904244aSMinda Chen			      <0x0 0x2b000000 0x0 0x100000>;
12282904244aSMinda Chen			reg-names = "cfg", "apb";
12292904244aSMinda Chen			linux,pci-domain = <0>;
12302904244aSMinda Chen			#address-cells = <3>;
12312904244aSMinda Chen			#size-cells = <2>;
12322904244aSMinda Chen			#interrupt-cells = <1>;
12332904244aSMinda Chen			ranges = <0x82000000  0x0 0x30000000  0x0 0x30000000 0x0 0x08000000>,
12342904244aSMinda Chen				 <0xc3000000  0x9 0x00000000  0x9 0x00000000 0x0 0x40000000>;
12352904244aSMinda Chen			interrupts = <56>;
12362904244aSMinda Chen			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
12372904244aSMinda Chen			interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc0 0x1>,
12382904244aSMinda Chen					<0x0 0x0 0x0 0x2 &pcie_intc0 0x2>,
12392904244aSMinda Chen					<0x0 0x0 0x0 0x3 &pcie_intc0 0x3>,
12402904244aSMinda Chen					<0x0 0x0 0x0 0x4 &pcie_intc0 0x4>;
12412904244aSMinda Chen			msi-controller;
12422904244aSMinda Chen			device_type = "pci";
12432904244aSMinda Chen			starfive,stg-syscon = <&stg_syscon>;
12442904244aSMinda Chen			bus-range = <0x0 0xff>;
12452904244aSMinda Chen			clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>,
12462904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE0_TL>,
12472904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE0_AXI_MST0>,
12482904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE0_APB>;
12492904244aSMinda Chen			clock-names = "noc", "tl", "axi_mst0", "apb";
12502904244aSMinda Chen			resets = <&stgcrg JH7110_STGRST_PCIE0_AXI_MST0>,
12512904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV0>,
12522904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV>,
12532904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE0_BRG>,
12542904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE0_CORE>,
12552904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE0_APB>;
12562904244aSMinda Chen			reset-names = "mst0", "slv0", "slv", "brg",
12572904244aSMinda Chen				      "core", "apb";
12582904244aSMinda Chen			status = "disabled";
12592904244aSMinda Chen
12602904244aSMinda Chen			pcie_intc0: interrupt-controller {
12612904244aSMinda Chen				#address-cells = <0>;
12622904244aSMinda Chen				#interrupt-cells = <1>;
12632904244aSMinda Chen				interrupt-controller;
12642904244aSMinda Chen			};
12652904244aSMinda Chen		};
12662904244aSMinda Chen
12672904244aSMinda Chen		pcie1: pcie@9c0000000 {
12682904244aSMinda Chen			compatible = "starfive,jh7110-pcie";
12692904244aSMinda Chen			reg = <0x9 0xc0000000 0x0 0x1000000>,
12702904244aSMinda Chen			      <0x0 0x2c000000 0x0 0x100000>;
12712904244aSMinda Chen			reg-names = "cfg", "apb";
12722904244aSMinda Chen			linux,pci-domain = <1>;
12732904244aSMinda Chen			#address-cells = <3>;
12742904244aSMinda Chen			#size-cells = <2>;
12752904244aSMinda Chen			#interrupt-cells = <1>;
12762904244aSMinda Chen			ranges = <0x82000000  0x0 0x38000000  0x0 0x38000000 0x0 0x08000000>,
12772904244aSMinda Chen				 <0xc3000000  0x9 0x80000000  0x9 0x80000000 0x0 0x40000000>;
12782904244aSMinda Chen			interrupts = <57>;
12792904244aSMinda Chen			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
12802904244aSMinda Chen			interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc1 0x1>,
12812904244aSMinda Chen					<0x0 0x0 0x0 0x2 &pcie_intc1 0x2>,
12822904244aSMinda Chen					<0x0 0x0 0x0 0x3 &pcie_intc1 0x3>,
12832904244aSMinda Chen					<0x0 0x0 0x0 0x4 &pcie_intc1 0x4>;
12842904244aSMinda Chen			msi-controller;
12852904244aSMinda Chen			device_type = "pci";
12862904244aSMinda Chen			starfive,stg-syscon = <&stg_syscon>;
12872904244aSMinda Chen			bus-range = <0x0 0xff>;
12882904244aSMinda Chen			clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>,
12892904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE1_TL>,
12902904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE1_AXI_MST0>,
12912904244aSMinda Chen				 <&stgcrg JH7110_STGCLK_PCIE1_APB>;
12922904244aSMinda Chen			clock-names = "noc", "tl", "axi_mst0", "apb";
12932904244aSMinda Chen			resets = <&stgcrg JH7110_STGRST_PCIE1_AXI_MST0>,
12942904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV0>,
12952904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV>,
12962904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE1_BRG>,
12972904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE1_CORE>,
12982904244aSMinda Chen				 <&stgcrg JH7110_STGRST_PCIE1_APB>;
12992904244aSMinda Chen			reset-names = "mst0", "slv0", "slv", "brg",
13002904244aSMinda Chen				      "core", "apb";
13012904244aSMinda Chen			status = "disabled";
13022904244aSMinda Chen
13032904244aSMinda Chen			pcie_intc1: interrupt-controller {
13042904244aSMinda Chen				#address-cells = <0>;
13052904244aSMinda Chen				#interrupt-cells = <1>;
13062904244aSMinda Chen				interrupt-controller;
13072904244aSMinda Chen			};
13082904244aSMinda Chen		};
130960bf0a39SEmil Renner Berthing	};
131060bf0a39SEmil Renner Berthing};
1311