xref: /linux/scripts/dtc/include-prefixes/riscv/starfive/jh7110.dtsi (revision 3d90131f2edb10c802e6741053e3b23b0950981c)
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>
9*3d90131fSXingyu Wu#include <dt-bindings/power/starfive,jh7110-pmu.h>
1060bf0a39SEmil Renner Berthing#include <dt-bindings/reset/starfive,jh7110-crg.h>
1160bf0a39SEmil Renner Berthing
1260bf0a39SEmil Renner Berthing/ {
1360bf0a39SEmil Renner Berthing	compatible = "starfive,jh7110";
1460bf0a39SEmil Renner Berthing	#address-cells = <2>;
1560bf0a39SEmil Renner Berthing	#size-cells = <2>;
1660bf0a39SEmil Renner Berthing
1760bf0a39SEmil Renner Berthing	cpus {
1860bf0a39SEmil Renner Berthing		#address-cells = <1>;
1960bf0a39SEmil Renner Berthing		#size-cells = <0>;
2060bf0a39SEmil Renner Berthing
2160bf0a39SEmil Renner Berthing		S7_0: cpu@0 {
2260bf0a39SEmil Renner Berthing			compatible = "sifive,s7", "riscv";
2360bf0a39SEmil Renner Berthing			reg = <0>;
2460bf0a39SEmil Renner Berthing			device_type = "cpu";
2560bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
2660bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
2760bf0a39SEmil Renner Berthing			i-cache-size = <16384>;
2860bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
2960bf0a39SEmil Renner Berthing			riscv,isa = "rv64imac_zba_zbb";
3060bf0a39SEmil Renner Berthing			status = "disabled";
3160bf0a39SEmil Renner Berthing
3260bf0a39SEmil Renner Berthing			cpu0_intc: interrupt-controller {
3360bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
3460bf0a39SEmil Renner Berthing				interrupt-controller;
3560bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
3660bf0a39SEmil Renner Berthing			};
3760bf0a39SEmil Renner Berthing		};
3860bf0a39SEmil Renner Berthing
3960bf0a39SEmil Renner Berthing		U74_1: cpu@1 {
4060bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
4160bf0a39SEmil Renner Berthing			reg = <1>;
4260bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
4360bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
4460bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
4560bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
4660bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
4760bf0a39SEmil Renner Berthing			device_type = "cpu";
4860bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
4960bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
5060bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
5160bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
5260bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
5360bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
5460bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
5560bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
5660bf0a39SEmil Renner Berthing			tlb-split;
57e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
58e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
59e2c510d6SMason Huo			clock-names = "cpu";
6060bf0a39SEmil Renner Berthing
6160bf0a39SEmil Renner Berthing			cpu1_intc: interrupt-controller {
6260bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
6360bf0a39SEmil Renner Berthing				interrupt-controller;
6460bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
6560bf0a39SEmil Renner Berthing			};
6660bf0a39SEmil Renner Berthing		};
6760bf0a39SEmil Renner Berthing
6860bf0a39SEmil Renner Berthing		U74_2: cpu@2 {
6960bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
7060bf0a39SEmil Renner Berthing			reg = <2>;
7160bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
7260bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
7360bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
7460bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
7560bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
7660bf0a39SEmil Renner Berthing			device_type = "cpu";
7760bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
7860bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
7960bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
8060bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
8160bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
8260bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
8360bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
8460bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
8560bf0a39SEmil Renner Berthing			tlb-split;
86e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
87e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
88e2c510d6SMason Huo			clock-names = "cpu";
8960bf0a39SEmil Renner Berthing
9060bf0a39SEmil Renner Berthing			cpu2_intc: interrupt-controller {
9160bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
9260bf0a39SEmil Renner Berthing				interrupt-controller;
9360bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
9460bf0a39SEmil Renner Berthing			};
9560bf0a39SEmil Renner Berthing		};
9660bf0a39SEmil Renner Berthing
9760bf0a39SEmil Renner Berthing		U74_3: cpu@3 {
9860bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
9960bf0a39SEmil Renner Berthing			reg = <3>;
10060bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
10160bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
10260bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
10360bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
10460bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
10560bf0a39SEmil Renner Berthing			device_type = "cpu";
10660bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
10760bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
10860bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
10960bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
11060bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
11160bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
11260bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
11360bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
11460bf0a39SEmil Renner Berthing			tlb-split;
115e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
116e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
117e2c510d6SMason Huo			clock-names = "cpu";
11860bf0a39SEmil Renner Berthing
11960bf0a39SEmil Renner Berthing			cpu3_intc: interrupt-controller {
12060bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
12160bf0a39SEmil Renner Berthing				interrupt-controller;
12260bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
12360bf0a39SEmil Renner Berthing			};
12460bf0a39SEmil Renner Berthing		};
12560bf0a39SEmil Renner Berthing
12660bf0a39SEmil Renner Berthing		U74_4: cpu@4 {
12760bf0a39SEmil Renner Berthing			compatible = "sifive,u74-mc", "riscv";
12860bf0a39SEmil Renner Berthing			reg = <4>;
12960bf0a39SEmil Renner Berthing			d-cache-block-size = <64>;
13060bf0a39SEmil Renner Berthing			d-cache-sets = <64>;
13160bf0a39SEmil Renner Berthing			d-cache-size = <32768>;
13260bf0a39SEmil Renner Berthing			d-tlb-sets = <1>;
13360bf0a39SEmil Renner Berthing			d-tlb-size = <40>;
13460bf0a39SEmil Renner Berthing			device_type = "cpu";
13560bf0a39SEmil Renner Berthing			i-cache-block-size = <64>;
13660bf0a39SEmil Renner Berthing			i-cache-sets = <64>;
13760bf0a39SEmil Renner Berthing			i-cache-size = <32768>;
13860bf0a39SEmil Renner Berthing			i-tlb-sets = <1>;
13960bf0a39SEmil Renner Berthing			i-tlb-size = <40>;
14060bf0a39SEmil Renner Berthing			mmu-type = "riscv,sv39";
14160bf0a39SEmil Renner Berthing			next-level-cache = <&ccache>;
14260bf0a39SEmil Renner Berthing			riscv,isa = "rv64imafdc_zba_zbb";
14360bf0a39SEmil Renner Berthing			tlb-split;
144e2c510d6SMason Huo			operating-points-v2 = <&cpu_opp>;
145e2c510d6SMason Huo			clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
146e2c510d6SMason Huo			clock-names = "cpu";
14760bf0a39SEmil Renner Berthing
14860bf0a39SEmil Renner Berthing			cpu4_intc: interrupt-controller {
14960bf0a39SEmil Renner Berthing				compatible = "riscv,cpu-intc";
15060bf0a39SEmil Renner Berthing				interrupt-controller;
15160bf0a39SEmil Renner Berthing				#interrupt-cells = <1>;
15260bf0a39SEmil Renner Berthing			};
15360bf0a39SEmil Renner Berthing		};
15460bf0a39SEmil Renner Berthing
15560bf0a39SEmil Renner Berthing		cpu-map {
15660bf0a39SEmil Renner Berthing			cluster0 {
15760bf0a39SEmil Renner Berthing				core0 {
15860bf0a39SEmil Renner Berthing					cpu = <&S7_0>;
15960bf0a39SEmil Renner Berthing				};
16060bf0a39SEmil Renner Berthing
16160bf0a39SEmil Renner Berthing				core1 {
16260bf0a39SEmil Renner Berthing					cpu = <&U74_1>;
16360bf0a39SEmil Renner Berthing				};
16460bf0a39SEmil Renner Berthing
16560bf0a39SEmil Renner Berthing				core2 {
16660bf0a39SEmil Renner Berthing					cpu = <&U74_2>;
16760bf0a39SEmil Renner Berthing				};
16860bf0a39SEmil Renner Berthing
16960bf0a39SEmil Renner Berthing				core3 {
17060bf0a39SEmil Renner Berthing					cpu = <&U74_3>;
17160bf0a39SEmil Renner Berthing				};
17260bf0a39SEmil Renner Berthing
17360bf0a39SEmil Renner Berthing				core4 {
17460bf0a39SEmil Renner Berthing					cpu = <&U74_4>;
17560bf0a39SEmil Renner Berthing				};
17660bf0a39SEmil Renner Berthing			};
17760bf0a39SEmil Renner Berthing		};
17860bf0a39SEmil Renner Berthing	};
17960bf0a39SEmil Renner Berthing
180e2c510d6SMason Huo	cpu_opp: opp-table-0 {
181e2c510d6SMason Huo			compatible = "operating-points-v2";
182e2c510d6SMason Huo			opp-shared;
183e2c510d6SMason Huo			opp-375000000 {
184e2c510d6SMason Huo					opp-hz = /bits/ 64 <375000000>;
185e2c510d6SMason Huo					opp-microvolt = <800000>;
186e2c510d6SMason Huo			};
187e2c510d6SMason Huo			opp-500000000 {
188e2c510d6SMason Huo					opp-hz = /bits/ 64 <500000000>;
189e2c510d6SMason Huo					opp-microvolt = <800000>;
190e2c510d6SMason Huo			};
191e2c510d6SMason Huo			opp-750000000 {
192e2c510d6SMason Huo					opp-hz = /bits/ 64 <750000000>;
193e2c510d6SMason Huo					opp-microvolt = <800000>;
194e2c510d6SMason Huo			};
195e2c510d6SMason Huo			opp-1500000000 {
196e2c510d6SMason Huo					opp-hz = /bits/ 64 <1500000000>;
197e2c510d6SMason Huo					opp-microvolt = <1040000>;
198e2c510d6SMason Huo			};
199e2c510d6SMason Huo	};
200e2c510d6SMason Huo
20143f09605SXingyu Wu	dvp_clk: dvp-clock {
20243f09605SXingyu Wu		compatible = "fixed-clock";
20343f09605SXingyu Wu		clock-output-names = "dvp_clk";
20443f09605SXingyu Wu		#clock-cells = <0>;
20543f09605SXingyu Wu	};
20643f09605SXingyu Wu
20760bf0a39SEmil Renner Berthing	gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
20860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
20960bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rgmii_rxin";
21060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
21160bf0a39SEmil Renner Berthing	};
21260bf0a39SEmil Renner Berthing
21360bf0a39SEmil Renner Berthing	gmac0_rmii_refin: gmac0-rmii-refin-clock {
21460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
21560bf0a39SEmil Renner Berthing		clock-output-names = "gmac0_rmii_refin";
21660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
21760bf0a39SEmil Renner Berthing	};
21860bf0a39SEmil Renner Berthing
21960bf0a39SEmil Renner Berthing	gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
22060bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
22160bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rgmii_rxin";
22260bf0a39SEmil Renner Berthing		#clock-cells = <0>;
22360bf0a39SEmil Renner Berthing	};
22460bf0a39SEmil Renner Berthing
22560bf0a39SEmil Renner Berthing	gmac1_rmii_refin: gmac1-rmii-refin-clock {
22660bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
22760bf0a39SEmil Renner Berthing		clock-output-names = "gmac1_rmii_refin";
22860bf0a39SEmil Renner Berthing		#clock-cells = <0>;
22960bf0a39SEmil Renner Berthing	};
23060bf0a39SEmil Renner Berthing
23143f09605SXingyu Wu	hdmitx0_pixelclk: hdmitx0-pixel-clock {
23243f09605SXingyu Wu		compatible = "fixed-clock";
23343f09605SXingyu Wu		clock-output-names = "hdmitx0_pixelclk";
23443f09605SXingyu Wu		#clock-cells = <0>;
23543f09605SXingyu Wu	};
23643f09605SXingyu Wu
23760bf0a39SEmil Renner Berthing	i2srx_bclk_ext: i2srx-bclk-ext-clock {
23860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
23960bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_bclk_ext";
24060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
24160bf0a39SEmil Renner Berthing	};
24260bf0a39SEmil Renner Berthing
24360bf0a39SEmil Renner Berthing	i2srx_lrck_ext: i2srx-lrck-ext-clock {
24460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
24560bf0a39SEmil Renner Berthing		clock-output-names = "i2srx_lrck_ext";
24660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
24760bf0a39SEmil Renner Berthing	};
24860bf0a39SEmil Renner Berthing
24960bf0a39SEmil Renner Berthing	i2stx_bclk_ext: i2stx-bclk-ext-clock {
25060bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
25160bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_bclk_ext";
25260bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25360bf0a39SEmil Renner Berthing	};
25460bf0a39SEmil Renner Berthing
25560bf0a39SEmil Renner Berthing	i2stx_lrck_ext: i2stx-lrck-ext-clock {
25660bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
25760bf0a39SEmil Renner Berthing		clock-output-names = "i2stx_lrck_ext";
25860bf0a39SEmil Renner Berthing		#clock-cells = <0>;
25960bf0a39SEmil Renner Berthing	};
26060bf0a39SEmil Renner Berthing
26160bf0a39SEmil Renner Berthing	mclk_ext: mclk-ext-clock {
26260bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26360bf0a39SEmil Renner Berthing		clock-output-names = "mclk_ext";
26460bf0a39SEmil Renner Berthing		#clock-cells = <0>;
26560bf0a39SEmil Renner Berthing	};
26660bf0a39SEmil Renner Berthing
26760bf0a39SEmil Renner Berthing	osc: oscillator {
26860bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
26960bf0a39SEmil Renner Berthing		clock-output-names = "osc";
27060bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27160bf0a39SEmil Renner Berthing	};
27260bf0a39SEmil Renner Berthing
27360bf0a39SEmil Renner Berthing	rtc_osc: rtc-oscillator {
27460bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
27560bf0a39SEmil Renner Berthing		clock-output-names = "rtc_osc";
27660bf0a39SEmil Renner Berthing		#clock-cells = <0>;
27760bf0a39SEmil Renner Berthing	};
27860bf0a39SEmil Renner Berthing
27960bf0a39SEmil Renner Berthing	tdm_ext: tdm-ext-clock {
28060bf0a39SEmil Renner Berthing		compatible = "fixed-clock";
28160bf0a39SEmil Renner Berthing		clock-output-names = "tdm_ext";
28260bf0a39SEmil Renner Berthing		#clock-cells = <0>;
28360bf0a39SEmil Renner Berthing	};
28460bf0a39SEmil Renner Berthing
28560bf0a39SEmil Renner Berthing	soc {
28660bf0a39SEmil Renner Berthing		compatible = "simple-bus";
28760bf0a39SEmil Renner Berthing		interrupt-parent = <&plic>;
28860bf0a39SEmil Renner Berthing		#address-cells = <2>;
28960bf0a39SEmil Renner Berthing		#size-cells = <2>;
29060bf0a39SEmil Renner Berthing		ranges;
29160bf0a39SEmil Renner Berthing
29260bf0a39SEmil Renner Berthing		clint: timer@2000000 {
29360bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-clint", "sifive,clint0";
29460bf0a39SEmil Renner Berthing			reg = <0x0 0x2000000 0x0 0x10000>;
29560bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
29660bf0a39SEmil Renner Berthing					      <&cpu1_intc 3>, <&cpu1_intc 7>,
29760bf0a39SEmil Renner Berthing					      <&cpu2_intc 3>, <&cpu2_intc 7>,
29860bf0a39SEmil Renner Berthing					      <&cpu3_intc 3>, <&cpu3_intc 7>,
29960bf0a39SEmil Renner Berthing					      <&cpu4_intc 3>, <&cpu4_intc 7>;
30060bf0a39SEmil Renner Berthing		};
30160bf0a39SEmil Renner Berthing
30260bf0a39SEmil Renner Berthing		ccache: cache-controller@2010000 {
30360bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
30460bf0a39SEmil Renner Berthing			reg = <0x0 0x2010000 0x0 0x4000>;
30560bf0a39SEmil Renner Berthing			interrupts = <1>, <3>, <4>, <2>;
30660bf0a39SEmil Renner Berthing			cache-block-size = <64>;
30760bf0a39SEmil Renner Berthing			cache-level = <2>;
30860bf0a39SEmil Renner Berthing			cache-sets = <2048>;
30960bf0a39SEmil Renner Berthing			cache-size = <2097152>;
31060bf0a39SEmil Renner Berthing			cache-unified;
31160bf0a39SEmil Renner Berthing		};
31260bf0a39SEmil Renner Berthing
31360bf0a39SEmil Renner Berthing		plic: interrupt-controller@c000000 {
31460bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
31560bf0a39SEmil Renner Berthing			reg = <0x0 0xc000000 0x0 0x4000000>;
31660bf0a39SEmil Renner Berthing			interrupts-extended = <&cpu0_intc 11>,
31760bf0a39SEmil Renner Berthing					      <&cpu1_intc 11>, <&cpu1_intc 9>,
31860bf0a39SEmil Renner Berthing					      <&cpu2_intc 11>, <&cpu2_intc 9>,
31960bf0a39SEmil Renner Berthing					      <&cpu3_intc 11>, <&cpu3_intc 9>,
32060bf0a39SEmil Renner Berthing					      <&cpu4_intc 11>, <&cpu4_intc 9>;
32160bf0a39SEmil Renner Berthing			interrupt-controller;
32260bf0a39SEmil Renner Berthing			#interrupt-cells = <1>;
32360bf0a39SEmil Renner Berthing			#address-cells = <0>;
32460bf0a39SEmil Renner Berthing			riscv,ndev = <136>;
32560bf0a39SEmil Renner Berthing		};
32660bf0a39SEmil Renner Berthing
32760bf0a39SEmil Renner Berthing		uart0: serial@10000000 {
32860bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
32960bf0a39SEmil Renner Berthing			reg = <0x0 0x10000000 0x0 0x10000>;
33060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>,
33160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART0_APB>;
33260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
33360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART0_APB>;
33460bf0a39SEmil Renner Berthing			interrupts = <32>;
33560bf0a39SEmil Renner Berthing			reg-io-width = <4>;
33660bf0a39SEmil Renner Berthing			reg-shift = <2>;
33760bf0a39SEmil Renner Berthing			status = "disabled";
33860bf0a39SEmil Renner Berthing		};
33960bf0a39SEmil Renner Berthing
34060bf0a39SEmil Renner Berthing		uart1: serial@10010000 {
34160bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
34260bf0a39SEmil Renner Berthing			reg = <0x0 0x10010000 0x0 0x10000>;
34360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>,
34460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART1_APB>;
34560bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
34660bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART1_APB>;
34760bf0a39SEmil Renner Berthing			interrupts = <33>;
34860bf0a39SEmil Renner Berthing			reg-io-width = <4>;
34960bf0a39SEmil Renner Berthing			reg-shift = <2>;
35060bf0a39SEmil Renner Berthing			status = "disabled";
35160bf0a39SEmil Renner Berthing		};
35260bf0a39SEmil Renner Berthing
35360bf0a39SEmil Renner Berthing		uart2: serial@10020000 {
35460bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
35560bf0a39SEmil Renner Berthing			reg = <0x0 0x10020000 0x0 0x10000>;
35660bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>,
35760bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART2_APB>;
35860bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
35960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART2_APB>;
36060bf0a39SEmil Renner Berthing			interrupts = <34>;
36160bf0a39SEmil Renner Berthing			reg-io-width = <4>;
36260bf0a39SEmil Renner Berthing			reg-shift = <2>;
36360bf0a39SEmil Renner Berthing			status = "disabled";
36460bf0a39SEmil Renner Berthing		};
36560bf0a39SEmil Renner Berthing
36660bf0a39SEmil Renner Berthing		i2c0: i2c@10030000 {
36760bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
36860bf0a39SEmil Renner Berthing			reg = <0x0 0x10030000 0x0 0x10000>;
36960bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>;
37060bf0a39SEmil Renner Berthing			clock-names = "ref";
37160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C0_APB>;
37260bf0a39SEmil Renner Berthing			interrupts = <35>;
37360bf0a39SEmil Renner Berthing			#address-cells = <1>;
37460bf0a39SEmil Renner Berthing			#size-cells = <0>;
37560bf0a39SEmil Renner Berthing			status = "disabled";
37660bf0a39SEmil Renner Berthing		};
37760bf0a39SEmil Renner Berthing
37860bf0a39SEmil Renner Berthing		i2c1: i2c@10040000 {
37960bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
38060bf0a39SEmil Renner Berthing			reg = <0x0 0x10040000 0x0 0x10000>;
38160bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>;
38260bf0a39SEmil Renner Berthing			clock-names = "ref";
38360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C1_APB>;
38460bf0a39SEmil Renner Berthing			interrupts = <36>;
38560bf0a39SEmil Renner Berthing			#address-cells = <1>;
38660bf0a39SEmil Renner Berthing			#size-cells = <0>;
38760bf0a39SEmil Renner Berthing			status = "disabled";
38860bf0a39SEmil Renner Berthing		};
38960bf0a39SEmil Renner Berthing
39060bf0a39SEmil Renner Berthing		i2c2: i2c@10050000 {
39160bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
39260bf0a39SEmil Renner Berthing			reg = <0x0 0x10050000 0x0 0x10000>;
39360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>;
39460bf0a39SEmil Renner Berthing			clock-names = "ref";
39560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C2_APB>;
39660bf0a39SEmil Renner Berthing			interrupts = <37>;
39760bf0a39SEmil Renner Berthing			#address-cells = <1>;
39860bf0a39SEmil Renner Berthing			#size-cells = <0>;
39960bf0a39SEmil Renner Berthing			status = "disabled";
40060bf0a39SEmil Renner Berthing		};
40160bf0a39SEmil Renner Berthing
402*3d90131fSXingyu Wu		stgcrg: clock-controller@10230000 {
403*3d90131fSXingyu Wu			compatible = "starfive,jh7110-stgcrg";
404*3d90131fSXingyu Wu			reg = <0x0 0x10230000 0x0 0x10000>;
405*3d90131fSXingyu Wu			clocks = <&osc>,
406*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_CORE>,
407*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
408*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_USB_125M>,
409*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_CPU_BUS>,
410*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_HIFI4_AXI>,
411*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOCSTG_BUS>,
412*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_APB_BUS>;
413*3d90131fSXingyu Wu			clock-names = "osc", "hifi4_core",
414*3d90131fSXingyu Wu				      "stg_axiahb", "usb_125m",
415*3d90131fSXingyu Wu				      "cpu_bus", "hifi4_axi",
416*3d90131fSXingyu Wu				      "nocstg_bus", "apb_bus";
417*3d90131fSXingyu Wu			#clock-cells = <1>;
418*3d90131fSXingyu Wu			#reset-cells = <1>;
419*3d90131fSXingyu Wu		};
420*3d90131fSXingyu Wu
42160bf0a39SEmil Renner Berthing		uart3: serial@12000000 {
42260bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
42360bf0a39SEmil Renner Berthing			reg = <0x0 0x12000000 0x0 0x10000>;
42460bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>,
42560bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART3_APB>;
42660bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
42760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART3_APB>;
42860bf0a39SEmil Renner Berthing			interrupts = <45>;
42960bf0a39SEmil Renner Berthing			reg-io-width = <4>;
43060bf0a39SEmil Renner Berthing			reg-shift = <2>;
43160bf0a39SEmil Renner Berthing			status = "disabled";
43260bf0a39SEmil Renner Berthing		};
43360bf0a39SEmil Renner Berthing
43460bf0a39SEmil Renner Berthing		uart4: serial@12010000 {
43560bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
43660bf0a39SEmil Renner Berthing			reg = <0x0 0x12010000 0x0 0x10000>;
43760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>,
43860bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART4_APB>;
43960bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
44060bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART4_APB>;
44160bf0a39SEmil Renner Berthing			interrupts = <46>;
44260bf0a39SEmil Renner Berthing			reg-io-width = <4>;
44360bf0a39SEmil Renner Berthing			reg-shift = <2>;
44460bf0a39SEmil Renner Berthing			status = "disabled";
44560bf0a39SEmil Renner Berthing		};
44660bf0a39SEmil Renner Berthing
44760bf0a39SEmil Renner Berthing		uart5: serial@12020000 {
44860bf0a39SEmil Renner Berthing			compatible = "snps,dw-apb-uart";
44960bf0a39SEmil Renner Berthing			reg = <0x0 0x12020000 0x0 0x10000>;
45060bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>,
45160bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_UART5_APB>;
45260bf0a39SEmil Renner Berthing			clock-names = "baudclk", "apb_pclk";
45360bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_UART5_APB>;
45460bf0a39SEmil Renner Berthing			interrupts = <47>;
45560bf0a39SEmil Renner Berthing			reg-io-width = <4>;
45660bf0a39SEmil Renner Berthing			reg-shift = <2>;
45760bf0a39SEmil Renner Berthing			status = "disabled";
45860bf0a39SEmil Renner Berthing		};
45960bf0a39SEmil Renner Berthing
46060bf0a39SEmil Renner Berthing		i2c3: i2c@12030000 {
46160bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
46260bf0a39SEmil Renner Berthing			reg = <0x0 0x12030000 0x0 0x10000>;
46360bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>;
46460bf0a39SEmil Renner Berthing			clock-names = "ref";
46560bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C3_APB>;
46660bf0a39SEmil Renner Berthing			interrupts = <48>;
46760bf0a39SEmil Renner Berthing			#address-cells = <1>;
46860bf0a39SEmil Renner Berthing			#size-cells = <0>;
46960bf0a39SEmil Renner Berthing			status = "disabled";
47060bf0a39SEmil Renner Berthing		};
47160bf0a39SEmil Renner Berthing
47260bf0a39SEmil Renner Berthing		i2c4: i2c@12040000 {
47360bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
47460bf0a39SEmil Renner Berthing			reg = <0x0 0x12040000 0x0 0x10000>;
47560bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>;
47660bf0a39SEmil Renner Berthing			clock-names = "ref";
47760bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C4_APB>;
47860bf0a39SEmil Renner Berthing			interrupts = <49>;
47960bf0a39SEmil Renner Berthing			#address-cells = <1>;
48060bf0a39SEmil Renner Berthing			#size-cells = <0>;
48160bf0a39SEmil Renner Berthing			status = "disabled";
48260bf0a39SEmil Renner Berthing		};
48360bf0a39SEmil Renner Berthing
48460bf0a39SEmil Renner Berthing		i2c5: i2c@12050000 {
48560bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
48660bf0a39SEmil Renner Berthing			reg = <0x0 0x12050000 0x0 0x10000>;
48760bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>;
48860bf0a39SEmil Renner Berthing			clock-names = "ref";
48960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C5_APB>;
49060bf0a39SEmil Renner Berthing			interrupts = <50>;
49160bf0a39SEmil Renner Berthing			#address-cells = <1>;
49260bf0a39SEmil Renner Berthing			#size-cells = <0>;
49360bf0a39SEmil Renner Berthing			status = "disabled";
49460bf0a39SEmil Renner Berthing		};
49560bf0a39SEmil Renner Berthing
49660bf0a39SEmil Renner Berthing		i2c6: i2c@12060000 {
49760bf0a39SEmil Renner Berthing			compatible = "snps,designware-i2c";
49860bf0a39SEmil Renner Berthing			reg = <0x0 0x12060000 0x0 0x10000>;
49960bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>;
50060bf0a39SEmil Renner Berthing			clock-names = "ref";
50160bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_I2C6_APB>;
50260bf0a39SEmil Renner Berthing			interrupts = <51>;
50360bf0a39SEmil Renner Berthing			#address-cells = <1>;
50460bf0a39SEmil Renner Berthing			#size-cells = <0>;
50560bf0a39SEmil Renner Berthing			status = "disabled";
50660bf0a39SEmil Renner Berthing		};
50760bf0a39SEmil Renner Berthing
50860bf0a39SEmil Renner Berthing		syscrg: clock-controller@13020000 {
50960bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-syscrg";
51060bf0a39SEmil Renner Berthing			reg = <0x0 0x13020000 0x0 0x10000>;
51160bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac1_rmii_refin>,
51260bf0a39SEmil Renner Berthing				 <&gmac1_rgmii_rxin>,
51360bf0a39SEmil Renner Berthing				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
51460bf0a39SEmil Renner Berthing				 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
51560bf0a39SEmil Renner Berthing				 <&tdm_ext>, <&mclk_ext>;
51660bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac1_rmii_refin",
51760bf0a39SEmil Renner Berthing				      "gmac1_rgmii_rxin",
51860bf0a39SEmil Renner Berthing				      "i2stx_bclk_ext", "i2stx_lrck_ext",
51960bf0a39SEmil Renner Berthing				      "i2srx_bclk_ext", "i2srx_lrck_ext",
52060bf0a39SEmil Renner Berthing				      "tdm_ext", "mclk_ext";
52160bf0a39SEmil Renner Berthing			#clock-cells = <1>;
52260bf0a39SEmil Renner Berthing			#reset-cells = <1>;
52360bf0a39SEmil Renner Berthing		};
52460bf0a39SEmil Renner Berthing
52560bf0a39SEmil Renner Berthing		sysgpio: pinctrl@13040000 {
52660bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-sys-pinctrl";
52760bf0a39SEmil Renner Berthing			reg = <0x0 0x13040000 0x0 0x10000>;
52860bf0a39SEmil Renner Berthing			clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>;
52960bf0a39SEmil Renner Berthing			resets = <&syscrg JH7110_SYSRST_IOMUX_APB>;
53060bf0a39SEmil Renner Berthing			interrupts = <86>;
53160bf0a39SEmil Renner Berthing			interrupt-controller;
53260bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
53360bf0a39SEmil Renner Berthing			gpio-controller;
53460bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
53560bf0a39SEmil Renner Berthing		};
53660bf0a39SEmil Renner Berthing
5376361b7deSXingyu Wu		watchdog@13070000 {
5386361b7deSXingyu Wu			compatible = "starfive,jh7110-wdt";
5396361b7deSXingyu Wu			reg = <0x0 0x13070000 0x0 0x10000>;
5406361b7deSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_WDT_APB>,
5416361b7deSXingyu Wu				 <&syscrg JH7110_SYSCLK_WDT_CORE>;
5426361b7deSXingyu Wu			clock-names = "apb", "core";
5436361b7deSXingyu Wu			resets = <&syscrg JH7110_SYSRST_WDT_APB>,
5446361b7deSXingyu Wu				 <&syscrg JH7110_SYSRST_WDT_CORE>;
5456361b7deSXingyu Wu		};
5466361b7deSXingyu Wu
54760bf0a39SEmil Renner Berthing		aoncrg: clock-controller@17000000 {
54860bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aoncrg";
54960bf0a39SEmil Renner Berthing			reg = <0x0 0x17000000 0x0 0x10000>;
55060bf0a39SEmil Renner Berthing			clocks = <&osc>, <&gmac0_rmii_refin>,
55160bf0a39SEmil Renner Berthing				 <&gmac0_rgmii_rxin>,
55260bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
55360bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_APB_BUS>,
55460bf0a39SEmil Renner Berthing				 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
55560bf0a39SEmil Renner Berthing				 <&rtc_osc>;
55660bf0a39SEmil Renner Berthing			clock-names = "osc", "gmac0_rmii_refin",
55760bf0a39SEmil Renner Berthing				      "gmac0_rgmii_rxin", "stg_axiahb",
55860bf0a39SEmil Renner Berthing				      "apb_bus", "gmac0_gtxclk",
55960bf0a39SEmil Renner Berthing				      "rtc_osc";
56060bf0a39SEmil Renner Berthing			#clock-cells = <1>;
56160bf0a39SEmil Renner Berthing			#reset-cells = <1>;
56260bf0a39SEmil Renner Berthing		};
56360bf0a39SEmil Renner Berthing
56460bf0a39SEmil Renner Berthing		aongpio: pinctrl@17020000 {
56560bf0a39SEmil Renner Berthing			compatible = "starfive,jh7110-aon-pinctrl";
56660bf0a39SEmil Renner Berthing			reg = <0x0 0x17020000 0x0 0x10000>;
56760bf0a39SEmil Renner Berthing			resets = <&aoncrg JH7110_AONRST_IOMUX>;
56860bf0a39SEmil Renner Berthing			interrupts = <85>;
56960bf0a39SEmil Renner Berthing			interrupt-controller;
57060bf0a39SEmil Renner Berthing			#interrupt-cells = <2>;
57160bf0a39SEmil Renner Berthing			gpio-controller;
57260bf0a39SEmil Renner Berthing			#gpio-cells = <2>;
57360bf0a39SEmil Renner Berthing		};
5746a887bccSWalker Chen
5756a887bccSWalker Chen		pwrc: power-controller@17030000 {
5766a887bccSWalker Chen			compatible = "starfive,jh7110-pmu";
5776a887bccSWalker Chen			reg = <0x0 0x17030000 0x0 0x10000>;
5786a887bccSWalker Chen			interrupts = <111>;
5796a887bccSWalker Chen			#power-domain-cells = <1>;
5806a887bccSWalker Chen		};
581*3d90131fSXingyu Wu
582*3d90131fSXingyu Wu		ispcrg: clock-controller@19810000 {
583*3d90131fSXingyu Wu			compatible = "starfive,jh7110-ispcrg";
584*3d90131fSXingyu Wu			reg = <0x0 0x19810000 0x0 0x10000>;
585*3d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>,
586*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>,
587*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>,
588*3d90131fSXingyu Wu				 <&dvp_clk>;
589*3d90131fSXingyu Wu			clock-names = "isp_top_core", "isp_top_axi",
590*3d90131fSXingyu Wu				      "noc_bus_isp_axi", "dvp_clk";
591*3d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_ISP_TOP>,
592*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_ISP_TOP_AXI>,
593*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>;
594*3d90131fSXingyu Wu			#clock-cells = <1>;
595*3d90131fSXingyu Wu			#reset-cells = <1>;
596*3d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_ISP>;
597*3d90131fSXingyu Wu		};
598*3d90131fSXingyu Wu
599*3d90131fSXingyu Wu		voutcrg: clock-controller@295c0000 {
600*3d90131fSXingyu Wu			compatible = "starfive,jh7110-voutcrg";
601*3d90131fSXingyu Wu			reg = <0x0 0x295c0000 0x0 0x10000>;
602*3d90131fSXingyu Wu			clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>,
603*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>,
604*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>,
605*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>,
606*3d90131fSXingyu Wu				 <&syscrg JH7110_SYSCLK_I2STX0_BCLK>,
607*3d90131fSXingyu Wu				 <&hdmitx0_pixelclk>;
608*3d90131fSXingyu Wu			clock-names = "vout_src", "vout_top_ahb",
609*3d90131fSXingyu Wu				      "vout_top_axi", "vout_top_hdmitx0_mclk",
610*3d90131fSXingyu Wu				      "i2stx0_bclk", "hdmitx0_pixelclk";
611*3d90131fSXingyu Wu			resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>;
612*3d90131fSXingyu Wu			#clock-cells = <1>;
613*3d90131fSXingyu Wu			#reset-cells = <1>;
614*3d90131fSXingyu Wu			power-domains = <&pwrc JH7110_PD_VOUT>;
615*3d90131fSXingyu Wu		};
61660bf0a39SEmil Renner Berthing	};
61760bf0a39SEmil Renner Berthing};
618