xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision 92cfc35838b2a4006abb9e3bafc291b56f135d01)
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";
3160bf0a39SEmil Renner Berthing			status = "disabled";
3260bf0a39SEmil Renner Berthing
3360bf0a39SEmil Renner Berthing			cpu0_intc: interrupt-controller {
3460bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
3560bf0a39SEmil Renner Berthing				interrupt-controller;
3660bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
3760bf0a39SEmil Renner Berthing			};
3860bf0a39SEmil Renner Berthing		};
3960bf0a39SEmil Renner Berthing
4060bf0a39SEmil Renner Berthing		U74_1: cpu@1 {
4160bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
4260bf0a39SEmil Renner Berthing			reg = <1>;
4360bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
4460bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
4560bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
4660bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
4760bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
4860bf0a39SEmil Renner Berthing			device_type = "cpu";
4960bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
5060bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
5160bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
5260bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
5360bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
5460bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
5560bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
5660bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
5760bf0a39SEmil Renner Berthing			tlb-split;
58e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
59e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
60e2c510d6SMason Huo			clock-names = "cpu";
61f2b539afSHal Feng			#cooling-cells = <2>;
6260bf0a39SEmil Renner Berthing
6360bf0a39SEmil Renner Berthing			cpu1_intc: interrupt-controller {
6460bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
6560bf0a39SEmil Renner Berthing				interrupt-controller;
6660bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
6760bf0a39SEmil Renner Berthing			};
6860bf0a39SEmil Renner Berthing		};
6960bf0a39SEmil Renner Berthing
7060bf0a39SEmil Renner Berthing		U74_2: cpu@2 {
7160bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
7260bf0a39SEmil Renner Berthing			reg = <2>;
7360bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
7460bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
7560bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
7660bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
7760bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
7860bf0a39SEmil Renner Berthing			device_type = "cpu";
7960bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
8060bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
8160bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
8260bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
8360bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
8460bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
8560bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
8660bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
8760bf0a39SEmil Renner Berthing			tlb-split;
88e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
89e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
90e2c510d6SMason Huo			clock-names = "cpu";
91f2b539afSHal Feng			#cooling-cells = <2>;
9260bf0a39SEmil Renner Berthing
9360bf0a39SEmil Renner Berthing			cpu2_intc: interrupt-controller {
9460bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
9560bf0a39SEmil Renner Berthing				interrupt-controller;
9660bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
9760bf0a39SEmil Renner Berthing			};
9860bf0a39SEmil Renner Berthing		};
9960bf0a39SEmil Renner Berthing
10060bf0a39SEmil Renner Berthing		U74_3: cpu@3 {
10160bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
10260bf0a39SEmil Renner Berthing			reg = <3>;
10360bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
10460bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
10560bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
10660bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
10760bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
10860bf0a39SEmil Renner Berthing			device_type = "cpu";
10960bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
11060bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
11160bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
11260bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
11360bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
11460bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
11560bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
11660bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
11760bf0a39SEmil Renner Berthing			tlb-split;
118e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
119e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
120e2c510d6SMason Huo			clock-names = "cpu";
121f2b539afSHal Feng			#cooling-cells = <2>;
12260bf0a39SEmil Renner Berthing
12360bf0a39SEmil Renner Berthing			cpu3_intc: interrupt-controller {
12460bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
12560bf0a39SEmil Renner Berthing				interrupt-controller;
12660bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
12760bf0a39SEmil Renner Berthing			};
12860bf0a39SEmil Renner Berthing		};
12960bf0a39SEmil Renner Berthing
13060bf0a39SEmil Renner Berthing		U74_4: cpu@4 {
13160bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
13260bf0a39SEmil Renner Berthing			reg = <4>;
13360bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
13460bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
13560bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
13660bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
13760bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
13860bf0a39SEmil Renner Berthing			device_type = "cpu";
13960bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
14060bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
14160bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
14260bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
14360bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
14460bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
14560bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
14660bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
14760bf0a39SEmil Renner Berthing			tlb-split;
148e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
149e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
150e2c510d6SMason Huo			clock-names = "cpu";
151f2b539afSHal Feng			#cooling-cells = <2>;
15260bf0a39SEmil Renner Berthing
15360bf0a39SEmil Renner Berthing			cpu4_intc: interrupt-controller {
15460bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
15560bf0a39SEmil Renner Berthing				interrupt-controller;
15660bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
15760bf0a39SEmil Renner Berthing			};
15860bf0a39SEmil Renner Berthing		};
15960bf0a39SEmil Renner Berthing
16060bf0a39SEmil Renner Berthing		cpu-map {
16160bf0a39SEmil Renner Berthing			cluster0 {
16260bf0a39SEmil Renner Berthing				core0 {
16360bf0a39SEmil Renner Berthing					cpu = <&S7_0>;
16460bf0a39SEmil Renner Berthing				};
16560bf0a39SEmil Renner Berthing
16660bf0a39SEmil Renner Berthing				core1 {
16760bf0a39SEmil Renner Berthing					cpu = <&U74_1>;
16860bf0a39SEmil Renner Berthing				};
16960bf0a39SEmil Renner Berthing
17060bf0a39SEmil Renner Berthing				core2 {
17160bf0a39SEmil Renner Berthing					cpu = <&U74_2>;
17260bf0a39SEmil Renner Berthing				};
17360bf0a39SEmil Renner Berthing
17460bf0a39SEmil Renner Berthing				core3 {
17560bf0a39SEmil Renner Berthing					cpu = <&U74_3>;
17660bf0a39SEmil Renner Berthing				};
17760bf0a39SEmil Renner Berthing
17860bf0a39SEmil Renner Berthing				core4 {
17960bf0a39SEmil Renner Berthing					cpu = <&U74_4>;
18060bf0a39SEmil Renner Berthing				};
18160bf0a39SEmil Renner Berthing			};
18260bf0a39SEmil Renner Berthing		};
18360bf0a39SEmil Renner Berthing	};
18460bf0a39SEmil Renner Berthing
185e2c510d6SMason Huo	cpu_opp: opp-table-0 {
186e2c510d6SMason Huo			compatible = "operating-points-v2";
187e2c510d6SMason Huo			opp-shared;
188e2c510d6SMason Huo			opp-375000000 {
189e2c510d6SMason Huo					opp-hz = /bits/ 64 <375000000>;
190e2c510d6SMason Huo					opp-microvolt = <800000>;
191e2c510d6SMason Huo			};
192e2c510d6SMason Huo			opp-500000000 {
193e2c510d6SMason Huo					opp-hz = /bits/ 64 <500000000>;
194e2c510d6SMason Huo					opp-microvolt = <800000>;
195e2c510d6SMason Huo			};
196e2c510d6SMason Huo			opp-750000000 {
197e2c510d6SMason Huo					opp-hz = /bits/ 64 <750000000>;
198e2c510d6SMason Huo					opp-microvolt = <800000>;
199e2c510d6SMason Huo			};
200e2c510d6SMason Huo			opp-1500000000 {
201e2c510d6SMason Huo					opp-hz = /bits/ 64 <1500000000>;
202e2c510d6SMason Huo					opp-microvolt = <1040000>;
203e2c510d6SMason Huo			};
204e2c510d6SMason Huo	};
205e2c510d6SMason Huo
206f2b539afSHal Feng	thermal-zones {
207f2b539afSHal Feng		cpu-thermal {
208f2b539afSHal Feng			polling-delay-passive = <250>;
209f2b539afSHal Feng			polling-delay = <15000>;
210f2b539afSHal Feng
211f2b539afSHal Feng			thermal-sensors = <&sfctemp>;
212f2b539afSHal Feng
213f2b539afSHal Feng			cooling-maps {
214f2b539afSHal Feng				map0 {
215f2b539afSHal Feng					trip = <&cpu_alert0>;
216f2b539afSHal Feng					cooling-device =
217f2b539afSHal Feng						<&U74_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
218f2b539afSHal Feng						<&U74_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
219f2b539afSHal Feng						<&U74_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
220f2b539afSHal Feng						<&U74_4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
221f2b539afSHal Feng				};
222f2b539afSHal Feng			};
223f2b539afSHal Feng
224f2b539afSHal Feng			trips {
225f2b539afSHal Feng				cpu_alert0: cpu_alert0 {
226f2b539afSHal Feng					/* milliCelsius */
227f2b539afSHal Feng					temperature = <85000>;
228f2b539afSHal Feng					hysteresis = <2000>;
229f2b539afSHal Feng					type = "passive";
230f2b539afSHal Feng				};
231f2b539afSHal Feng
232f2b539afSHal Feng				cpu_crit {
233f2b539afSHal Feng					/* milliCelsius */
234f2b539afSHal Feng					temperature = <100000>;
235f2b539afSHal Feng					hysteresis = <2000>;
236f2b539afSHal Feng					type = "critical";
237f2b539afSHal Feng				};
238f2b539afSHal Feng			};
239f2b539afSHal Feng		};
240f2b539afSHal Feng	};
241f2b539afSHal Feng
24243f09605SXingyu Wu	dvp_clk: dvp-clock {
24343f09605SXingyu Wu		compatible = "fixed-clock";
24443f09605SXingyu Wu		clock-output-names = "dvp_clk";
24543f09605SXingyu Wu		#clock-cells = <0>;
24643f09605SXingyu Wu	};
24760bf0a39SEmil Renner Berthing	gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
24860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
24960bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rgmii_rxin";
25060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25160bf0a39SEmil Renner Berthing	};
25260bf0a39SEmil Renner Berthing
25360bf0a39SEmil Renner Berthing	gmac0_rmii_refin: gmac0-rmii-refin-clock {
25460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
25560bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rmii_refin";
25660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25760bf0a39SEmil Renner Berthing	};
25860bf0a39SEmil Renner Berthing
25960bf0a39SEmil Renner Berthing	gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
26060bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26160bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rgmii_rxin";
26260bf0a39SEmil Renner Berthing		#clock-cells = <0>;
26360bf0a39SEmil Renner Berthing	};
26460bf0a39SEmil Renner Berthing
26560bf0a39SEmil Renner Berthing	gmac1_rmii_refin: gmac1-rmii-refin-clock {
26660bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26760bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rmii_refin";
26860bf0a39SEmil Renner Berthing		#clock-cells = <0>;
26960bf0a39SEmil Renner Berthing	};
27060bf0a39SEmil Renner Berthing
27143f09605SXingyu Wu	hdmitx0_pixelclk: hdmitx0-pixel-clock {
27243f09605SXingyu Wu		compatible = "fixed-clock";
27343f09605SXingyu Wu		clock-output-names = "hdmitx0_pixelclk";
27443f09605SXingyu Wu		#clock-cells = <0>;
27543f09605SXingyu Wu	};
27643f09605SXingyu Wu
27760bf0a39SEmil Renner Berthing	i2srx_bclk_ext: i2srx-bclk-ext-clock {
27860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
27960bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_bclk_ext";
28060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
28160bf0a39SEmil Renner Berthing	};
28260bf0a39SEmil Renner Berthing
28360bf0a39SEmil Renner Berthing	i2srx_lrck_ext: i2srx-lrck-ext-clock {
28460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
28560bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_lrck_ext";
28660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
28760bf0a39SEmil Renner Berthing	};
28860bf0a39SEmil Renner Berthing
28960bf0a39SEmil Renner Berthing	i2stx_bclk_ext: i2stx-bclk-ext-clock {
29060bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
29160bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_bclk_ext";
29260bf0a39SEmil Renner Berthing		#clock-cells = <0>;
29360bf0a39SEmil Renner Berthing	};
29460bf0a39SEmil Renner Berthing
29560bf0a39SEmil Renner Berthing	i2stx_lrck_ext: i2stx-lrck-ext-clock {
29660bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
29760bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_lrck_ext";
29860bf0a39SEmil Renner Berthing		#clock-cells = <0>;
29960bf0a39SEmil Renner Berthing	};
30060bf0a39SEmil Renner Berthing
30160bf0a39SEmil Renner Berthing	mclk_ext: mclk-ext-clock {
30260bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
30360bf0a39SEmil Renner Berthing		clock-output-names = "mclk_ext";
30460bf0a39SEmil Renner Berthing		#clock-cells = <0>;
30560bf0a39SEmil Renner Berthing	};
30660bf0a39SEmil Renner Berthing
30760bf0a39SEmil Renner Berthing	osc: oscillator {
30860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
30960bf0a39SEmil Renner Berthing		clock-output-names = "osc";
31060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
31160bf0a39SEmil Renner Berthing	};
31260bf0a39SEmil Renner Berthing
31360bf0a39SEmil Renner Berthing	rtc_osc: rtc-oscillator {
31460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
31560bf0a39SEmil Renner Berthing		clock-output-names = "rtc_osc";
31660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
31760bf0a39SEmil Renner Berthing	};
31860bf0a39SEmil Renner Berthing
3191ff166c9SSamin Guo	stmmac_axi_setup: stmmac-axi-config {
3201ff166c9SSamin Guo		snps,lpi_en;
321f331eb1fSSamin Guo		snps,wr_osr_lmt = <15>;
322f331eb1fSSamin Guo		snps,rd_osr_lmt = <15>;
3231ff166c9SSamin Guo		snps,blen = <256 128 64 32 0 0 0>;
3241ff166c9SSamin Guo	};
3251ff166c9SSamin Guo
32660bf0a39SEmil Renner Berthing	tdm_ext: tdm-ext-clock {
32760bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
32860bf0a39SEmil Renner Berthing		clock-output-names = "tdm_ext";
32960bf0a39SEmil Renner Berthing		#clock-cells = <0>;
33060bf0a39SEmil Renner Berthing	};
33160bf0a39SEmil Renner Berthing
33260bf0a39SEmil Renner Berthing	soc {
33360bf0a39SEmil Renner Berthing		compatible = "simple-bus";
33460bf0a39SEmil Renner Berthing		interrupt-parent = <&plic>;
33560bf0a39SEmil Renner Berthing		#address-cells = <2>;
33660bf0a39SEmil Renner Berthing		#size-cells = <2>;
33760bf0a39SEmil Renner Berthing		ranges;
33860bf0a39SEmil Renner Berthing
33960bf0a39SEmil Renner Berthing		clint: timer@2000000 {
34060bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-clint", "sifive,clint0";
34160bf0a39SEmil Renner Berthing			reg = <0x0 0x2000000 0x0 0x10000>;
34260bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
34360bf0a39SEmil Renner Berthing					      <&cpu1_intc 3>, <&cpu1_intc 7>,
34460bf0a39SEmil Renner Berthing					      <&cpu2_intc 3>, <&cpu2_intc 7>,
34560bf0a39SEmil Renner Berthing					      <&cpu3_intc 3>, <&cpu3_intc 7>,
34660bf0a39SEmil Renner Berthing					      <&cpu4_intc 3>, <&cpu4_intc 7>;
34760bf0a39SEmil Renner Berthing		};
34860bf0a39SEmil Renner Berthing
34960bf0a39SEmil Renner Berthing		ccache: cache-controller@2010000 {
35060bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
35160bf0a39SEmil Renner Berthing			reg = <0x0 0x2010000 0x0 0x4000>;
35260bf0a39SEmil Renner Berthing			interrupts = <1>, <3>, <4>, <2>;
35360bf0a39SEmil Renner Berthing			cache-block-size = <64>;
35460bf0a39SEmil Renner Berthing			cache-level = <2>;
35560bf0a39SEmil Renner Berthing			cache-sets = <2048>;
35660bf0a39SEmil Renner Berthing			cache-size = <2097152>;
35760bf0a39SEmil Renner Berthing			cache-unified;
35860bf0a39SEmil Renner Berthing		};
35960bf0a39SEmil Renner Berthing
36060bf0a39SEmil Renner Berthing		plic: interrupt-controller@c000000 {
36160bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
36260bf0a39SEmil Renner Berthing			reg = <0x0 0xc000000 0x0 0x4000000>;
36360bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 11>,
36460bf0a39SEmil Renner Berthing					      <&cpu1_intc 11>, <&cpu1_intc 9>,
36560bf0a39SEmil Renner Berthing					      <&cpu2_intc 11>, <&cpu2_intc 9>,
36660bf0a39SEmil Renner Berthing					      <&cpu3_intc 11>, <&cpu3_intc 9>,
36760bf0a39SEmil Renner Berthing					      <&cpu4_intc 11>, <&cpu4_intc 9>;
36860bf0a39SEmil Renner Berthing			interrupt-controller;
36960bf0a39SEmil Renner Berthing			#interrupt-cells = <1>;
37060bf0a39SEmil Renner Berthing			#address-cells = <0>;
37160bf0a39SEmil Renner Berthing			riscv,ndev = <136>;
37260bf0a39SEmil Renner Berthing		};
37360bf0a39SEmil Renner Berthing
37460bf0a39SEmil Renner Berthing		uart0: serial@10000000 {
37560bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
37660bf0a39SEmil Renner Berthing			reg = <0x0 0x10000000 0x0 0x10000>;
37760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>,
37860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART0_APB>;
37960bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
38060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART0_APB>;
38160bf0a39SEmil Renner Berthing			interrupts = <32>;
38260bf0a39SEmil Renner Berthing			reg-io-width = <4>;
38360bf0a39SEmil Renner Berthing			reg-shift = <2>;
38460bf0a39SEmil Renner Berthing			status = "disabled";
38560bf0a39SEmil Renner Berthing		};
38660bf0a39SEmil Renner Berthing
38760bf0a39SEmil Renner Berthing		uart1: serial@10010000 {
38860bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
38960bf0a39SEmil Renner Berthing			reg = <0x0 0x10010000 0x0 0x10000>;
39060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>,
39160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART1_APB>;
39260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
39360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART1_APB>;
39460bf0a39SEmil Renner Berthing			interrupts = <33>;
39560bf0a39SEmil Renner Berthing			reg-io-width = <4>;
39660bf0a39SEmil Renner Berthing			reg-shift = <2>;
39760bf0a39SEmil Renner Berthing			status = "disabled";
39860bf0a39SEmil Renner Berthing		};
39960bf0a39SEmil Renner Berthing
40060bf0a39SEmil Renner Berthing		uart2: serial@10020000 {
40160bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
40260bf0a39SEmil Renner Berthing			reg = <0x0 0x10020000 0x0 0x10000>;
40360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>,
40460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART2_APB>;
40560bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
40660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART2_APB>;
40760bf0a39SEmil Renner Berthing			interrupts = <34>;
40860bf0a39SEmil Renner Berthing			reg-io-width = <4>;
40960bf0a39SEmil Renner Berthing			reg-shift = <2>;
41060bf0a39SEmil Renner Berthing			status = "disabled";
41160bf0a39SEmil Renner Berthing		};
41260bf0a39SEmil Renner Berthing
41360bf0a39SEmil Renner Berthing		i2c0: i2c@10030000 {
41460bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
41560bf0a39SEmil Renner Berthing			reg = <0x0 0x10030000 0x0 0x10000>;
41660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>;
41760bf0a39SEmil Renner Berthing			clock-names = "ref";
41860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C0_APB>;
41960bf0a39SEmil Renner Berthing			interrupts = <35>;
42060bf0a39SEmil Renner Berthing			#address-cells = <1>;
42160bf0a39SEmil Renner Berthing			#size-cells = <0>;
42260bf0a39SEmil Renner Berthing			status = "disabled";
42360bf0a39SEmil Renner Berthing		};
42460bf0a39SEmil Renner Berthing
42560bf0a39SEmil Renner Berthing		i2c1: i2c@10040000 {
42660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
42760bf0a39SEmil Renner Berthing			reg = <0x0 0x10040000 0x0 0x10000>;
42860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>;
42960bf0a39SEmil Renner Berthing			clock-names = "ref";
43060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C1_APB>;
43160bf0a39SEmil Renner Berthing			interrupts = <36>;
43260bf0a39SEmil Renner Berthing			#address-cells = <1>;
43360bf0a39SEmil Renner Berthing			#size-cells = <0>;
43460bf0a39SEmil Renner Berthing			status = "disabled";
43560bf0a39SEmil Renner Berthing		};
43660bf0a39SEmil Renner Berthing
43760bf0a39SEmil Renner Berthing		i2c2: i2c@10050000 {
43860bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
43960bf0a39SEmil Renner Berthing			reg = <0x0 0x10050000 0x0 0x10000>;
44060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>;
44160bf0a39SEmil Renner Berthing			clock-names = "ref";
44260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C2_APB>;
44360bf0a39SEmil Renner Berthing			interrupts = <37>;
44460bf0a39SEmil Renner Berthing			#address-cells = <1>;
44560bf0a39SEmil Renner Berthing			#size-cells = <0>;
44660bf0a39SEmil Renner Berthing			status = "disabled";
44760bf0a39SEmil Renner Berthing		};
44860bf0a39SEmil Renner Berthing
44974fb20c8SWilliam Qiu		spi0: spi@10060000 {
45074fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
45174fb20c8SWilliam Qiu			reg = <0x0 0x10060000 0x0 0x10000>;
45274fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI0_APB>,
45374fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI0_APB>;
45474fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
45574fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI0_APB>;
45674fb20c8SWilliam Qiu			interrupts = <38>;
45774fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
45874fb20c8SWilliam Qiu			num-cs = <1>;
45974fb20c8SWilliam Qiu			#address-cells = <1>;
46074fb20c8SWilliam Qiu			#size-cells = <0>;
46174fb20c8SWilliam Qiu			status = "disabled";
46274fb20c8SWilliam Qiu		};
46374fb20c8SWilliam Qiu
46474fb20c8SWilliam Qiu		spi1: spi@10070000 {
46574fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
46674fb20c8SWilliam Qiu			reg = <0x0 0x10070000 0x0 0x10000>;
46774fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI1_APB>,
46874fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI1_APB>;
46974fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
47074fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI1_APB>;
47174fb20c8SWilliam Qiu			interrupts = <39>;
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		spi2: spi@10080000 {
48074fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
48174fb20c8SWilliam Qiu			reg = <0x0 0x10080000 0x0 0x10000>;
48274fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI2_APB>,
48374fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI2_APB>;
48474fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
48574fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI2_APB>;
48674fb20c8SWilliam Qiu			interrupts = <40>;
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
494e7c304c0SWalker Chen		tdm: tdm@10090000 {
495e7c304c0SWalker Chen			compatible = "starfive,jh7110-tdm";
496e7c304c0SWalker Chen			reg = <0x0 0x10090000 0x0 0x1000>;
497e7c304c0SWalker Chen			clocks = <&syscrg JH7110_SYSCLK_TDM_AHB>,
498e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_APB>,
499e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_INTERNAL>,
500e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_TDM_TDM>,
501e7c304c0SWalker Chen				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
502e7c304c0SWalker Chen				 <&tdm_ext>;
503e7c304c0SWalker Chen			clock-names = "tdm_ahb", "tdm_apb",
504e7c304c0SWalker Chen				      "tdm_internal", "tdm",
505e7c304c0SWalker Chen				      "mclk_inner", "tdm_ext";
506e7c304c0SWalker Chen			resets = <&syscrg JH7110_SYSRST_TDM_AHB>,
507e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_APB>,
508e7c304c0SWalker Chen				 <&syscrg JH7110_SYSRST_TDM_CORE>;
509e7c304c0SWalker Chen			dmas = <&dma 20>, <&dma 21>;
510e7c304c0SWalker Chen			dma-names = "rx","tx";
511e7c304c0SWalker Chen			#sound-dai-cells = <0>;
512e7c304c0SWalker Chen			status = "disabled";
513e7c304c0SWalker Chen		};
514e7c304c0SWalker Chen
515*92cfc358SXingyu Wu		i2srx: i2s@100e0000 {
516*92cfc358SXingyu Wu			compatible = "starfive,jh7110-i2srx";
517*92cfc358SXingyu Wu			reg = <0x0 0x100e0000 0x0 0x1000>;
518*92cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2SRX_BCLK_MST>,
519*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_APB>,
520*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
521*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
522*92cfc358SXingyu Wu				 <&mclk_ext>,
523*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_BCLK>,
524*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_LRCK>,
525*92cfc358SXingyu Wu				 <&i2srx_bclk_ext>,
526*92cfc358SXingyu Wu				 <&i2srx_lrck_ext>;
527*92cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
528*92cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
529*92cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
530*92cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2SRX_APB>,
531*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2SRX_BCLK>;
532*92cfc358SXingyu Wu			dmas = <0>, <&dma 24>;
533*92cfc358SXingyu Wu			dma-names = "tx", "rx";
534*92cfc358SXingyu Wu			starfive,syscon = <&sys_syscon 0x18 0x2>;
535*92cfc358SXingyu Wu			#sound-dai-cells = <0>;
536*92cfc358SXingyu Wu			status = "disabled";
537*92cfc358SXingyu Wu		};
538*92cfc358SXingyu Wu
539e126aa3aSMinda Chen		usb0: usb@10100000 {
540e126aa3aSMinda Chen			compatible = "starfive,jh7110-usb";
541e126aa3aSMinda Chen			ranges = <0x0 0x0 0x10100000 0x100000>;
542e126aa3aSMinda Chen			#address-cells = <1>;
543e126aa3aSMinda Chen			#size-cells = <1>;
544e126aa3aSMinda Chen			starfive,stg-syscon = <&stg_syscon 0x4>;
545e126aa3aSMinda Chen			clocks = <&stgcrg JH7110_STGCLK_USB0_LPM>,
546e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_STB>,
547e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APB>,
548e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_AXI>,
549e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_UTMI_APB>;
550e126aa3aSMinda Chen			clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
551e126aa3aSMinda Chen			resets = <&stgcrg JH7110_STGRST_USB0_PWRUP>,
552e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_APB>,
553e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_AXI>,
554e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_UTMI_APB>;
555e126aa3aSMinda Chen			reset-names = "pwrup", "apb", "axi", "utmi_apb";
556e126aa3aSMinda Chen			status = "disabled";
557e126aa3aSMinda Chen
558e126aa3aSMinda Chen			usb_cdns3: usb@0 {
559e126aa3aSMinda Chen				compatible = "cdns,usb3";
560e126aa3aSMinda Chen				reg = <0x0 0x10000>,
561e126aa3aSMinda Chen				      <0x10000 0x10000>,
562e126aa3aSMinda Chen				      <0x20000 0x10000>;
563e126aa3aSMinda Chen				reg-names = "otg", "xhci", "dev";
564e126aa3aSMinda Chen				interrupts = <100>, <108>, <110>;
565e126aa3aSMinda Chen				interrupt-names = "host", "peripheral", "otg";
566e126aa3aSMinda Chen				phys = <&usbphy0>;
567e126aa3aSMinda Chen				phy-names = "cdns3,usb2-phy";
568e126aa3aSMinda Chen			};
569e126aa3aSMinda Chen		};
570e126aa3aSMinda Chen
571c2a10081SMinda Chen		usbphy0: phy@10200000 {
572c2a10081SMinda Chen			compatible = "starfive,jh7110-usb-phy";
573c2a10081SMinda Chen			reg = <0x0 0x10200000 0x0 0x10000>;
574c2a10081SMinda Chen			clocks = <&syscrg JH7110_SYSCLK_USB_125M>,
575c2a10081SMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APP_125>;
576c2a10081SMinda Chen			clock-names = "125m", "app_125m";
577c2a10081SMinda Chen			#phy-cells = <0>;
578c2a10081SMinda Chen		};
579c2a10081SMinda Chen
580c2a10081SMinda Chen		pciephy0: phy@10210000 {
581c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
582c2a10081SMinda Chen			reg = <0x0 0x10210000 0x0 0x10000>;
583c2a10081SMinda Chen			#phy-cells = <0>;
584c2a10081SMinda Chen		};
585c2a10081SMinda Chen
586c2a10081SMinda Chen		pciephy1: phy@10220000 {
587c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
588c2a10081SMinda Chen			reg = <0x0 0x10220000 0x0 0x10000>;
589c2a10081SMinda Chen			#phy-cells = <0>;
590c2a10081SMinda Chen		};
591c2a10081SMinda Chen
5923d90131fSXingyu Wu		stgcrg: clock-controller@10230000 {
5933d90131fSXingyu Wu			compatible = "starfive,jh7110-stgcrg";
5943d90131fSXingyu Wu			reg = <0x0 0x10230000 0x0 0x10000>;
5953d90131fSXingyu Wu			clocks = <&osc>,
5963d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_CORE>,
5973d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
5983d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_USB_125M>,
5993d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_CPU_BUS>,
6003d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_AXI>,
6013d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOCSTG_BUS>,
6023d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_APB_BUS>;
6033d90131fSXingyu Wu			clock-names = "osc", "hifi4_core",
6043d90131fSXingyu Wu				      "stg_axiahb", "usb_125m",
6053d90131fSXingyu Wu				      "cpu_bus", "hifi4_axi",
6063d90131fSXingyu Wu				      "nocstg_bus", "apb_bus";
6073d90131fSXingyu Wu			#clock-cells = <1>;
6083d90131fSXingyu Wu			#reset-cells = <1>;
6093d90131fSXingyu Wu		};
6103d90131fSXingyu Wu
6113fcbcfc4SWilliam Qiu		stg_syscon: syscon@10240000 {
6123fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-stg-syscon", "syscon";
6133fcbcfc4SWilliam Qiu			reg = <0x0 0x10240000 0x0 0x1000>;
6143fcbcfc4SWilliam Qiu		};
6153fcbcfc4SWilliam Qiu
61660bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
61760bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
61860bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
61960bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
62060bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
62160bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
62260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART3_APB>;
62360bf0a39SEmil Renner Berthing			interrupts = <45>;
62460bf0a39SEmil Renner Berthing			reg-io-width = <4>;
62560bf0a39SEmil Renner Berthing			reg-shift = <2>;
62660bf0a39SEmil Renner Berthing			status = "disabled";
62760bf0a39SEmil Renner Berthing		};
62860bf0a39SEmil Renner Berthing
62960bf0a39SEmil Renner Berthing		uart4: serial@12010000 {
63060bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
63160bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
63260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
63360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
63460bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
63560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART4_APB>;
63660bf0a39SEmil Renner Berthing			interrupts = <46>;
63760bf0a39SEmil Renner Berthing			reg-io-width = <4>;
63860bf0a39SEmil Renner Berthing			reg-shift = <2>;
63960bf0a39SEmil Renner Berthing			status = "disabled";
64060bf0a39SEmil Renner Berthing		};
64160bf0a39SEmil Renner Berthing
64260bf0a39SEmil Renner Berthing		uart5: serial@12020000 {
64360bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
64460bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
64560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
64660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
64760bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
64860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART5_APB>;
64960bf0a39SEmil Renner Berthing			interrupts = <47>;
65060bf0a39SEmil Renner Berthing			reg-io-width = <4>;
65160bf0a39SEmil Renner Berthing			reg-shift = <2>;
65260bf0a39SEmil Renner Berthing			status = "disabled";
65360bf0a39SEmil Renner Berthing		};
65460bf0a39SEmil Renner Berthing
65560bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
65660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
65760bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
65860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
65960bf0a39SEmil Renner Berthing			clock-names = "ref";
66060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
66160bf0a39SEmil Renner Berthing			interrupts = <48>;
66260bf0a39SEmil Renner Berthing			#address-cells = <1>;
66360bf0a39SEmil Renner Berthing			#size-cells = <0>;
66460bf0a39SEmil Renner Berthing			status = "disabled";
66560bf0a39SEmil Renner Berthing		};
66660bf0a39SEmil Renner Berthing
66760bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
66860bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
66960bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
67060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
67160bf0a39SEmil Renner Berthing			clock-names = "ref";
67260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
67360bf0a39SEmil Renner Berthing			interrupts = <49>;
67460bf0a39SEmil Renner Berthing			#address-cells = <1>;
67560bf0a39SEmil Renner Berthing			#size-cells = <0>;
67660bf0a39SEmil Renner Berthing			status = "disabled";
67760bf0a39SEmil Renner Berthing		};
67860bf0a39SEmil Renner Berthing
67960bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
68060bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
68160bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
68260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
68360bf0a39SEmil Renner Berthing			clock-names = "ref";
68460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
68560bf0a39SEmil Renner Berthing			interrupts = <50>;
68660bf0a39SEmil Renner Berthing			#address-cells = <1>;
68760bf0a39SEmil Renner Berthing			#size-cells = <0>;
68860bf0a39SEmil Renner Berthing			status = "disabled";
68960bf0a39SEmil Renner Berthing		};
69060bf0a39SEmil Renner Berthing
69160bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
69260bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
69360bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
69460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
69560bf0a39SEmil Renner Berthing			clock-names = "ref";
69660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
69760bf0a39SEmil Renner Berthing			interrupts = <51>;
69860bf0a39SEmil Renner Berthing			#address-cells = <1>;
69960bf0a39SEmil Renner Berthing			#size-cells = <0>;
70060bf0a39SEmil Renner Berthing			status = "disabled";
70160bf0a39SEmil Renner Berthing		};
70260bf0a39SEmil Renner Berthing
70374fb20c8SWilliam Qiu		spi3: spi@12070000 {
70474fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
70574fb20c8SWilliam Qiu			reg = <0x0 0x12070000 0x0 0x10000>;
70674fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI3_APB>,
70774fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI3_APB>;
70874fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
70974fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI3_APB>;
71074fb20c8SWilliam Qiu			interrupts = <52>;
71174fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
71274fb20c8SWilliam Qiu			num-cs = <1>;
71374fb20c8SWilliam Qiu			#address-cells = <1>;
71474fb20c8SWilliam Qiu			#size-cells = <0>;
71574fb20c8SWilliam Qiu			status = "disabled";
71674fb20c8SWilliam Qiu		};
71774fb20c8SWilliam Qiu
71874fb20c8SWilliam Qiu		spi4: spi@12080000 {
71974fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
72074fb20c8SWilliam Qiu			reg = <0x0 0x12080000 0x0 0x10000>;
72174fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI4_APB>,
72274fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI4_APB>;
72374fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
72474fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI4_APB>;
72574fb20c8SWilliam Qiu			interrupts = <53>;
72674fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
72774fb20c8SWilliam Qiu			num-cs = <1>;
72874fb20c8SWilliam Qiu			#address-cells = <1>;
72974fb20c8SWilliam Qiu			#size-cells = <0>;
73074fb20c8SWilliam Qiu			status = "disabled";
73174fb20c8SWilliam Qiu		};
73274fb20c8SWilliam Qiu
73374fb20c8SWilliam Qiu		spi5: spi@12090000 {
73474fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
73574fb20c8SWilliam Qiu			reg = <0x0 0x12090000 0x0 0x10000>;
73674fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI5_APB>,
73774fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI5_APB>;
73874fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
73974fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI5_APB>;
74074fb20c8SWilliam Qiu			interrupts = <54>;
74174fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
74274fb20c8SWilliam Qiu			num-cs = <1>;
74374fb20c8SWilliam Qiu			#address-cells = <1>;
74474fb20c8SWilliam Qiu			#size-cells = <0>;
74574fb20c8SWilliam Qiu			status = "disabled";
74674fb20c8SWilliam Qiu		};
74774fb20c8SWilliam Qiu
74874fb20c8SWilliam Qiu		spi6: spi@120a0000 {
74974fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
75074fb20c8SWilliam Qiu			reg = <0x0 0x120A0000 0x0 0x10000>;
75174fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI6_APB>,
75274fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI6_APB>;
75374fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
75474fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI6_APB>;
75574fb20c8SWilliam Qiu			interrupts = <55>;
75674fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
75774fb20c8SWilliam Qiu			num-cs = <1>;
75874fb20c8SWilliam Qiu			#address-cells = <1>;
75974fb20c8SWilliam Qiu			#size-cells = <0>;
76074fb20c8SWilliam Qiu			status = "disabled";
76174fb20c8SWilliam Qiu		};
76274fb20c8SWilliam Qiu
763*92cfc358SXingyu Wu		i2stx0: i2s@120b0000 {
764*92cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx0";
765*92cfc358SXingyu Wu			reg = <0x0 0x120b0000 0x0 0x1000>;
766*92cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX0_BCLK_MST>,
767*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_APB>,
768*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
769*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
770*92cfc358SXingyu Wu				 <&mclk_ext>;
771*92cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
772*92cfc358SXingyu Wu				      "mclk_inner","mclk_ext";
773*92cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX0_APB>,
774*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX0_BCLK>;
775*92cfc358SXingyu Wu			dmas = <&dma 47>;
776*92cfc358SXingyu Wu			dma-names = "tx";
777*92cfc358SXingyu Wu			#sound-dai-cells = <0>;
778*92cfc358SXingyu Wu			status = "disabled";
779*92cfc358SXingyu Wu		};
780*92cfc358SXingyu Wu
781*92cfc358SXingyu Wu		i2stx1: i2s@120c0000 {
782*92cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx1";
783*92cfc358SXingyu Wu			reg = <0x0 0x120c0000 0x0 0x1000>;
784*92cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX1_BCLK_MST>,
785*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_APB>,
786*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
787*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
788*92cfc358SXingyu Wu				 <&mclk_ext>,
789*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_BCLK>,
790*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_LRCK>,
791*92cfc358SXingyu Wu				 <&i2stx_bclk_ext>,
792*92cfc358SXingyu Wu				 <&i2stx_lrck_ext>;
793*92cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
794*92cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
795*92cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
796*92cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX1_APB>,
797*92cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX1_BCLK>;
798*92cfc358SXingyu Wu			dmas = <&dma 48>;
799*92cfc358SXingyu Wu			dma-names = "tx";
800*92cfc358SXingyu Wu			#sound-dai-cells = <0>;
801*92cfc358SXingyu Wu			status = "disabled";
802*92cfc358SXingyu Wu		};
803*92cfc358SXingyu Wu
804f2b539afSHal Feng		sfctemp: temperature-sensor@120e0000 {
805f2b539afSHal Feng			compatible = "starfive,jh7110-temp";
806f2b539afSHal Feng			reg = <0x0 0x120e0000 0x0 0x10000>;
807f2b539afSHal Feng			clocks = <&syscrg JH7110_SYSCLK_TEMP_CORE>,
808f2b539afSHal Feng				 <&syscrg JH7110_SYSCLK_TEMP_APB>;
809f2b539afSHal Feng			clock-names = "sense", "bus";
810f2b539afSHal Feng			resets = <&syscrg JH7110_SYSRST_TEMP_CORE>,
811f2b539afSHal Feng				 <&syscrg JH7110_SYSRST_TEMP_APB>;
812f2b539afSHal Feng			reset-names = "sense", "bus";
813f2b539afSHal Feng			#thermal-sensor-cells = <0>;
814f2b539afSHal Feng		};
815f2b539afSHal Feng
816466a8851SConor Dooley		qspi: spi@13010000 {
817466a8851SConor Dooley			compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
818466a8851SConor Dooley			reg = <0x0 0x13010000 0x0 0x10000>,
819466a8851SConor Dooley			      <0x0 0x21000000 0x0 0x400000>;
820466a8851SConor Dooley			interrupts = <25>;
821466a8851SConor Dooley			clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>,
822466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_AHB>,
823466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_APB>;
824466a8851SConor Dooley			clock-names = "ref", "ahb", "apb";
825466a8851SConor Dooley			resets = <&syscrg JH7110_SYSRST_QSPI_APB>,
826466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_AHB>,
827466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_REF>;
828466a8851SConor Dooley			reset-names = "qspi", "qspi-ocp", "rstc_ref";
829466a8851SConor Dooley			cdns,fifo-depth = <256>;
830466a8851SConor Dooley			cdns,fifo-width = <4>;
831466a8851SConor Dooley			cdns,trigger-address = <0x0>;
832466a8851SConor Dooley			status = "disabled";
833466a8851SConor Dooley		};
834466a8851SConor Dooley
83560bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
83660bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
83760bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
83860bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
83960bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
84060bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
84160bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
8423e6670a2SXingyu Wu				 <&tdm_ext>, <&mclk_ext>,
8433e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL0_OUT>,
8443e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL1_OUT>,
8453e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL2_OUT>;
84660bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
84760bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
84860bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
84960bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
8503e6670a2SXingyu Wu				      "tdm_ext", "mclk_ext",
8513e6670a2SXingyu Wu				      "pll0_out", "pll1_out", "pll2_out";
85260bf0a39SEmil Renner Berthing			#clock-cells = <1>;
85360bf0a39SEmil Renner Berthing			#reset-cells = <1>;
85460bf0a39SEmil Renner Berthing		};
85560bf0a39SEmil Renner Berthing
8563fcbcfc4SWilliam Qiu		sys_syscon: syscon@13030000 {
8573fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
8583fcbcfc4SWilliam Qiu			reg = <0x0 0x13030000 0x0 0x1000>;
8593fcbcfc4SWilliam Qiu
8603fcbcfc4SWilliam Qiu			pllclk: clock-controller {
8613fcbcfc4SWilliam Qiu				compatible = "starfive,jh7110-pll";
8623fcbcfc4SWilliam Qiu				clocks = <&osc>;
8633fcbcfc4SWilliam Qiu				#clock-cells = <1>;
8643fcbcfc4SWilliam Qiu			};
8653fcbcfc4SWilliam Qiu		};
8663fcbcfc4SWilliam Qiu
86760bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
86860bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
86960bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
87060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
87160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
87260bf0a39SEmil Renner Berthing			interrupts = <86>;
87360bf0a39SEmil Renner Berthing			interrupt-controller;
87460bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
87560bf0a39SEmil Renner Berthing			gpio-controller;
87660bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
87760bf0a39SEmil Renner Berthing		};
87860bf0a39SEmil Renner Berthing
8796361b7deSXingyu Wu		watchdog@13070000 {
8806361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
8816361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
8826361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
8836361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
8846361b7deSXingyu Wu			clock-names = "apb", "core";
8856361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
8866361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
8876361b7deSXingyu Wu		};
8886361b7deSXingyu Wu
889e2c07765SJia Jie Ho		crypto: crypto@16000000 {
890e2c07765SJia Jie Ho			compatible = "starfive,jh7110-crypto";
891e2c07765SJia Jie Ho			reg = <0x0 0x16000000 0x0 0x4000>;
892e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
893e2c07765SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
894e2c07765SJia Jie Ho			clock-names = "hclk", "ahb";
895e2c07765SJia Jie Ho			interrupts = <28>;
896e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
897e2c07765SJia Jie Ho			dmas = <&sdma 1 2>, <&sdma 0 2>;
898e2c07765SJia Jie Ho			dma-names = "tx", "rx";
899e2c07765SJia Jie Ho		};
900e2c07765SJia Jie Ho
901e2c07765SJia Jie Ho		sdma: dma-controller@16008000 {
902e2c07765SJia Jie Ho			compatible = "arm,pl080", "arm,primecell";
903e2c07765SJia Jie Ho			arm,primecell-periphid = <0x00041080>;
904e2c07765SJia Jie Ho			reg = <0x0 0x16008000 0x0 0x4000>;
905e2c07765SJia Jie Ho			interrupts = <29>;
906e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>;
907e2c07765SJia Jie Ho			clock-names = "apb_pclk";
908e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
909e2c07765SJia Jie Ho			lli-bus-interface-ahb1;
910e2c07765SJia Jie Ho			mem-bus-interface-ahb1;
911e2c07765SJia Jie Ho			memcpy-burst-size = <256>;
912e2c07765SJia Jie Ho			memcpy-bus-width = <32>;
913e2c07765SJia Jie Ho			#dma-cells = <2>;
914e2c07765SJia Jie Ho		};
915e2c07765SJia Jie Ho
91687ddf5b1SJia Jie Ho		rng: rng@1600c000 {
91787ddf5b1SJia Jie Ho			compatible = "starfive,jh7110-trng";
91887ddf5b1SJia Jie Ho			reg = <0x0 0x1600C000 0x0 0x4000>;
91987ddf5b1SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
92087ddf5b1SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
92187ddf5b1SJia Jie Ho			clock-names = "hclk", "ahb";
92287ddf5b1SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
92387ddf5b1SJia Jie Ho			interrupts = <30>;
92487ddf5b1SJia Jie Ho		};
92587ddf5b1SJia Jie Ho
926b127dbf9SWilliam Qiu		mmc0: mmc@16010000 {
927b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
928b127dbf9SWilliam Qiu			reg = <0x0 0x16010000 0x0 0x10000>;
929b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>,
930b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
931b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
932b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>;
933b127dbf9SWilliam Qiu			reset-names = "reset";
934b127dbf9SWilliam Qiu			interrupts = <74>;
935b127dbf9SWilliam Qiu			fifo-depth = <32>;
936b127dbf9SWilliam Qiu			fifo-watermark-aligned;
937b127dbf9SWilliam Qiu			data-addr = <0>;
938b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x14 0x1a 0x7c000000>;
939b127dbf9SWilliam Qiu			status = "disabled";
940b127dbf9SWilliam Qiu		};
941b127dbf9SWilliam Qiu
942b127dbf9SWilliam Qiu		mmc1: mmc@16020000 {
943b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
944b127dbf9SWilliam Qiu			reg = <0x0 0x16020000 0x0 0x10000>;
945b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>,
946b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
947b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
948b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>;
949b127dbf9SWilliam Qiu			reset-names = "reset";
950b127dbf9SWilliam Qiu			interrupts = <75>;
951b127dbf9SWilliam Qiu			fifo-depth = <32>;
952b127dbf9SWilliam Qiu			fifo-watermark-aligned;
953b127dbf9SWilliam Qiu			data-addr = <0>;
954b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x9c 0x1 0x3e>;
955b127dbf9SWilliam Qiu			status = "disabled";
956b127dbf9SWilliam Qiu		};
957b127dbf9SWilliam Qiu
9581ff166c9SSamin Guo		gmac0: ethernet@16030000 {
9591ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
9601ff166c9SSamin Guo			reg = <0x0 0x16030000 0x0 0x10000>;
9611ff166c9SSamin Guo			clocks = <&aoncrg JH7110_AONCLK_GMAC0_AXI>,
9621ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_AHB>,
9631ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_PTP>,
9641ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_TX_INV>,
9651ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_GTXC>;
9661ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
9671ff166c9SSamin Guo				      "tx", "gtx";
9681ff166c9SSamin Guo			resets = <&aoncrg JH7110_AONRST_GMAC0_AXI>,
9691ff166c9SSamin Guo				 <&aoncrg JH7110_AONRST_GMAC0_AHB>;
9701ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
9711ff166c9SSamin Guo			interrupts = <7>, <6>, <5>;
9721ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
9731ff166c9SSamin Guo			rx-fifo-depth = <2048>;
9741ff166c9SSamin Guo			tx-fifo-depth = <2048>;
9751ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
976f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
9771ff166c9SSamin Guo			snps,fixed-burst;
9781ff166c9SSamin Guo			snps,no-pbl-x8;
9791ff166c9SSamin Guo			snps,force_thresh_dma_mode;
9801ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
9811ff166c9SSamin Guo			snps,tso;
9821ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
9831ff166c9SSamin Guo			snps,txpbl = <16>;
9841ff166c9SSamin Guo			snps,rxpbl = <16>;
9851ff166c9SSamin Guo			starfive,syscon = <&aon_syscon 0xc 0x12>;
9861ff166c9SSamin Guo			status = "disabled";
9871ff166c9SSamin Guo		};
9881ff166c9SSamin Guo
9891ff166c9SSamin Guo		gmac1: ethernet@16040000 {
9901ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
9911ff166c9SSamin Guo			reg = <0x0 0x16040000 0x0 0x10000>;
9921ff166c9SSamin Guo			clocks = <&syscrg JH7110_SYSCLK_GMAC1_AXI>,
9931ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_AHB>,
9941ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_PTP>,
9951ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_TX_INV>,
9961ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_GTXC>;
9971ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
9981ff166c9SSamin Guo				      "tx", "gtx";
9991ff166c9SSamin Guo			resets = <&syscrg JH7110_SYSRST_GMAC1_AXI>,
10001ff166c9SSamin Guo				 <&syscrg JH7110_SYSRST_GMAC1_AHB>;
10011ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10021ff166c9SSamin Guo			interrupts = <78>, <77>, <76>;
10031ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10041ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10051ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10061ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1007f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10081ff166c9SSamin Guo			snps,fixed-burst;
10091ff166c9SSamin Guo			snps,no-pbl-x8;
10101ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10111ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10121ff166c9SSamin Guo			snps,tso;
10131ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10141ff166c9SSamin Guo			snps,txpbl = <16>;
10151ff166c9SSamin Guo			snps,rxpbl = <16>;
10161ff166c9SSamin Guo			starfive,syscon = <&sys_syscon 0x90 0x2>;
10171ff166c9SSamin Guo			status = "disabled";
10181ff166c9SSamin Guo		};
10191ff166c9SSamin Guo
1020ac73c097SWalker Chen		dma: dma-controller@16050000 {
1021ac73c097SWalker Chen			compatible = "starfive,jh7110-axi-dma";
1022ac73c097SWalker Chen			reg = <0x0 0x16050000 0x0 0x10000>;
1023ac73c097SWalker Chen			clocks = <&stgcrg JH7110_STGCLK_DMA1P_AXI>,
1024ac73c097SWalker Chen				 <&stgcrg JH7110_STGCLK_DMA1P_AHB>;
1025ac73c097SWalker Chen			clock-names = "core-clk", "cfgr-clk";
1026ac73c097SWalker Chen			resets = <&stgcrg JH7110_STGRST_DMA1P_AXI>,
1027ac73c097SWalker Chen				 <&stgcrg JH7110_STGRST_DMA1P_AHB>;
1028ac73c097SWalker Chen			interrupts = <73>;
1029ac73c097SWalker Chen			#dma-cells = <1>;
1030ac73c097SWalker Chen			dma-channels = <4>;
1031ac73c097SWalker Chen			snps,dma-masters = <1>;
1032ac73c097SWalker Chen			snps,data-width = <3>;
1033ac73c097SWalker Chen			snps,block-size = <65536 65536 65536 65536>;
1034ac73c097SWalker Chen			snps,priority = <0 1 2 3>;
1035ac73c097SWalker Chen			snps,axi-max-burst-len = <16>;
1036ac73c097SWalker Chen		};
1037ac73c097SWalker Chen
103860bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
103960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
104060bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
104160bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
104260bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
104360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
104460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
104560bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
104660bf0a39SEmil Renner Berthing				 <&rtc_osc>;
104760bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
104860bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
104960bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
105060bf0a39SEmil Renner Berthing				      "rtc_osc";
105160bf0a39SEmil Renner Berthing			#clock-cells = <1>;
105260bf0a39SEmil Renner Berthing			#reset-cells = <1>;
105360bf0a39SEmil Renner Berthing		};
105460bf0a39SEmil Renner Berthing
10553fcbcfc4SWilliam Qiu		aon_syscon: syscon@17010000 {
10563fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-aon-syscon", "syscon";
10573fcbcfc4SWilliam Qiu			reg = <0x0 0x17010000 0x0 0x1000>;
10583fcbcfc4SWilliam Qiu			#power-domain-cells = <1>;
10593fcbcfc4SWilliam Qiu		};
10603fcbcfc4SWilliam Qiu
106160bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
106260bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
106360bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
106460bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
106560bf0a39SEmil Renner Berthing			interrupts = <85>;
106660bf0a39SEmil Renner Berthing			interrupt-controller;
106760bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
106860bf0a39SEmil Renner Berthing			gpio-controller;
106960bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
107060bf0a39SEmil Renner Berthing		};
10716a887bccSWalker Chen
10726a887bccSWalker Chen		pwrc: power-controller@17030000 {
10736a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
10746a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
10756a887bccSWalker Chen			interrupts = <111>;
10766a887bccSWalker Chen			#power-domain-cells = <1>;
10776a887bccSWalker Chen		};
10783d90131fSXingyu Wu
10793d90131fSXingyu Wu		ispcrg: clock-controller@19810000 {
10803d90131fSXingyu Wu			compatible = "starfive,jh7110-ispcrg";
10813d90131fSXingyu Wu			reg = <0x0 0x19810000 0x0 0x10000>;
10823d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
10833d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>,
10843d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>,
10853d90131fSXingyu Wu				 <&dvp_clk>;
10863d90131fSXingyu Wu			clock-names = "isp_top_core", "isp_top_axi",
10873d90131fSXingyu Wu				      "noc_bus_isp_axi", "dvp_clk";
10883d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_ISP_TOP>,
10893d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>,
10903d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>;
10913d90131fSXingyu Wu			#clock-cells = <1>;
10923d90131fSXingyu Wu			#reset-cells = <1>;
10933d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_ISP>;
10943d90131fSXingyu Wu		};
10953d90131fSXingyu Wu
10963d90131fSXingyu Wu		voutcrg: clock-controller@295c0000 {
10973d90131fSXingyu Wu			compatible = "starfive,jh7110-voutcrg";
10983d90131fSXingyu Wu			reg = <0x0 0x295c0000 0x0 0x10000>;
10993d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
11003d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
11013d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
11023d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
11033d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
11043d90131fSXingyu Wu				 <&hdmitx0_pixelclk>;
11053d90131fSXingyu Wu			clock-names = "vout_src", "vout_top_ahb",
11063d90131fSXingyu Wu				      "vout_top_axi", "vout_top_hdmitx0_mclk",
11073d90131fSXingyu Wu				      "i2stx0_bclk", "hdmitx0_pixelclk";
11083d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
11093d90131fSXingyu Wu			#clock-cells = <1>;
11103d90131fSXingyu Wu			#reset-cells = <1>;
11113d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_VOUT>;
11123d90131fSXingyu Wu		};
111360bf0a39SEmil Renner Berthing	};
111460bf0a39SEmil Renner Berthing};
1115