1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2c66ec88fSEmmanuel Vadot/* Copyright (c) 2018-2019 SiFive, Inc */
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel Vadot/dts-v1/;
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/sifive-fu540-prci.h>
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot/ {
9c66ec88fSEmmanuel Vadot	#address-cells = <2>;
10c66ec88fSEmmanuel Vadot	#size-cells = <2>;
11c66ec88fSEmmanuel Vadot	compatible = "sifive,fu540-c000", "sifive,fu540";
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot	aliases {
14c66ec88fSEmmanuel Vadot		serial0 = &uart0;
15c66ec88fSEmmanuel Vadot		serial1 = &uart1;
16c66ec88fSEmmanuel Vadot		ethernet0 = &eth0;
17c66ec88fSEmmanuel Vadot	};
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot	chosen {
20c66ec88fSEmmanuel Vadot	};
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot	cpus {
23c66ec88fSEmmanuel Vadot		#address-cells = <1>;
24c66ec88fSEmmanuel Vadot		#size-cells = <0>;
25c66ec88fSEmmanuel Vadot		cpu0: cpu@0 {
26c66ec88fSEmmanuel Vadot			compatible = "sifive,e51", "sifive,rocket0", "riscv";
27c66ec88fSEmmanuel Vadot			device_type = "cpu";
28c66ec88fSEmmanuel Vadot			i-cache-block-size = <64>;
29c66ec88fSEmmanuel Vadot			i-cache-sets = <128>;
30c66ec88fSEmmanuel Vadot			i-cache-size = <16384>;
31c66ec88fSEmmanuel Vadot			reg = <0>;
32c66ec88fSEmmanuel Vadot			riscv,isa = "rv64imac";
33*84943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
34*84943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "c", "zicntr", "zicsr", "zifencei",
35*84943d6fSEmmanuel Vadot					       "zihpm";
36c66ec88fSEmmanuel Vadot			status = "disabled";
37c66ec88fSEmmanuel Vadot			cpu0_intc: interrupt-controller {
38c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
39c66ec88fSEmmanuel Vadot				compatible = "riscv,cpu-intc";
40c66ec88fSEmmanuel Vadot				interrupt-controller;
41c66ec88fSEmmanuel Vadot			};
42c66ec88fSEmmanuel Vadot		};
43c66ec88fSEmmanuel Vadot		cpu1: cpu@1 {
44c66ec88fSEmmanuel Vadot			compatible = "sifive,u54-mc", "sifive,rocket0", "riscv";
45c66ec88fSEmmanuel Vadot			d-cache-block-size = <64>;
46c66ec88fSEmmanuel Vadot			d-cache-sets = <64>;
47c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
48c66ec88fSEmmanuel Vadot			d-tlb-sets = <1>;
49c66ec88fSEmmanuel Vadot			d-tlb-size = <32>;
50c66ec88fSEmmanuel Vadot			device_type = "cpu";
51c66ec88fSEmmanuel Vadot			i-cache-block-size = <64>;
52c66ec88fSEmmanuel Vadot			i-cache-sets = <64>;
53c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
54c66ec88fSEmmanuel Vadot			i-tlb-sets = <1>;
55c66ec88fSEmmanuel Vadot			i-tlb-size = <32>;
56c66ec88fSEmmanuel Vadot			mmu-type = "riscv,sv39";
57c66ec88fSEmmanuel Vadot			reg = <1>;
58c66ec88fSEmmanuel Vadot			riscv,isa = "rv64imafdc";
59*84943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
60*84943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
61*84943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
62c66ec88fSEmmanuel Vadot			tlb-split;
63c66ec88fSEmmanuel Vadot			next-level-cache = <&l2cache>;
64c66ec88fSEmmanuel Vadot			cpu1_intc: interrupt-controller {
65c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
66c66ec88fSEmmanuel Vadot				compatible = "riscv,cpu-intc";
67c66ec88fSEmmanuel Vadot				interrupt-controller;
68c66ec88fSEmmanuel Vadot			};
69c66ec88fSEmmanuel Vadot		};
70c66ec88fSEmmanuel Vadot		cpu2: cpu@2 {
71c66ec88fSEmmanuel Vadot			compatible = "sifive,u54-mc", "sifive,rocket0", "riscv";
72c66ec88fSEmmanuel Vadot			d-cache-block-size = <64>;
73c66ec88fSEmmanuel Vadot			d-cache-sets = <64>;
74c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
75c66ec88fSEmmanuel Vadot			d-tlb-sets = <1>;
76c66ec88fSEmmanuel Vadot			d-tlb-size = <32>;
77c66ec88fSEmmanuel Vadot			device_type = "cpu";
78c66ec88fSEmmanuel Vadot			i-cache-block-size = <64>;
79c66ec88fSEmmanuel Vadot			i-cache-sets = <64>;
80c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
81c66ec88fSEmmanuel Vadot			i-tlb-sets = <1>;
82c66ec88fSEmmanuel Vadot			i-tlb-size = <32>;
83c66ec88fSEmmanuel Vadot			mmu-type = "riscv,sv39";
84c66ec88fSEmmanuel Vadot			reg = <2>;
85c66ec88fSEmmanuel Vadot			riscv,isa = "rv64imafdc";
86*84943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
87*84943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
88*84943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
89c66ec88fSEmmanuel Vadot			tlb-split;
90c66ec88fSEmmanuel Vadot			next-level-cache = <&l2cache>;
91c66ec88fSEmmanuel Vadot			cpu2_intc: interrupt-controller {
92c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
93c66ec88fSEmmanuel Vadot				compatible = "riscv,cpu-intc";
94c66ec88fSEmmanuel Vadot				interrupt-controller;
95c66ec88fSEmmanuel Vadot			};
96c66ec88fSEmmanuel Vadot		};
97c66ec88fSEmmanuel Vadot		cpu3: cpu@3 {
98c66ec88fSEmmanuel Vadot			compatible = "sifive,u54-mc", "sifive,rocket0", "riscv";
99c66ec88fSEmmanuel Vadot			d-cache-block-size = <64>;
100c66ec88fSEmmanuel Vadot			d-cache-sets = <64>;
101c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
102c66ec88fSEmmanuel Vadot			d-tlb-sets = <1>;
103c66ec88fSEmmanuel Vadot			d-tlb-size = <32>;
104c66ec88fSEmmanuel Vadot			device_type = "cpu";
105c66ec88fSEmmanuel Vadot			i-cache-block-size = <64>;
106c66ec88fSEmmanuel Vadot			i-cache-sets = <64>;
107c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
108c66ec88fSEmmanuel Vadot			i-tlb-sets = <1>;
109c66ec88fSEmmanuel Vadot			i-tlb-size = <32>;
110c66ec88fSEmmanuel Vadot			mmu-type = "riscv,sv39";
111c66ec88fSEmmanuel Vadot			reg = <3>;
112c66ec88fSEmmanuel Vadot			riscv,isa = "rv64imafdc";
113*84943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
114*84943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
115*84943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
116c66ec88fSEmmanuel Vadot			tlb-split;
117c66ec88fSEmmanuel Vadot			next-level-cache = <&l2cache>;
118c66ec88fSEmmanuel Vadot			cpu3_intc: interrupt-controller {
119c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
120c66ec88fSEmmanuel Vadot				compatible = "riscv,cpu-intc";
121c66ec88fSEmmanuel Vadot				interrupt-controller;
122c66ec88fSEmmanuel Vadot			};
123c66ec88fSEmmanuel Vadot		};
124c66ec88fSEmmanuel Vadot		cpu4: cpu@4 {
125c66ec88fSEmmanuel Vadot			compatible = "sifive,u54-mc", "sifive,rocket0", "riscv";
126c66ec88fSEmmanuel Vadot			d-cache-block-size = <64>;
127c66ec88fSEmmanuel Vadot			d-cache-sets = <64>;
128c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;
129c66ec88fSEmmanuel Vadot			d-tlb-sets = <1>;
130c66ec88fSEmmanuel Vadot			d-tlb-size = <32>;
131c66ec88fSEmmanuel Vadot			device_type = "cpu";
132c66ec88fSEmmanuel Vadot			i-cache-block-size = <64>;
133c66ec88fSEmmanuel Vadot			i-cache-sets = <64>;
134c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;
135c66ec88fSEmmanuel Vadot			i-tlb-sets = <1>;
136c66ec88fSEmmanuel Vadot			i-tlb-size = <32>;
137c66ec88fSEmmanuel Vadot			mmu-type = "riscv,sv39";
138c66ec88fSEmmanuel Vadot			reg = <4>;
139c66ec88fSEmmanuel Vadot			riscv,isa = "rv64imafdc";
140*84943d6fSEmmanuel Vadot			riscv,isa-base = "rv64i";
141*84943d6fSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
142*84943d6fSEmmanuel Vadot					       "zifencei", "zihpm";
143c66ec88fSEmmanuel Vadot			tlb-split;
144c66ec88fSEmmanuel Vadot			next-level-cache = <&l2cache>;
145c66ec88fSEmmanuel Vadot			cpu4_intc: interrupt-controller {
146c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
147c66ec88fSEmmanuel Vadot				compatible = "riscv,cpu-intc";
148c66ec88fSEmmanuel Vadot				interrupt-controller;
149c66ec88fSEmmanuel Vadot			};
150c66ec88fSEmmanuel Vadot		};
151b97ee269SEmmanuel Vadot
152b97ee269SEmmanuel Vadot		cpu-map {
153b97ee269SEmmanuel Vadot			cluster0 {
154b97ee269SEmmanuel Vadot				core0 {
155b97ee269SEmmanuel Vadot					cpu = <&cpu0>;
156b97ee269SEmmanuel Vadot				};
157b97ee269SEmmanuel Vadot
158b97ee269SEmmanuel Vadot				core1 {
159b97ee269SEmmanuel Vadot					cpu = <&cpu1>;
160b97ee269SEmmanuel Vadot				};
161b97ee269SEmmanuel Vadot
162b97ee269SEmmanuel Vadot				core2 {
163b97ee269SEmmanuel Vadot					cpu = <&cpu2>;
164b97ee269SEmmanuel Vadot				};
165b97ee269SEmmanuel Vadot
166b97ee269SEmmanuel Vadot				core3 {
167b97ee269SEmmanuel Vadot					cpu = <&cpu3>;
168b97ee269SEmmanuel Vadot				};
169b97ee269SEmmanuel Vadot
170b97ee269SEmmanuel Vadot				core4 {
171b97ee269SEmmanuel Vadot					cpu = <&cpu4>;
172b97ee269SEmmanuel Vadot				};
173b97ee269SEmmanuel Vadot			};
174b97ee269SEmmanuel Vadot		};
175c66ec88fSEmmanuel Vadot	};
176c66ec88fSEmmanuel Vadot	soc {
177c66ec88fSEmmanuel Vadot		#address-cells = <2>;
178c66ec88fSEmmanuel Vadot		#size-cells = <2>;
179e67e8565SEmmanuel Vadot		compatible = "simple-bus";
180c66ec88fSEmmanuel Vadot		ranges;
181c66ec88fSEmmanuel Vadot		plic0: interrupt-controller@c000000 {
1828cc087a1SEmmanuel Vadot			compatible = "sifive,fu540-c000-plic", "sifive,plic-1.0.0";
183c66ec88fSEmmanuel Vadot			reg = <0x0 0xc000000 0x0 0x4000000>;
184e67e8565SEmmanuel Vadot			#address-cells = <0>;
185e67e8565SEmmanuel Vadot			#interrupt-cells = <1>;
186c66ec88fSEmmanuel Vadot			interrupt-controller;
187e67e8565SEmmanuel Vadot			interrupts-extended =
188e67e8565SEmmanuel Vadot				<&cpu0_intc 0xffffffff>,
189e67e8565SEmmanuel Vadot				<&cpu1_intc 0xffffffff>, <&cpu1_intc 9>,
190e67e8565SEmmanuel Vadot				<&cpu2_intc 0xffffffff>, <&cpu2_intc 9>,
191e67e8565SEmmanuel Vadot				<&cpu3_intc 0xffffffff>, <&cpu3_intc 9>,
192e67e8565SEmmanuel Vadot				<&cpu4_intc 0xffffffff>, <&cpu4_intc 9>;
193e67e8565SEmmanuel Vadot			riscv,ndev = <53>;
194c66ec88fSEmmanuel Vadot		};
195c66ec88fSEmmanuel Vadot		prci: clock-controller@10000000 {
196c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-prci";
197c66ec88fSEmmanuel Vadot			reg = <0x0 0x10000000 0x0 0x1000>;
198c66ec88fSEmmanuel Vadot			clocks = <&hfclk>, <&rtcclk>;
199c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
200c66ec88fSEmmanuel Vadot		};
201c66ec88fSEmmanuel Vadot		uart0: serial@10010000 {
202c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-uart", "sifive,uart0";
203c66ec88fSEmmanuel Vadot			reg = <0x0 0x10010000 0x0 0x1000>;
204c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
205c66ec88fSEmmanuel Vadot			interrupts = <4>;
206c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
207c66ec88fSEmmanuel Vadot			status = "disabled";
208c66ec88fSEmmanuel Vadot		};
209c9ccf3a3SEmmanuel Vadot		dma: dma-controller@3000000 {
210d5b0e70fSEmmanuel Vadot			compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
211c66ec88fSEmmanuel Vadot			reg = <0x0 0x3000000 0x0 0x8000>;
212c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
213e67e8565SEmmanuel Vadot			interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>,
214e67e8565SEmmanuel Vadot				     <30>;
215d5b0e70fSEmmanuel Vadot			dma-channels = <4>;
216c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
217c66ec88fSEmmanuel Vadot		};
218c66ec88fSEmmanuel Vadot		uart1: serial@10011000 {
219c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-uart", "sifive,uart0";
220c66ec88fSEmmanuel Vadot			reg = <0x0 0x10011000 0x0 0x1000>;
221c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
222c66ec88fSEmmanuel Vadot			interrupts = <5>;
223c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
224c66ec88fSEmmanuel Vadot			status = "disabled";
225c66ec88fSEmmanuel Vadot		};
226c66ec88fSEmmanuel Vadot		i2c0: i2c@10030000 {
227c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-i2c", "sifive,i2c0";
228c66ec88fSEmmanuel Vadot			reg = <0x0 0x10030000 0x0 0x1000>;
229c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
230c66ec88fSEmmanuel Vadot			interrupts = <50>;
231c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
232c66ec88fSEmmanuel Vadot			reg-shift = <2>;
233c66ec88fSEmmanuel Vadot			reg-io-width = <1>;
234c66ec88fSEmmanuel Vadot			#address-cells = <1>;
235c66ec88fSEmmanuel Vadot			#size-cells = <0>;
236c66ec88fSEmmanuel Vadot			status = "disabled";
237c66ec88fSEmmanuel Vadot		};
238c66ec88fSEmmanuel Vadot		qspi0: spi@10040000 {
239c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-spi", "sifive,spi0";
240e67e8565SEmmanuel Vadot			reg = <0x0 0x10040000 0x0 0x1000>,
241e67e8565SEmmanuel Vadot			      <0x0 0x20000000 0x0 0x10000000>;
242c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
243c66ec88fSEmmanuel Vadot			interrupts = <51>;
244c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
245c66ec88fSEmmanuel Vadot			#address-cells = <1>;
246c66ec88fSEmmanuel Vadot			#size-cells = <0>;
247c66ec88fSEmmanuel Vadot			status = "disabled";
248c66ec88fSEmmanuel Vadot		};
249c66ec88fSEmmanuel Vadot		qspi1: spi@10041000 {
250c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-spi", "sifive,spi0";
251e67e8565SEmmanuel Vadot			reg = <0x0 0x10041000 0x0 0x1000>,
252e67e8565SEmmanuel Vadot			      <0x0 0x30000000 0x0 0x10000000>;
253c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
254c66ec88fSEmmanuel Vadot			interrupts = <52>;
255c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
256c66ec88fSEmmanuel Vadot			#address-cells = <1>;
257c66ec88fSEmmanuel Vadot			#size-cells = <0>;
258c66ec88fSEmmanuel Vadot			status = "disabled";
259c66ec88fSEmmanuel Vadot		};
260c66ec88fSEmmanuel Vadot		qspi2: spi@10050000 {
261c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-spi", "sifive,spi0";
262c66ec88fSEmmanuel Vadot			reg = <0x0 0x10050000 0x0 0x1000>;
263c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
264c66ec88fSEmmanuel Vadot			interrupts = <6>;
265c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
266c66ec88fSEmmanuel Vadot			#address-cells = <1>;
267c66ec88fSEmmanuel Vadot			#size-cells = <0>;
268c66ec88fSEmmanuel Vadot			status = "disabled";
269c66ec88fSEmmanuel Vadot		};
270c66ec88fSEmmanuel Vadot		eth0: ethernet@10090000 {
271c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-gem";
272c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
273c66ec88fSEmmanuel Vadot			interrupts = <53>;
274e67e8565SEmmanuel Vadot			reg = <0x0 0x10090000 0x0 0x2000>,
275e67e8565SEmmanuel Vadot			      <0x0 0x100a0000 0x0 0x1000>;
276c66ec88fSEmmanuel Vadot			local-mac-address = [00 00 00 00 00 00];
277c66ec88fSEmmanuel Vadot			clock-names = "pclk", "hclk";
278c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_GEMGXLPLL>,
279c9ccf3a3SEmmanuel Vadot				 <&prci FU540_PRCI_CLK_GEMGXLPLL>;
280c66ec88fSEmmanuel Vadot			#address-cells = <1>;
281c66ec88fSEmmanuel Vadot			#size-cells = <0>;
282c66ec88fSEmmanuel Vadot			status = "disabled";
283c66ec88fSEmmanuel Vadot		};
284c66ec88fSEmmanuel Vadot		pwm0: pwm@10020000 {
285c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-pwm", "sifive,pwm0";
286c66ec88fSEmmanuel Vadot			reg = <0x0 0x10020000 0x0 0x1000>;
287c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
288e67e8565SEmmanuel Vadot			interrupts = <42>, <43>, <44>, <45>;
289c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
290c66ec88fSEmmanuel Vadot			#pwm-cells = <3>;
291c66ec88fSEmmanuel Vadot			status = "disabled";
292c66ec88fSEmmanuel Vadot		};
293c66ec88fSEmmanuel Vadot		pwm1: pwm@10021000 {
294c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-pwm", "sifive,pwm0";
295c66ec88fSEmmanuel Vadot			reg = <0x0 0x10021000 0x0 0x1000>;
296c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
297e67e8565SEmmanuel Vadot			interrupts = <46>, <47>, <48>, <49>;
298c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
299c66ec88fSEmmanuel Vadot			#pwm-cells = <3>;
300c66ec88fSEmmanuel Vadot			status = "disabled";
301c66ec88fSEmmanuel Vadot		};
302c66ec88fSEmmanuel Vadot		l2cache: cache-controller@2010000 {
303c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-ccache", "cache";
304c66ec88fSEmmanuel Vadot			cache-block-size = <64>;
305c66ec88fSEmmanuel Vadot			cache-level = <2>;
306c66ec88fSEmmanuel Vadot			cache-sets = <1024>;
307c66ec88fSEmmanuel Vadot			cache-size = <2097152>;
308c66ec88fSEmmanuel Vadot			cache-unified;
309c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
310e67e8565SEmmanuel Vadot			interrupts = <1>, <2>, <3>;
311c66ec88fSEmmanuel Vadot			reg = <0x0 0x2010000 0x0 0x1000>;
312c66ec88fSEmmanuel Vadot		};
313c66ec88fSEmmanuel Vadot		gpio: gpio@10060000 {
314c66ec88fSEmmanuel Vadot			compatible = "sifive,fu540-c000-gpio", "sifive,gpio0";
315c66ec88fSEmmanuel Vadot			interrupt-parent = <&plic0>;
316c66ec88fSEmmanuel Vadot			interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>,
317c66ec88fSEmmanuel Vadot				     <14>, <15>, <16>, <17>, <18>, <19>, <20>,
318c66ec88fSEmmanuel Vadot				     <21>, <22>;
319c66ec88fSEmmanuel Vadot			reg = <0x0 0x10060000 0x0 0x1000>;
320c66ec88fSEmmanuel Vadot			gpio-controller;
321c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
322c66ec88fSEmmanuel Vadot			interrupt-controller;
323c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
324c9ccf3a3SEmmanuel Vadot			clocks = <&prci FU540_PRCI_CLK_TLCLK>;
325c66ec88fSEmmanuel Vadot			status = "disabled";
326c66ec88fSEmmanuel Vadot		};
327c66ec88fSEmmanuel Vadot	};
328c66ec88fSEmmanuel Vadot};
329