xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision 43f09605d11e62d70a2979e85167bbc9d4b2617e)
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>
960bf0a39SEmil Renner Berthing#include <dt-bindings/reset/starfive,jh7110-crg.h>
1060bf0a39SEmil Renner Berthing
1160bf0a39SEmil Renner Berthing/ {
1260bf0a39SEmil Renner Berthing	compatible = "starfive,jh7110";
1360bf0a39SEmil Renner Berthing	#address-cells = <2>;
1460bf0a39SEmil Renner Berthing	#size-cells = <2>;
1560bf0a39SEmil Renner Berthing
1660bf0a39SEmil Renner Berthing	cpus {
1760bf0a39SEmil Renner Berthing		#address-cells = <1>;
1860bf0a39SEmil Renner Berthing		#size-cells = <0>;
1960bf0a39SEmil Renner Berthing
2060bf0a39SEmil Renner Berthing		S7_0: cpu@0 {
2160bf0a39SEmil Renner Berthing			compatible = "sifive,s7", "riscv";
2260bf0a39SEmil Renner Berthing			reg = <0>;
2360bf0a39SEmil Renner Berthing			device_type = "cpu";
2460bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
2560bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
2660bf0a39SEmil Renner Berthing			i-cache-size = <16384>;
2760bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
2860bf0a39SEmil Renner Berthing			riscv,isa = "rv64imac_zba_zbb";
2960bf0a39SEmil Renner Berthing			status = "disabled";
3060bf0a39SEmil Renner Berthing
3160bf0a39SEmil Renner Berthing			cpu0_intc: interrupt-controller {
3260bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
3360bf0a39SEmil Renner Berthing				interrupt-controller;
3460bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
3560bf0a39SEmil Renner Berthing			};
3660bf0a39SEmil Renner Berthing		};
3760bf0a39SEmil Renner Berthing
3860bf0a39SEmil Renner Berthing		U74_1: cpu@1 {
3960bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
4060bf0a39SEmil Renner Berthing			reg = <1>;
4160bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
4260bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
4360bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
4460bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
4560bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
4660bf0a39SEmil Renner Berthing			device_type = "cpu";
4760bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
4860bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
4960bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
5060bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
5160bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
5260bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
5360bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
5460bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
5560bf0a39SEmil Renner Berthing			tlb-split;
56e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
57e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
58e2c510d6SMason Huo			clock-names = "cpu";
5960bf0a39SEmil Renner Berthing
6060bf0a39SEmil Renner Berthing			cpu1_intc: interrupt-controller {
6160bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
6260bf0a39SEmil Renner Berthing				interrupt-controller;
6360bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
6460bf0a39SEmil Renner Berthing			};
6560bf0a39SEmil Renner Berthing		};
6660bf0a39SEmil Renner Berthing
6760bf0a39SEmil Renner Berthing		U74_2: cpu@2 {
6860bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
6960bf0a39SEmil Renner Berthing			reg = <2>;
7060bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
7160bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
7260bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
7360bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
7460bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
7560bf0a39SEmil Renner Berthing			device_type = "cpu";
7660bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
7760bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
7860bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
7960bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
8060bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
8160bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
8260bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
8360bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
8460bf0a39SEmil Renner Berthing			tlb-split;
85e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
86e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
87e2c510d6SMason Huo			clock-names = "cpu";
8860bf0a39SEmil Renner Berthing
8960bf0a39SEmil Renner Berthing			cpu2_intc: interrupt-controller {
9060bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
9160bf0a39SEmil Renner Berthing				interrupt-controller;
9260bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
9360bf0a39SEmil Renner Berthing			};
9460bf0a39SEmil Renner Berthing		};
9560bf0a39SEmil Renner Berthing
9660bf0a39SEmil Renner Berthing		U74_3: cpu@3 {
9760bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
9860bf0a39SEmil Renner Berthing			reg = <3>;
9960bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
10060bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
10160bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
10260bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
10360bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
10460bf0a39SEmil Renner Berthing			device_type = "cpu";
10560bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
10660bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
10760bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
10860bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
10960bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
11060bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
11160bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
11260bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
11360bf0a39SEmil Renner Berthing			tlb-split;
114e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
115e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
116e2c510d6SMason Huo			clock-names = "cpu";
11760bf0a39SEmil Renner Berthing
11860bf0a39SEmil Renner Berthing			cpu3_intc: interrupt-controller {
11960bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
12060bf0a39SEmil Renner Berthing				interrupt-controller;
12160bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
12260bf0a39SEmil Renner Berthing			};
12360bf0a39SEmil Renner Berthing		};
12460bf0a39SEmil Renner Berthing
12560bf0a39SEmil Renner Berthing		U74_4: cpu@4 {
12660bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
12760bf0a39SEmil Renner Berthing			reg = <4>;
12860bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
12960bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
13060bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
13160bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
13260bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
13360bf0a39SEmil Renner Berthing			device_type = "cpu";
13460bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
13560bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
13660bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
13760bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
13860bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
13960bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
14060bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
14160bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
14260bf0a39SEmil Renner Berthing			tlb-split;
143e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
144e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
145e2c510d6SMason Huo			clock-names = "cpu";
14660bf0a39SEmil Renner Berthing
14760bf0a39SEmil Renner Berthing			cpu4_intc: interrupt-controller {
14860bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
14960bf0a39SEmil Renner Berthing				interrupt-controller;
15060bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
15160bf0a39SEmil Renner Berthing			};
15260bf0a39SEmil Renner Berthing		};
15360bf0a39SEmil Renner Berthing
15460bf0a39SEmil Renner Berthing		cpu-map {
15560bf0a39SEmil Renner Berthing			cluster0 {
15660bf0a39SEmil Renner Berthing				core0 {
15760bf0a39SEmil Renner Berthing					cpu = <&S7_0>;
15860bf0a39SEmil Renner Berthing				};
15960bf0a39SEmil Renner Berthing
16060bf0a39SEmil Renner Berthing				core1 {
16160bf0a39SEmil Renner Berthing					cpu = <&U74_1>;
16260bf0a39SEmil Renner Berthing				};
16360bf0a39SEmil Renner Berthing
16460bf0a39SEmil Renner Berthing				core2 {
16560bf0a39SEmil Renner Berthing					cpu = <&U74_2>;
16660bf0a39SEmil Renner Berthing				};
16760bf0a39SEmil Renner Berthing
16860bf0a39SEmil Renner Berthing				core3 {
16960bf0a39SEmil Renner Berthing					cpu = <&U74_3>;
17060bf0a39SEmil Renner Berthing				};
17160bf0a39SEmil Renner Berthing
17260bf0a39SEmil Renner Berthing				core4 {
17360bf0a39SEmil Renner Berthing					cpu = <&U74_4>;
17460bf0a39SEmil Renner Berthing				};
17560bf0a39SEmil Renner Berthing			};
17660bf0a39SEmil Renner Berthing		};
17760bf0a39SEmil Renner Berthing	};
17860bf0a39SEmil Renner Berthing
179e2c510d6SMason Huo	cpu_opp: opp-table-0 {
180e2c510d6SMason Huo			compatible = "operating-points-v2";
181e2c510d6SMason Huo			opp-shared;
182e2c510d6SMason Huo			opp-375000000 {
183e2c510d6SMason Huo					opp-hz = /bits/ 64 <375000000>;
184e2c510d6SMason Huo					opp-microvolt = <800000>;
185e2c510d6SMason Huo			};
186e2c510d6SMason Huo			opp-500000000 {
187e2c510d6SMason Huo					opp-hz = /bits/ 64 <500000000>;
188e2c510d6SMason Huo					opp-microvolt = <800000>;
189e2c510d6SMason Huo			};
190e2c510d6SMason Huo			opp-750000000 {
191e2c510d6SMason Huo					opp-hz = /bits/ 64 <750000000>;
192e2c510d6SMason Huo					opp-microvolt = <800000>;
193e2c510d6SMason Huo			};
194e2c510d6SMason Huo			opp-1500000000 {
195e2c510d6SMason Huo					opp-hz = /bits/ 64 <1500000000>;
196e2c510d6SMason Huo					opp-microvolt = <1040000>;
197e2c510d6SMason Huo			};
198e2c510d6SMason Huo	};
199e2c510d6SMason Huo
200*43f09605SXingyu Wu	dvp_clk: dvp-clock {
201*43f09605SXingyu Wu		compatible = "fixed-clock";
202*43f09605SXingyu Wu		clock-output-names = "dvp_clk";
203*43f09605SXingyu Wu		#clock-cells = <0>;
204*43f09605SXingyu Wu	};
205*43f09605SXingyu Wu
20660bf0a39SEmil Renner Berthing	gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
20760bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
20860bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rgmii_rxin";
20960bf0a39SEmil Renner Berthing		#clock-cells = <0>;
21060bf0a39SEmil Renner Berthing	};
21160bf0a39SEmil Renner Berthing
21260bf0a39SEmil Renner Berthing	gmac0_rmii_refin: gmac0-rmii-refin-clock {
21360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
21460bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rmii_refin";
21560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
21660bf0a39SEmil Renner Berthing	};
21760bf0a39SEmil Renner Berthing
21860bf0a39SEmil Renner Berthing	gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
21960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
22060bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rgmii_rxin";
22160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
22260bf0a39SEmil Renner Berthing	};
22360bf0a39SEmil Renner Berthing
22460bf0a39SEmil Renner Berthing	gmac1_rmii_refin: gmac1-rmii-refin-clock {
22560bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
22660bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rmii_refin";
22760bf0a39SEmil Renner Berthing		#clock-cells = <0>;
22860bf0a39SEmil Renner Berthing	};
22960bf0a39SEmil Renner Berthing
230*43f09605SXingyu Wu	hdmitx0_pixelclk: hdmitx0-pixel-clock {
231*43f09605SXingyu Wu		compatible = "fixed-clock";
232*43f09605SXingyu Wu		clock-output-names = "hdmitx0_pixelclk";
233*43f09605SXingyu Wu		#clock-cells = <0>;
234*43f09605SXingyu Wu	};
235*43f09605SXingyu Wu
23660bf0a39SEmil Renner Berthing	i2srx_bclk_ext: i2srx-bclk-ext-clock {
23760bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
23860bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_bclk_ext";
23960bf0a39SEmil Renner Berthing		#clock-cells = <0>;
24060bf0a39SEmil Renner Berthing	};
24160bf0a39SEmil Renner Berthing
24260bf0a39SEmil Renner Berthing	i2srx_lrck_ext: i2srx-lrck-ext-clock {
24360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
24460bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_lrck_ext";
24560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
24660bf0a39SEmil Renner Berthing	};
24760bf0a39SEmil Renner Berthing
24860bf0a39SEmil Renner Berthing	i2stx_bclk_ext: i2stx-bclk-ext-clock {
24960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
25060bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_bclk_ext";
25160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25260bf0a39SEmil Renner Berthing	};
25360bf0a39SEmil Renner Berthing
25460bf0a39SEmil Renner Berthing	i2stx_lrck_ext: i2stx-lrck-ext-clock {
25560bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
25660bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_lrck_ext";
25760bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25860bf0a39SEmil Renner Berthing	};
25960bf0a39SEmil Renner Berthing
26060bf0a39SEmil Renner Berthing	mclk_ext: mclk-ext-clock {
26160bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26260bf0a39SEmil Renner Berthing		clock-output-names = "mclk_ext";
26360bf0a39SEmil Renner Berthing		#clock-cells = <0>;
26460bf0a39SEmil Renner Berthing	};
26560bf0a39SEmil Renner Berthing
26660bf0a39SEmil Renner Berthing	osc: oscillator {
26760bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26860bf0a39SEmil Renner Berthing		clock-output-names = "osc";
26960bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27060bf0a39SEmil Renner Berthing	};
27160bf0a39SEmil Renner Berthing
27260bf0a39SEmil Renner Berthing	rtc_osc: rtc-oscillator {
27360bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
27460bf0a39SEmil Renner Berthing		clock-output-names = "rtc_osc";
27560bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27660bf0a39SEmil Renner Berthing	};
27760bf0a39SEmil Renner Berthing
27860bf0a39SEmil Renner Berthing	tdm_ext: tdm-ext-clock {
27960bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
28060bf0a39SEmil Renner Berthing		clock-output-names = "tdm_ext";
28160bf0a39SEmil Renner Berthing		#clock-cells = <0>;
28260bf0a39SEmil Renner Berthing	};
28360bf0a39SEmil Renner Berthing
28460bf0a39SEmil Renner Berthing	soc {
28560bf0a39SEmil Renner Berthing		compatible = "simple-bus";
28660bf0a39SEmil Renner Berthing		interrupt-parent = <&plic>;
28760bf0a39SEmil Renner Berthing		#address-cells = <2>;
28860bf0a39SEmil Renner Berthing		#size-cells = <2>;
28960bf0a39SEmil Renner Berthing		ranges;
29060bf0a39SEmil Renner Berthing
29160bf0a39SEmil Renner Berthing		clint: timer@2000000 {
29260bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-clint", "sifive,clint0";
29360bf0a39SEmil Renner Berthing			reg = <0x0 0x2000000 0x0 0x10000>;
29460bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
29560bf0a39SEmil Renner Berthing					      <&cpu1_intc 3>, <&cpu1_intc 7>,
29660bf0a39SEmil Renner Berthing					      <&cpu2_intc 3>, <&cpu2_intc 7>,
29760bf0a39SEmil Renner Berthing					      <&cpu3_intc 3>, <&cpu3_intc 7>,
29860bf0a39SEmil Renner Berthing					      <&cpu4_intc 3>, <&cpu4_intc 7>;
29960bf0a39SEmil Renner Berthing		};
30060bf0a39SEmil Renner Berthing
30160bf0a39SEmil Renner Berthing		ccache: cache-controller@2010000 {
30260bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
30360bf0a39SEmil Renner Berthing			reg = <0x0 0x2010000 0x0 0x4000>;
30460bf0a39SEmil Renner Berthing			interrupts = <1>, <3>, <4>, <2>;
30560bf0a39SEmil Renner Berthing			cache-block-size = <64>;
30660bf0a39SEmil Renner Berthing			cache-level = <2>;
30760bf0a39SEmil Renner Berthing			cache-sets = <2048>;
30860bf0a39SEmil Renner Berthing			cache-size = <2097152>;
30960bf0a39SEmil Renner Berthing			cache-unified;
31060bf0a39SEmil Renner Berthing		};
31160bf0a39SEmil Renner Berthing
31260bf0a39SEmil Renner Berthing		plic: interrupt-controller@c000000 {
31360bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
31460bf0a39SEmil Renner Berthing			reg = <0x0 0xc000000 0x0 0x4000000>;
31560bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 11>,
31660bf0a39SEmil Renner Berthing					      <&cpu1_intc 11>, <&cpu1_intc 9>,
31760bf0a39SEmil Renner Berthing					      <&cpu2_intc 11>, <&cpu2_intc 9>,
31860bf0a39SEmil Renner Berthing					      <&cpu3_intc 11>, <&cpu3_intc 9>,
31960bf0a39SEmil Renner Berthing					      <&cpu4_intc 11>, <&cpu4_intc 9>;
32060bf0a39SEmil Renner Berthing			interrupt-controller;
32160bf0a39SEmil Renner Berthing			#interrupt-cells = <1>;
32260bf0a39SEmil Renner Berthing			#address-cells = <0>;
32360bf0a39SEmil Renner Berthing			riscv,ndev = <136>;
32460bf0a39SEmil Renner Berthing		};
32560bf0a39SEmil Renner Berthing
32660bf0a39SEmil Renner Berthing		uart0: serial@10000000 {
32760bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
32860bf0a39SEmil Renner Berthing			reg = <0x0 0x10000000 0x0 0x10000>;
32960bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>,
33060bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART0_APB>;
33160bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
33260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART0_APB>;
33360bf0a39SEmil Renner Berthing			interrupts = <32>;
33460bf0a39SEmil Renner Berthing			reg-io-width = <4>;
33560bf0a39SEmil Renner Berthing			reg-shift = <2>;
33660bf0a39SEmil Renner Berthing			status = "disabled";
33760bf0a39SEmil Renner Berthing		};
33860bf0a39SEmil Renner Berthing
33960bf0a39SEmil Renner Berthing		uart1: serial@10010000 {
34060bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
34160bf0a39SEmil Renner Berthing			reg = <0x0 0x10010000 0x0 0x10000>;
34260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>,
34360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART1_APB>;
34460bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
34560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART1_APB>;
34660bf0a39SEmil Renner Berthing			interrupts = <33>;
34760bf0a39SEmil Renner Berthing			reg-io-width = <4>;
34860bf0a39SEmil Renner Berthing			reg-shift = <2>;
34960bf0a39SEmil Renner Berthing			status = "disabled";
35060bf0a39SEmil Renner Berthing		};
35160bf0a39SEmil Renner Berthing
35260bf0a39SEmil Renner Berthing		uart2: serial@10020000 {
35360bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
35460bf0a39SEmil Renner Berthing			reg = <0x0 0x10020000 0x0 0x10000>;
35560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>,
35660bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART2_APB>;
35760bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
35860bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART2_APB>;
35960bf0a39SEmil Renner Berthing			interrupts = <34>;
36060bf0a39SEmil Renner Berthing			reg-io-width = <4>;
36160bf0a39SEmil Renner Berthing			reg-shift = <2>;
36260bf0a39SEmil Renner Berthing			status = "disabled";
36360bf0a39SEmil Renner Berthing		};
36460bf0a39SEmil Renner Berthing
36560bf0a39SEmil Renner Berthing		i2c0: i2c@10030000 {
36660bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
36760bf0a39SEmil Renner Berthing			reg = <0x0 0x10030000 0x0 0x10000>;
36860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>;
36960bf0a39SEmil Renner Berthing			clock-names = "ref";
37060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C0_APB>;
37160bf0a39SEmil Renner Berthing			interrupts = <35>;
37260bf0a39SEmil Renner Berthing			#address-cells = <1>;
37360bf0a39SEmil Renner Berthing			#size-cells = <0>;
37460bf0a39SEmil Renner Berthing			status = "disabled";
37560bf0a39SEmil Renner Berthing		};
37660bf0a39SEmil Renner Berthing
37760bf0a39SEmil Renner Berthing		i2c1: i2c@10040000 {
37860bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
37960bf0a39SEmil Renner Berthing			reg = <0x0 0x10040000 0x0 0x10000>;
38060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>;
38160bf0a39SEmil Renner Berthing			clock-names = "ref";
38260bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C1_APB>;
38360bf0a39SEmil Renner Berthing			interrupts = <36>;
38460bf0a39SEmil Renner Berthing			#address-cells = <1>;
38560bf0a39SEmil Renner Berthing			#size-cells = <0>;
38660bf0a39SEmil Renner Berthing			status = "disabled";
38760bf0a39SEmil Renner Berthing		};
38860bf0a39SEmil Renner Berthing
38960bf0a39SEmil Renner Berthing		i2c2: i2c@10050000 {
39060bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
39160bf0a39SEmil Renner Berthing			reg = <0x0 0x10050000 0x0 0x10000>;
39260bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>;
39360bf0a39SEmil Renner Berthing			clock-names = "ref";
39460bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C2_APB>;
39560bf0a39SEmil Renner Berthing			interrupts = <37>;
39660bf0a39SEmil Renner Berthing			#address-cells = <1>;
39760bf0a39SEmil Renner Berthing			#size-cells = <0>;
39860bf0a39SEmil Renner Berthing			status = "disabled";
39960bf0a39SEmil Renner Berthing		};
40060bf0a39SEmil Renner Berthing
40160bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
40260bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
40360bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
40460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
40560bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
40660bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
40760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART3_APB>;
40860bf0a39SEmil Renner Berthing			interrupts = <45>;
40960bf0a39SEmil Renner Berthing			reg-io-width = <4>;
41060bf0a39SEmil Renner Berthing			reg-shift = <2>;
41160bf0a39SEmil Renner Berthing			status = "disabled";
41260bf0a39SEmil Renner Berthing		};
41360bf0a39SEmil Renner Berthing
41460bf0a39SEmil Renner Berthing		uart4: serial@12010000 {
41560bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
41660bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
41760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
41860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
41960bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
42060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART4_APB>;
42160bf0a39SEmil Renner Berthing			interrupts = <46>;
42260bf0a39SEmil Renner Berthing			reg-io-width = <4>;
42360bf0a39SEmil Renner Berthing			reg-shift = <2>;
42460bf0a39SEmil Renner Berthing			status = "disabled";
42560bf0a39SEmil Renner Berthing		};
42660bf0a39SEmil Renner Berthing
42760bf0a39SEmil Renner Berthing		uart5: serial@12020000 {
42860bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
42960bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
43060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
43160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
43260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
43360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART5_APB>;
43460bf0a39SEmil Renner Berthing			interrupts = <47>;
43560bf0a39SEmil Renner Berthing			reg-io-width = <4>;
43660bf0a39SEmil Renner Berthing			reg-shift = <2>;
43760bf0a39SEmil Renner Berthing			status = "disabled";
43860bf0a39SEmil Renner Berthing		};
43960bf0a39SEmil Renner Berthing
44060bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
44160bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
44260bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
44360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
44460bf0a39SEmil Renner Berthing			clock-names = "ref";
44560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
44660bf0a39SEmil Renner Berthing			interrupts = <48>;
44760bf0a39SEmil Renner Berthing			#address-cells = <1>;
44860bf0a39SEmil Renner Berthing			#size-cells = <0>;
44960bf0a39SEmil Renner Berthing			status = "disabled";
45060bf0a39SEmil Renner Berthing		};
45160bf0a39SEmil Renner Berthing
45260bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
45360bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
45460bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
45560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
45660bf0a39SEmil Renner Berthing			clock-names = "ref";
45760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
45860bf0a39SEmil Renner Berthing			interrupts = <49>;
45960bf0a39SEmil Renner Berthing			#address-cells = <1>;
46060bf0a39SEmil Renner Berthing			#size-cells = <0>;
46160bf0a39SEmil Renner Berthing			status = "disabled";
46260bf0a39SEmil Renner Berthing		};
46360bf0a39SEmil Renner Berthing
46460bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
46560bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
46660bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
46760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
46860bf0a39SEmil Renner Berthing			clock-names = "ref";
46960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
47060bf0a39SEmil Renner Berthing			interrupts = <50>;
47160bf0a39SEmil Renner Berthing			#address-cells = <1>;
47260bf0a39SEmil Renner Berthing			#size-cells = <0>;
47360bf0a39SEmil Renner Berthing			status = "disabled";
47460bf0a39SEmil Renner Berthing		};
47560bf0a39SEmil Renner Berthing
47660bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
47760bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
47860bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
47960bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
48060bf0a39SEmil Renner Berthing			clock-names = "ref";
48160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
48260bf0a39SEmil Renner Berthing			interrupts = <51>;
48360bf0a39SEmil Renner Berthing			#address-cells = <1>;
48460bf0a39SEmil Renner Berthing			#size-cells = <0>;
48560bf0a39SEmil Renner Berthing			status = "disabled";
48660bf0a39SEmil Renner Berthing		};
48760bf0a39SEmil Renner Berthing
48860bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
48960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
49060bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
49160bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
49260bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
49360bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
49460bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
49560bf0a39SEmil Renner Berthing				 <&tdm_ext>, <&mclk_ext>;
49660bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
49760bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
49860bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
49960bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
50060bf0a39SEmil Renner Berthing				      "tdm_ext", "mclk_ext";
50160bf0a39SEmil Renner Berthing			#clock-cells = <1>;
50260bf0a39SEmil Renner Berthing			#reset-cells = <1>;
50360bf0a39SEmil Renner Berthing		};
50460bf0a39SEmil Renner Berthing
50560bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
50660bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
50760bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
50860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
50960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
51060bf0a39SEmil Renner Berthing			interrupts = <86>;
51160bf0a39SEmil Renner Berthing			interrupt-controller;
51260bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
51360bf0a39SEmil Renner Berthing			gpio-controller;
51460bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
51560bf0a39SEmil Renner Berthing		};
51660bf0a39SEmil Renner Berthing
5176361b7deSXingyu Wu		watchdog@13070000 {
5186361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
5196361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
5206361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
5216361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
5226361b7deSXingyu Wu			clock-names = "apb", "core";
5236361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
5246361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
5256361b7deSXingyu Wu		};
5266361b7deSXingyu Wu
52760bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
52860bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
52960bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
53060bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
53160bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
53260bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
53360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
53460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
53560bf0a39SEmil Renner Berthing				 <&rtc_osc>;
53660bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
53760bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
53860bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
53960bf0a39SEmil Renner Berthing				      "rtc_osc";
54060bf0a39SEmil Renner Berthing			#clock-cells = <1>;
54160bf0a39SEmil Renner Berthing			#reset-cells = <1>;
54260bf0a39SEmil Renner Berthing		};
54360bf0a39SEmil Renner Berthing
54460bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
54560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
54660bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
54760bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
54860bf0a39SEmil Renner Berthing			interrupts = <85>;
54960bf0a39SEmil Renner Berthing			interrupt-controller;
55060bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
55160bf0a39SEmil Renner Berthing			gpio-controller;
55260bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
55360bf0a39SEmil Renner Berthing		};
5546a887bccSWalker Chen
5556a887bccSWalker Chen		pwrc: power-controller@17030000 {
5566a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
5576a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
5586a887bccSWalker Chen			interrupts = <111>;
5596a887bccSWalker Chen			#power-domain-cells = <1>;
5606a887bccSWalker Chen		};
56160bf0a39SEmil Renner Berthing	};
56260bf0a39SEmil Renner Berthing};
563