xref: /freebsd-src/sys/contrib/device-tree/src/arm64/intel/socfpga_agilex5.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2aa1a8ff2SEmmanuel Vadot/*
3aa1a8ff2SEmmanuel Vadot * Copyright (C) 2023, Intel Corporation
4aa1a8ff2SEmmanuel Vadot */
5aa1a8ff2SEmmanuel Vadot
6aa1a8ff2SEmmanuel Vadot/dts-v1/;
7aa1a8ff2SEmmanuel Vadot#include <dt-bindings/reset/altr,rst-mgr-s10.h>
8aa1a8ff2SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9aa1a8ff2SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
10aa1a8ff2SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
11aa1a8ff2SEmmanuel Vadot#include <dt-bindings/clock/intel,agilex5-clkmgr.h>
12aa1a8ff2SEmmanuel Vadot
13aa1a8ff2SEmmanuel Vadot/ {
14aa1a8ff2SEmmanuel Vadot	compatible = "intel,socfpga-agilex5";
15aa1a8ff2SEmmanuel Vadot	#address-cells = <2>;
16aa1a8ff2SEmmanuel Vadot	#size-cells = <2>;
17aa1a8ff2SEmmanuel Vadot
18aa1a8ff2SEmmanuel Vadot	reserved-memory {
19aa1a8ff2SEmmanuel Vadot		#address-cells = <2>;
20aa1a8ff2SEmmanuel Vadot		#size-cells = <2>;
21aa1a8ff2SEmmanuel Vadot		ranges;
22aa1a8ff2SEmmanuel Vadot
23aa1a8ff2SEmmanuel Vadot		service_reserved: svcbuffer@0 {
24aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
25aa1a8ff2SEmmanuel Vadot			reg = <0x0 0x80000000 0x0 0x2000000>;
26aa1a8ff2SEmmanuel Vadot			alignment = <0x1000>;
27aa1a8ff2SEmmanuel Vadot			no-map;
28aa1a8ff2SEmmanuel Vadot		};
29aa1a8ff2SEmmanuel Vadot	};
30aa1a8ff2SEmmanuel Vadot
31aa1a8ff2SEmmanuel Vadot	cpus {
32aa1a8ff2SEmmanuel Vadot		#address-cells = <1>;
33aa1a8ff2SEmmanuel Vadot		#size-cells = <0>;
34aa1a8ff2SEmmanuel Vadot
35aa1a8ff2SEmmanuel Vadot		cpu0: cpu@0 {
36aa1a8ff2SEmmanuel Vadot			compatible = "arm,cortex-a55";
37aa1a8ff2SEmmanuel Vadot			reg = <0x0>;
38aa1a8ff2SEmmanuel Vadot			device_type = "cpu";
39aa1a8ff2SEmmanuel Vadot			enable-method = "psci";
40aa1a8ff2SEmmanuel Vadot		};
41aa1a8ff2SEmmanuel Vadot
42aa1a8ff2SEmmanuel Vadot		cpu1: cpu@1 {
43aa1a8ff2SEmmanuel Vadot			compatible = "arm,cortex-a55";
44aa1a8ff2SEmmanuel Vadot			reg = <0x100>;
45aa1a8ff2SEmmanuel Vadot			device_type = "cpu";
46aa1a8ff2SEmmanuel Vadot			enable-method = "psci";
47aa1a8ff2SEmmanuel Vadot		};
48aa1a8ff2SEmmanuel Vadot
49aa1a8ff2SEmmanuel Vadot		cpu2: cpu@2 {
50aa1a8ff2SEmmanuel Vadot			compatible = "arm,cortex-a76";
51aa1a8ff2SEmmanuel Vadot			reg = <0x200>;
52aa1a8ff2SEmmanuel Vadot			device_type = "cpu";
53aa1a8ff2SEmmanuel Vadot			enable-method = "psci";
54aa1a8ff2SEmmanuel Vadot		};
55aa1a8ff2SEmmanuel Vadot
56aa1a8ff2SEmmanuel Vadot		cpu3: cpu@3 {
57aa1a8ff2SEmmanuel Vadot			compatible = "arm,cortex-a76";
58aa1a8ff2SEmmanuel Vadot			reg = <0x300>;
59aa1a8ff2SEmmanuel Vadot			device_type = "cpu";
60aa1a8ff2SEmmanuel Vadot			enable-method = "psci";
61aa1a8ff2SEmmanuel Vadot		};
62aa1a8ff2SEmmanuel Vadot	};
63aa1a8ff2SEmmanuel Vadot
64aa1a8ff2SEmmanuel Vadot	psci {
65aa1a8ff2SEmmanuel Vadot		compatible = "arm,psci-0.2";
66aa1a8ff2SEmmanuel Vadot		method = "smc";
67aa1a8ff2SEmmanuel Vadot	};
68aa1a8ff2SEmmanuel Vadot
69aa1a8ff2SEmmanuel Vadot	intc: interrupt-controller@1d000000 {
70aa1a8ff2SEmmanuel Vadot		compatible = "arm,gic-v3";
71aa1a8ff2SEmmanuel Vadot		reg = <0x0 0x1d000000 0 0x10000>,
72aa1a8ff2SEmmanuel Vadot			<0x0 0x1d060000 0 0x100000>;
73aa1a8ff2SEmmanuel Vadot		ranges;
74aa1a8ff2SEmmanuel Vadot		#interrupt-cells = <3>;
75aa1a8ff2SEmmanuel Vadot		#address-cells = <2>;
76aa1a8ff2SEmmanuel Vadot		#size-cells = <2>;
77aa1a8ff2SEmmanuel Vadot		interrupt-controller;
78aa1a8ff2SEmmanuel Vadot		#redistributor-regions = <1>;
79aa1a8ff2SEmmanuel Vadot		redistributor-stride = <0x0 0x20000>;
80aa1a8ff2SEmmanuel Vadot
81aa1a8ff2SEmmanuel Vadot		its: msi-controller@1d040000 {
82aa1a8ff2SEmmanuel Vadot			compatible = "arm,gic-v3-its";
83aa1a8ff2SEmmanuel Vadot			reg = <0x0 0x1d040000 0x0 0x20000>;
84aa1a8ff2SEmmanuel Vadot			msi-controller;
85aa1a8ff2SEmmanuel Vadot			#msi-cells = <1>;
86aa1a8ff2SEmmanuel Vadot		};
87aa1a8ff2SEmmanuel Vadot	};
88aa1a8ff2SEmmanuel Vadot
89aa1a8ff2SEmmanuel Vadot	/* Clock tree 5 main sources*/
90aa1a8ff2SEmmanuel Vadot	clocks {
91aa1a8ff2SEmmanuel Vadot		cb_intosc_hs_div2_clk: cb-intosc-hs-div2-clk {
92aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
93aa1a8ff2SEmmanuel Vadot			compatible = "fixed-clock";
94aa1a8ff2SEmmanuel Vadot			clock-frequency = <0>;
95aa1a8ff2SEmmanuel Vadot		};
96aa1a8ff2SEmmanuel Vadot
97aa1a8ff2SEmmanuel Vadot		cb_intosc_ls_clk: cb-intosc-ls-clk {
98aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
99aa1a8ff2SEmmanuel Vadot			compatible = "fixed-clock";
100aa1a8ff2SEmmanuel Vadot			clock-frequency = <0>;
101aa1a8ff2SEmmanuel Vadot		};
102aa1a8ff2SEmmanuel Vadot
103aa1a8ff2SEmmanuel Vadot		f2s_free_clk: f2s-free-clk {
104aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
105aa1a8ff2SEmmanuel Vadot			compatible = "fixed-clock";
106aa1a8ff2SEmmanuel Vadot			clock-frequency = <0>;
107aa1a8ff2SEmmanuel Vadot		};
108aa1a8ff2SEmmanuel Vadot
109aa1a8ff2SEmmanuel Vadot		osc1: osc1 {
110aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
111aa1a8ff2SEmmanuel Vadot			compatible = "fixed-clock";
112aa1a8ff2SEmmanuel Vadot			clock-frequency = <0>;
113aa1a8ff2SEmmanuel Vadot		};
114aa1a8ff2SEmmanuel Vadot
115aa1a8ff2SEmmanuel Vadot		qspi_clk: qspi-clk {
116aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
117aa1a8ff2SEmmanuel Vadot			compatible = "fixed-clock";
118aa1a8ff2SEmmanuel Vadot			clock-frequency = <200000000>;
119aa1a8ff2SEmmanuel Vadot		};
120aa1a8ff2SEmmanuel Vadot	};
121aa1a8ff2SEmmanuel Vadot
122aa1a8ff2SEmmanuel Vadot	timer {
123aa1a8ff2SEmmanuel Vadot		compatible = "arm,armv8-timer";
124aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&intc>;
125aa1a8ff2SEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
126aa1a8ff2SEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
127aa1a8ff2SEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
128aa1a8ff2SEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
129aa1a8ff2SEmmanuel Vadot	};
130aa1a8ff2SEmmanuel Vadot
131aa1a8ff2SEmmanuel Vadot	usbphy0: usbphy {
132aa1a8ff2SEmmanuel Vadot		#phy-cells = <0>;
133aa1a8ff2SEmmanuel Vadot		compatible = "usb-nop-xceiv";
134aa1a8ff2SEmmanuel Vadot	};
135aa1a8ff2SEmmanuel Vadot
136aa1a8ff2SEmmanuel Vadot	soc: soc@0 {
137aa1a8ff2SEmmanuel Vadot		compatible = "simple-bus";
138aa1a8ff2SEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
139aa1a8ff2SEmmanuel Vadot		#address-cells = <1>;
140aa1a8ff2SEmmanuel Vadot		#size-cells = <1>;
141aa1a8ff2SEmmanuel Vadot		device_type = "soc";
142aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&intc>;
143aa1a8ff2SEmmanuel Vadot
144aa1a8ff2SEmmanuel Vadot		clkmgr: clock-controller@10d10000 {
145aa1a8ff2SEmmanuel Vadot			compatible = "intel,agilex5-clkmgr";
146aa1a8ff2SEmmanuel Vadot			reg = <0x10d10000 0x1000>;
147aa1a8ff2SEmmanuel Vadot			#clock-cells = <1>;
148aa1a8ff2SEmmanuel Vadot		};
149aa1a8ff2SEmmanuel Vadot
150aa1a8ff2SEmmanuel Vadot		i2c0: i2c@10c02800 {
151aa1a8ff2SEmmanuel Vadot			compatible = "snps,designware-i2c";
152aa1a8ff2SEmmanuel Vadot			reg = <0x10c02800 0x100>;
153aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
154aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
155aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
156aa1a8ff2SEmmanuel Vadot			resets = <&rst I2C0_RESET>;
157aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
158aa1a8ff2SEmmanuel Vadot			status = "disabled";
159aa1a8ff2SEmmanuel Vadot		};
160aa1a8ff2SEmmanuel Vadot
161aa1a8ff2SEmmanuel Vadot		i2c1: i2c@10c02900 {
162aa1a8ff2SEmmanuel Vadot			compatible = "snps,designware-i2c";
163aa1a8ff2SEmmanuel Vadot			reg = <0x10c02900 0x100>;
164aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
165aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
166aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
167aa1a8ff2SEmmanuel Vadot			resets = <&rst I2C1_RESET>;
168aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
169aa1a8ff2SEmmanuel Vadot			status = "disabled";
170aa1a8ff2SEmmanuel Vadot		};
171aa1a8ff2SEmmanuel Vadot
172aa1a8ff2SEmmanuel Vadot		i2c2: i2c@10c02a00 {
173aa1a8ff2SEmmanuel Vadot			compatible = "snps,designware-i2c";
174aa1a8ff2SEmmanuel Vadot			reg = <0x10c02a00 0x100>;
175aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
176aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
177aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
178aa1a8ff2SEmmanuel Vadot			resets = <&rst I2C2_RESET>;
179aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
180aa1a8ff2SEmmanuel Vadot			status = "disabled";
181aa1a8ff2SEmmanuel Vadot		};
182aa1a8ff2SEmmanuel Vadot
183aa1a8ff2SEmmanuel Vadot		i2c3: i2c@10c02b00 {
184aa1a8ff2SEmmanuel Vadot			compatible = "snps,designware-i2c";
185aa1a8ff2SEmmanuel Vadot			reg = <0x10c02b00 0x100>;
186aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
187aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
188aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
189aa1a8ff2SEmmanuel Vadot			resets = <&rst I2C3_RESET>;
190aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
191aa1a8ff2SEmmanuel Vadot			status = "disabled";
192aa1a8ff2SEmmanuel Vadot		};
193aa1a8ff2SEmmanuel Vadot
194aa1a8ff2SEmmanuel Vadot		i2c4: i2c@10c02c00 {
195aa1a8ff2SEmmanuel Vadot			compatible = "snps,designware-i2c";
196aa1a8ff2SEmmanuel Vadot			reg = <0x10c02c00 0x100>;
197aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
198aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
199aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
200aa1a8ff2SEmmanuel Vadot			resets = <&rst I2C4_RESET>;
201aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
202aa1a8ff2SEmmanuel Vadot			status = "disabled";
203aa1a8ff2SEmmanuel Vadot		};
204aa1a8ff2SEmmanuel Vadot
205*01950c46SEmmanuel Vadot		i3c0: i3c@10da0000 {
206aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-i3c-master-1.00a";
207aa1a8ff2SEmmanuel Vadot			reg = <0x10da0000 0x1000>;
208aa1a8ff2SEmmanuel Vadot			#address-cells = <3>;
209aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
210aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
211aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
212aa1a8ff2SEmmanuel Vadot			status = "disabled";
213aa1a8ff2SEmmanuel Vadot		};
214aa1a8ff2SEmmanuel Vadot
215*01950c46SEmmanuel Vadot		i3c1: i3c@10da1000 {
216aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-i3c-master-1.00a";
217aa1a8ff2SEmmanuel Vadot			reg = <0x10da1000 0x1000>;
218aa1a8ff2SEmmanuel Vadot			#address-cells = <3>;
219aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
220aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
221aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
222aa1a8ff2SEmmanuel Vadot			status = "disabled";
223aa1a8ff2SEmmanuel Vadot		};
224aa1a8ff2SEmmanuel Vadot
225aa1a8ff2SEmmanuel Vadot		gpio1: gpio@10c03300 {
226aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-gpio";
227aa1a8ff2SEmmanuel Vadot			reg = <0x10c03300 0x100>;
228aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
229aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
230aa1a8ff2SEmmanuel Vadot			resets = <&rst GPIO1_RESET>;
231aa1a8ff2SEmmanuel Vadot			status = "disabled";
232aa1a8ff2SEmmanuel Vadot
233aa1a8ff2SEmmanuel Vadot			portb: gpio-controller@0 {
234aa1a8ff2SEmmanuel Vadot				compatible = "snps,dw-apb-gpio-port";
235aa1a8ff2SEmmanuel Vadot				reg = <0>;
236aa1a8ff2SEmmanuel Vadot				gpio-controller;
237aa1a8ff2SEmmanuel Vadot				#gpio-cells = <2>;
238aa1a8ff2SEmmanuel Vadot				snps,nr-gpios = <24>;
239aa1a8ff2SEmmanuel Vadot				interrupt-controller;
240aa1a8ff2SEmmanuel Vadot				#interrupt-cells = <2>;
241aa1a8ff2SEmmanuel Vadot				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
242aa1a8ff2SEmmanuel Vadot			};
243aa1a8ff2SEmmanuel Vadot		};
244aa1a8ff2SEmmanuel Vadot
245aa1a8ff2SEmmanuel Vadot		nand: nand-controller@10b80000 {
246aa1a8ff2SEmmanuel Vadot			compatible = "cdns,hp-nfc";
247aa1a8ff2SEmmanuel Vadot			reg = <0x10b80000 0x10000>,
248aa1a8ff2SEmmanuel Vadot					<0x10840000 0x10000>;
249aa1a8ff2SEmmanuel Vadot			reg-names = "reg", "sdma";
250aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
251aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
252aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
253aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_NAND_NF_CLK>;
254aa1a8ff2SEmmanuel Vadot			cdns,board-delay-ps = <4830>;
255aa1a8ff2SEmmanuel Vadot			status = "disabled";
256aa1a8ff2SEmmanuel Vadot		};
257aa1a8ff2SEmmanuel Vadot
258aa1a8ff2SEmmanuel Vadot		ocram: sram@0 {
259aa1a8ff2SEmmanuel Vadot			compatible = "mmio-sram";
260aa1a8ff2SEmmanuel Vadot			reg = <0x00000000 0x80000>;
261aa1a8ff2SEmmanuel Vadot			ranges = <0 0 0x80000>;
262aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
263aa1a8ff2SEmmanuel Vadot			#size-cells = <1>;
264aa1a8ff2SEmmanuel Vadot		};
265aa1a8ff2SEmmanuel Vadot
266aa1a8ff2SEmmanuel Vadot		dmac0: dma-controller@10db0000 {
267aa1a8ff2SEmmanuel Vadot			compatible = "snps,axi-dma-1.01a";
268aa1a8ff2SEmmanuel Vadot			reg = <0x10db0000 0x500>;
269aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>,
270aa1a8ff2SEmmanuel Vadot				 <&clkmgr AGILEX5_L4_MP_CLK>;
271aa1a8ff2SEmmanuel Vadot			clock-names = "core-clk", "cfgr-clk";
272aa1a8ff2SEmmanuel Vadot			interrupt-parent = <&intc>;
273aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
274aa1a8ff2SEmmanuel Vadot			#dma-cells = <1>;
275aa1a8ff2SEmmanuel Vadot			dma-channels = <4>;
276aa1a8ff2SEmmanuel Vadot			snps,dma-masters = <1>;
277aa1a8ff2SEmmanuel Vadot			snps,data-width = <2>;
278aa1a8ff2SEmmanuel Vadot			snps,block-size = <32767 32767 32767 32767>;
279aa1a8ff2SEmmanuel Vadot			snps,priority = <0 1 2 3>;
280aa1a8ff2SEmmanuel Vadot			snps,axi-max-burst-len = <8>;
281aa1a8ff2SEmmanuel Vadot		};
282aa1a8ff2SEmmanuel Vadot
283aa1a8ff2SEmmanuel Vadot		dmac1: dma-controller@10dc0000 {
284aa1a8ff2SEmmanuel Vadot			compatible = "snps,axi-dma-1.01a";
285aa1a8ff2SEmmanuel Vadot			reg = <0x10dc0000 0x500>;
286aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>,
287aa1a8ff2SEmmanuel Vadot				 <&clkmgr AGILEX5_L4_MP_CLK>;
288aa1a8ff2SEmmanuel Vadot			clock-names = "core-clk", "cfgr-clk";
289aa1a8ff2SEmmanuel Vadot			interrupt-parent = <&intc>;
290aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
291aa1a8ff2SEmmanuel Vadot			#dma-cells = <1>;
292aa1a8ff2SEmmanuel Vadot			dma-channels = <4>;
293aa1a8ff2SEmmanuel Vadot			snps,dma-masters = <1>;
294aa1a8ff2SEmmanuel Vadot			snps,data-width = <2>;
295aa1a8ff2SEmmanuel Vadot			snps,block-size = <32767 32767 32767 32767>;
296aa1a8ff2SEmmanuel Vadot			snps,priority = <0 1 2 3>;
297aa1a8ff2SEmmanuel Vadot			snps,axi-max-burst-len = <8>;
298aa1a8ff2SEmmanuel Vadot		};
299aa1a8ff2SEmmanuel Vadot
300aa1a8ff2SEmmanuel Vadot		rst: rstmgr@10d11000 {
301aa1a8ff2SEmmanuel Vadot			compatible = "altr,stratix10-rst-mgr", "altr,rst-mgr";
302aa1a8ff2SEmmanuel Vadot			reg = <0x10d11000 0x1000>;
303aa1a8ff2SEmmanuel Vadot			#reset-cells = <1>;
304aa1a8ff2SEmmanuel Vadot		};
305aa1a8ff2SEmmanuel Vadot
306aa1a8ff2SEmmanuel Vadot		spi0: spi@10da4000 {
307aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-ssi";
308aa1a8ff2SEmmanuel Vadot			reg = <0x10da4000 0x1000>;
309aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
310aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
311aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
312aa1a8ff2SEmmanuel Vadot			resets = <&rst SPIM0_RESET>;
313aa1a8ff2SEmmanuel Vadot			reset-names = "spi";
314aa1a8ff2SEmmanuel Vadot			reg-io-width = <4>;
315aa1a8ff2SEmmanuel Vadot			num-cs = <4>;
316aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>;
317aa1a8ff2SEmmanuel Vadot			dmas = <&dmac0 2>, <&dmac0 3>;
318aa1a8ff2SEmmanuel Vadot			dma-names = "tx", "rx";
319aa1a8ff2SEmmanuel Vadot			status = "disabled";
320aa1a8ff2SEmmanuel Vadot
321aa1a8ff2SEmmanuel Vadot		};
322aa1a8ff2SEmmanuel Vadot
323aa1a8ff2SEmmanuel Vadot		spi1: spi@10da5000 {
324aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-ssi";
325aa1a8ff2SEmmanuel Vadot			reg = <0x10da5000 0x1000>;
326aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
327aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
328aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
329aa1a8ff2SEmmanuel Vadot			resets = <&rst SPIM1_RESET>;
330aa1a8ff2SEmmanuel Vadot			reset-names = "spi";
331aa1a8ff2SEmmanuel Vadot			reg-io-width = <4>;
332aa1a8ff2SEmmanuel Vadot			num-cs = <4>;
333aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>;
334aa1a8ff2SEmmanuel Vadot			status = "disabled";
335aa1a8ff2SEmmanuel Vadot		};
336aa1a8ff2SEmmanuel Vadot
337aa1a8ff2SEmmanuel Vadot		sysmgr: sysmgr@10d12000 {
338aa1a8ff2SEmmanuel Vadot			compatible = "altr,sys-mgr-s10","altr,sys-mgr";
339aa1a8ff2SEmmanuel Vadot			reg = <0x10d12000 0x500>;
340aa1a8ff2SEmmanuel Vadot		};
341aa1a8ff2SEmmanuel Vadot
342aa1a8ff2SEmmanuel Vadot		timer0: timer0@10c03000 {
343aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-timer";
344aa1a8ff2SEmmanuel Vadot			reg = <0x10c03000 0x100>;
345aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
346aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
347aa1a8ff2SEmmanuel Vadot			clock-names = "timer";
348aa1a8ff2SEmmanuel Vadot		};
349aa1a8ff2SEmmanuel Vadot
350aa1a8ff2SEmmanuel Vadot		timer1: timer1@10c03100 {
351aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-timer";
352aa1a8ff2SEmmanuel Vadot			reg = <0x10c03100 0x100>;
353aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
354aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
355aa1a8ff2SEmmanuel Vadot			clock-names = "timer";
356aa1a8ff2SEmmanuel Vadot		};
357aa1a8ff2SEmmanuel Vadot
358aa1a8ff2SEmmanuel Vadot		timer2: timer2@10d00000 {
359aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-timer";
360aa1a8ff2SEmmanuel Vadot			reg = <0x10d00000 0x100>;
361aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
362aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
363aa1a8ff2SEmmanuel Vadot			clock-names = "timer";
364aa1a8ff2SEmmanuel Vadot		};
365aa1a8ff2SEmmanuel Vadot
366aa1a8ff2SEmmanuel Vadot		timer3: timer3@10d00100 {
367aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-timer";
368aa1a8ff2SEmmanuel Vadot			reg = <0x10d00100 0x100>;
369aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
370aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
371aa1a8ff2SEmmanuel Vadot			clock-names = "timer";
372aa1a8ff2SEmmanuel Vadot		};
373aa1a8ff2SEmmanuel Vadot
374aa1a8ff2SEmmanuel Vadot		uart0: serial@10c02000 {
375aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-uart";
376aa1a8ff2SEmmanuel Vadot			reg = <0x10c02000 0x100>;
377aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
378aa1a8ff2SEmmanuel Vadot			reg-shift = <2>;
379aa1a8ff2SEmmanuel Vadot			reg-io-width = <4>;
380aa1a8ff2SEmmanuel Vadot			resets = <&rst UART0_RESET>;
381aa1a8ff2SEmmanuel Vadot			status = "disabled";
382aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
383aa1a8ff2SEmmanuel Vadot		};
384aa1a8ff2SEmmanuel Vadot
385aa1a8ff2SEmmanuel Vadot		uart1: serial@10c02100 {
386aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-apb-uart";
387aa1a8ff2SEmmanuel Vadot			reg = <0x10c02100 0x100>;
388aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
389aa1a8ff2SEmmanuel Vadot			reg-shift = <2>;
390aa1a8ff2SEmmanuel Vadot			reg-io-width = <4>;
391aa1a8ff2SEmmanuel Vadot			resets = <&rst UART1_RESET>;
392aa1a8ff2SEmmanuel Vadot			status = "disabled";
393aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
394aa1a8ff2SEmmanuel Vadot		};
395aa1a8ff2SEmmanuel Vadot
396aa1a8ff2SEmmanuel Vadot		usb0: usb@10b00000 {
397aa1a8ff2SEmmanuel Vadot			compatible = "snps,dwc2";
398aa1a8ff2SEmmanuel Vadot			reg = <0x10b00000 0x40000>;
399aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
400aa1a8ff2SEmmanuel Vadot			phys = <&usbphy0>;
401aa1a8ff2SEmmanuel Vadot			phy-names = "usb2-phy";
402aa1a8ff2SEmmanuel Vadot			resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
403aa1a8ff2SEmmanuel Vadot			reset-names = "dwc2", "dwc2-ecc";
404aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_USB2OTG_HCLK>;
405aa1a8ff2SEmmanuel Vadot			clock-names = "otg";
406aa1a8ff2SEmmanuel Vadot			status = "disabled";
407aa1a8ff2SEmmanuel Vadot		};
408aa1a8ff2SEmmanuel Vadot
409aa1a8ff2SEmmanuel Vadot		watchdog0: watchdog@10d00200 {
410aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-wdt";
411aa1a8ff2SEmmanuel Vadot			reg = <0x10d00200 0x100>;
412aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
413aa1a8ff2SEmmanuel Vadot			resets = <&rst WATCHDOG0_RESET>;
414aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
415aa1a8ff2SEmmanuel Vadot			status = "disabled";
416aa1a8ff2SEmmanuel Vadot		};
417aa1a8ff2SEmmanuel Vadot
418aa1a8ff2SEmmanuel Vadot		watchdog1: watchdog@10d00300 {
419aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-wdt";
420aa1a8ff2SEmmanuel Vadot			reg = <0x10d00300 0x100>;
421aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
422aa1a8ff2SEmmanuel Vadot			resets = <&rst WATCHDOG1_RESET>;
423aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
424aa1a8ff2SEmmanuel Vadot			status = "disabled";
425aa1a8ff2SEmmanuel Vadot		};
426aa1a8ff2SEmmanuel Vadot
427aa1a8ff2SEmmanuel Vadot		watchdog2: watchdog@10d00400 {
428aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-wdt";
429aa1a8ff2SEmmanuel Vadot			reg = <0x10d00400 0x100>;
430aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
431aa1a8ff2SEmmanuel Vadot			resets = <&rst WATCHDOG2_RESET>;
432aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
433aa1a8ff2SEmmanuel Vadot			status = "disabled";
434aa1a8ff2SEmmanuel Vadot		};
435aa1a8ff2SEmmanuel Vadot
436aa1a8ff2SEmmanuel Vadot		watchdog3: watchdog@10d00500 {
437aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-wdt";
438aa1a8ff2SEmmanuel Vadot			reg = <0x10d00500 0x100>;
439aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
440aa1a8ff2SEmmanuel Vadot			resets = <&rst WATCHDOG3_RESET>;
441aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
442aa1a8ff2SEmmanuel Vadot			status = "disabled";
443aa1a8ff2SEmmanuel Vadot		};
444aa1a8ff2SEmmanuel Vadot
445aa1a8ff2SEmmanuel Vadot		watchdog4: watchdog@10d00600 {
446aa1a8ff2SEmmanuel Vadot			compatible = "snps,dw-wdt";
447aa1a8ff2SEmmanuel Vadot			reg = <0x10d00600 0x100>;
448aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
449aa1a8ff2SEmmanuel Vadot			resets = <&rst WATCHDOG4_RESET>;
450aa1a8ff2SEmmanuel Vadot			clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
451aa1a8ff2SEmmanuel Vadot			status = "disabled";
452aa1a8ff2SEmmanuel Vadot		};
453aa1a8ff2SEmmanuel Vadot
454aa1a8ff2SEmmanuel Vadot		qspi: spi@108d2000 {
455aa1a8ff2SEmmanuel Vadot			compatible = "intel,socfpga-qspi", "cdns,qspi-nor";
456aa1a8ff2SEmmanuel Vadot			reg = <0x108d2000 0x100>,
457aa1a8ff2SEmmanuel Vadot			      <0x10900000 0x100000>;
458aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
459aa1a8ff2SEmmanuel Vadot			#size-cells = <0>;
460aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
461aa1a8ff2SEmmanuel Vadot			cdns,fifo-depth = <128>;
462aa1a8ff2SEmmanuel Vadot			cdns,fifo-width = <4>;
463aa1a8ff2SEmmanuel Vadot			cdns,trigger-address = <0x00000000>;
464aa1a8ff2SEmmanuel Vadot			clocks = <&qspi_clk>;
465aa1a8ff2SEmmanuel Vadot			status = "disabled";
466aa1a8ff2SEmmanuel Vadot		};
467aa1a8ff2SEmmanuel Vadot	};
468aa1a8ff2SEmmanuel Vadot};
469