xref: /linux/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi (revision 1ff2d58e60c8093e9be935b1f191341c0cda957a)
1b9c74682SMichal Simek// SPDX-License-Identifier: GPL-2.0+
25d1b79d2SMichal Simek/*
35d1b79d2SMichal Simek * dts file for Xilinx ZynqMP
45d1b79d2SMichal Simek *
5b61c4ff9SMichal Simek * (C) Copyright 2014 - 2021, Xilinx, Inc.
65d1b79d2SMichal Simek *
75d1b79d2SMichal Simek * Michal Simek <michal.simek@xilinx.com>
85d1b79d2SMichal Simek *
95d1b79d2SMichal Simek * This program is free software; you can redistribute it and/or
105d1b79d2SMichal Simek * modify it under the terms of the GNU General Public License as
115d1b79d2SMichal Simek * published by the Free Software Foundation; either version 2 of
125d1b79d2SMichal Simek * the License, or (at your option) any later version.
135d1b79d2SMichal Simek */
145d1b79d2SMichal Simek
15b0f89cf5SMichal Simek#include <dt-bindings/dma/xlnx-zynqmp-dpdma.h>
16959b86aeSRajan Vaja#include <dt-bindings/power/xlnx-zynqmp-power.h>
17b4b6fb8dSLaurent Pinchart#include <dt-bindings/reset/xlnx-zynqmp-resets.h>
18959b86aeSRajan Vaja
195d1b79d2SMichal Simek/ {
205d1b79d2SMichal Simek	compatible = "xlnx,zynqmp";
215d1b79d2SMichal Simek	#address-cells = <2>;
227393fd86SMichal Simek	#size-cells = <2>;
235d1b79d2SMichal Simek
245d1b79d2SMichal Simek	cpus {
255d1b79d2SMichal Simek		#address-cells = <1>;
265d1b79d2SMichal Simek		#size-cells = <0>;
275d1b79d2SMichal Simek
28400e188fSMichal Simek		cpu0: cpu@0 {
2931af04cdSRob Herring			compatible = "arm,cortex-a53";
305d1b79d2SMichal Simek			device_type = "cpu";
315d1b79d2SMichal Simek			enable-method = "psci";
32e31b7bb8SShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
335d1b79d2SMichal Simek			reg = <0x0>;
341e4e25c8SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
355d1b79d2SMichal Simek		};
365d1b79d2SMichal Simek
37400e188fSMichal Simek		cpu1: cpu@1 {
3831af04cdSRob Herring			compatible = "arm,cortex-a53";
395d1b79d2SMichal Simek			device_type = "cpu";
405d1b79d2SMichal Simek			enable-method = "psci";
415d1b79d2SMichal Simek			reg = <0x1>;
42e31b7bb8SShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
431e4e25c8SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
445d1b79d2SMichal Simek		};
455d1b79d2SMichal Simek
46400e188fSMichal Simek		cpu2: cpu@2 {
4731af04cdSRob Herring			compatible = "arm,cortex-a53";
485d1b79d2SMichal Simek			device_type = "cpu";
495d1b79d2SMichal Simek			enable-method = "psci";
505d1b79d2SMichal Simek			reg = <0x2>;
51e31b7bb8SShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
521e4e25c8SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
535d1b79d2SMichal Simek		};
545d1b79d2SMichal Simek
55400e188fSMichal Simek		cpu3: cpu@3 {
5631af04cdSRob Herring			compatible = "arm,cortex-a53";
575d1b79d2SMichal Simek			device_type = "cpu";
585d1b79d2SMichal Simek			enable-method = "psci";
595d1b79d2SMichal Simek			reg = <0x3>;
60e31b7bb8SShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
611e4e25c8SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
621e4e25c8SStefan Krsmanovic		};
631e4e25c8SStefan Krsmanovic
641e4e25c8SStefan Krsmanovic		idle-states {
65e9880240SAmit Kucheria			entry-method = "psci";
661e4e25c8SStefan Krsmanovic
671e4e25c8SStefan Krsmanovic			CPU_SLEEP_0: cpu-sleep-0 {
681e4e25c8SStefan Krsmanovic				compatible = "arm,idle-state";
691e4e25c8SStefan Krsmanovic				arm,psci-suspend-param = <0x40000000>;
701e4e25c8SStefan Krsmanovic				local-timer-stop;
711e4e25c8SStefan Krsmanovic				entry-latency-us = <300>;
721e4e25c8SStefan Krsmanovic				exit-latency-us = <600>;
731e4e25c8SStefan Krsmanovic				min-residency-us = <10000>;
741e4e25c8SStefan Krsmanovic			};
755d1b79d2SMichal Simek		};
765d1b79d2SMichal Simek	};
775d1b79d2SMichal Simek
78d1d4445aSMichal Simek	cpu_opp_table: cpu-opp-table {
79e31b7bb8SShubhrajyoti Datta		compatible = "operating-points-v2";
80e31b7bb8SShubhrajyoti Datta		opp-shared;
81e31b7bb8SShubhrajyoti Datta		opp00 {
82e31b7bb8SShubhrajyoti Datta			opp-hz = /bits/ 64 <1199999988>;
83e31b7bb8SShubhrajyoti Datta			opp-microvolt = <1000000>;
84e31b7bb8SShubhrajyoti Datta			clock-latency-ns = <500000>;
85e31b7bb8SShubhrajyoti Datta		};
86e31b7bb8SShubhrajyoti Datta		opp01 {
87e31b7bb8SShubhrajyoti Datta			opp-hz = /bits/ 64 <599999994>;
88e31b7bb8SShubhrajyoti Datta			opp-microvolt = <1000000>;
89e31b7bb8SShubhrajyoti Datta			clock-latency-ns = <500000>;
90e31b7bb8SShubhrajyoti Datta		};
91e31b7bb8SShubhrajyoti Datta		opp02 {
92e31b7bb8SShubhrajyoti Datta			opp-hz = /bits/ 64 <399999996>;
93e31b7bb8SShubhrajyoti Datta			opp-microvolt = <1000000>;
94e31b7bb8SShubhrajyoti Datta			clock-latency-ns = <500000>;
95e31b7bb8SShubhrajyoti Datta		};
96e31b7bb8SShubhrajyoti Datta		opp03 {
97e31b7bb8SShubhrajyoti Datta			opp-hz = /bits/ 64 <299999997>;
98e31b7bb8SShubhrajyoti Datta			opp-microvolt = <1000000>;
99e31b7bb8SShubhrajyoti Datta			clock-latency-ns = <500000>;
100e31b7bb8SShubhrajyoti Datta		};
101e31b7bb8SShubhrajyoti Datta	};
102e31b7bb8SShubhrajyoti Datta
103002002c0SMichal Simek	zynqmp_ipi: zynqmp_ipi {
1049854bc7dSMichal Simek		compatible = "xlnx,zynqmp-ipi-mailbox";
1059854bc7dSMichal Simek		interrupt-parent = <&gic>;
1069854bc7dSMichal Simek		interrupts = <0 35 4>;
1079854bc7dSMichal Simek		xlnx,ipi-id = <0>;
1089854bc7dSMichal Simek		#address-cells = <2>;
1099854bc7dSMichal Simek		#size-cells = <2>;
1109854bc7dSMichal Simek		ranges;
1119854bc7dSMichal Simek
1129854bc7dSMichal Simek		ipi_mailbox_pmu1: mailbox@ff990400 {
1139854bc7dSMichal Simek			reg = <0x0 0xff9905c0 0x0 0x20>,
1149854bc7dSMichal Simek			      <0x0 0xff9905e0 0x0 0x20>,
1159854bc7dSMichal Simek			      <0x0 0xff990e80 0x0 0x20>,
1169854bc7dSMichal Simek			      <0x0 0xff990ea0 0x0 0x20>;
1179854bc7dSMichal Simek			reg-names = "local_request_region",
1189854bc7dSMichal Simek				    "local_response_region",
1199854bc7dSMichal Simek				    "remote_request_region",
1209854bc7dSMichal Simek				    "remote_response_region";
1219854bc7dSMichal Simek			#mbox-cells = <1>;
1229854bc7dSMichal Simek			xlnx,ipi-id = <4>;
1239854bc7dSMichal Simek		};
1249854bc7dSMichal Simek	};
1259854bc7dSMichal Simek
12617e76f95SMichal Simek	dcc: dcc {
12717e76f95SMichal Simek		compatible = "arm,dcc";
12817e76f95SMichal Simek		status = "disabled";
12917e76f95SMichal Simek	};
13017e76f95SMichal Simek
1315d1b79d2SMichal Simek	pmu {
1325d1b79d2SMichal Simek		compatible = "arm,armv8-pmuv3";
133886e7dddSMichal Simek		interrupt-parent = <&gic>;
1345d1b79d2SMichal Simek		interrupts = <0 143 4>,
1355d1b79d2SMichal Simek			     <0 144 4>,
1365d1b79d2SMichal Simek			     <0 145 4>,
1375d1b79d2SMichal Simek			     <0 146 4>;
1385d1b79d2SMichal Simek	};
1395d1b79d2SMichal Simek
1405d1b79d2SMichal Simek	psci {
1415d1b79d2SMichal Simek		compatible = "arm,psci-0.2";
1425d1b79d2SMichal Simek		method = "smc";
1435d1b79d2SMichal Simek	};
1445d1b79d2SMichal Simek
145ef0d933eSRajan Vaja	firmware {
146ef0d933eSRajan Vaja		zynqmp_firmware: zynqmp-firmware {
147ef0d933eSRajan Vaja			compatible = "xlnx,zynqmp-firmware";
148959b86aeSRajan Vaja			#power-domain-cells = <1>;
149ef0d933eSRajan Vaja			method = "smc";
1509c363392SNava kishore Manne
151959b86aeSRajan Vaja			zynqmp_power: zynqmp-power {
152959b86aeSRajan Vaja				compatible = "xlnx,zynqmp-power";
153959b86aeSRajan Vaja				interrupt-parent = <&gic>;
154959b86aeSRajan Vaja				interrupts = <0 35 4>;
1559854bc7dSMichal Simek				mboxes = <&ipi_mailbox_pmu1 0>, <&ipi_mailbox_pmu1 1>;
1569854bc7dSMichal Simek				mbox-names = "tx", "rx";
157959b86aeSRajan Vaja			};
158959b86aeSRajan Vaja
159b7178639SNava kishore Manne			nvmem_firmware {
160b7178639SNava kishore Manne				compatible = "xlnx,zynqmp-nvmem-fw";
161b7178639SNava kishore Manne				#address-cells = <1>;
162b7178639SNava kishore Manne				#size-cells = <1>;
163b7178639SNava kishore Manne
164b7178639SNava kishore Manne				soc_revision: soc_revision@0 {
165b7178639SNava kishore Manne					reg = <0x0 0x4>;
166b7178639SNava kishore Manne				};
167b7178639SNava kishore Manne			};
168b7178639SNava kishore Manne
1699c363392SNava kishore Manne			zynqmp_pcap: pcap {
1709c363392SNava kishore Manne				compatible = "xlnx,zynqmp-pcap-fpga";
1719c363392SNava kishore Manne			};
17288affa2fSKalyani Akula
17388affa2fSKalyani Akula			xlnx_aes: zynqmp-aes {
17488affa2fSKalyani Akula				compatible = "xlnx,zynqmp-aes";
17588affa2fSKalyani Akula			};
17642cb66dcSMichal Simek
17742cb66dcSMichal Simek			zynqmp_reset: reset-controller {
17842cb66dcSMichal Simek				compatible = "xlnx,zynqmp-reset";
17942cb66dcSMichal Simek				#reset-cells = <1>;
18042cb66dcSMichal Simek			};
181c821045fSMichal Simek
182c821045fSMichal Simek			pinctrl0: pinctrl {
183c821045fSMichal Simek				compatible = "xlnx,zynqmp-pinctrl";
184c821045fSMichal Simek				status = "disabled";
185c821045fSMichal Simek			};
186ef0d933eSRajan Vaja		};
187ef0d933eSRajan Vaja	};
188ef0d933eSRajan Vaja
1895d1b79d2SMichal Simek	timer {
1905d1b79d2SMichal Simek		compatible = "arm,armv8-timer";
1915d1b79d2SMichal Simek		interrupt-parent = <&gic>;
192f2a89d3bSMarc Zyngier		interrupts = <1 13 0xf08>,
193f2a89d3bSMarc Zyngier			     <1 14 0xf08>,
194f2a89d3bSMarc Zyngier			     <1 11 0xf08>,
195f2a89d3bSMarc Zyngier			     <1 10 0xf08>;
1965d1b79d2SMichal Simek	};
1975d1b79d2SMichal Simek
198c40d1cceSNava kishore Manne	fpga_full: fpga-full {
199c40d1cceSNava kishore Manne		compatible = "fpga-region";
200c40d1cceSNava kishore Manne		fpga-mgr = <&zynqmp_pcap>;
201c40d1cceSNava kishore Manne		#address-cells = <2>;
202c40d1cceSNava kishore Manne		#size-cells = <2>;
203c40d1cceSNava kishore Manne		ranges;
204c40d1cceSNava kishore Manne	};
205c40d1cceSNava kishore Manne
206dfff9066SMichal Simek	amba: axi {
2075d1b79d2SMichal Simek		compatible = "simple-bus";
2085d1b79d2SMichal Simek		#address-cells = <2>;
2097393fd86SMichal Simek		#size-cells = <2>;
2105d1b79d2SMichal Simek		ranges;
2115d1b79d2SMichal Simek
2123a8691f5SMichal Simek		can0: can@ff060000 {
2133a8691f5SMichal Simek			compatible = "xlnx,zynq-can-1.0";
2143a8691f5SMichal Simek			status = "disabled";
2153a8691f5SMichal Simek			clock-names = "can_clk", "pclk";
2167393fd86SMichal Simek			reg = <0x0 0xff060000 0x0 0x1000>;
2173a8691f5SMichal Simek			interrupts = <0 23 4>;
2183a8691f5SMichal Simek			interrupt-parent = <&gic>;
2193a8691f5SMichal Simek			tx-fifo-depth = <0x40>;
2203a8691f5SMichal Simek			rx-fifo-depth = <0x40>;
221959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_CAN_0>;
2223a8691f5SMichal Simek		};
2233a8691f5SMichal Simek
2243a8691f5SMichal Simek		can1: can@ff070000 {
2253a8691f5SMichal Simek			compatible = "xlnx,zynq-can-1.0";
2263a8691f5SMichal Simek			status = "disabled";
2273a8691f5SMichal Simek			clock-names = "can_clk", "pclk";
2287393fd86SMichal Simek			reg = <0x0 0xff070000 0x0 0x1000>;
2293a8691f5SMichal Simek			interrupts = <0 24 4>;
2303a8691f5SMichal Simek			interrupt-parent = <&gic>;
2313a8691f5SMichal Simek			tx-fifo-depth = <0x40>;
2323a8691f5SMichal Simek			rx-fifo-depth = <0x40>;
233959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_CAN_1>;
2343a8691f5SMichal Simek		};
2353a8691f5SMichal Simek
2368c50b1e4SMichal Simek		cci: cci@fd6e0000 {
2378c50b1e4SMichal Simek			compatible = "arm,cci-400";
2384234645dSMichal Simek			status = "disabled";
2398c50b1e4SMichal Simek			reg = <0x0 0xfd6e0000 0x0 0x9000>;
2408c50b1e4SMichal Simek			ranges = <0x0 0x0 0xfd6e0000 0x10000>;
2418c50b1e4SMichal Simek			#address-cells = <1>;
2428c50b1e4SMichal Simek			#size-cells = <1>;
2438c50b1e4SMichal Simek
2448c50b1e4SMichal Simek			pmu@9000 {
2458c50b1e4SMichal Simek				compatible = "arm,cci-400-pmu,r1";
2468c50b1e4SMichal Simek				reg = <0x9000 0x5000>;
2478c50b1e4SMichal Simek				interrupt-parent = <&gic>;
2488c50b1e4SMichal Simek				interrupts = <0 123 4>,
2498c50b1e4SMichal Simek					     <0 123 4>,
2508c50b1e4SMichal Simek					     <0 123 4>,
2518c50b1e4SMichal Simek					     <0 123 4>,
2528c50b1e4SMichal Simek					     <0 123 4>;
2538c50b1e4SMichal Simek			};
2548c50b1e4SMichal Simek		};
2558c50b1e4SMichal Simek
256932bd0d8SMichal Simek		/* GDMA */
257932bd0d8SMichal Simek		fpd_dma_chan1: dma@fd500000 {
258932bd0d8SMichal Simek			status = "disabled";
259932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
260932bd0d8SMichal Simek			reg = <0x0 0xfd500000 0x0 0x1000>;
261932bd0d8SMichal Simek			interrupt-parent = <&gic>;
262932bd0d8SMichal Simek			interrupts = <0 124 4>;
263932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
264*1ff2d58eSMichael Tretter			#dma-cells = <1>;
265932bd0d8SMichal Simek			xlnx,bus-width = <128>;
2668ac47837SMichal Simek			iommus = <&smmu 0x14e8>;
267959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
268932bd0d8SMichal Simek		};
269932bd0d8SMichal Simek
270932bd0d8SMichal Simek		fpd_dma_chan2: dma@fd510000 {
271932bd0d8SMichal Simek			status = "disabled";
272932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
273932bd0d8SMichal Simek			reg = <0x0 0xfd510000 0x0 0x1000>;
274932bd0d8SMichal Simek			interrupt-parent = <&gic>;
275932bd0d8SMichal Simek			interrupts = <0 125 4>;
276932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
277*1ff2d58eSMichael Tretter			#dma-cells = <1>;
278932bd0d8SMichal Simek			xlnx,bus-width = <128>;
2798ac47837SMichal Simek			iommus = <&smmu 0x14e9>;
280959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
281932bd0d8SMichal Simek		};
282932bd0d8SMichal Simek
283932bd0d8SMichal Simek		fpd_dma_chan3: dma@fd520000 {
284932bd0d8SMichal Simek			status = "disabled";
285932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
286932bd0d8SMichal Simek			reg = <0x0 0xfd520000 0x0 0x1000>;
287932bd0d8SMichal Simek			interrupt-parent = <&gic>;
288932bd0d8SMichal Simek			interrupts = <0 126 4>;
289932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
290*1ff2d58eSMichael Tretter			#dma-cells = <1>;
291932bd0d8SMichal Simek			xlnx,bus-width = <128>;
2928ac47837SMichal Simek			iommus = <&smmu 0x14ea>;
293959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
294932bd0d8SMichal Simek		};
295932bd0d8SMichal Simek
296932bd0d8SMichal Simek		fpd_dma_chan4: dma@fd530000 {
297932bd0d8SMichal Simek			status = "disabled";
298932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
299932bd0d8SMichal Simek			reg = <0x0 0xfd530000 0x0 0x1000>;
300932bd0d8SMichal Simek			interrupt-parent = <&gic>;
301932bd0d8SMichal Simek			interrupts = <0 127 4>;
302932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
303*1ff2d58eSMichael Tretter			#dma-cells = <1>;
304932bd0d8SMichal Simek			xlnx,bus-width = <128>;
3058ac47837SMichal Simek			iommus = <&smmu 0x14eb>;
306959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
307932bd0d8SMichal Simek		};
308932bd0d8SMichal Simek
309932bd0d8SMichal Simek		fpd_dma_chan5: dma@fd540000 {
310932bd0d8SMichal Simek			status = "disabled";
311932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
312932bd0d8SMichal Simek			reg = <0x0 0xfd540000 0x0 0x1000>;
313932bd0d8SMichal Simek			interrupt-parent = <&gic>;
314932bd0d8SMichal Simek			interrupts = <0 128 4>;
315932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
316*1ff2d58eSMichael Tretter			#dma-cells = <1>;
317932bd0d8SMichal Simek			xlnx,bus-width = <128>;
3188ac47837SMichal Simek			iommus = <&smmu 0x14ec>;
319959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
320932bd0d8SMichal Simek		};
321932bd0d8SMichal Simek
322932bd0d8SMichal Simek		fpd_dma_chan6: dma@fd550000 {
323932bd0d8SMichal Simek			status = "disabled";
324932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
325932bd0d8SMichal Simek			reg = <0x0 0xfd550000 0x0 0x1000>;
326932bd0d8SMichal Simek			interrupt-parent = <&gic>;
327932bd0d8SMichal Simek			interrupts = <0 129 4>;
328932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
329*1ff2d58eSMichael Tretter			#dma-cells = <1>;
330932bd0d8SMichal Simek			xlnx,bus-width = <128>;
3318ac47837SMichal Simek			iommus = <&smmu 0x14ed>;
332959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
333932bd0d8SMichal Simek		};
334932bd0d8SMichal Simek
335932bd0d8SMichal Simek		fpd_dma_chan7: dma@fd560000 {
336932bd0d8SMichal Simek			status = "disabled";
337932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
338932bd0d8SMichal Simek			reg = <0x0 0xfd560000 0x0 0x1000>;
339932bd0d8SMichal Simek			interrupt-parent = <&gic>;
340932bd0d8SMichal Simek			interrupts = <0 130 4>;
341932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
342*1ff2d58eSMichael Tretter			#dma-cells = <1>;
343932bd0d8SMichal Simek			xlnx,bus-width = <128>;
3448ac47837SMichal Simek			iommus = <&smmu 0x14ee>;
345959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
346932bd0d8SMichal Simek		};
347932bd0d8SMichal Simek
348932bd0d8SMichal Simek		fpd_dma_chan8: dma@fd570000 {
349932bd0d8SMichal Simek			status = "disabled";
350932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
351932bd0d8SMichal Simek			reg = <0x0 0xfd570000 0x0 0x1000>;
352932bd0d8SMichal Simek			interrupt-parent = <&gic>;
353932bd0d8SMichal Simek			interrupts = <0 131 4>;
354932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
355*1ff2d58eSMichael Tretter			#dma-cells = <1>;
356932bd0d8SMichal Simek			xlnx,bus-width = <128>;
3578ac47837SMichal Simek			iommus = <&smmu 0x14ef>;
358959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GDMA>;
359932bd0d8SMichal Simek		};
360932bd0d8SMichal Simek
36174790cf9SMichal Simek		gic: interrupt-controller@f9010000 {
36274790cf9SMichal Simek			compatible = "arm,gic-400";
363c6badbd2SMichal Simek			#address-cells = <0>;
36474790cf9SMichal Simek			#interrupt-cells = <3>;
36574790cf9SMichal Simek			reg = <0x0 0xf9010000 0x0 0x10000>,
36674790cf9SMichal Simek			      <0x0 0xf9020000 0x0 0x20000>,
36774790cf9SMichal Simek			      <0x0 0xf9040000 0x0 0x20000>,
36874790cf9SMichal Simek			      <0x0 0xf9060000 0x0 0x20000>;
36974790cf9SMichal Simek			interrupt-controller;
37074790cf9SMichal Simek			interrupt-parent = <&gic>;
37174790cf9SMichal Simek			interrupts = <1 9 0xf04>;
37274790cf9SMichal Simek		};
37374790cf9SMichal Simek
374932bd0d8SMichal Simek		/* LPDDMA default allows only secured access. inorder to enable
375932bd0d8SMichal Simek		 * These dma channels, Users should ensure that these dma
376932bd0d8SMichal Simek		 * Channels are allowed for non secure access.
377932bd0d8SMichal Simek		 */
378932bd0d8SMichal Simek		lpd_dma_chan1: dma@ffa80000 {
379932bd0d8SMichal Simek			status = "disabled";
380932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
381932bd0d8SMichal Simek			reg = <0x0 0xffa80000 0x0 0x1000>;
382932bd0d8SMichal Simek			interrupt-parent = <&gic>;
383932bd0d8SMichal Simek			interrupts = <0 77 4>;
384932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
385*1ff2d58eSMichael Tretter			#dma-cells = <1>;
386932bd0d8SMichal Simek			xlnx,bus-width = <64>;
3878ac47837SMichal Simek			iommus = <&smmu 0x868>;
388959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
389932bd0d8SMichal Simek		};
390932bd0d8SMichal Simek
391932bd0d8SMichal Simek		lpd_dma_chan2: dma@ffa90000 {
392932bd0d8SMichal Simek			status = "disabled";
393932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
394932bd0d8SMichal Simek			reg = <0x0 0xffa90000 0x0 0x1000>;
395932bd0d8SMichal Simek			interrupt-parent = <&gic>;
396932bd0d8SMichal Simek			interrupts = <0 78 4>;
397932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
398*1ff2d58eSMichael Tretter			#dma-cells = <1>;
399932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4008ac47837SMichal Simek			iommus = <&smmu 0x869>;
401959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
402932bd0d8SMichal Simek		};
403932bd0d8SMichal Simek
404932bd0d8SMichal Simek		lpd_dma_chan3: dma@ffaa0000 {
405932bd0d8SMichal Simek			status = "disabled";
406932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
407932bd0d8SMichal Simek			reg = <0x0 0xffaa0000 0x0 0x1000>;
408932bd0d8SMichal Simek			interrupt-parent = <&gic>;
409932bd0d8SMichal Simek			interrupts = <0 79 4>;
410932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
411*1ff2d58eSMichael Tretter			#dma-cells = <1>;
412932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4138ac47837SMichal Simek			iommus = <&smmu 0x86a>;
414959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
415932bd0d8SMichal Simek		};
416932bd0d8SMichal Simek
417932bd0d8SMichal Simek		lpd_dma_chan4: dma@ffab0000 {
418932bd0d8SMichal Simek			status = "disabled";
419932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
420932bd0d8SMichal Simek			reg = <0x0 0xffab0000 0x0 0x1000>;
421932bd0d8SMichal Simek			interrupt-parent = <&gic>;
422932bd0d8SMichal Simek			interrupts = <0 80 4>;
423932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
424*1ff2d58eSMichael Tretter			#dma-cells = <1>;
425932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4268ac47837SMichal Simek			iommus = <&smmu 0x86b>;
427959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
428932bd0d8SMichal Simek		};
429932bd0d8SMichal Simek
430932bd0d8SMichal Simek		lpd_dma_chan5: dma@ffac0000 {
431932bd0d8SMichal Simek			status = "disabled";
432932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
433932bd0d8SMichal Simek			reg = <0x0 0xffac0000 0x0 0x1000>;
434932bd0d8SMichal Simek			interrupt-parent = <&gic>;
435932bd0d8SMichal Simek			interrupts = <0 81 4>;
436932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
437*1ff2d58eSMichael Tretter			#dma-cells = <1>;
438932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4398ac47837SMichal Simek			iommus = <&smmu 0x86c>;
440959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
441932bd0d8SMichal Simek		};
442932bd0d8SMichal Simek
443932bd0d8SMichal Simek		lpd_dma_chan6: dma@ffad0000 {
444932bd0d8SMichal Simek			status = "disabled";
445932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
446932bd0d8SMichal Simek			reg = <0x0 0xffad0000 0x0 0x1000>;
447932bd0d8SMichal Simek			interrupt-parent = <&gic>;
448932bd0d8SMichal Simek			interrupts = <0 82 4>;
449932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
450*1ff2d58eSMichael Tretter			#dma-cells = <1>;
451932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4528ac47837SMichal Simek			iommus = <&smmu 0x86d>;
453959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
454932bd0d8SMichal Simek		};
455932bd0d8SMichal Simek
456932bd0d8SMichal Simek		lpd_dma_chan7: dma@ffae0000 {
457932bd0d8SMichal Simek			status = "disabled";
458932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
459932bd0d8SMichal Simek			reg = <0x0 0xffae0000 0x0 0x1000>;
460932bd0d8SMichal Simek			interrupt-parent = <&gic>;
461932bd0d8SMichal Simek			interrupts = <0 83 4>;
462932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
463*1ff2d58eSMichael Tretter			#dma-cells = <1>;
464932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4658ac47837SMichal Simek			iommus = <&smmu 0x86e>;
466959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
467932bd0d8SMichal Simek		};
468932bd0d8SMichal Simek
469932bd0d8SMichal Simek		lpd_dma_chan8: dma@ffaf0000 {
470932bd0d8SMichal Simek			status = "disabled";
471932bd0d8SMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
472932bd0d8SMichal Simek			reg = <0x0 0xffaf0000 0x0 0x1000>;
473932bd0d8SMichal Simek			interrupt-parent = <&gic>;
474932bd0d8SMichal Simek			interrupts = <0 84 4>;
475932bd0d8SMichal Simek			clock-names = "clk_main", "clk_apb";
476*1ff2d58eSMichael Tretter			#dma-cells = <1>;
477932bd0d8SMichal Simek			xlnx,bus-width = <64>;
4788ac47837SMichal Simek			iommus = <&smmu 0x86f>;
479959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ADMA>;
480932bd0d8SMichal Simek		};
481932bd0d8SMichal Simek
482e7abd894SManish Narani		mc: memory-controller@fd070000 {
483e7abd894SManish Narani			compatible = "xlnx,zynqmp-ddrc-2.40a";
484e7abd894SManish Narani			reg = <0x0 0xfd070000 0x0 0x30000>;
485e7abd894SManish Narani			interrupt-parent = <&gic>;
486e7abd894SManish Narani			interrupts = <0 112 4>;
487e7abd894SManish Narani		};
488e7abd894SManish Narani
48941b452a5SMichal Simek		nand0: nand-controller@ff100000 {
49041b452a5SMichal Simek			compatible = "xlnx,zynqmp-nand-controller", "arasan,nfc-v3p10";
49141b452a5SMichal Simek			status = "disabled";
49241b452a5SMichal Simek			reg = <0x0 0xff100000 0x0 0x1000>;
49341b452a5SMichal Simek			clock-names = "controller", "bus";
49441b452a5SMichal Simek			interrupt-parent = <&gic>;
49541b452a5SMichal Simek			interrupts = <0 14 4>;
49641b452a5SMichal Simek			#address-cells = <1>;
49741b452a5SMichal Simek			#size-cells = <0>;
4988ac47837SMichal Simek			iommus = <&smmu 0x872>;
49941b452a5SMichal Simek			power-domains = <&zynqmp_firmware PD_NAND>;
50041b452a5SMichal Simek		};
50141b452a5SMichal Simek
5025d1b79d2SMichal Simek		gem0: ethernet@ff0b0000 {
50333af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5045d1b79d2SMichal Simek			status = "disabled";
5055d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5065d1b79d2SMichal Simek			interrupts = <0 57 4>, <0 57 4>;
5077393fd86SMichal Simek			reg = <0x0 0xff0b0000 0x0 0x1000>;
5085d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5095d1b79d2SMichal Simek			#address-cells = <1>;
5105d1b79d2SMichal Simek			#size-cells = <0>;
5118ac47837SMichal Simek			iommus = <&smmu 0x874>;
512959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_0>;
5135d1b79d2SMichal Simek		};
5145d1b79d2SMichal Simek
5155d1b79d2SMichal Simek		gem1: ethernet@ff0c0000 {
51633af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5175d1b79d2SMichal Simek			status = "disabled";
5185d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5195d1b79d2SMichal Simek			interrupts = <0 59 4>, <0 59 4>;
5207393fd86SMichal Simek			reg = <0x0 0xff0c0000 0x0 0x1000>;
5215d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5225d1b79d2SMichal Simek			#address-cells = <1>;
5235d1b79d2SMichal Simek			#size-cells = <0>;
5248ac47837SMichal Simek			iommus = <&smmu 0x875>;
525959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_1>;
5265d1b79d2SMichal Simek		};
5275d1b79d2SMichal Simek
5285d1b79d2SMichal Simek		gem2: ethernet@ff0d0000 {
52933af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5305d1b79d2SMichal Simek			status = "disabled";
5315d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5325d1b79d2SMichal Simek			interrupts = <0 61 4>, <0 61 4>;
5337393fd86SMichal Simek			reg = <0x0 0xff0d0000 0x0 0x1000>;
5345d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5355d1b79d2SMichal Simek			#address-cells = <1>;
5365d1b79d2SMichal Simek			#size-cells = <0>;
5378ac47837SMichal Simek			iommus = <&smmu 0x876>;
538959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_2>;
5395d1b79d2SMichal Simek		};
5405d1b79d2SMichal Simek
5415d1b79d2SMichal Simek		gem3: ethernet@ff0e0000 {
54233af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5435d1b79d2SMichal Simek			status = "disabled";
5445d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5455d1b79d2SMichal Simek			interrupts = <0 63 4>, <0 63 4>;
5467393fd86SMichal Simek			reg = <0x0 0xff0e0000 0x0 0x1000>;
5475d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5485d1b79d2SMichal Simek			#address-cells = <1>;
5495d1b79d2SMichal Simek			#size-cells = <0>;
5508ac47837SMichal Simek			iommus = <&smmu 0x877>;
551959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_3>;
5525d1b79d2SMichal Simek		};
5535d1b79d2SMichal Simek
55472e5df43SMichal Simek		gpio: gpio@ff0a0000 {
55572e5df43SMichal Simek			compatible = "xlnx,zynqmp-gpio-1.0";
55672e5df43SMichal Simek			status = "disabled";
557c6badbd2SMichal Simek			#address-cells = <0>;
55872e5df43SMichal Simek			#gpio-cells = <0x2>;
5594556b160SMichal Simek			gpio-controller;
56072e5df43SMichal Simek			interrupt-parent = <&gic>;
56172e5df43SMichal Simek			interrupts = <0 16 4>;
56272e5df43SMichal Simek			interrupt-controller;
56372e5df43SMichal Simek			#interrupt-cells = <2>;
5647393fd86SMichal Simek			reg = <0x0 0xff0a0000 0x0 0x1000>;
565959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GPIO>;
56672e5df43SMichal Simek		};
56772e5df43SMichal Simek
5685d1b79d2SMichal Simek		i2c0: i2c@ff020000 {
56935292518SMichal Simek			compatible = "cdns,i2c-r1p14";
5705d1b79d2SMichal Simek			status = "disabled";
5715d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5725d1b79d2SMichal Simek			interrupts = <0 17 4>;
5737393fd86SMichal Simek			reg = <0x0 0xff020000 0x0 0x1000>;
5745d1b79d2SMichal Simek			#address-cells = <1>;
5755d1b79d2SMichal Simek			#size-cells = <0>;
576959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_I2C_0>;
5775d1b79d2SMichal Simek		};
5785d1b79d2SMichal Simek
5795d1b79d2SMichal Simek		i2c1: i2c@ff030000 {
58035292518SMichal Simek			compatible = "cdns,i2c-r1p14";
5815d1b79d2SMichal Simek			status = "disabled";
5825d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5835d1b79d2SMichal Simek			interrupts = <0 18 4>;
5847393fd86SMichal Simek			reg = <0x0 0xff030000 0x0 0x1000>;
5855d1b79d2SMichal Simek			#address-cells = <1>;
5865d1b79d2SMichal Simek			#size-cells = <0>;
587959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_I2C_1>;
5885d1b79d2SMichal Simek		};
5895d1b79d2SMichal Simek
59078b83b8cSMichal Simek		pcie: pcie@fd0e0000 {
59178b83b8cSMichal Simek			compatible = "xlnx,nwl-pcie-2.11";
59278b83b8cSMichal Simek			status = "disabled";
59378b83b8cSMichal Simek			#address-cells = <3>;
59478b83b8cSMichal Simek			#size-cells = <2>;
59578b83b8cSMichal Simek			#interrupt-cells = <1>;
59678b83b8cSMichal Simek			msi-controller;
59778b83b8cSMichal Simek			device_type = "pci";
59878b83b8cSMichal Simek			interrupt-parent = <&gic>;
59978b83b8cSMichal Simek			interrupts = <0 118 4>,
60078b83b8cSMichal Simek				     <0 117 4>,
60178b83b8cSMichal Simek				     <0 116 4>,
60278b83b8cSMichal Simek				     <0 115 4>,	/* MSI_1 [63...32] */
60378b83b8cSMichal Simek				     <0 114 4>;	/* MSI_0 [31...0] */
60478b83b8cSMichal Simek			interrupt-names = "misc", "dummy", "intx",
60578b83b8cSMichal Simek					  "msi1", "msi0";
60678b83b8cSMichal Simek			msi-parent = <&pcie>;
60778b83b8cSMichal Simek			reg = <0x0 0xfd0e0000 0x0 0x1000>,
60878b83b8cSMichal Simek			      <0x0 0xfd480000 0x0 0x1000>,
60978b83b8cSMichal Simek			      <0x80 0x00000000 0x0 0x1000000>;
61078b83b8cSMichal Simek			reg-names = "breg", "pcireg", "cfg";
61148ab2996SMichal Simek			ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000>,/* non-prefetchable memory */
61248ab2996SMichal Simek				 <0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
613d15c56caSRob Herring			bus-range = <0x00 0xff>;
61478b83b8cSMichal Simek			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
61578b83b8cSMichal Simek			interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
61678b83b8cSMichal Simek					<0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
61778b83b8cSMichal Simek					<0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
61878b83b8cSMichal Simek					<0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
619d58f9227SStefano Stabellini			iommus = <&smmu 0x4d0>;
620959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_PCIE>;
62178b83b8cSMichal Simek			pcie_intc: legacy-interrupt-controller {
62278b83b8cSMichal Simek				interrupt-controller;
62378b83b8cSMichal Simek				#address-cells = <0>;
62478b83b8cSMichal Simek				#interrupt-cells = <1>;
62578b83b8cSMichal Simek			};
62678b83b8cSMichal Simek		};
62778b83b8cSMichal Simek
628cbf8bed0SMichal Simek		qspi: spi@ff0f0000 {
629cbf8bed0SMichal Simek			compatible = "xlnx,zynqmp-qspi-1.0";
630cbf8bed0SMichal Simek			status = "disabled";
631cbf8bed0SMichal Simek			clock-names = "ref_clk", "pclk";
632cbf8bed0SMichal Simek			interrupts = <0 15 4>;
633cbf8bed0SMichal Simek			interrupt-parent = <&gic>;
634cbf8bed0SMichal Simek			num-cs = <1>;
635cbf8bed0SMichal Simek			reg = <0x0 0xff0f0000 0x0 0x1000>,
636cbf8bed0SMichal Simek			      <0x0 0xc0000000 0x0 0x8000000>;
637cbf8bed0SMichal Simek			#address-cells = <1>;
638cbf8bed0SMichal Simek			#size-cells = <0>;
6398ac47837SMichal Simek			iommus = <&smmu 0x873>;
640cbf8bed0SMichal Simek			power-domains = <&zynqmp_firmware PD_QSPI>;
641cbf8bed0SMichal Simek		};
642cbf8bed0SMichal Simek
643b4b6fb8dSLaurent Pinchart		psgtr: phy@fd400000 {
644b4b6fb8dSLaurent Pinchart			compatible = "xlnx,zynqmp-psgtr-v1.1";
645b4b6fb8dSLaurent Pinchart			status = "disabled";
646b4b6fb8dSLaurent Pinchart			reg = <0x0 0xfd400000 0x0 0x40000>,
647b4b6fb8dSLaurent Pinchart			      <0x0 0xfd3d0000 0x0 0x1000>;
648b4b6fb8dSLaurent Pinchart			reg-names = "serdes", "siou";
649b4b6fb8dSLaurent Pinchart			#phy-cells = <4>;
650b4b6fb8dSLaurent Pinchart		};
651b4b6fb8dSLaurent Pinchart
6527fb7820cSMichal Simek		rtc: rtc@ffa60000 {
6537fb7820cSMichal Simek			compatible = "xlnx,zynqmp-rtc";
6547fb7820cSMichal Simek			status = "disabled";
6557fb7820cSMichal Simek			reg = <0x0 0xffa60000 0x0 0x100>;
6567fb7820cSMichal Simek			interrupt-parent = <&gic>;
6577fb7820cSMichal Simek			interrupts = <0 26 4>, <0 27 4>;
6587fb7820cSMichal Simek			interrupt-names = "alarm", "sec";
659a787716aSSrinivas Neeli			calibration = <0x7FFF>;
6607fb7820cSMichal Simek		};
6617fb7820cSMichal Simek
6628fae442fSSuneel Garapati		sata: ahci@fd0c0000 {
6638fae442fSSuneel Garapati			compatible = "ceva,ahci-1v84";
6648fae442fSSuneel Garapati			status = "disabled";
6657393fd86SMichal Simek			reg = <0x0 0xfd0c0000 0x0 0x2000>;
6668fae442fSSuneel Garapati			interrupt-parent = <&gic>;
6678fae442fSSuneel Garapati			interrupts = <0 133 4>;
668959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SATA>;
669bc97eb86SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
6708ac47837SMichal Simek			iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
6718ac47837SMichal Simek				 <&smmu 0x4c2>, <&smmu 0x4c3>;
6728fae442fSSuneel Garapati		};
6738fae442fSSuneel Garapati
6749fd609ffSMichal Simek		sdhci0: mmc@ff160000 {
675a8fdb80fSManish Narani			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
6765d1b79d2SMichal Simek			status = "disabled";
6775d1b79d2SMichal Simek			interrupt-parent = <&gic>;
6785d1b79d2SMichal Simek			interrupts = <0 48 4>;
6797393fd86SMichal Simek			reg = <0x0 0xff160000 0x0 0x1000>;
6805d1b79d2SMichal Simek			clock-names = "clk_xin", "clk_ahb";
6818ac47837SMichal Simek			iommus = <&smmu 0x870>;
682a8fdb80fSManish Narani			#clock-cells = <1>;
683a8fdb80fSManish Narani			clock-output-names = "clk_out_sd0", "clk_in_sd0";
684959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SD_0>;
6855d1b79d2SMichal Simek		};
6865d1b79d2SMichal Simek
6879fd609ffSMichal Simek		sdhci1: mmc@ff170000 {
688a8fdb80fSManish Narani			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
6895d1b79d2SMichal Simek			status = "disabled";
6905d1b79d2SMichal Simek			interrupt-parent = <&gic>;
6915d1b79d2SMichal Simek			interrupts = <0 49 4>;
6927393fd86SMichal Simek			reg = <0x0 0xff170000 0x0 0x1000>;
6935d1b79d2SMichal Simek			clock-names = "clk_xin", "clk_ahb";
6948ac47837SMichal Simek			iommus = <&smmu 0x871>;
695a8fdb80fSManish Narani			#clock-cells = <1>;
696a8fdb80fSManish Narani			clock-output-names = "clk_out_sd1", "clk_in_sd1";
697959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SD_1>;
6985d1b79d2SMichal Simek		};
6995d1b79d2SMichal Simek
7008d53ecfbSKrzysztof Kozlowski		smmu: iommu@fd800000 {
701ff92e361SMichal Simek			compatible = "arm,mmu-500";
7027393fd86SMichal Simek			reg = <0x0 0xfd800000 0x0 0x20000>;
7038ac47837SMichal Simek			#iommu-cells = <1>;
7042f9ed199SNaga Sureshkumar Relli			status = "disabled";
705ff92e361SMichal Simek			#global-interrupts = <1>;
706ff92e361SMichal Simek			interrupt-parent = <&gic>;
707e199f2ccSEdgar E. Iglesias			interrupts = <0 155 4>,
708e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
709e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
710e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
711e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
712ff92e361SMichal Simek		};
713ff92e361SMichal Simek
714f49310dcSMichal Simek		spi0: spi@ff040000 {
715f49310dcSMichal Simek			compatible = "cdns,spi-r1p6";
716f49310dcSMichal Simek			status = "disabled";
717f49310dcSMichal Simek			interrupt-parent = <&gic>;
718f49310dcSMichal Simek			interrupts = <0 19 4>;
7197393fd86SMichal Simek			reg = <0x0 0xff040000 0x0 0x1000>;
720f49310dcSMichal Simek			clock-names = "ref_clk", "pclk";
721f49310dcSMichal Simek			#address-cells = <1>;
722f49310dcSMichal Simek			#size-cells = <0>;
723959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SPI_0>;
724f49310dcSMichal Simek		};
725f49310dcSMichal Simek
726f49310dcSMichal Simek		spi1: spi@ff050000 {
727f49310dcSMichal Simek			compatible = "cdns,spi-r1p6";
728f49310dcSMichal Simek			status = "disabled";
729f49310dcSMichal Simek			interrupt-parent = <&gic>;
730f49310dcSMichal Simek			interrupts = <0 20 4>;
7317393fd86SMichal Simek			reg = <0x0 0xff050000 0x0 0x1000>;
732f49310dcSMichal Simek			clock-names = "ref_clk", "pclk";
733f49310dcSMichal Simek			#address-cells = <1>;
734f49310dcSMichal Simek			#size-cells = <0>;
735959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SPI_1>;
736f49310dcSMichal Simek		};
737f49310dcSMichal Simek
7388fd7a775SMichal Simek		ttc0: timer@ff110000 {
7398fd7a775SMichal Simek			compatible = "cdns,ttc";
7408fd7a775SMichal Simek			status = "disabled";
7418fd7a775SMichal Simek			interrupt-parent = <&gic>;
7428fd7a775SMichal Simek			interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
7437393fd86SMichal Simek			reg = <0x0 0xff110000 0x0 0x1000>;
7448fd7a775SMichal Simek			timer-width = <32>;
745959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_0>;
7468fd7a775SMichal Simek		};
7478fd7a775SMichal Simek
7488fd7a775SMichal Simek		ttc1: timer@ff120000 {
7498fd7a775SMichal Simek			compatible = "cdns,ttc";
7508fd7a775SMichal Simek			status = "disabled";
7518fd7a775SMichal Simek			interrupt-parent = <&gic>;
7528fd7a775SMichal Simek			interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
7537393fd86SMichal Simek			reg = <0x0 0xff120000 0x0 0x1000>;
7548fd7a775SMichal Simek			timer-width = <32>;
755959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_1>;
7568fd7a775SMichal Simek		};
7578fd7a775SMichal Simek
7588fd7a775SMichal Simek		ttc2: timer@ff130000 {
7598fd7a775SMichal Simek			compatible = "cdns,ttc";
7608fd7a775SMichal Simek			status = "disabled";
7618fd7a775SMichal Simek			interrupt-parent = <&gic>;
7628fd7a775SMichal Simek			interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
7637393fd86SMichal Simek			reg = <0x0 0xff130000 0x0 0x1000>;
7648fd7a775SMichal Simek			timer-width = <32>;
765959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_2>;
7668fd7a775SMichal Simek		};
7678fd7a775SMichal Simek
7688fd7a775SMichal Simek		ttc3: timer@ff140000 {
7698fd7a775SMichal Simek			compatible = "cdns,ttc";
7708fd7a775SMichal Simek			status = "disabled";
7718fd7a775SMichal Simek			interrupt-parent = <&gic>;
7728fd7a775SMichal Simek			interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
7737393fd86SMichal Simek			reg = <0x0 0xff140000 0x0 0x1000>;
7748fd7a775SMichal Simek			timer-width = <32>;
775959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_3>;
7768fd7a775SMichal Simek		};
7778fd7a775SMichal Simek
7788fd7a775SMichal Simek		uart0: serial@ff000000 {
779812fa2f0SMichal Simek			compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
7808fd7a775SMichal Simek			status = "disabled";
7818fd7a775SMichal Simek			interrupt-parent = <&gic>;
7828fd7a775SMichal Simek			interrupts = <0 21 4>;
7837393fd86SMichal Simek			reg = <0x0 0xff000000 0x0 0x1000>;
7848fd7a775SMichal Simek			clock-names = "uart_clk", "pclk";
785959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_UART_0>;
7868fd7a775SMichal Simek		};
7878fd7a775SMichal Simek
7888fd7a775SMichal Simek		uart1: serial@ff010000 {
789812fa2f0SMichal Simek			compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
7908fd7a775SMichal Simek			status = "disabled";
7918fd7a775SMichal Simek			interrupt-parent = <&gic>;
7928fd7a775SMichal Simek			interrupts = <0 22 4>;
7937393fd86SMichal Simek			reg = <0x0 0xff010000 0x0 0x1000>;
7948fd7a775SMichal Simek			clock-names = "uart_clk", "pclk";
795959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_UART_1>;
7968fd7a775SMichal Simek		};
7978fd7a775SMichal Simek
798b61c4ff9SMichal Simek		usb0: usb@ff9d0000 {
799b61c4ff9SMichal Simek			#address-cells = <2>;
800b61c4ff9SMichal Simek			#size-cells = <2>;
80122eda14aSMichal Simek			status = "disabled";
802b61c4ff9SMichal Simek			compatible = "xlnx,zynqmp-dwc3";
803b61c4ff9SMichal Simek			reg = <0x0 0xff9d0000 0x0 0x100>;
804b61c4ff9SMichal Simek			clock-names = "bus_clk", "ref_clk";
805959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_USB_0>;
806b61c4ff9SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
807b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
808b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
809b61c4ff9SMichal Simek			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
810b61c4ff9SMichal Simek			ranges;
811b61c4ff9SMichal Simek
812b61c4ff9SMichal Simek			dwc3_0: usb@fe200000 {
813b61c4ff9SMichal Simek				compatible = "snps,dwc3";
814b61c4ff9SMichal Simek				reg = <0x0 0xfe200000 0x0 0x40000>;
815b61c4ff9SMichal Simek				interrupt-parent = <&gic>;
816b61c4ff9SMichal Simek				interrupt-names = "dwc_usb3", "otg";
817b61c4ff9SMichal Simek				interrupts = <0 65 4>, <0 69 4>;
818b61c4ff9SMichal Simek				iommus = <&smmu 0x860>;
819b61c4ff9SMichal Simek				snps,quirk-frame-length-adjustment = <0x20>;
820b61c4ff9SMichal Simek				/* dma-coherent; */
821b61c4ff9SMichal Simek			};
82222eda14aSMichal Simek		};
82322eda14aSMichal Simek
824b61c4ff9SMichal Simek		usb1: usb@ff9e0000 {
825b61c4ff9SMichal Simek			#address-cells = <2>;
826b61c4ff9SMichal Simek			#size-cells = <2>;
82722eda14aSMichal Simek			status = "disabled";
828b61c4ff9SMichal Simek			compatible = "xlnx,zynqmp-dwc3";
829b61c4ff9SMichal Simek			reg = <0x0 0xff9e0000 0x0 0x100>;
830b61c4ff9SMichal Simek			clock-names = "bus_clk", "ref_clk";
831959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_USB_1>;
832b61c4ff9SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
833b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
834b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>;
835b61c4ff9SMichal Simek			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
836b61c4ff9SMichal Simek			ranges;
837b61c4ff9SMichal Simek
838b61c4ff9SMichal Simek			dwc3_1: usb@fe300000 {
839b61c4ff9SMichal Simek				compatible = "snps,dwc3";
840b61c4ff9SMichal Simek				reg = <0x0 0xfe300000 0x0 0x40000>;
841b61c4ff9SMichal Simek				interrupt-parent = <&gic>;
842b61c4ff9SMichal Simek				interrupt-names = "dwc_usb3", "otg";
843b61c4ff9SMichal Simek				interrupts = <0 70 4>, <0 74 4>;
844b61c4ff9SMichal Simek				iommus = <&smmu 0x861>;
845b61c4ff9SMichal Simek				snps,quirk-frame-length-adjustment = <0x20>;
846b61c4ff9SMichal Simek				/* dma-coherent; */
847b61c4ff9SMichal Simek			};
84822eda14aSMichal Simek		};
84922eda14aSMichal Simek
8505d1b79d2SMichal Simek		watchdog0: watchdog@fd4d0000 {
8515d1b79d2SMichal Simek			compatible = "cdns,wdt-r1p2";
8525d1b79d2SMichal Simek			status = "disabled";
8535d1b79d2SMichal Simek			interrupt-parent = <&gic>;
854908c9e73SPunnaiah Choudary Kalluri			interrupts = <0 113 1>;
8557393fd86SMichal Simek			reg = <0x0 0xfd4d0000 0x0 0x1000>;
85669aa2de1SMounika Grace Akula			timeout-sec = <60>;
85769aa2de1SMounika Grace Akula			reset-on-timeout;
8585d1b79d2SMichal Simek		};
8591f9fcf65SMichal Simek
8601f9fcf65SMichal Simek		lpd_watchdog: watchdog@ff150000 {
8611f9fcf65SMichal Simek			compatible = "cdns,wdt-r1p2";
8621f9fcf65SMichal Simek			status = "disabled";
8631f9fcf65SMichal Simek			interrupt-parent = <&gic>;
8641f9fcf65SMichal Simek			interrupts = <0 52 1>;
8651f9fcf65SMichal Simek			reg = <0x0 0xff150000 0x0 0x1000>;
8661f9fcf65SMichal Simek			timeout-sec = <10>;
8671f9fcf65SMichal Simek		};
8687b6714b3SLaurent Pinchart
8697b6714b3SLaurent Pinchart		zynqmp_dpdma: dma-controller@fd4c0000 {
8707b6714b3SLaurent Pinchart			compatible = "xlnx,zynqmp-dpdma";
8717b6714b3SLaurent Pinchart			status = "disabled";
8727b6714b3SLaurent Pinchart			reg = <0x0 0xfd4c0000 0x0 0x1000>;
8737b6714b3SLaurent Pinchart			interrupts = <0 122 4>;
8747b6714b3SLaurent Pinchart			interrupt-parent = <&gic>;
8757b6714b3SLaurent Pinchart			clock-names = "axi_clk";
876b06112cdSLaurent Pinchart			power-domains = <&zynqmp_firmware PD_DP>;
8777b6714b3SLaurent Pinchart			#dma-cells = <1>;
8787b6714b3SLaurent Pinchart		};
879b0f89cf5SMichal Simek
880b0f89cf5SMichal Simek		zynqmp_dpsub: display@fd4a0000 {
881b0f89cf5SMichal Simek			compatible = "xlnx,zynqmp-dpsub-1.7";
882b0f89cf5SMichal Simek			status = "disabled";
883b0f89cf5SMichal Simek			reg = <0x0 0xfd4a0000 0x0 0x1000>,
884b0f89cf5SMichal Simek			      <0x0 0xfd4aa000 0x0 0x1000>,
885b0f89cf5SMichal Simek			      <0x0 0xfd4ab000 0x0 0x1000>,
886b0f89cf5SMichal Simek			      <0x0 0xfd4ac000 0x0 0x1000>;
887b0f89cf5SMichal Simek			reg-names = "dp", "blend", "av_buf", "aud";
888b0f89cf5SMichal Simek			interrupts = <0 119 4>;
889b0f89cf5SMichal Simek			interrupt-parent = <&gic>;
890b0f89cf5SMichal Simek			clock-names = "dp_apb_clk", "dp_aud_clk",
891b0f89cf5SMichal Simek				      "dp_vtc_pixel_clk_in";
892b0f89cf5SMichal Simek			power-domains = <&zynqmp_firmware PD_DP>;
893b0f89cf5SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_DP>;
894b0f89cf5SMichal Simek			dma-names = "vid0", "vid1", "vid2", "gfx0";
895b0f89cf5SMichal Simek			dmas = <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO0>,
896b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO1>,
897b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO2>,
898b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_GRAPHICS>;
899b0f89cf5SMichal Simek		};
9005d1b79d2SMichal Simek	};
9015d1b79d2SMichal Simek};
902