xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision be326bee09374a2ebd18cb5af8fcd6f1e7825260)
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
51592cfc358SXingyu Wu		i2srx: i2s@100e0000 {
51692cfc358SXingyu Wu			compatible = "starfive,jh7110-i2srx";
51792cfc358SXingyu Wu			reg = <0x0 0x100e0000 0x0 0x1000>;
51892cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2SRX_BCLK_MST>,
51992cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_APB>,
52092cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
52192cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
52292cfc358SXingyu Wu				 <&mclk_ext>,
52392cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_BCLK>,
52492cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2SRX_LRCK>,
52592cfc358SXingyu Wu				 <&i2srx_bclk_ext>,
52692cfc358SXingyu Wu				 <&i2srx_lrck_ext>;
52792cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
52892cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
52992cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
53092cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2SRX_APB>,
53192cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2SRX_BCLK>;
53292cfc358SXingyu Wu			dmas = <0>, <&dma 24>;
53392cfc358SXingyu Wu			dma-names = "tx", "rx";
53492cfc358SXingyu Wu			starfive,syscon = <&sys_syscon 0x18 0x2>;
53592cfc358SXingyu Wu			#sound-dai-cells = <0>;
53692cfc358SXingyu Wu			status = "disabled";
53792cfc358SXingyu Wu		};
53892cfc358SXingyu Wu
539*be326beeSHal Feng		pwmdac: pwmdac@100b0000 {
540*be326beeSHal Feng			compatible = "starfive,jh7110-pwmdac";
541*be326beeSHal Feng			reg = <0x0 0x100b0000 0x0 0x1000>;
542*be326beeSHal Feng			clocks = <&syscrg JH7110_SYSCLK_PWMDAC_APB>,
543*be326beeSHal Feng				 <&syscrg JH7110_SYSCLK_PWMDAC_CORE>;
544*be326beeSHal Feng			clock-names = "apb", "core";
545*be326beeSHal Feng			resets = <&syscrg JH7110_SYSRST_PWMDAC_APB>;
546*be326beeSHal Feng			dmas = <&dma 22>;
547*be326beeSHal Feng			dma-names = "tx";
548*be326beeSHal Feng			#sound-dai-cells = <0>;
549*be326beeSHal Feng			status = "disabled";
550*be326beeSHal Feng		};
551*be326beeSHal Feng
552e126aa3aSMinda Chen		usb0: usb@10100000 {
553e126aa3aSMinda Chen			compatible = "starfive,jh7110-usb";
554e126aa3aSMinda Chen			ranges = <0x0 0x0 0x10100000 0x100000>;
555e126aa3aSMinda Chen			#address-cells = <1>;
556e126aa3aSMinda Chen			#size-cells = <1>;
557e126aa3aSMinda Chen			starfive,stg-syscon = <&stg_syscon 0x4>;
558e126aa3aSMinda Chen			clocks = <&stgcrg JH7110_STGCLK_USB0_LPM>,
559e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_STB>,
560e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APB>,
561e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_AXI>,
562e126aa3aSMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_UTMI_APB>;
563e126aa3aSMinda Chen			clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
564e126aa3aSMinda Chen			resets = <&stgcrg JH7110_STGRST_USB0_PWRUP>,
565e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_APB>,
566e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_AXI>,
567e126aa3aSMinda Chen				 <&stgcrg JH7110_STGRST_USB0_UTMI_APB>;
568e126aa3aSMinda Chen			reset-names = "pwrup", "apb", "axi", "utmi_apb";
569e126aa3aSMinda Chen			status = "disabled";
570e126aa3aSMinda Chen
571e126aa3aSMinda Chen			usb_cdns3: usb@0 {
572e126aa3aSMinda Chen				compatible = "cdns,usb3";
573e126aa3aSMinda Chen				reg = <0x0 0x10000>,
574e126aa3aSMinda Chen				      <0x10000 0x10000>,
575e126aa3aSMinda Chen				      <0x20000 0x10000>;
576e126aa3aSMinda Chen				reg-names = "otg", "xhci", "dev";
577e126aa3aSMinda Chen				interrupts = <100>, <108>, <110>;
578e126aa3aSMinda Chen				interrupt-names = "host", "peripheral", "otg";
579e126aa3aSMinda Chen				phys = <&usbphy0>;
580e126aa3aSMinda Chen				phy-names = "cdns3,usb2-phy";
581e126aa3aSMinda Chen			};
582e126aa3aSMinda Chen		};
583e126aa3aSMinda Chen
584c2a10081SMinda Chen		usbphy0: phy@10200000 {
585c2a10081SMinda Chen			compatible = "starfive,jh7110-usb-phy";
586c2a10081SMinda Chen			reg = <0x0 0x10200000 0x0 0x10000>;
587c2a10081SMinda Chen			clocks = <&syscrg JH7110_SYSCLK_USB_125M>,
588c2a10081SMinda Chen				 <&stgcrg JH7110_STGCLK_USB0_APP_125>;
589c2a10081SMinda Chen			clock-names = "125m", "app_125m";
590c2a10081SMinda Chen			#phy-cells = <0>;
591c2a10081SMinda Chen		};
592c2a10081SMinda Chen
593c2a10081SMinda Chen		pciephy0: phy@10210000 {
594c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
595c2a10081SMinda Chen			reg = <0x0 0x10210000 0x0 0x10000>;
596c2a10081SMinda Chen			#phy-cells = <0>;
597c2a10081SMinda Chen		};
598c2a10081SMinda Chen
599c2a10081SMinda Chen		pciephy1: phy@10220000 {
600c2a10081SMinda Chen			compatible = "starfive,jh7110-pcie-phy";
601c2a10081SMinda Chen			reg = <0x0 0x10220000 0x0 0x10000>;
602c2a10081SMinda Chen			#phy-cells = <0>;
603c2a10081SMinda Chen		};
604c2a10081SMinda Chen
6053d90131fSXingyu Wu		stgcrg: clock-controller@10230000 {
6063d90131fSXingyu Wu			compatible = "starfive,jh7110-stgcrg";
6073d90131fSXingyu Wu			reg = <0x0 0x10230000 0x0 0x10000>;
6083d90131fSXingyu Wu			clocks = <&osc>,
6093d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_CORE>,
6103d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
6113d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_USB_125M>,
6123d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_CPU_BUS>,
6133d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_AXI>,
6143d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOCSTG_BUS>,
6153d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_APB_BUS>;
6163d90131fSXingyu Wu			clock-names = "osc", "hifi4_core",
6173d90131fSXingyu Wu				      "stg_axiahb", "usb_125m",
6183d90131fSXingyu Wu				      "cpu_bus", "hifi4_axi",
6193d90131fSXingyu Wu				      "nocstg_bus", "apb_bus";
6203d90131fSXingyu Wu			#clock-cells = <1>;
6213d90131fSXingyu Wu			#reset-cells = <1>;
6223d90131fSXingyu Wu		};
6233d90131fSXingyu Wu
6243fcbcfc4SWilliam Qiu		stg_syscon: syscon@10240000 {
6253fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-stg-syscon", "syscon";
6263fcbcfc4SWilliam Qiu			reg = <0x0 0x10240000 0x0 0x1000>;
6273fcbcfc4SWilliam Qiu		};
6283fcbcfc4SWilliam Qiu
62960bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
63060bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
63160bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
63260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
63360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
63460bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
63560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART3_APB>;
63660bf0a39SEmil Renner Berthing			interrupts = <45>;
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		uart4: serial@12010000 {
64360bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
64460bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
64560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
64660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
64760bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
64860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART4_APB>;
64960bf0a39SEmil Renner Berthing			interrupts = <46>;
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		uart5: serial@12020000 {
65660bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
65760bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
65860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
65960bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
66060bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
66160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART5_APB>;
66260bf0a39SEmil Renner Berthing			interrupts = <47>;
66360bf0a39SEmil Renner Berthing			reg-io-width = <4>;
66460bf0a39SEmil Renner Berthing			reg-shift = <2>;
66560bf0a39SEmil Renner Berthing			status = "disabled";
66660bf0a39SEmil Renner Berthing		};
66760bf0a39SEmil Renner Berthing
66860bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
66960bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
67060bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
67160bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
67260bf0a39SEmil Renner Berthing			clock-names = "ref";
67360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
67460bf0a39SEmil Renner Berthing			interrupts = <48>;
67560bf0a39SEmil Renner Berthing			#address-cells = <1>;
67660bf0a39SEmil Renner Berthing			#size-cells = <0>;
67760bf0a39SEmil Renner Berthing			status = "disabled";
67860bf0a39SEmil Renner Berthing		};
67960bf0a39SEmil Renner Berthing
68060bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
68160bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
68260bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
68360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
68460bf0a39SEmil Renner Berthing			clock-names = "ref";
68560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
68660bf0a39SEmil Renner Berthing			interrupts = <49>;
68760bf0a39SEmil Renner Berthing			#address-cells = <1>;
68860bf0a39SEmil Renner Berthing			#size-cells = <0>;
68960bf0a39SEmil Renner Berthing			status = "disabled";
69060bf0a39SEmil Renner Berthing		};
69160bf0a39SEmil Renner Berthing
69260bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
69360bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
69460bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
69560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
69660bf0a39SEmil Renner Berthing			clock-names = "ref";
69760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
69860bf0a39SEmil Renner Berthing			interrupts = <50>;
69960bf0a39SEmil Renner Berthing			#address-cells = <1>;
70060bf0a39SEmil Renner Berthing			#size-cells = <0>;
70160bf0a39SEmil Renner Berthing			status = "disabled";
70260bf0a39SEmil Renner Berthing		};
70360bf0a39SEmil Renner Berthing
70460bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
70560bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
70660bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
70760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
70860bf0a39SEmil Renner Berthing			clock-names = "ref";
70960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
71060bf0a39SEmil Renner Berthing			interrupts = <51>;
71160bf0a39SEmil Renner Berthing			#address-cells = <1>;
71260bf0a39SEmil Renner Berthing			#size-cells = <0>;
71360bf0a39SEmil Renner Berthing			status = "disabled";
71460bf0a39SEmil Renner Berthing		};
71560bf0a39SEmil Renner Berthing
71674fb20c8SWilliam Qiu		spi3: spi@12070000 {
71774fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
71874fb20c8SWilliam Qiu			reg = <0x0 0x12070000 0x0 0x10000>;
71974fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI3_APB>,
72074fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI3_APB>;
72174fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
72274fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI3_APB>;
72374fb20c8SWilliam Qiu			interrupts = <52>;
72474fb20c8SWilliam Qiu			arm,primecell-periphid = <0x00041022>;
72574fb20c8SWilliam Qiu			num-cs = <1>;
72674fb20c8SWilliam Qiu			#address-cells = <1>;
72774fb20c8SWilliam Qiu			#size-cells = <0>;
72874fb20c8SWilliam Qiu			status = "disabled";
72974fb20c8SWilliam Qiu		};
73074fb20c8SWilliam Qiu
73174fb20c8SWilliam Qiu		spi4: spi@12080000 {
73274fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
73374fb20c8SWilliam Qiu			reg = <0x0 0x12080000 0x0 0x10000>;
73474fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI4_APB>,
73574fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI4_APB>;
73674fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
73774fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI4_APB>;
73874fb20c8SWilliam Qiu			interrupts = <53>;
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		spi5: spi@12090000 {
74774fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
74874fb20c8SWilliam Qiu			reg = <0x0 0x12090000 0x0 0x10000>;
74974fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI5_APB>,
75074fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI5_APB>;
75174fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
75274fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI5_APB>;
75374fb20c8SWilliam Qiu			interrupts = <54>;
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		spi6: spi@120a0000 {
76274fb20c8SWilliam Qiu			compatible = "arm,pl022", "arm,primecell";
76374fb20c8SWilliam Qiu			reg = <0x0 0x120A0000 0x0 0x10000>;
76474fb20c8SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SPI6_APB>,
76574fb20c8SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SPI6_APB>;
76674fb20c8SWilliam Qiu			clock-names = "sspclk", "apb_pclk";
76774fb20c8SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SPI6_APB>;
76874fb20c8SWilliam Qiu			interrupts = <55>;
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
77692cfc358SXingyu Wu		i2stx0: i2s@120b0000 {
77792cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx0";
77892cfc358SXingyu Wu			reg = <0x0 0x120b0000 0x0 0x1000>;
77992cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX0_BCLK_MST>,
78092cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_APB>,
78192cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
78292cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
78392cfc358SXingyu Wu				 <&mclk_ext>;
78492cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
78592cfc358SXingyu Wu				      "mclk_inner","mclk_ext";
78692cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX0_APB>,
78792cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX0_BCLK>;
78892cfc358SXingyu Wu			dmas = <&dma 47>;
78992cfc358SXingyu Wu			dma-names = "tx";
79092cfc358SXingyu Wu			#sound-dai-cells = <0>;
79192cfc358SXingyu Wu			status = "disabled";
79292cfc358SXingyu Wu		};
79392cfc358SXingyu Wu
79492cfc358SXingyu Wu		i2stx1: i2s@120c0000 {
79592cfc358SXingyu Wu			compatible = "starfive,jh7110-i2stx1";
79692cfc358SXingyu Wu			reg = <0x0 0x120c0000 0x0 0x1000>;
79792cfc358SXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_I2STX1_BCLK_MST>,
79892cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_APB>,
79992cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK>,
80092cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_MCLK_INNER>,
80192cfc358SXingyu Wu				 <&mclk_ext>,
80292cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_BCLK>,
80392cfc358SXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX1_LRCK>,
80492cfc358SXingyu Wu				 <&i2stx_bclk_ext>,
80592cfc358SXingyu Wu				 <&i2stx_lrck_ext>;
80692cfc358SXingyu Wu			clock-names = "i2sclk", "apb", "mclk",
80792cfc358SXingyu Wu				      "mclk_inner", "mclk_ext", "bclk",
80892cfc358SXingyu Wu				      "lrck", "bclk_ext", "lrck_ext";
80992cfc358SXingyu Wu			resets = <&syscrg JH7110_SYSRST_I2STX1_APB>,
81092cfc358SXingyu Wu				 <&syscrg JH7110_SYSRST_I2STX1_BCLK>;
81192cfc358SXingyu Wu			dmas = <&dma 48>;
81292cfc358SXingyu Wu			dma-names = "tx";
81392cfc358SXingyu Wu			#sound-dai-cells = <0>;
81492cfc358SXingyu Wu			status = "disabled";
81592cfc358SXingyu Wu		};
81692cfc358SXingyu Wu
817f2b539afSHal Feng		sfctemp: temperature-sensor@120e0000 {
818f2b539afSHal Feng			compatible = "starfive,jh7110-temp";
819f2b539afSHal Feng			reg = <0x0 0x120e0000 0x0 0x10000>;
820f2b539afSHal Feng			clocks = <&syscrg JH7110_SYSCLK_TEMP_CORE>,
821f2b539afSHal Feng				 <&syscrg JH7110_SYSCLK_TEMP_APB>;
822f2b539afSHal Feng			clock-names = "sense", "bus";
823f2b539afSHal Feng			resets = <&syscrg JH7110_SYSRST_TEMP_CORE>,
824f2b539afSHal Feng				 <&syscrg JH7110_SYSRST_TEMP_APB>;
825f2b539afSHal Feng			reset-names = "sense", "bus";
826f2b539afSHal Feng			#thermal-sensor-cells = <0>;
827f2b539afSHal Feng		};
828f2b539afSHal Feng
829466a8851SConor Dooley		qspi: spi@13010000 {
830466a8851SConor Dooley			compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
831466a8851SConor Dooley			reg = <0x0 0x13010000 0x0 0x10000>,
832466a8851SConor Dooley			      <0x0 0x21000000 0x0 0x400000>;
833466a8851SConor Dooley			interrupts = <25>;
834466a8851SConor Dooley			clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>,
835466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_AHB>,
836466a8851SConor Dooley				 <&syscrg JH7110_SYSCLK_QSPI_APB>;
837466a8851SConor Dooley			clock-names = "ref", "ahb", "apb";
838466a8851SConor Dooley			resets = <&syscrg JH7110_SYSRST_QSPI_APB>,
839466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_AHB>,
840466a8851SConor Dooley				 <&syscrg JH7110_SYSRST_QSPI_REF>;
841466a8851SConor Dooley			reset-names = "qspi", "qspi-ocp", "rstc_ref";
842466a8851SConor Dooley			cdns,fifo-depth = <256>;
843466a8851SConor Dooley			cdns,fifo-width = <4>;
844466a8851SConor Dooley			cdns,trigger-address = <0x0>;
845466a8851SConor Dooley			status = "disabled";
846466a8851SConor Dooley		};
847466a8851SConor Dooley
84860bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
84960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
85060bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
85160bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
85260bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
85360bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
85460bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
8553e6670a2SXingyu Wu				 <&tdm_ext>, <&mclk_ext>,
8563e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL0_OUT>,
8573e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL1_OUT>,
8583e6670a2SXingyu Wu				 <&pllclk JH7110_PLLCLK_PLL2_OUT>;
85960bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
86060bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
86160bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
86260bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
8633e6670a2SXingyu Wu				      "tdm_ext", "mclk_ext",
8643e6670a2SXingyu Wu				      "pll0_out", "pll1_out", "pll2_out";
86560bf0a39SEmil Renner Berthing			#clock-cells = <1>;
86660bf0a39SEmil Renner Berthing			#reset-cells = <1>;
86760bf0a39SEmil Renner Berthing		};
86860bf0a39SEmil Renner Berthing
8693fcbcfc4SWilliam Qiu		sys_syscon: syscon@13030000 {
8703fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
8713fcbcfc4SWilliam Qiu			reg = <0x0 0x13030000 0x0 0x1000>;
8723fcbcfc4SWilliam Qiu
8733fcbcfc4SWilliam Qiu			pllclk: clock-controller {
8743fcbcfc4SWilliam Qiu				compatible = "starfive,jh7110-pll";
8753fcbcfc4SWilliam Qiu				clocks = <&osc>;
8763fcbcfc4SWilliam Qiu				#clock-cells = <1>;
8773fcbcfc4SWilliam Qiu			};
8783fcbcfc4SWilliam Qiu		};
8793fcbcfc4SWilliam Qiu
88060bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
88160bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
88260bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
88360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
88460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
88560bf0a39SEmil Renner Berthing			interrupts = <86>;
88660bf0a39SEmil Renner Berthing			interrupt-controller;
88760bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
88860bf0a39SEmil Renner Berthing			gpio-controller;
88960bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
89060bf0a39SEmil Renner Berthing		};
89160bf0a39SEmil Renner Berthing
8926361b7deSXingyu Wu		watchdog@13070000 {
8936361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
8946361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
8956361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
8966361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
8976361b7deSXingyu Wu			clock-names = "apb", "core";
8986361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
8996361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
9006361b7deSXingyu Wu		};
9016361b7deSXingyu Wu
902e2c07765SJia Jie Ho		crypto: crypto@16000000 {
903e2c07765SJia Jie Ho			compatible = "starfive,jh7110-crypto";
904e2c07765SJia Jie Ho			reg = <0x0 0x16000000 0x0 0x4000>;
905e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
906e2c07765SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
907e2c07765SJia Jie Ho			clock-names = "hclk", "ahb";
908e2c07765SJia Jie Ho			interrupts = <28>;
909e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
910e2c07765SJia Jie Ho			dmas = <&sdma 1 2>, <&sdma 0 2>;
911e2c07765SJia Jie Ho			dma-names = "tx", "rx";
912e2c07765SJia Jie Ho		};
913e2c07765SJia Jie Ho
914e2c07765SJia Jie Ho		sdma: dma-controller@16008000 {
915e2c07765SJia Jie Ho			compatible = "arm,pl080", "arm,primecell";
916e2c07765SJia Jie Ho			arm,primecell-periphid = <0x00041080>;
917e2c07765SJia Jie Ho			reg = <0x0 0x16008000 0x0 0x4000>;
918e2c07765SJia Jie Ho			interrupts = <29>;
919e2c07765SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>;
920e2c07765SJia Jie Ho			clock-names = "apb_pclk";
921e2c07765SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
922e2c07765SJia Jie Ho			lli-bus-interface-ahb1;
923e2c07765SJia Jie Ho			mem-bus-interface-ahb1;
924e2c07765SJia Jie Ho			memcpy-burst-size = <256>;
925e2c07765SJia Jie Ho			memcpy-bus-width = <32>;
926e2c07765SJia Jie Ho			#dma-cells = <2>;
927e2c07765SJia Jie Ho		};
928e2c07765SJia Jie Ho
92987ddf5b1SJia Jie Ho		rng: rng@1600c000 {
93087ddf5b1SJia Jie Ho			compatible = "starfive,jh7110-trng";
93187ddf5b1SJia Jie Ho			reg = <0x0 0x1600C000 0x0 0x4000>;
93287ddf5b1SJia Jie Ho			clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>,
93387ddf5b1SJia Jie Ho				 <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>;
93487ddf5b1SJia Jie Ho			clock-names = "hclk", "ahb";
93587ddf5b1SJia Jie Ho			resets = <&stgcrg JH7110_STGRST_SEC_AHB>;
93687ddf5b1SJia Jie Ho			interrupts = <30>;
93787ddf5b1SJia Jie Ho		};
93887ddf5b1SJia Jie Ho
939b127dbf9SWilliam Qiu		mmc0: mmc@16010000 {
940b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
941b127dbf9SWilliam Qiu			reg = <0x0 0x16010000 0x0 0x10000>;
942b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>,
943b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
944b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
945b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>;
946b127dbf9SWilliam Qiu			reset-names = "reset";
947b127dbf9SWilliam Qiu			interrupts = <74>;
948b127dbf9SWilliam Qiu			fifo-depth = <32>;
949b127dbf9SWilliam Qiu			fifo-watermark-aligned;
950b127dbf9SWilliam Qiu			data-addr = <0>;
951b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x14 0x1a 0x7c000000>;
952b127dbf9SWilliam Qiu			status = "disabled";
953b127dbf9SWilliam Qiu		};
954b127dbf9SWilliam Qiu
955b127dbf9SWilliam Qiu		mmc1: mmc@16020000 {
956b127dbf9SWilliam Qiu			compatible = "starfive,jh7110-mmc";
957b127dbf9SWilliam Qiu			reg = <0x0 0x16020000 0x0 0x10000>;
958b127dbf9SWilliam Qiu			clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>,
959b127dbf9SWilliam Qiu				 <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
960b127dbf9SWilliam Qiu			clock-names = "biu","ciu";
961b127dbf9SWilliam Qiu			resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>;
962b127dbf9SWilliam Qiu			reset-names = "reset";
963b127dbf9SWilliam Qiu			interrupts = <75>;
964b127dbf9SWilliam Qiu			fifo-depth = <32>;
965b127dbf9SWilliam Qiu			fifo-watermark-aligned;
966b127dbf9SWilliam Qiu			data-addr = <0>;
967b127dbf9SWilliam Qiu			starfive,sysreg = <&sys_syscon 0x9c 0x1 0x3e>;
968b127dbf9SWilliam Qiu			status = "disabled";
969b127dbf9SWilliam Qiu		};
970b127dbf9SWilliam Qiu
9711ff166c9SSamin Guo		gmac0: ethernet@16030000 {
9721ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
9731ff166c9SSamin Guo			reg = <0x0 0x16030000 0x0 0x10000>;
9741ff166c9SSamin Guo			clocks = <&aoncrg JH7110_AONCLK_GMAC0_AXI>,
9751ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_AHB>,
9761ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_PTP>,
9771ff166c9SSamin Guo				 <&aoncrg JH7110_AONCLK_GMAC0_TX_INV>,
9781ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC0_GTXC>;
9791ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
9801ff166c9SSamin Guo				      "tx", "gtx";
9811ff166c9SSamin Guo			resets = <&aoncrg JH7110_AONRST_GMAC0_AXI>,
9821ff166c9SSamin Guo				 <&aoncrg JH7110_AONRST_GMAC0_AHB>;
9831ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
9841ff166c9SSamin Guo			interrupts = <7>, <6>, <5>;
9851ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
9861ff166c9SSamin Guo			rx-fifo-depth = <2048>;
9871ff166c9SSamin Guo			tx-fifo-depth = <2048>;
9881ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
989f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
9901ff166c9SSamin Guo			snps,fixed-burst;
9911ff166c9SSamin Guo			snps,no-pbl-x8;
9921ff166c9SSamin Guo			snps,force_thresh_dma_mode;
9931ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
9941ff166c9SSamin Guo			snps,tso;
9951ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
9961ff166c9SSamin Guo			snps,txpbl = <16>;
9971ff166c9SSamin Guo			snps,rxpbl = <16>;
9981ff166c9SSamin Guo			starfive,syscon = <&aon_syscon 0xc 0x12>;
9991ff166c9SSamin Guo			status = "disabled";
10001ff166c9SSamin Guo		};
10011ff166c9SSamin Guo
10021ff166c9SSamin Guo		gmac1: ethernet@16040000 {
10031ff166c9SSamin Guo			compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
10041ff166c9SSamin Guo			reg = <0x0 0x16040000 0x0 0x10000>;
10051ff166c9SSamin Guo			clocks = <&syscrg JH7110_SYSCLK_GMAC1_AXI>,
10061ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_AHB>,
10071ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_PTP>,
10081ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_TX_INV>,
10091ff166c9SSamin Guo				 <&syscrg JH7110_SYSCLK_GMAC1_GTXC>;
10101ff166c9SSamin Guo			clock-names = "stmmaceth", "pclk", "ptp_ref",
10111ff166c9SSamin Guo				      "tx", "gtx";
10121ff166c9SSamin Guo			resets = <&syscrg JH7110_SYSRST_GMAC1_AXI>,
10131ff166c9SSamin Guo				 <&syscrg JH7110_SYSRST_GMAC1_AHB>;
10141ff166c9SSamin Guo			reset-names = "stmmaceth", "ahb";
10151ff166c9SSamin Guo			interrupts = <78>, <77>, <76>;
10161ff166c9SSamin Guo			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
10171ff166c9SSamin Guo			rx-fifo-depth = <2048>;
10181ff166c9SSamin Guo			tx-fifo-depth = <2048>;
10191ff166c9SSamin Guo			snps,multicast-filter-bins = <64>;
1020f331eb1fSSamin Guo			snps,perfect-filter-entries = <256>;
10211ff166c9SSamin Guo			snps,fixed-burst;
10221ff166c9SSamin Guo			snps,no-pbl-x8;
10231ff166c9SSamin Guo			snps,force_thresh_dma_mode;
10241ff166c9SSamin Guo			snps,axi-config = <&stmmac_axi_setup>;
10251ff166c9SSamin Guo			snps,tso;
10261ff166c9SSamin Guo			snps,en-tx-lpi-clockgating;
10271ff166c9SSamin Guo			snps,txpbl = <16>;
10281ff166c9SSamin Guo			snps,rxpbl = <16>;
10291ff166c9SSamin Guo			starfive,syscon = <&sys_syscon 0x90 0x2>;
10301ff166c9SSamin Guo			status = "disabled";
10311ff166c9SSamin Guo		};
10321ff166c9SSamin Guo
1033ac73c097SWalker Chen		dma: dma-controller@16050000 {
1034ac73c097SWalker Chen			compatible = "starfive,jh7110-axi-dma";
1035ac73c097SWalker Chen			reg = <0x0 0x16050000 0x0 0x10000>;
1036ac73c097SWalker Chen			clocks = <&stgcrg JH7110_STGCLK_DMA1P_AXI>,
1037ac73c097SWalker Chen				 <&stgcrg JH7110_STGCLK_DMA1P_AHB>;
1038ac73c097SWalker Chen			clock-names = "core-clk", "cfgr-clk";
1039ac73c097SWalker Chen			resets = <&stgcrg JH7110_STGRST_DMA1P_AXI>,
1040ac73c097SWalker Chen				 <&stgcrg JH7110_STGRST_DMA1P_AHB>;
1041ac73c097SWalker Chen			interrupts = <73>;
1042ac73c097SWalker Chen			#dma-cells = <1>;
1043ac73c097SWalker Chen			dma-channels = <4>;
1044ac73c097SWalker Chen			snps,dma-masters = <1>;
1045ac73c097SWalker Chen			snps,data-width = <3>;
1046ac73c097SWalker Chen			snps,block-size = <65536 65536 65536 65536>;
1047ac73c097SWalker Chen			snps,priority = <0 1 2 3>;
1048ac73c097SWalker Chen			snps,axi-max-burst-len = <16>;
1049ac73c097SWalker Chen		};
1050ac73c097SWalker Chen
105160bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
105260bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
105360bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
105460bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
105560bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
105660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
105760bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
105860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
105960bf0a39SEmil Renner Berthing				 <&rtc_osc>;
106060bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
106160bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
106260bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
106360bf0a39SEmil Renner Berthing				      "rtc_osc";
106460bf0a39SEmil Renner Berthing			#clock-cells = <1>;
106560bf0a39SEmil Renner Berthing			#reset-cells = <1>;
106660bf0a39SEmil Renner Berthing		};
106760bf0a39SEmil Renner Berthing
10683fcbcfc4SWilliam Qiu		aon_syscon: syscon@17010000 {
10693fcbcfc4SWilliam Qiu			compatible = "starfive,jh7110-aon-syscon", "syscon";
10703fcbcfc4SWilliam Qiu			reg = <0x0 0x17010000 0x0 0x1000>;
10713fcbcfc4SWilliam Qiu			#power-domain-cells = <1>;
10723fcbcfc4SWilliam Qiu		};
10733fcbcfc4SWilliam Qiu
107460bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
107560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
107660bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
107760bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
107860bf0a39SEmil Renner Berthing			interrupts = <85>;
107960bf0a39SEmil Renner Berthing			interrupt-controller;
108060bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
108160bf0a39SEmil Renner Berthing			gpio-controller;
108260bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
108360bf0a39SEmil Renner Berthing		};
10846a887bccSWalker Chen
10856a887bccSWalker Chen		pwrc: power-controller@17030000 {
10866a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
10876a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
10886a887bccSWalker Chen			interrupts = <111>;
10896a887bccSWalker Chen			#power-domain-cells = <1>;
10906a887bccSWalker Chen		};
10913d90131fSXingyu Wu
10923d90131fSXingyu Wu		ispcrg: clock-controller@19810000 {
10933d90131fSXingyu Wu			compatible = "starfive,jh7110-ispcrg";
10943d90131fSXingyu Wu			reg = <0x0 0x19810000 0x0 0x10000>;
10953d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
10963d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>,
10973d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>,
10983d90131fSXingyu Wu				 <&dvp_clk>;
10993d90131fSXingyu Wu			clock-names = "isp_top_core", "isp_top_axi",
11003d90131fSXingyu Wu				      "noc_bus_isp_axi", "dvp_clk";
11013d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_ISP_TOP>,
11023d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>,
11033d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>;
11043d90131fSXingyu Wu			#clock-cells = <1>;
11053d90131fSXingyu Wu			#reset-cells = <1>;
11063d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_ISP>;
11073d90131fSXingyu Wu		};
11083d90131fSXingyu Wu
11093d90131fSXingyu Wu		voutcrg: clock-controller@295c0000 {
11103d90131fSXingyu Wu			compatible = "starfive,jh7110-voutcrg";
11113d90131fSXingyu Wu			reg = <0x0 0x295c0000 0x0 0x10000>;
11123d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
11133d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
11143d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
11153d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
11163d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
11173d90131fSXingyu Wu				 <&hdmitx0_pixelclk>;
11183d90131fSXingyu Wu			clock-names = "vout_src", "vout_top_ahb",
11193d90131fSXingyu Wu				      "vout_top_axi", "vout_top_hdmitx0_mclk",
11203d90131fSXingyu Wu				      "i2stx0_bclk", "hdmitx0_pixelclk";
11213d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
11223d90131fSXingyu Wu			#clock-cells = <1>;
11233d90131fSXingyu Wu			#reset-cells = <1>;
11243d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_VOUT>;
11253d90131fSXingyu Wu		};
112660bf0a39SEmil Renner Berthing	};
112760bf0a39SEmil Renner Berthing};
1128