xref: /freebsd/sys/contrib/device-tree/src/riscv/thead/th1520.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2021 Alibaba Group Holding Limited.
4f126890aSEmmanuel Vadot * Copyright (C) 2023 Jisheng Zhang <jszhang@kernel.org>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/ {
10f126890aSEmmanuel Vadot	compatible = "thead,th1520";
11f126890aSEmmanuel Vadot	#address-cells = <2>;
12f126890aSEmmanuel Vadot	#size-cells = <2>;
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	cpus: cpus {
15f126890aSEmmanuel Vadot		#address-cells = <1>;
16f126890aSEmmanuel Vadot		#size-cells = <0>;
17f126890aSEmmanuel Vadot		timebase-frequency = <3000000>;
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot		c910_0: cpu@0 {
20f126890aSEmmanuel Vadot			compatible = "thead,c910", "riscv";
21f126890aSEmmanuel Vadot			device_type = "cpu";
22f126890aSEmmanuel Vadot			riscv,isa = "rv64imafdc";
2384943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
2484943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
2584943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
26f126890aSEmmanuel Vadot			reg = <0>;
27f126890aSEmmanuel Vadot			i-cache-block-size = <64>;
28f126890aSEmmanuel Vadot			i-cache-size = <65536>;
29f126890aSEmmanuel Vadot			i-cache-sets = <512>;
30f126890aSEmmanuel Vadot			d-cache-block-size = <64>;
31f126890aSEmmanuel Vadot			d-cache-size = <65536>;
32f126890aSEmmanuel Vadot			d-cache-sets = <512>;
33f126890aSEmmanuel Vadot			next-level-cache = <&l2_cache>;
34f126890aSEmmanuel Vadot			mmu-type = "riscv,sv39";
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot			cpu0_intc: interrupt-controller {
37f126890aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
38f126890aSEmmanuel Vadot				interrupt-controller;
39f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
40f126890aSEmmanuel Vadot			};
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot
43f126890aSEmmanuel Vadot		c910_1: cpu@1 {
44f126890aSEmmanuel Vadot			compatible = "thead,c910", "riscv";
45f126890aSEmmanuel Vadot			device_type = "cpu";
46f126890aSEmmanuel Vadot			riscv,isa = "rv64imafdc";
4784943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
4884943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
4984943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
50f126890aSEmmanuel Vadot			reg = <1>;
51f126890aSEmmanuel Vadot			i-cache-block-size = <64>;
52f126890aSEmmanuel Vadot			i-cache-size = <65536>;
53f126890aSEmmanuel Vadot			i-cache-sets = <512>;
54f126890aSEmmanuel Vadot			d-cache-block-size = <64>;
55f126890aSEmmanuel Vadot			d-cache-size = <65536>;
56f126890aSEmmanuel Vadot			d-cache-sets = <512>;
57f126890aSEmmanuel Vadot			next-level-cache = <&l2_cache>;
58f126890aSEmmanuel Vadot			mmu-type = "riscv,sv39";
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot			cpu1_intc: interrupt-controller {
61f126890aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
62f126890aSEmmanuel Vadot				interrupt-controller;
63f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
64f126890aSEmmanuel Vadot			};
65f126890aSEmmanuel Vadot		};
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot		c910_2: cpu@2 {
68f126890aSEmmanuel Vadot			compatible = "thead,c910", "riscv";
69f126890aSEmmanuel Vadot			device_type = "cpu";
70f126890aSEmmanuel Vadot			riscv,isa = "rv64imafdc";
7184943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
7284943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
7384943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
74f126890aSEmmanuel Vadot			reg = <2>;
75f126890aSEmmanuel Vadot			i-cache-block-size = <64>;
76f126890aSEmmanuel Vadot			i-cache-size = <65536>;
77f126890aSEmmanuel Vadot			i-cache-sets = <512>;
78f126890aSEmmanuel Vadot			d-cache-block-size = <64>;
79f126890aSEmmanuel Vadot			d-cache-size = <65536>;
80f126890aSEmmanuel Vadot			d-cache-sets = <512>;
81f126890aSEmmanuel Vadot			next-level-cache = <&l2_cache>;
82f126890aSEmmanuel Vadot			mmu-type = "riscv,sv39";
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot			cpu2_intc: interrupt-controller {
85f126890aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
86f126890aSEmmanuel Vadot				interrupt-controller;
87f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
88f126890aSEmmanuel Vadot			};
89f126890aSEmmanuel Vadot		};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot		c910_3: cpu@3 {
92f126890aSEmmanuel Vadot			compatible = "thead,c910", "riscv";
93f126890aSEmmanuel Vadot			device_type = "cpu";
94f126890aSEmmanuel Vadot			riscv,isa = "rv64imafdc";
9584943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
9684943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
9784943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
98f126890aSEmmanuel Vadot			reg = <3>;
99f126890aSEmmanuel Vadot			i-cache-block-size = <64>;
100f126890aSEmmanuel Vadot			i-cache-size = <65536>;
101f126890aSEmmanuel Vadot			i-cache-sets = <512>;
102f126890aSEmmanuel Vadot			d-cache-block-size = <64>;
103f126890aSEmmanuel Vadot			d-cache-size = <65536>;
104f126890aSEmmanuel Vadot			d-cache-sets = <512>;
105f126890aSEmmanuel Vadot			next-level-cache = <&l2_cache>;
106f126890aSEmmanuel Vadot			mmu-type = "riscv,sv39";
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot			cpu3_intc: interrupt-controller {
109f126890aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
110f126890aSEmmanuel Vadot				interrupt-controller;
111f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
112f126890aSEmmanuel Vadot			};
113f126890aSEmmanuel Vadot		};
114f126890aSEmmanuel Vadot
115f126890aSEmmanuel Vadot		l2_cache: l2-cache {
116f126890aSEmmanuel Vadot			compatible = "cache";
117f126890aSEmmanuel Vadot			cache-block-size = <64>;
118f126890aSEmmanuel Vadot			cache-level = <2>;
119f126890aSEmmanuel Vadot			cache-size = <1048576>;
120f126890aSEmmanuel Vadot			cache-sets = <1024>;
121f126890aSEmmanuel Vadot			cache-unified;
122f126890aSEmmanuel Vadot		};
123f126890aSEmmanuel Vadot	};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot	osc: oscillator {
126f126890aSEmmanuel Vadot		compatible = "fixed-clock";
127f126890aSEmmanuel Vadot		clock-output-names = "osc_24m";
128f126890aSEmmanuel Vadot		#clock-cells = <0>;
129f126890aSEmmanuel Vadot	};
130f126890aSEmmanuel Vadot
131f126890aSEmmanuel Vadot	osc_32k: 32k-oscillator {
132f126890aSEmmanuel Vadot		compatible = "fixed-clock";
133f126890aSEmmanuel Vadot		clock-output-names = "osc_32k";
134f126890aSEmmanuel Vadot		#clock-cells = <0>;
135f126890aSEmmanuel Vadot	};
136f126890aSEmmanuel Vadot
137f126890aSEmmanuel Vadot	apb_clk: apb-clk-clock {
138f126890aSEmmanuel Vadot		compatible = "fixed-clock";
139f126890aSEmmanuel Vadot		clock-output-names = "apb_clk";
140f126890aSEmmanuel Vadot		#clock-cells = <0>;
141f126890aSEmmanuel Vadot	};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot	uart_sclk: uart-sclk-clock {
144f126890aSEmmanuel Vadot		compatible = "fixed-clock";
145f126890aSEmmanuel Vadot		clock-output-names = "uart_sclk";
146f126890aSEmmanuel Vadot		#clock-cells = <0>;
147f126890aSEmmanuel Vadot	};
148f126890aSEmmanuel Vadot
149*8d13bc63SEmmanuel Vadot	sdhci_clk: sdhci-clock {
150*8d13bc63SEmmanuel Vadot		compatible = "fixed-clock";
151*8d13bc63SEmmanuel Vadot		clock-frequency = <198000000>;
152*8d13bc63SEmmanuel Vadot		clock-output-names = "sdhci_clk";
153*8d13bc63SEmmanuel Vadot		#clock-cells = <0>;
154*8d13bc63SEmmanuel Vadot	};
155*8d13bc63SEmmanuel Vadot
156f126890aSEmmanuel Vadot	soc {
157f126890aSEmmanuel Vadot		compatible = "simple-bus";
158f126890aSEmmanuel Vadot		interrupt-parent = <&plic>;
159f126890aSEmmanuel Vadot		#address-cells = <2>;
160f126890aSEmmanuel Vadot		#size-cells = <2>;
161aa1a8ff2SEmmanuel Vadot		dma-noncoherent;
162f126890aSEmmanuel Vadot		ranges;
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot		plic: interrupt-controller@ffd8000000 {
165f126890aSEmmanuel Vadot			compatible = "thead,th1520-plic", "thead,c900-plic";
166f126890aSEmmanuel Vadot			reg = <0xff 0xd8000000 0x0 0x01000000>;
167f126890aSEmmanuel Vadot			interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>,
168f126890aSEmmanuel Vadot					      <&cpu1_intc 11>, <&cpu1_intc 9>,
169f126890aSEmmanuel Vadot					      <&cpu2_intc 11>, <&cpu2_intc 9>,
170f126890aSEmmanuel Vadot					      <&cpu3_intc 11>, <&cpu3_intc 9>;
171f126890aSEmmanuel Vadot			interrupt-controller;
172f126890aSEmmanuel Vadot			#address-cells = <0>;
173f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
174f126890aSEmmanuel Vadot			riscv,ndev = <240>;
175f126890aSEmmanuel Vadot		};
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot		clint: timer@ffdc000000 {
178f126890aSEmmanuel Vadot			compatible = "thead,th1520-clint", "thead,c900-clint";
179f126890aSEmmanuel Vadot			reg = <0xff 0xdc000000 0x0 0x00010000>;
180f126890aSEmmanuel Vadot			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
181f126890aSEmmanuel Vadot					      <&cpu1_intc 3>, <&cpu1_intc 7>,
182f126890aSEmmanuel Vadot					      <&cpu2_intc 3>, <&cpu2_intc 7>,
183f126890aSEmmanuel Vadot					      <&cpu3_intc 3>, <&cpu3_intc 7>;
184f126890aSEmmanuel Vadot		};
185f126890aSEmmanuel Vadot
186f126890aSEmmanuel Vadot		uart0: serial@ffe7014000 {
187f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
188f126890aSEmmanuel Vadot			reg = <0xff 0xe7014000 0x0 0x100>;
189f126890aSEmmanuel Vadot			interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
190f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
191f126890aSEmmanuel Vadot			reg-shift = <2>;
192f126890aSEmmanuel Vadot			reg-io-width = <4>;
193f126890aSEmmanuel Vadot			status = "disabled";
194f126890aSEmmanuel Vadot		};
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot		uart1: serial@ffe7f00000 {
197f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
198f126890aSEmmanuel Vadot			reg = <0xff 0xe7f00000 0x0 0x100>;
199f126890aSEmmanuel Vadot			interrupts = <37 IRQ_TYPE_LEVEL_HIGH>;
200f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
201f126890aSEmmanuel Vadot			reg-shift = <2>;
202f126890aSEmmanuel Vadot			reg-io-width = <4>;
203f126890aSEmmanuel Vadot			status = "disabled";
204f126890aSEmmanuel Vadot		};
205f126890aSEmmanuel Vadot
206f126890aSEmmanuel Vadot		uart3: serial@ffe7f04000 {
207f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
208f126890aSEmmanuel Vadot			reg = <0xff 0xe7f04000 0x0 0x100>;
209f126890aSEmmanuel Vadot			interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
210f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
211f126890aSEmmanuel Vadot			reg-shift = <2>;
212f126890aSEmmanuel Vadot			reg-io-width = <4>;
213f126890aSEmmanuel Vadot			status = "disabled";
214f126890aSEmmanuel Vadot		};
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot		gpio2: gpio@ffe7f34000 {
217f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
218f126890aSEmmanuel Vadot			reg = <0xff 0xe7f34000 0x0 0x1000>;
219f126890aSEmmanuel Vadot			#address-cells = <1>;
220f126890aSEmmanuel Vadot			#size-cells = <0>;
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot			portc: gpio-controller@0 {
223f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
224f126890aSEmmanuel Vadot				gpio-controller;
225f126890aSEmmanuel Vadot				#gpio-cells = <2>;
226f126890aSEmmanuel Vadot				ngpios = <32>;
227f126890aSEmmanuel Vadot				reg = <0>;
228f126890aSEmmanuel Vadot				interrupt-controller;
229f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
230f126890aSEmmanuel Vadot				interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
231f126890aSEmmanuel Vadot			};
232f126890aSEmmanuel Vadot		};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot		gpio3: gpio@ffe7f38000 {
235f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
236f126890aSEmmanuel Vadot			reg = <0xff 0xe7f38000 0x0 0x1000>;
237f126890aSEmmanuel Vadot			#address-cells = <1>;
238f126890aSEmmanuel Vadot			#size-cells = <0>;
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot			portd: gpio-controller@0 {
241f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
242f126890aSEmmanuel Vadot				gpio-controller;
243f126890aSEmmanuel Vadot				#gpio-cells = <2>;
244f126890aSEmmanuel Vadot				ngpios = <32>;
245f126890aSEmmanuel Vadot				reg = <0>;
246f126890aSEmmanuel Vadot				interrupt-controller;
247f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
248f126890aSEmmanuel Vadot				interrupts = <59 IRQ_TYPE_LEVEL_HIGH>;
249f126890aSEmmanuel Vadot			};
250f126890aSEmmanuel Vadot		};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot		gpio0: gpio@ffec005000 {
253f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
254f126890aSEmmanuel Vadot			reg = <0xff 0xec005000 0x0 0x1000>;
255f126890aSEmmanuel Vadot			#address-cells = <1>;
256f126890aSEmmanuel Vadot			#size-cells = <0>;
257f126890aSEmmanuel Vadot
258f126890aSEmmanuel Vadot			porta: gpio-controller@0 {
259f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
260f126890aSEmmanuel Vadot				gpio-controller;
261f126890aSEmmanuel Vadot				#gpio-cells = <2>;
262f126890aSEmmanuel Vadot				ngpios = <32>;
263f126890aSEmmanuel Vadot				reg = <0>;
264f126890aSEmmanuel Vadot				interrupt-controller;
265f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
266f126890aSEmmanuel Vadot				interrupts = <56 IRQ_TYPE_LEVEL_HIGH>;
267f126890aSEmmanuel Vadot			};
268f126890aSEmmanuel Vadot		};
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot		gpio1: gpio@ffec006000 {
271f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
272f126890aSEmmanuel Vadot			reg = <0xff 0xec006000 0x0 0x1000>;
273f126890aSEmmanuel Vadot			#address-cells = <1>;
274f126890aSEmmanuel Vadot			#size-cells = <0>;
275f126890aSEmmanuel Vadot
276f126890aSEmmanuel Vadot			portb: gpio-controller@0 {
277f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
278f126890aSEmmanuel Vadot				gpio-controller;
279f126890aSEmmanuel Vadot				#gpio-cells = <2>;
280f126890aSEmmanuel Vadot				ngpios = <32>;
281f126890aSEmmanuel Vadot				reg = <0>;
282f126890aSEmmanuel Vadot				interrupt-controller;
283f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
284f126890aSEmmanuel Vadot				interrupts = <57 IRQ_TYPE_LEVEL_HIGH>;
285f126890aSEmmanuel Vadot			};
286f126890aSEmmanuel Vadot		};
287f126890aSEmmanuel Vadot
288f126890aSEmmanuel Vadot		uart2: serial@ffec010000 {
289f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
290f126890aSEmmanuel Vadot			reg = <0xff 0xec010000 0x0 0x4000>;
291f126890aSEmmanuel Vadot			interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
292f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
293f126890aSEmmanuel Vadot			reg-shift = <2>;
294f126890aSEmmanuel Vadot			reg-io-width = <4>;
295f126890aSEmmanuel Vadot			status = "disabled";
296f126890aSEmmanuel Vadot		};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot		dmac0: dma-controller@ffefc00000 {
299f126890aSEmmanuel Vadot			compatible = "snps,axi-dma-1.01a";
300f126890aSEmmanuel Vadot			reg = <0xff 0xefc00000 0x0 0x1000>;
301f126890aSEmmanuel Vadot			interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
302f126890aSEmmanuel Vadot			clocks = <&apb_clk>, <&apb_clk>;
303f126890aSEmmanuel Vadot			clock-names = "core-clk", "cfgr-clk";
304f126890aSEmmanuel Vadot			#dma-cells = <1>;
305f126890aSEmmanuel Vadot			dma-channels = <4>;
306f126890aSEmmanuel Vadot			snps,block-size = <65536 65536 65536 65536>;
307f126890aSEmmanuel Vadot			snps,priority = <0 1 2 3>;
308f126890aSEmmanuel Vadot			snps,dma-masters = <1>;
309f126890aSEmmanuel Vadot			snps,data-width = <4>;
310f126890aSEmmanuel Vadot			snps,axi-max-burst-len = <16>;
311f126890aSEmmanuel Vadot			status = "disabled";
312f126890aSEmmanuel Vadot		};
313f126890aSEmmanuel Vadot
314*8d13bc63SEmmanuel Vadot		emmc: mmc@ffe7080000 {
315*8d13bc63SEmmanuel Vadot			compatible = "thead,th1520-dwcmshc";
316*8d13bc63SEmmanuel Vadot			reg = <0xff 0xe7080000 0x0 0x10000>;
317*8d13bc63SEmmanuel Vadot			interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
318*8d13bc63SEmmanuel Vadot			clocks = <&sdhci_clk>;
319*8d13bc63SEmmanuel Vadot			clock-names = "core";
320*8d13bc63SEmmanuel Vadot			status = "disabled";
321*8d13bc63SEmmanuel Vadot		};
322*8d13bc63SEmmanuel Vadot
323*8d13bc63SEmmanuel Vadot		sdio0: mmc@ffe7090000 {
324*8d13bc63SEmmanuel Vadot			compatible = "thead,th1520-dwcmshc";
325*8d13bc63SEmmanuel Vadot			reg = <0xff 0xe7090000 0x0 0x10000>;
326*8d13bc63SEmmanuel Vadot			interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
327*8d13bc63SEmmanuel Vadot			clocks = <&sdhci_clk>;
328*8d13bc63SEmmanuel Vadot			clock-names = "core";
329*8d13bc63SEmmanuel Vadot			status = "disabled";
330*8d13bc63SEmmanuel Vadot		};
331*8d13bc63SEmmanuel Vadot
332*8d13bc63SEmmanuel Vadot		sdio1: mmc@ffe70a0000 {
333*8d13bc63SEmmanuel Vadot			compatible = "thead,th1520-dwcmshc";
334*8d13bc63SEmmanuel Vadot			reg = <0xff 0xe70a0000 0x0 0x10000>;
335*8d13bc63SEmmanuel Vadot			interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
336*8d13bc63SEmmanuel Vadot			clocks = <&sdhci_clk>;
337*8d13bc63SEmmanuel Vadot			clock-names = "core";
338*8d13bc63SEmmanuel Vadot			status = "disabled";
339*8d13bc63SEmmanuel Vadot		};
340*8d13bc63SEmmanuel Vadot
341f126890aSEmmanuel Vadot		timer0: timer@ffefc32000 {
342f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
343f126890aSEmmanuel Vadot			reg = <0xff 0xefc32000 0x0 0x14>;
344f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
345f126890aSEmmanuel Vadot			clock-names = "timer";
346f126890aSEmmanuel Vadot			interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
347f126890aSEmmanuel Vadot			status = "disabled";
348f126890aSEmmanuel Vadot		};
349f126890aSEmmanuel Vadot
350f126890aSEmmanuel Vadot		timer1: timer@ffefc32014 {
351f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
352f126890aSEmmanuel Vadot			reg = <0xff 0xefc32014 0x0 0x14>;
353f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
354f126890aSEmmanuel Vadot			clock-names = "timer";
355f126890aSEmmanuel Vadot			interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
356f126890aSEmmanuel Vadot			status = "disabled";
357f126890aSEmmanuel Vadot		};
358f126890aSEmmanuel Vadot
359f126890aSEmmanuel Vadot		timer2: timer@ffefc32028 {
360f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
361f126890aSEmmanuel Vadot			reg = <0xff 0xefc32028 0x0 0x14>;
362f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
363f126890aSEmmanuel Vadot			clock-names = "timer";
364f126890aSEmmanuel Vadot			interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
365f126890aSEmmanuel Vadot			status = "disabled";
366f126890aSEmmanuel Vadot		};
367f126890aSEmmanuel Vadot
368f126890aSEmmanuel Vadot		timer3: timer@ffefc3203c {
369f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
370f126890aSEmmanuel Vadot			reg = <0xff 0xefc3203c 0x0 0x14>;
371f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
372f126890aSEmmanuel Vadot			clock-names = "timer";
373f126890aSEmmanuel Vadot			interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
374f126890aSEmmanuel Vadot			status = "disabled";
375f126890aSEmmanuel Vadot		};
376f126890aSEmmanuel Vadot
377f126890aSEmmanuel Vadot		uart4: serial@fff7f08000 {
378f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
379f126890aSEmmanuel Vadot			reg = <0xff 0xf7f08000 0x0 0x4000>;
380f126890aSEmmanuel Vadot			interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
381f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
382f126890aSEmmanuel Vadot			reg-shift = <2>;
383f126890aSEmmanuel Vadot			reg-io-width = <4>;
384f126890aSEmmanuel Vadot			status = "disabled";
385f126890aSEmmanuel Vadot		};
386f126890aSEmmanuel Vadot
387f126890aSEmmanuel Vadot		uart5: serial@fff7f0c000 {
388f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
389f126890aSEmmanuel Vadot			reg = <0xff 0xf7f0c000 0x0 0x4000>;
390f126890aSEmmanuel Vadot			interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
391f126890aSEmmanuel Vadot			clocks = <&uart_sclk>;
392f126890aSEmmanuel Vadot			reg-shift = <2>;
393f126890aSEmmanuel Vadot			reg-io-width = <4>;
394f126890aSEmmanuel Vadot			status = "disabled";
395f126890aSEmmanuel Vadot		};
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot		timer4: timer@ffffc33000 {
398f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
399f126890aSEmmanuel Vadot			reg = <0xff 0xffc33000 0x0 0x14>;
400f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
401f126890aSEmmanuel Vadot			clock-names = "timer";
402f126890aSEmmanuel Vadot			interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
403f126890aSEmmanuel Vadot			status = "disabled";
404f126890aSEmmanuel Vadot		};
405f126890aSEmmanuel Vadot
406f126890aSEmmanuel Vadot		timer5: timer@ffffc33014 {
407f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
408f126890aSEmmanuel Vadot			reg = <0xff 0xffc33014 0x0 0x14>;
409f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
410f126890aSEmmanuel Vadot			clock-names = "timer";
411f126890aSEmmanuel Vadot			interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
412f126890aSEmmanuel Vadot			status = "disabled";
413f126890aSEmmanuel Vadot		};
414f126890aSEmmanuel Vadot
415f126890aSEmmanuel Vadot		timer6: timer@ffffc33028 {
416f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
417f126890aSEmmanuel Vadot			reg = <0xff 0xffc33028 0x0 0x14>;
418f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
419f126890aSEmmanuel Vadot			clock-names = "timer";
420f126890aSEmmanuel Vadot			interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
421f126890aSEmmanuel Vadot			status = "disabled";
422f126890aSEmmanuel Vadot		};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot		timer7: timer@ffffc3303c {
425f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-timer";
426f126890aSEmmanuel Vadot			reg = <0xff 0xffc3303c 0x0 0x14>;
427f126890aSEmmanuel Vadot			clocks = <&apb_clk>;
428f126890aSEmmanuel Vadot			clock-names = "timer";
429f126890aSEmmanuel Vadot			interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
430f126890aSEmmanuel Vadot			status = "disabled";
431f126890aSEmmanuel Vadot		};
432f126890aSEmmanuel Vadot
433f126890aSEmmanuel Vadot		ao_gpio0: gpio@fffff41000 {
434f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
435f126890aSEmmanuel Vadot			reg = <0xff 0xfff41000 0x0 0x1000>;
436f126890aSEmmanuel Vadot			#address-cells = <1>;
437f126890aSEmmanuel Vadot			#size-cells = <0>;
438f126890aSEmmanuel Vadot
439f126890aSEmmanuel Vadot			porte: gpio-controller@0 {
440f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
441f126890aSEmmanuel Vadot				gpio-controller;
442f126890aSEmmanuel Vadot				#gpio-cells = <2>;
443f126890aSEmmanuel Vadot				ngpios = <32>;
444f126890aSEmmanuel Vadot				reg = <0>;
445f126890aSEmmanuel Vadot				interrupt-controller;
446f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
447f126890aSEmmanuel Vadot				interrupts = <76 IRQ_TYPE_LEVEL_HIGH>;
448f126890aSEmmanuel Vadot			};
449f126890aSEmmanuel Vadot		};
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot		ao_gpio1: gpio@fffff52000 {
452f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
453f126890aSEmmanuel Vadot			reg = <0xff 0xfff52000 0x0 0x1000>;
454f126890aSEmmanuel Vadot			#address-cells = <1>;
455f126890aSEmmanuel Vadot			#size-cells = <0>;
456f126890aSEmmanuel Vadot
457f126890aSEmmanuel Vadot			portf: gpio-controller@0 {
458f126890aSEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
459f126890aSEmmanuel Vadot				gpio-controller;
460f126890aSEmmanuel Vadot				#gpio-cells = <2>;
461f126890aSEmmanuel Vadot				ngpios = <32>;
462f126890aSEmmanuel Vadot				reg = <0>;
463f126890aSEmmanuel Vadot				interrupt-controller;
464f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
465f126890aSEmmanuel Vadot				interrupts = <55 IRQ_TYPE_LEVEL_HIGH>;
466f126890aSEmmanuel Vadot			};
467f126890aSEmmanuel Vadot		};
468f126890aSEmmanuel Vadot	};
469f126890aSEmmanuel Vadot};
470