xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision 8d01f741a046f6e7f8bff220518f00f72ceb7c75)
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
1860bf0a39SEmil Renner Berthing	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 {
240f2b539afSHal Feng				cpu_alert0: cpu_alert0 {
241f2b539afSHal Feng					/* milliCelsius */
242f2b539afSHal Feng					temperature = <85000>;
243f2b539afSHal Feng					hysteresis = <2000>;
244f2b539afSHal Feng					type = "passive";
245f2b539afSHal Feng				};
246f2b539afSHal Feng
247f2b539afSHal Feng				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 {
39060bf0a39SEmil Renner Berthing			compatible = "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";
39560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART0_APB>;
39660bf0a39SEmil Renner Berthing			interrupts = <32>;
39760bf0a39SEmil Renner Berthing			reg-io-width = <4>;
39860bf0a39SEmil Renner Berthing			reg-shift = <2>;
39960bf0a39SEmil Renner Berthing			status = "disabled";
40060bf0a39SEmil Renner Berthing		};
40160bf0a39SEmil Renner Berthing
40260bf0a39SEmil Renner Berthing		uart1: serial@10010000 {
40360bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
40460bf0a39SEmil Renner Berthing			reg = <0x0 0x10010000 0x0 0x10000>;
40560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>,
40660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART1_APB>;
40760bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
40860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART1_APB>;
40960bf0a39SEmil Renner Berthing			interrupts = <33>;
41060bf0a39SEmil Renner Berthing			reg-io-width = <4>;
41160bf0a39SEmil Renner Berthing			reg-shift = <2>;
41260bf0a39SEmil Renner Berthing			status = "disabled";
41360bf0a39SEmil Renner Berthing		};
41460bf0a39SEmil Renner Berthing
41560bf0a39SEmil Renner Berthing		uart2: serial@10020000 {
41660bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
41760bf0a39SEmil Renner Berthing			reg = <0x0 0x10020000 0x0 0x10000>;
41860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>,
41960bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART2_APB>;
42060bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
42160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART2_APB>;
42260bf0a39SEmil Renner Berthing			interrupts = <34>;
42360bf0a39SEmil Renner Berthing			reg-io-width = <4>;
42460bf0a39SEmil Renner Berthing			reg-shift = <2>;
42560bf0a39SEmil Renner Berthing			status = "disabled";
42660bf0a39SEmil Renner Berthing		};
42760bf0a39SEmil Renner Berthing
42860bf0a39SEmil Renner Berthing		i2c0: i2c@10030000 {
42960bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
43060bf0a39SEmil Renner Berthing			reg = <0x0 0x10030000 0x0 0x10000>;
43160bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>;
43260bf0a39SEmil Renner Berthing			clock-names = "ref";
43360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C0_APB>;
43460bf0a39SEmil Renner Berthing			interrupts = <35>;
43560bf0a39SEmil Renner Berthing			#address-cells = <1>;
43660bf0a39SEmil Renner Berthing			#size-cells = <0>;
43760bf0a39SEmil Renner Berthing			status = "disabled";
43860bf0a39SEmil Renner Berthing		};
43960bf0a39SEmil Renner Berthing
44060bf0a39SEmil Renner Berthing		i2c1: i2c@10040000 {
44160bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
44260bf0a39SEmil Renner Berthing			reg = <0x0 0x10040000 0x0 0x10000>;
44360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>;
44460bf0a39SEmil Renner Berthing			clock-names = "ref";
44560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C1_APB>;
44660bf0a39SEmil Renner Berthing			interrupts = <36>;
44760bf0a39SEmil Renner Berthing			#address-cells = <1>;
44860bf0a39SEmil Renner Berthing			#size-cells = <0>;
44960bf0a39SEmil Renner Berthing			status = "disabled";
45060bf0a39SEmil Renner Berthing		};
45160bf0a39SEmil Renner Berthing
45260bf0a39SEmil Renner Berthing		i2c2: i2c@10050000 {
45360bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
45460bf0a39SEmil Renner Berthing			reg = <0x0 0x10050000 0x0 0x10000>;
45560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>;
45660bf0a39SEmil Renner Berthing			clock-names = "ref";
45760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C2_APB>;
45860bf0a39SEmil Renner Berthing			interrupts = <37>;
45960bf0a39SEmil Renner Berthing			#address-cells = <1>;
46060bf0a39SEmil Renner Berthing			#size-cells = <0>;
46160bf0a39SEmil Renner Berthing			status = "disabled";
46260bf0a39SEmil Renner Berthing		};
46360bf0a39SEmil Renner Berthing
46474fb20c8SWilliam Qiu		spi0: spi@10060000 {
46574fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
46674fb20c8SWilliam Qiu			reg = <0x0 0x10060000 0x0 0x10000>;
46774fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI0_APB>,
46874fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI0_APB>;
46974fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
47074fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI0_APB>;
47174fb20c8SWilliam Qiu			interrupts = <38>;
47274fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
47374fb20c8SWilliam Qiu			num-cs = <1>;
47474fb20c8SWilliam Qiu			#address-cells = <1>;
47574fb20c8SWilliam Qiu			#size-cells = <0>;
47674fb20c8SWilliam Qiu			status = "disabled";
47774fb20c8SWilliam Qiu		};
47874fb20c8SWilliam Qiu
47974fb20c8SWilliam Qiu		spi1: spi@10070000 {
48074fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
48174fb20c8SWilliam Qiu			reg = <0x0 0x10070000 0x0 0x10000>;
48274fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI1_APB>,
48374fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI1_APB>;
48474fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
48574fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI1_APB>;
48674fb20c8SWilliam Qiu			interrupts = <39>;
48774fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
48874fb20c8SWilliam Qiu			num-cs = <1>;
48974fb20c8SWilliam Qiu			#address-cells = <1>;
49074fb20c8SWilliam Qiu			#size-cells = <0>;
49174fb20c8SWilliam Qiu			status = "disabled";
49274fb20c8SWilliam Qiu		};
49374fb20c8SWilliam Qiu
49474fb20c8SWilliam Qiu		spi2: spi@10080000 {
49574fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
49674fb20c8SWilliam Qiu			reg = <0x0 0x10080000 0x0 0x10000>;
49774fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI2_APB>,
49874fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI2_APB>;
49974fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
50074fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI2_APB>;
50174fb20c8SWilliam Qiu			interrupts = <40>;
50274fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
50374fb20c8SWilliam Qiu			num-cs = <1>;
50474fb20c8SWilliam Qiu			#address-cells = <1>;
50574fb20c8SWilliam Qiu			#size-cells = <0>;
50674fb20c8SWilliam Qiu			status = "disabled";
50774fb20c8SWilliam Qiu		};
50874fb20c8SWilliam Qiu
509e7c304c0SWalker Chen		tdm: tdm@10090000 {
510e7c304c0SWalker Chen			compatible = "starfive,jh7110-tdm";
511e7c304c0SWalker Chen			reg = <0x0 0x10090000 0x0 0x1000>;
512e7c304c0SWalker Chen			clocks = <&syscrg JH7110_SYSCLK_TDM_AHB>,
513e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_APB>,
514e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_INTERNAL>,
515e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_TDM>,
516e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
517e7c304c0SWalker Chen				 <&tdm_ext>;
518e7c304c0SWalker Chen			clock-names = "tdm_ahb", "tdm_apb",
519e7c304c0SWalker Chen				      "tdm_internal", "tdm",
520e7c304c0SWalker Chen				      "mclk_inner", "tdm_ext";
521e7c304c0SWalker Chen			resets = <&syscrg JH7110_SYSRST_TDM_AHB>,
522e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_APB>,
523e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_CORE>;
524e7c304c0SWalker Chen			dmas = <&dma 20>, <&dma 21>;
525e7c304c0SWalker Chen			dma-names = "rx","tx";
526e7c304c0SWalker Chen			#sound-dai-cells = <0>;
527e7c304c0SWalker Chen			status = "disabled";
528e7c304c0SWalker Chen		};
529e7c304c0SWalker Chen
53092cfc358SXingyu Wu		i2srx: i2s@100e0000 {
53192cfc358SXingyu Wu			compatible = "starfive,jh7110-i2srx";
53292cfc358SXingyu Wu			reg = <0x0 0x100e0000 0x0 0x1000>;
53392cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2SRX_BCLK_MST>,
53492cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_APB>,
53592cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
53692cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
53792cfc358SXingyu Wu				 <&mclk_ext>,
53892cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_BCLK>,
53992cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_LRCK>,
54092cfc358SXingyu Wu				 <&i2srx_bclk_ext>,
54192cfc358SXingyu Wu				 <&i2srx_lrck_ext>;
54292cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
54392cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
54492cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
54592cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2SRX_APB>,
54692cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2SRX_BCLK>;
54792cfc358SXingyu Wu			dmas = <0>, <&dma 24>;
54892cfc358SXingyu Wu			dma-names = "tx", "rx";
54992cfc358SXingyu Wu			starfive,syscon = <&sys_syscon 0x18 0x2>;
55092cfc358SXingyu Wu			#sound-dai-cells = <0>;
55192cfc358SXingyu Wu			status = "disabled";
55292cfc358SXingyu Wu		};
55392cfc358SXingyu Wu
554be326beeSHal Feng		pwmdac: pwmdac@100b0000 {
555be326beeSHal Feng			compatible = "starfive,jh7110-pwmdac";
556be326beeSHal Feng			reg = <0x0 0x100b0000 0x0 0x1000>;
557be326beeSHal Feng			clocks = <&syscrg JH7110_SYSCLK_PWMDAC_APB>,
558be326beeSHal Feng				 <&syscrg JH7110_SYSCLK_PWMDAC_CORE>;
559be326beeSHal Feng			clock-names = "apb", "core";
560be326beeSHal Feng			resets = <&syscrg JH7110_SYSRST_PWMDAC_APB>;
561be326beeSHal Feng			dmas = <&dma 22>;
562be326beeSHal Feng			dma-names = "tx";
563be326beeSHal Feng			#sound-dai-cells = <0>;
564be326beeSHal Feng			status = "disabled";
565be326beeSHal Feng		};
566be326beeSHal Feng
567e126aa3aSMinda Chen		usb0: usb@10100000 {
568e126aa3aSMinda Chen			compatible = "starfive,jh7110-usb";
569e126aa3aSMinda Chen			ranges = <0x0 0x0 0x10100000 0x100000>;
570e126aa3aSMinda Chen			#address-cells = <1>;
571e126aa3aSMinda Chen			#size-cells = <1>;
572e126aa3aSMinda Chen			starfive,stg-syscon = <&stg_syscon 0x4>;
573e126aa3aSMinda Chen			clocks = <&stgcrg JH7110_STGCLK_USB0_LPM>,
574e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_STB>,
575e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APB>,
576e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_AXI>,
577e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_UTMI_APB>;
578e126aa3aSMinda Chen			clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
579e126aa3aSMinda Chen			resets = <&stgcrg JH7110_STGRST_USB0_PWRUP>,
580e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_APB>,
581e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_AXI>,
582e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_UTMI_APB>;
583e126aa3aSMinda Chen			reset-names = "pwrup", "apb", "axi", "utmi_apb";
584e126aa3aSMinda Chen			status = "disabled";
585e126aa3aSMinda Chen
586e126aa3aSMinda Chen			usb_cdns3: usb@0 {
587e126aa3aSMinda Chen				compatible = "cdns,usb3";
588e126aa3aSMinda Chen				reg = <0x0 0x10000>,
589e126aa3aSMinda Chen				      <0x10000 0x10000>,
590e126aa3aSMinda Chen				      <0x20000 0x10000>;
591e126aa3aSMinda Chen				reg-names = "otg", "xhci", "dev";
592e126aa3aSMinda Chen				interrupts = <100>, <108>, <110>;
593e126aa3aSMinda Chen				interrupt-names = "host", "peripheral", "otg";
594e126aa3aSMinda Chen				phys = <&usbphy0>;
595e126aa3aSMinda Chen				phy-names = "cdns3,usb2-phy";
596e126aa3aSMinda Chen			};
597e126aa3aSMinda Chen		};
598e126aa3aSMinda Chen
599c2a10081SMinda Chen		usbphy0: phy@10200000 {
600c2a10081SMinda Chen			compatible = "starfive,jh7110-usb-phy";
601c2a10081SMinda Chen			reg = <0x0 0x10200000 0x0 0x10000>;
602c2a10081SMinda Chen			clocks = <&syscrg JH7110_SYSCLK_USB_125M>,
603c2a10081SMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APP_125>;
604c2a10081SMinda Chen			clock-names = "125m", "app_125m";
605c2a10081SMinda Chen			#phy-cells = <0>;
606c2a10081SMinda Chen		};
607c2a10081SMinda Chen
608c2a10081SMinda Chen		pciephy0: phy@10210000 {
609c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
610c2a10081SMinda Chen			reg = <0x0 0x10210000 0x0 0x10000>;
611c2a10081SMinda Chen			#phy-cells = <0>;
612c2a10081SMinda Chen		};
613c2a10081SMinda Chen
614c2a10081SMinda Chen		pciephy1: phy@10220000 {
615c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
616c2a10081SMinda Chen			reg = <0x0 0x10220000 0x0 0x10000>;
617c2a10081SMinda Chen			#phy-cells = <0>;
618c2a10081SMinda Chen		};
619c2a10081SMinda Chen
6203d90131fSXingyu Wu		stgcrg: clock-controller@10230000 {
6213d90131fSXingyu Wu			compatible = "starfive,jh7110-stgcrg";
6223d90131fSXingyu Wu			reg = <0x0 0x10230000 0x0 0x10000>;
6233d90131fSXingyu Wu			clocks = <&osc>,
6243d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_CORE>,
6253d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
6263d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_USB_125M>,
6273d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_CPU_BUS>,
6283d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_AXI>,
6293d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOCSTG_BUS>,
6303d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_APB_BUS>;
6313d90131fSXingyu Wu			clock-names = "osc", "hifi4_core",
6323d90131fSXingyu Wu				      "stg_axiahb", "usb_125m",
6333d90131fSXingyu Wu				      "cpu_bus", "hifi4_axi",
6343d90131fSXingyu Wu				      "nocstg_bus", "apb_bus";
6353d90131fSXingyu Wu			#clock-cells = <1>;
6363d90131fSXingyu Wu			#reset-cells = <1>;
6373d90131fSXingyu Wu		};
6383d90131fSXingyu Wu
6393fcbcfc4SWilliam Qiu		stg_syscon: syscon@10240000 {
6403fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-stg-syscon", "syscon";
6413fcbcfc4SWilliam Qiu			reg = <0x0 0x10240000 0x0 0x1000>;
6423fcbcfc4SWilliam Qiu		};
6433fcbcfc4SWilliam Qiu
64460bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
64560bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
64660bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
64760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
64860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
64960bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
65060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART3_APB>;
65160bf0a39SEmil Renner Berthing			interrupts = <45>;
65260bf0a39SEmil Renner Berthing			reg-io-width = <4>;
65360bf0a39SEmil Renner Berthing			reg-shift = <2>;
65460bf0a39SEmil Renner Berthing			status = "disabled";
65560bf0a39SEmil Renner Berthing		};
65660bf0a39SEmil Renner Berthing
65760bf0a39SEmil Renner Berthing		uart4: serial@12010000 {
65860bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
65960bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
66060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
66160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
66260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
66360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART4_APB>;
66460bf0a39SEmil Renner Berthing			interrupts = <46>;
66560bf0a39SEmil Renner Berthing			reg-io-width = <4>;
66660bf0a39SEmil Renner Berthing			reg-shift = <2>;
66760bf0a39SEmil Renner Berthing			status = "disabled";
66860bf0a39SEmil Renner Berthing		};
66960bf0a39SEmil Renner Berthing
67060bf0a39SEmil Renner Berthing		uart5: serial@12020000 {
67160bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
67260bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
67360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
67460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
67560bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
67660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART5_APB>;
67760bf0a39SEmil Renner Berthing			interrupts = <47>;
67860bf0a39SEmil Renner Berthing			reg-io-width = <4>;
67960bf0a39SEmil Renner Berthing			reg-shift = <2>;
68060bf0a39SEmil Renner Berthing			status = "disabled";
68160bf0a39SEmil Renner Berthing		};
68260bf0a39SEmil Renner Berthing
68360bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
68460bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
68560bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
68660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
68760bf0a39SEmil Renner Berthing			clock-names = "ref";
68860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
68960bf0a39SEmil Renner Berthing			interrupts = <48>;
69060bf0a39SEmil Renner Berthing			#address-cells = <1>;
69160bf0a39SEmil Renner Berthing			#size-cells = <0>;
69260bf0a39SEmil Renner Berthing			status = "disabled";
69360bf0a39SEmil Renner Berthing		};
69460bf0a39SEmil Renner Berthing
69560bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
69660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
69760bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
69860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
69960bf0a39SEmil Renner Berthing			clock-names = "ref";
70060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
70160bf0a39SEmil Renner Berthing			interrupts = <49>;
70260bf0a39SEmil Renner Berthing			#address-cells = <1>;
70360bf0a39SEmil Renner Berthing			#size-cells = <0>;
70460bf0a39SEmil Renner Berthing			status = "disabled";
70560bf0a39SEmil Renner Berthing		};
70660bf0a39SEmil Renner Berthing
70760bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
70860bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
70960bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
71060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
71160bf0a39SEmil Renner Berthing			clock-names = "ref";
71260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
71360bf0a39SEmil Renner Berthing			interrupts = <50>;
71460bf0a39SEmil Renner Berthing			#address-cells = <1>;
71560bf0a39SEmil Renner Berthing			#size-cells = <0>;
71660bf0a39SEmil Renner Berthing			status = "disabled";
71760bf0a39SEmil Renner Berthing		};
71860bf0a39SEmil Renner Berthing
71960bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
72060bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
72160bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
72260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
72360bf0a39SEmil Renner Berthing			clock-names = "ref";
72460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
72560bf0a39SEmil Renner Berthing			interrupts = <51>;
72660bf0a39SEmil Renner Berthing			#address-cells = <1>;
72760bf0a39SEmil Renner Berthing			#size-cells = <0>;
72860bf0a39SEmil Renner Berthing			status = "disabled";
72960bf0a39SEmil Renner Berthing		};
73060bf0a39SEmil Renner Berthing
73174fb20c8SWilliam Qiu		spi3: spi@12070000 {
73274fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
73374fb20c8SWilliam Qiu			reg = <0x0 0x12070000 0x0 0x10000>;
73474fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI3_APB>,
73574fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI3_APB>;
73674fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
73774fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI3_APB>;
73874fb20c8SWilliam Qiu			interrupts = <52>;
73974fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
74074fb20c8SWilliam Qiu			num-cs = <1>;
74174fb20c8SWilliam Qiu			#address-cells = <1>;
74274fb20c8SWilliam Qiu			#size-cells = <0>;
74374fb20c8SWilliam Qiu			status = "disabled";
74474fb20c8SWilliam Qiu		};
74574fb20c8SWilliam Qiu
74674fb20c8SWilliam Qiu		spi4: spi@12080000 {
74774fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
74874fb20c8SWilliam Qiu			reg = <0x0 0x12080000 0x0 0x10000>;
74974fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI4_APB>,
75074fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI4_APB>;
75174fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
75274fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI4_APB>;
75374fb20c8SWilliam Qiu			interrupts = <53>;
75474fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
75574fb20c8SWilliam Qiu			num-cs = <1>;
75674fb20c8SWilliam Qiu			#address-cells = <1>;
75774fb20c8SWilliam Qiu			#size-cells = <0>;
75874fb20c8SWilliam Qiu			status = "disabled";
75974fb20c8SWilliam Qiu		};
76074fb20c8SWilliam Qiu
76174fb20c8SWilliam Qiu		spi5: spi@12090000 {
76274fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
76374fb20c8SWilliam Qiu			reg = <0x0 0x12090000 0x0 0x10000>;
76474fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI5_APB>,
76574fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI5_APB>;
76674fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
76774fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI5_APB>;
76874fb20c8SWilliam Qiu			interrupts = <54>;
76974fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
77074fb20c8SWilliam Qiu			num-cs = <1>;
77174fb20c8SWilliam Qiu			#address-cells = <1>;
77274fb20c8SWilliam Qiu			#size-cells = <0>;
77374fb20c8SWilliam Qiu			status = "disabled";
77474fb20c8SWilliam Qiu		};
77574fb20c8SWilliam Qiu
77674fb20c8SWilliam Qiu		spi6: spi@120a0000 {
77774fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
77874fb20c8SWilliam Qiu			reg = <0x0 0x120A0000 0x0 0x10000>;
77974fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI6_APB>,
78074fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI6_APB>;
78174fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
78274fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI6_APB>;
78374fb20c8SWilliam Qiu			interrupts = <55>;
78474fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
78574fb20c8SWilliam Qiu			num-cs = <1>;
78674fb20c8SWilliam Qiu			#address-cells = <1>;
78774fb20c8SWilliam Qiu			#size-cells = <0>;
78874fb20c8SWilliam Qiu			status = "disabled";
78974fb20c8SWilliam Qiu		};
79074fb20c8SWilliam Qiu
79192cfc358SXingyu Wu		i2stx0: i2s@120b0000 {
79292cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx0";
79392cfc358SXingyu Wu			reg = <0x0 0x120b0000 0x0 0x1000>;
79492cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX0_BCLK_MST>,
79592cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_APB>,
79692cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
79792cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
79892cfc358SXingyu Wu				 <&mclk_ext>;
79992cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
80092cfc358SXingyu Wu				      "mclk_inner","mclk_ext";
80192cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX0_APB>,
80292cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX0_BCLK>;
80392cfc358SXingyu Wu			dmas = <&dma 47>;
80492cfc358SXingyu Wu			dma-names = "tx";
80592cfc358SXingyu Wu			#sound-dai-cells = <0>;
80692cfc358SXingyu Wu			status = "disabled";
80792cfc358SXingyu Wu		};
80892cfc358SXingyu Wu
80992cfc358SXingyu Wu		i2stx1: i2s@120c0000 {
81092cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx1";
81192cfc358SXingyu Wu			reg = <0x0 0x120c0000 0x0 0x1000>;
81292cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX1_BCLK_MST>,
81392cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_APB>,
81492cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
81592cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
81692cfc358SXingyu Wu				 <&mclk_ext>,
81792cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_BCLK>,
81892cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_LRCK>,
81992cfc358SXingyu Wu				 <&i2stx_bclk_ext>,
82092cfc358SXingyu Wu				 <&i2stx_lrck_ext>;
82192cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
82292cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
82392cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
82492cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX1_APB>,
82592cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX1_BCLK>;
82692cfc358SXingyu Wu			dmas = <&dma 48>;
82792cfc358SXingyu Wu			dma-names = "tx";
82892cfc358SXingyu Wu			#sound-dai-cells = <0>;
82992cfc358SXingyu Wu			status = "disabled";
83092cfc358SXingyu Wu		};
83192cfc358SXingyu Wu
832*8d01f741SWilliam Qiu		pwm: pwm@120d0000 {
833*8d01f741SWilliam Qiu			compatible = "starfive,jh7110-pwm", "opencores,pwm-v1";
834*8d01f741SWilliam Qiu			reg = <0x0 0x120d0000 0x0 0x10000>;
835*8d01f741SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_PWM_APB>;
836*8d01f741SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_PWM_APB>;
837*8d01f741SWilliam Qiu			#pwm-cells = <3>;
838*8d01f741SWilliam Qiu			status = "disabled";
839*8d01f741SWilliam Qiu		};
840*8d01f741SWilliam Qiu
841f2b539afSHal Feng		sfctemp: temperature-sensor@120e0000 {
842f2b539afSHal Feng			compatible = "starfive,jh7110-temp";
843f2b539afSHal Feng			reg = <0x0 0x120e0000 0x0 0x10000>;
844f2b539afSHal Feng			clocks = <&syscrg JH7110_SYSCLK_TEMP_CORE>,
845f2b539afSHal Feng				 <&syscrg JH7110_SYSCLK_TEMP_APB>;
846f2b539afSHal Feng			clock-names = "sense", "bus";
847f2b539afSHal Feng			resets = <&syscrg JH7110_SYSRST_TEMP_CORE>,
848f2b539afSHal Feng				 <&syscrg JH7110_SYSRST_TEMP_APB>;
849f2b539afSHal Feng			reset-names = "sense", "bus";
850f2b539afSHal Feng			#thermal-sensor-cells = <0>;
851f2b539afSHal Feng		};
852f2b539afSHal Feng
853466a8851SConor Dooley		qspi: spi@13010000 {
854466a8851SConor Dooley			compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
855466a8851SConor Dooley			reg = <0x0 0x13010000 0x0 0x10000>,
856466a8851SConor Dooley			      <0x0 0x21000000 0x0 0x400000>;
857466a8851SConor Dooley			interrupts = <25>;
858466a8851SConor Dooley			clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>,
859466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_AHB>,
860466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_APB>;
861466a8851SConor Dooley			clock-names = "ref", "ahb", "apb";
862466a8851SConor Dooley			resets = <&syscrg JH7110_SYSRST_QSPI_APB>,
863466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_AHB>,
864466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_REF>;
865466a8851SConor Dooley			reset-names = "qspi", "qspi-ocp", "rstc_ref";
866466a8851SConor Dooley			cdns,fifo-depth = <256>;
867466a8851SConor Dooley			cdns,fifo-width = <4>;
868466a8851SConor Dooley			cdns,trigger-address = <0x0>;
869466a8851SConor Dooley			status = "disabled";
870466a8851SConor Dooley		};
871466a8851SConor Dooley
87260bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
87360bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
87460bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
87560bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
87660bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
87760bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
87860bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
8793e6670a2SXingyu Wu				 <&tdm_ext>, <&mclk_ext>,
8803e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL0_OUT>,
8813e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL1_OUT>,
8823e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL2_OUT>;
88360bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
88460bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
88560bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
88660bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
8873e6670a2SXingyu Wu				      "tdm_ext", "mclk_ext",
8883e6670a2SXingyu Wu				      "pll0_out", "pll1_out", "pll2_out";
88960bf0a39SEmil Renner Berthing			#clock-cells = <1>;
89060bf0a39SEmil Renner Berthing			#reset-cells = <1>;
89160bf0a39SEmil Renner Berthing		};
89260bf0a39SEmil Renner Berthing
8933fcbcfc4SWilliam Qiu		sys_syscon: syscon@13030000 {
8943fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
8953fcbcfc4SWilliam Qiu			reg = <0x0 0x13030000 0x0 0x1000>;
8963fcbcfc4SWilliam Qiu
8973fcbcfc4SWilliam Qiu			pllclk: clock-controller {
8983fcbcfc4SWilliam Qiu				compatible = "starfive,jh7110-pll";
8993fcbcfc4SWilliam Qiu				clocks = <&osc>;
9003fcbcfc4SWilliam Qiu				#clock-cells = <1>;
9013fcbcfc4SWilliam Qiu			};
9023fcbcfc4SWilliam Qiu		};
9033fcbcfc4SWilliam Qiu
90460bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
90560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
90660bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
90760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
90860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
90960bf0a39SEmil Renner Berthing			interrupts = <86>;
91060bf0a39SEmil Renner Berthing			interrupt-controller;
91160bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
91260bf0a39SEmil Renner Berthing			gpio-controller;
91360bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
91460bf0a39SEmil Renner Berthing		};
91560bf0a39SEmil Renner Berthing
9166361b7deSXingyu Wu		watchdog@13070000 {
9176361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
9186361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
9196361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
9206361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
9216361b7deSXingyu Wu			clock-names = "apb", "core";
9226361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
9236361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
9246361b7deSXingyu Wu		};
9256361b7deSXingyu Wu
926e2c07765SJia Jie Ho		crypto: crypto@16000000 {
927e2c07765SJia Jie Ho			compatible = "starfive,jh7110-crypto";
928e2c07765SJia Jie Ho			reg = <0x0 0x16000000 0x0 0x4000>;
929e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
930e2c07765SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
931e2c07765SJia Jie Ho			clock-names = "hclk", "ahb";
932e2c07765SJia Jie Ho			interrupts = <28>;
933e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
934e2c07765SJia Jie Ho			dmas = <&sdma 1 2>, <&sdma 0 2>;
935e2c07765SJia Jie Ho			dma-names = "tx", "rx";
936e2c07765SJia Jie Ho		};
937e2c07765SJia Jie Ho
938e2c07765SJia Jie Ho		sdma: dma-controller@16008000 {
939e2c07765SJia Jie Ho			compatible = "arm,pl080", "arm,primecell";
940e2c07765SJia Jie Ho			arm,primecell-periphid = <0x00041080>;
941e2c07765SJia Jie Ho			reg = <0x0 0x16008000 0x0 0x4000>;
942e2c07765SJia Jie Ho			interrupts = <29>;
943e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>;
944e2c07765SJia Jie Ho			clock-names = "apb_pclk";
945e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
946e2c07765SJia Jie Ho			lli-bus-interface-ahb1;
947e2c07765SJia Jie Ho			mem-bus-interface-ahb1;
948e2c07765SJia Jie Ho			memcpy-burst-size = <256>;
949e2c07765SJia Jie Ho			memcpy-bus-width = <32>;
950e2c07765SJia Jie Ho			#dma-cells = <2>;
951e2c07765SJia Jie Ho		};
952e2c07765SJia Jie Ho
95387ddf5b1SJia Jie Ho		rng: rng@1600c000 {
95487ddf5b1SJia Jie Ho			compatible = "starfive,jh7110-trng";
95587ddf5b1SJia Jie Ho			reg = <0x0 0x1600C000 0x0 0x4000>;
95687ddf5b1SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
95787ddf5b1SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
95887ddf5b1SJia Jie Ho			clock-names = "hclk", "ahb";
95987ddf5b1SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
96087ddf5b1SJia Jie Ho			interrupts = <30>;
96187ddf5b1SJia Jie Ho		};
96287ddf5b1SJia Jie Ho
963b127dbf9SWilliam Qiu		mmc0: mmc@16010000 {
964b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
965b127dbf9SWilliam Qiu			reg = <0x0 0x16010000 0x0 0x10000>;
966b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>,
967b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
968b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
969b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>;
970b127dbf9SWilliam Qiu			reset-names = "reset";
971b127dbf9SWilliam Qiu			interrupts = <74>;
972b127dbf9SWilliam Qiu			fifo-depth = <32>;
973b127dbf9SWilliam Qiu			fifo-watermark-aligned;
974b127dbf9SWilliam Qiu			data-addr = <0>;
975b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x14 0x1a 0x7c000000>;
976b127dbf9SWilliam Qiu			status = "disabled";
977b127dbf9SWilliam Qiu		};
978b127dbf9SWilliam Qiu
979b127dbf9SWilliam Qiu		mmc1: mmc@16020000 {
980b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
981b127dbf9SWilliam Qiu			reg = <0x0 0x16020000 0x0 0x10000>;
982b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>,
983b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
984b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
985b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>;
986b127dbf9SWilliam Qiu			reset-names = "reset";
987b127dbf9SWilliam Qiu			interrupts = <75>;
988b127dbf9SWilliam Qiu			fifo-depth = <32>;
989b127dbf9SWilliam Qiu			fifo-watermark-aligned;
990b127dbf9SWilliam Qiu			data-addr = <0>;
991b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x9c 0x1 0x3e>;
992b127dbf9SWilliam Qiu			status = "disabled";
993b127dbf9SWilliam Qiu		};
994b127dbf9SWilliam Qiu
9951ff166c9SSamin Guo		gmac0: ethernet@16030000 {
9961ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
9971ff166c9SSamin Guo			reg = <0x0 0x16030000 0x0 0x10000>;
9981ff166c9SSamin Guo			clocks = <&aoncrg JH7110_AONCLK_GMAC0_AXI>,
9991ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_AHB>,
10001ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_PTP>,
10011ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_TX_INV>,
10021ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_GTXC>;
10031ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
10041ff166c9SSamin Guo				      "tx", "gtx";
10051ff166c9SSamin Guo			resets = <&aoncrg JH7110_AONRST_GMAC0_AXI>,
10061ff166c9SSamin Guo				 <&aoncrg JH7110_AONRST_GMAC0_AHB>;
10071ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10081ff166c9SSamin Guo			interrupts = <7>, <6>, <5>;
10091ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10101ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10111ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10121ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1013f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10141ff166c9SSamin Guo			snps,fixed-burst;
10151ff166c9SSamin Guo			snps,no-pbl-x8;
10161ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10171ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10181ff166c9SSamin Guo			snps,tso;
10191ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10201ff166c9SSamin Guo			snps,txpbl = <16>;
10211ff166c9SSamin Guo			snps,rxpbl = <16>;
10221ff166c9SSamin Guo			starfive,syscon = <&aon_syscon 0xc 0x12>;
10231ff166c9SSamin Guo			status = "disabled";
10241ff166c9SSamin Guo		};
10251ff166c9SSamin Guo
10261ff166c9SSamin Guo		gmac1: ethernet@16040000 {
10271ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
10281ff166c9SSamin Guo			reg = <0x0 0x16040000 0x0 0x10000>;
10291ff166c9SSamin Guo			clocks = <&syscrg JH7110_SYSCLK_GMAC1_AXI>,
10301ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_AHB>,
10311ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_PTP>,
10321ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_TX_INV>,
10331ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_GTXC>;
10341ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
10351ff166c9SSamin Guo				      "tx", "gtx";
10361ff166c9SSamin Guo			resets = <&syscrg JH7110_SYSRST_GMAC1_AXI>,
10371ff166c9SSamin Guo				 <&syscrg JH7110_SYSRST_GMAC1_AHB>;
10381ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10391ff166c9SSamin Guo			interrupts = <78>, <77>, <76>;
10401ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10411ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10421ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10431ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1044f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10451ff166c9SSamin Guo			snps,fixed-burst;
10461ff166c9SSamin Guo			snps,no-pbl-x8;
10471ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10481ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10491ff166c9SSamin Guo			snps,tso;
10501ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10511ff166c9SSamin Guo			snps,txpbl = <16>;
10521ff166c9SSamin Guo			snps,rxpbl = <16>;
10531ff166c9SSamin Guo			starfive,syscon = <&sys_syscon 0x90 0x2>;
10541ff166c9SSamin Guo			status = "disabled";
10551ff166c9SSamin Guo		};
10561ff166c9SSamin Guo
1057ac73c097SWalker Chen		dma: dma-controller@16050000 {
1058ac73c097SWalker Chen			compatible = "starfive,jh7110-axi-dma";
1059ac73c097SWalker Chen			reg = <0x0 0x16050000 0x0 0x10000>;
1060ac73c097SWalker Chen			clocks = <&stgcrg JH7110_STGCLK_DMA1P_AXI>,
1061ac73c097SWalker Chen				 <&stgcrg JH7110_STGCLK_DMA1P_AHB>;
1062ac73c097SWalker Chen			clock-names = "core-clk", "cfgr-clk";
1063ac73c097SWalker Chen			resets = <&stgcrg JH7110_STGRST_DMA1P_AXI>,
1064ac73c097SWalker Chen				 <&stgcrg JH7110_STGRST_DMA1P_AHB>;
1065ac73c097SWalker Chen			interrupts = <73>;
1066ac73c097SWalker Chen			#dma-cells = <1>;
1067ac73c097SWalker Chen			dma-channels = <4>;
1068ac73c097SWalker Chen			snps,dma-masters = <1>;
1069ac73c097SWalker Chen			snps,data-width = <3>;
1070ac73c097SWalker Chen			snps,block-size = <65536 65536 65536 65536>;
1071ac73c097SWalker Chen			snps,priority = <0 1 2 3>;
1072ac73c097SWalker Chen			snps,axi-max-burst-len = <16>;
1073ac73c097SWalker Chen		};
1074ac73c097SWalker Chen
107560bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
107660bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
107760bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
107860bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
107960bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
108060bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
108160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
108260bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
108360bf0a39SEmil Renner Berthing				 <&rtc_osc>;
108460bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
108560bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
108660bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
108760bf0a39SEmil Renner Berthing				      "rtc_osc";
108860bf0a39SEmil Renner Berthing			#clock-cells = <1>;
108960bf0a39SEmil Renner Berthing			#reset-cells = <1>;
109060bf0a39SEmil Renner Berthing		};
109160bf0a39SEmil Renner Berthing
10923fcbcfc4SWilliam Qiu		aon_syscon: syscon@17010000 {
10933fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-aon-syscon", "syscon";
10943fcbcfc4SWilliam Qiu			reg = <0x0 0x17010000 0x0 0x1000>;
10953fcbcfc4SWilliam Qiu			#power-domain-cells = <1>;
10963fcbcfc4SWilliam Qiu		};
10973fcbcfc4SWilliam Qiu
109860bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
109960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
110060bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
110160bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
110260bf0a39SEmil Renner Berthing			interrupts = <85>;
110360bf0a39SEmil Renner Berthing			interrupt-controller;
110460bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
110560bf0a39SEmil Renner Berthing			gpio-controller;
110660bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
110760bf0a39SEmil Renner Berthing		};
11086a887bccSWalker Chen
11096a887bccSWalker Chen		pwrc: power-controller@17030000 {
11106a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
11116a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
11126a887bccSWalker Chen			interrupts = <111>;
11136a887bccSWalker Chen			#power-domain-cells = <1>;
11146a887bccSWalker Chen		};
11153d90131fSXingyu Wu
11163d90131fSXingyu Wu		ispcrg: clock-controller@19810000 {
11173d90131fSXingyu Wu			compatible = "starfive,jh7110-ispcrg";
11183d90131fSXingyu Wu			reg = <0x0 0x19810000 0x0 0x10000>;
11193d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
11203d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>,
11213d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>,
11223d90131fSXingyu Wu				 <&dvp_clk>;
11233d90131fSXingyu Wu			clock-names = "isp_top_core", "isp_top_axi",
11243d90131fSXingyu Wu				      "noc_bus_isp_axi", "dvp_clk";
11253d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_ISP_TOP>,
11263d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>,
11273d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>;
11283d90131fSXingyu Wu			#clock-cells = <1>;
11293d90131fSXingyu Wu			#reset-cells = <1>;
11303d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_ISP>;
11313d90131fSXingyu Wu		};
11323d90131fSXingyu Wu
11333d90131fSXingyu Wu		voutcrg: clock-controller@295c0000 {
11343d90131fSXingyu Wu			compatible = "starfive,jh7110-voutcrg";
11353d90131fSXingyu Wu			reg = <0x0 0x295c0000 0x0 0x10000>;
11363d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
11373d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
11383d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
11393d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
11403d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
11413d90131fSXingyu Wu				 <&hdmitx0_pixelclk>;
11423d90131fSXingyu Wu			clock-names = "vout_src", "vout_top_ahb",
11433d90131fSXingyu Wu				      "vout_top_axi", "vout_top_hdmitx0_mclk",
11443d90131fSXingyu Wu				      "i2stx0_bclk", "hdmitx0_pixelclk";
11453d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
11463d90131fSXingyu Wu			#clock-cells = <1>;
11473d90131fSXingyu Wu			#reset-cells = <1>;
11483d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_VOUT>;
11493d90131fSXingyu Wu		};
115060bf0a39SEmil Renner Berthing	};
115160bf0a39SEmil Renner Berthing};
1152