xref: /linux/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi (revision 271c1fa01c2307cf74f4656390d6299991119c3e)
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 */
2573a14f0e6SMichael Tretter		fpd_dma_chan1: dma-controller@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";
2641ff2d58eSMichael 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
2703a14f0e6SMichael Tretter		fpd_dma_chan2: dma-controller@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";
2771ff2d58eSMichael 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
2833a14f0e6SMichael Tretter		fpd_dma_chan3: dma-controller@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";
2901ff2d58eSMichael 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
2963a14f0e6SMichael Tretter		fpd_dma_chan4: dma-controller@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";
3031ff2d58eSMichael 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
3093a14f0e6SMichael Tretter		fpd_dma_chan5: dma-controller@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";
3161ff2d58eSMichael 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
3223a14f0e6SMichael Tretter		fpd_dma_chan6: dma-controller@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";
3291ff2d58eSMichael 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
3353a14f0e6SMichael Tretter		fpd_dma_chan7: dma-controller@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";
3421ff2d58eSMichael 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
3483a14f0e6SMichael Tretter		fpd_dma_chan8: dma-controller@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";
3551ff2d58eSMichael 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		 */
3783a14f0e6SMichael Tretter		lpd_dma_chan1: dma-controller@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";
3851ff2d58eSMichael 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
3913a14f0e6SMichael Tretter		lpd_dma_chan2: dma-controller@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";
3981ff2d58eSMichael 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
4043a14f0e6SMichael Tretter		lpd_dma_chan3: dma-controller@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";
4111ff2d58eSMichael 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
4173a14f0e6SMichael Tretter		lpd_dma_chan4: dma-controller@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";
4241ff2d58eSMichael 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
4303a14f0e6SMichael Tretter		lpd_dma_chan5: dma-controller@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";
4371ff2d58eSMichael 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
4433a14f0e6SMichael Tretter		lpd_dma_chan6: dma-controller@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";
4501ff2d58eSMichael 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
4563a14f0e6SMichael Tretter		lpd_dma_chan7: dma-controller@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";
4631ff2d58eSMichael 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
4693a14f0e6SMichael Tretter		lpd_dma_chan8: dma-controller@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";
4761ff2d58eSMichael 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>;
513e461bd6fSRobert Hancock			resets = <&zynqmp_reset ZYNQMP_RESET_GEM0>;
514e461bd6fSRobert Hancock			reset-names = "gem0_rst";
5155d1b79d2SMichal Simek		};
5165d1b79d2SMichal Simek
5175d1b79d2SMichal Simek		gem1: ethernet@ff0c0000 {
51833af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5195d1b79d2SMichal Simek			status = "disabled";
5205d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5215d1b79d2SMichal Simek			interrupts = <0 59 4>, <0 59 4>;
5227393fd86SMichal Simek			reg = <0x0 0xff0c0000 0x0 0x1000>;
5235d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5245d1b79d2SMichal Simek			#address-cells = <1>;
5255d1b79d2SMichal Simek			#size-cells = <0>;
5268ac47837SMichal Simek			iommus = <&smmu 0x875>;
527959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_1>;
528e461bd6fSRobert Hancock			resets = <&zynqmp_reset ZYNQMP_RESET_GEM1>;
529e461bd6fSRobert Hancock			reset-names = "gem1_rst";
5305d1b79d2SMichal Simek		};
5315d1b79d2SMichal Simek
5325d1b79d2SMichal Simek		gem2: ethernet@ff0d0000 {
53333af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5345d1b79d2SMichal Simek			status = "disabled";
5355d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5365d1b79d2SMichal Simek			interrupts = <0 61 4>, <0 61 4>;
5377393fd86SMichal Simek			reg = <0x0 0xff0d0000 0x0 0x1000>;
5385d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5395d1b79d2SMichal Simek			#address-cells = <1>;
5405d1b79d2SMichal Simek			#size-cells = <0>;
5418ac47837SMichal Simek			iommus = <&smmu 0x876>;
542959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_2>;
543e461bd6fSRobert Hancock			resets = <&zynqmp_reset ZYNQMP_RESET_GEM2>;
544e461bd6fSRobert Hancock			reset-names = "gem2_rst";
5455d1b79d2SMichal Simek		};
5465d1b79d2SMichal Simek
5475d1b79d2SMichal Simek		gem3: ethernet@ff0e0000 {
54833af509fSMichal Simek			compatible = "cdns,zynqmp-gem", "cdns,gem";
5495d1b79d2SMichal Simek			status = "disabled";
5505d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5515d1b79d2SMichal Simek			interrupts = <0 63 4>, <0 63 4>;
5527393fd86SMichal Simek			reg = <0x0 0xff0e0000 0x0 0x1000>;
5535d1b79d2SMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
5545d1b79d2SMichal Simek			#address-cells = <1>;
5555d1b79d2SMichal Simek			#size-cells = <0>;
5568ac47837SMichal Simek			iommus = <&smmu 0x877>;
557959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_ETH_3>;
558e461bd6fSRobert Hancock			resets = <&zynqmp_reset ZYNQMP_RESET_GEM3>;
559e461bd6fSRobert Hancock			reset-names = "gem3_rst";
5605d1b79d2SMichal Simek		};
5615d1b79d2SMichal Simek
56272e5df43SMichal Simek		gpio: gpio@ff0a0000 {
56372e5df43SMichal Simek			compatible = "xlnx,zynqmp-gpio-1.0";
56472e5df43SMichal Simek			status = "disabled";
565c6badbd2SMichal Simek			#address-cells = <0>;
56672e5df43SMichal Simek			#gpio-cells = <0x2>;
5674556b160SMichal Simek			gpio-controller;
56872e5df43SMichal Simek			interrupt-parent = <&gic>;
56972e5df43SMichal Simek			interrupts = <0 16 4>;
57072e5df43SMichal Simek			interrupt-controller;
57172e5df43SMichal Simek			#interrupt-cells = <2>;
5727393fd86SMichal Simek			reg = <0x0 0xff0a0000 0x0 0x1000>;
573959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_GPIO>;
57472e5df43SMichal Simek		};
57572e5df43SMichal Simek
5765d1b79d2SMichal Simek		i2c0: i2c@ff020000 {
57735292518SMichal Simek			compatible = "cdns,i2c-r1p14";
5785d1b79d2SMichal Simek			status = "disabled";
5795d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5805d1b79d2SMichal Simek			interrupts = <0 17 4>;
5817393fd86SMichal Simek			reg = <0x0 0xff020000 0x0 0x1000>;
5825d1b79d2SMichal Simek			#address-cells = <1>;
5835d1b79d2SMichal Simek			#size-cells = <0>;
584959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_I2C_0>;
5855d1b79d2SMichal Simek		};
5865d1b79d2SMichal Simek
5875d1b79d2SMichal Simek		i2c1: i2c@ff030000 {
58835292518SMichal Simek			compatible = "cdns,i2c-r1p14";
5895d1b79d2SMichal Simek			status = "disabled";
5905d1b79d2SMichal Simek			interrupt-parent = <&gic>;
5915d1b79d2SMichal Simek			interrupts = <0 18 4>;
5927393fd86SMichal Simek			reg = <0x0 0xff030000 0x0 0x1000>;
5935d1b79d2SMichal Simek			#address-cells = <1>;
5945d1b79d2SMichal Simek			#size-cells = <0>;
595959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_I2C_1>;
5965d1b79d2SMichal Simek		};
5975d1b79d2SMichal Simek
59878b83b8cSMichal Simek		pcie: pcie@fd0e0000 {
59978b83b8cSMichal Simek			compatible = "xlnx,nwl-pcie-2.11";
60078b83b8cSMichal Simek			status = "disabled";
60178b83b8cSMichal Simek			#address-cells = <3>;
60278b83b8cSMichal Simek			#size-cells = <2>;
60378b83b8cSMichal Simek			#interrupt-cells = <1>;
60478b83b8cSMichal Simek			msi-controller;
60578b83b8cSMichal Simek			device_type = "pci";
60678b83b8cSMichal Simek			interrupt-parent = <&gic>;
60778b83b8cSMichal Simek			interrupts = <0 118 4>,
60878b83b8cSMichal Simek				     <0 117 4>,
60978b83b8cSMichal Simek				     <0 116 4>,
61078b83b8cSMichal Simek				     <0 115 4>,	/* MSI_1 [63...32] */
61178b83b8cSMichal Simek				     <0 114 4>;	/* MSI_0 [31...0] */
61278b83b8cSMichal Simek			interrupt-names = "misc", "dummy", "intx",
61378b83b8cSMichal Simek					  "msi1", "msi0";
61478b83b8cSMichal Simek			msi-parent = <&pcie>;
61578b83b8cSMichal Simek			reg = <0x0 0xfd0e0000 0x0 0x1000>,
61678b83b8cSMichal Simek			      <0x0 0xfd480000 0x0 0x1000>,
61778b83b8cSMichal Simek			      <0x80 0x00000000 0x0 0x1000000>;
61878b83b8cSMichal Simek			reg-names = "breg", "pcireg", "cfg";
61948ab2996SMichal Simek			ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000>,/* non-prefetchable memory */
62048ab2996SMichal Simek				 <0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
621d15c56caSRob Herring			bus-range = <0x00 0xff>;
62278b83b8cSMichal Simek			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
62378b83b8cSMichal Simek			interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
62478b83b8cSMichal Simek					<0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
62578b83b8cSMichal Simek					<0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
62678b83b8cSMichal Simek					<0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
627d58f9227SStefano Stabellini			iommus = <&smmu 0x4d0>;
628959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_PCIE>;
62978b83b8cSMichal Simek			pcie_intc: legacy-interrupt-controller {
63078b83b8cSMichal Simek				interrupt-controller;
63178b83b8cSMichal Simek				#address-cells = <0>;
63278b83b8cSMichal Simek				#interrupt-cells = <1>;
63378b83b8cSMichal Simek			};
63478b83b8cSMichal Simek		};
63578b83b8cSMichal Simek
636cbf8bed0SMichal Simek		qspi: spi@ff0f0000 {
637cbf8bed0SMichal Simek			compatible = "xlnx,zynqmp-qspi-1.0";
638cbf8bed0SMichal Simek			status = "disabled";
639cbf8bed0SMichal Simek			clock-names = "ref_clk", "pclk";
640cbf8bed0SMichal Simek			interrupts = <0 15 4>;
641cbf8bed0SMichal Simek			interrupt-parent = <&gic>;
642cbf8bed0SMichal Simek			num-cs = <1>;
643cbf8bed0SMichal Simek			reg = <0x0 0xff0f0000 0x0 0x1000>,
644cbf8bed0SMichal Simek			      <0x0 0xc0000000 0x0 0x8000000>;
645cbf8bed0SMichal Simek			#address-cells = <1>;
646cbf8bed0SMichal Simek			#size-cells = <0>;
6478ac47837SMichal Simek			iommus = <&smmu 0x873>;
648cbf8bed0SMichal Simek			power-domains = <&zynqmp_firmware PD_QSPI>;
649cbf8bed0SMichal Simek		};
650cbf8bed0SMichal Simek
651b4b6fb8dSLaurent Pinchart		psgtr: phy@fd400000 {
652b4b6fb8dSLaurent Pinchart			compatible = "xlnx,zynqmp-psgtr-v1.1";
653b4b6fb8dSLaurent Pinchart			status = "disabled";
654b4b6fb8dSLaurent Pinchart			reg = <0x0 0xfd400000 0x0 0x40000>,
655b4b6fb8dSLaurent Pinchart			      <0x0 0xfd3d0000 0x0 0x1000>;
656b4b6fb8dSLaurent Pinchart			reg-names = "serdes", "siou";
657b4b6fb8dSLaurent Pinchart			#phy-cells = <4>;
658b4b6fb8dSLaurent Pinchart		};
659b4b6fb8dSLaurent Pinchart
6607fb7820cSMichal Simek		rtc: rtc@ffa60000 {
6617fb7820cSMichal Simek			compatible = "xlnx,zynqmp-rtc";
6627fb7820cSMichal Simek			status = "disabled";
6637fb7820cSMichal Simek			reg = <0x0 0xffa60000 0x0 0x100>;
6647fb7820cSMichal Simek			interrupt-parent = <&gic>;
6657fb7820cSMichal Simek			interrupts = <0 26 4>, <0 27 4>;
6667fb7820cSMichal Simek			interrupt-names = "alarm", "sec";
667a787716aSSrinivas Neeli			calibration = <0x7FFF>;
6687fb7820cSMichal Simek		};
6697fb7820cSMichal Simek
6708fae442fSSuneel Garapati		sata: ahci@fd0c0000 {
6718fae442fSSuneel Garapati			compatible = "ceva,ahci-1v84";
6728fae442fSSuneel Garapati			status = "disabled";
6737393fd86SMichal Simek			reg = <0x0 0xfd0c0000 0x0 0x2000>;
6748fae442fSSuneel Garapati			interrupt-parent = <&gic>;
6758fae442fSSuneel Garapati			interrupts = <0 133 4>;
676959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SATA>;
677bc97eb86SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
6788ac47837SMichal Simek			iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
6798ac47837SMichal Simek				 <&smmu 0x4c2>, <&smmu 0x4c3>;
6808fae442fSSuneel Garapati		};
6818fae442fSSuneel Garapati
6829fd609ffSMichal Simek		sdhci0: mmc@ff160000 {
683a8fdb80fSManish Narani			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
6845d1b79d2SMichal Simek			status = "disabled";
6855d1b79d2SMichal Simek			interrupt-parent = <&gic>;
6865d1b79d2SMichal Simek			interrupts = <0 48 4>;
6877393fd86SMichal Simek			reg = <0x0 0xff160000 0x0 0x1000>;
6885d1b79d2SMichal Simek			clock-names = "clk_xin", "clk_ahb";
6898ac47837SMichal Simek			iommus = <&smmu 0x870>;
690a8fdb80fSManish Narani			#clock-cells = <1>;
691a8fdb80fSManish Narani			clock-output-names = "clk_out_sd0", "clk_in_sd0";
692959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SD_0>;
6935d1b79d2SMichal Simek		};
6945d1b79d2SMichal Simek
6959fd609ffSMichal Simek		sdhci1: mmc@ff170000 {
696a8fdb80fSManish Narani			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
6975d1b79d2SMichal Simek			status = "disabled";
6985d1b79d2SMichal Simek			interrupt-parent = <&gic>;
6995d1b79d2SMichal Simek			interrupts = <0 49 4>;
7007393fd86SMichal Simek			reg = <0x0 0xff170000 0x0 0x1000>;
7015d1b79d2SMichal Simek			clock-names = "clk_xin", "clk_ahb";
7028ac47837SMichal Simek			iommus = <&smmu 0x871>;
703a8fdb80fSManish Narani			#clock-cells = <1>;
704a8fdb80fSManish Narani			clock-output-names = "clk_out_sd1", "clk_in_sd1";
705959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SD_1>;
7065d1b79d2SMichal Simek		};
7075d1b79d2SMichal Simek
7088d53ecfbSKrzysztof Kozlowski		smmu: iommu@fd800000 {
709ff92e361SMichal Simek			compatible = "arm,mmu-500";
7107393fd86SMichal Simek			reg = <0x0 0xfd800000 0x0 0x20000>;
7118ac47837SMichal Simek			#iommu-cells = <1>;
7122f9ed199SNaga Sureshkumar Relli			status = "disabled";
713ff92e361SMichal Simek			#global-interrupts = <1>;
714ff92e361SMichal Simek			interrupt-parent = <&gic>;
715e199f2ccSEdgar E. Iglesias			interrupts = <0 155 4>,
716e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
717e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
718e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
719e199f2ccSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
720ff92e361SMichal Simek		};
721ff92e361SMichal Simek
722f49310dcSMichal Simek		spi0: spi@ff040000 {
723f49310dcSMichal Simek			compatible = "cdns,spi-r1p6";
724f49310dcSMichal Simek			status = "disabled";
725f49310dcSMichal Simek			interrupt-parent = <&gic>;
726f49310dcSMichal Simek			interrupts = <0 19 4>;
7277393fd86SMichal Simek			reg = <0x0 0xff040000 0x0 0x1000>;
728f49310dcSMichal Simek			clock-names = "ref_clk", "pclk";
729f49310dcSMichal Simek			#address-cells = <1>;
730f49310dcSMichal Simek			#size-cells = <0>;
731959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SPI_0>;
732f49310dcSMichal Simek		};
733f49310dcSMichal Simek
734f49310dcSMichal Simek		spi1: spi@ff050000 {
735f49310dcSMichal Simek			compatible = "cdns,spi-r1p6";
736f49310dcSMichal Simek			status = "disabled";
737f49310dcSMichal Simek			interrupt-parent = <&gic>;
738f49310dcSMichal Simek			interrupts = <0 20 4>;
7397393fd86SMichal Simek			reg = <0x0 0xff050000 0x0 0x1000>;
740f49310dcSMichal Simek			clock-names = "ref_clk", "pclk";
741f49310dcSMichal Simek			#address-cells = <1>;
742f49310dcSMichal Simek			#size-cells = <0>;
743959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_SPI_1>;
744f49310dcSMichal Simek		};
745f49310dcSMichal Simek
7468fd7a775SMichal Simek		ttc0: timer@ff110000 {
7478fd7a775SMichal Simek			compatible = "cdns,ttc";
7488fd7a775SMichal Simek			status = "disabled";
7498fd7a775SMichal Simek			interrupt-parent = <&gic>;
7508fd7a775SMichal Simek			interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
7517393fd86SMichal Simek			reg = <0x0 0xff110000 0x0 0x1000>;
7528fd7a775SMichal Simek			timer-width = <32>;
753959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_0>;
7548fd7a775SMichal Simek		};
7558fd7a775SMichal Simek
7568fd7a775SMichal Simek		ttc1: timer@ff120000 {
7578fd7a775SMichal Simek			compatible = "cdns,ttc";
7588fd7a775SMichal Simek			status = "disabled";
7598fd7a775SMichal Simek			interrupt-parent = <&gic>;
7608fd7a775SMichal Simek			interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
7617393fd86SMichal Simek			reg = <0x0 0xff120000 0x0 0x1000>;
7628fd7a775SMichal Simek			timer-width = <32>;
763959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_1>;
7648fd7a775SMichal Simek		};
7658fd7a775SMichal Simek
7668fd7a775SMichal Simek		ttc2: timer@ff130000 {
7678fd7a775SMichal Simek			compatible = "cdns,ttc";
7688fd7a775SMichal Simek			status = "disabled";
7698fd7a775SMichal Simek			interrupt-parent = <&gic>;
7708fd7a775SMichal Simek			interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
7717393fd86SMichal Simek			reg = <0x0 0xff130000 0x0 0x1000>;
7728fd7a775SMichal Simek			timer-width = <32>;
773959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_2>;
7748fd7a775SMichal Simek		};
7758fd7a775SMichal Simek
7768fd7a775SMichal Simek		ttc3: timer@ff140000 {
7778fd7a775SMichal Simek			compatible = "cdns,ttc";
7788fd7a775SMichal Simek			status = "disabled";
7798fd7a775SMichal Simek			interrupt-parent = <&gic>;
7808fd7a775SMichal Simek			interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
7817393fd86SMichal Simek			reg = <0x0 0xff140000 0x0 0x1000>;
7828fd7a775SMichal Simek			timer-width = <32>;
783959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_TTC_3>;
7848fd7a775SMichal Simek		};
7858fd7a775SMichal Simek
7868fd7a775SMichal Simek		uart0: serial@ff000000 {
787812fa2f0SMichal Simek			compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
7888fd7a775SMichal Simek			status = "disabled";
7898fd7a775SMichal Simek			interrupt-parent = <&gic>;
7908fd7a775SMichal Simek			interrupts = <0 21 4>;
7917393fd86SMichal Simek			reg = <0x0 0xff000000 0x0 0x1000>;
7928fd7a775SMichal Simek			clock-names = "uart_clk", "pclk";
793959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_UART_0>;
7948fd7a775SMichal Simek		};
7958fd7a775SMichal Simek
7968fd7a775SMichal Simek		uart1: serial@ff010000 {
797812fa2f0SMichal Simek			compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
7988fd7a775SMichal Simek			status = "disabled";
7998fd7a775SMichal Simek			interrupt-parent = <&gic>;
8008fd7a775SMichal Simek			interrupts = <0 22 4>;
8017393fd86SMichal Simek			reg = <0x0 0xff010000 0x0 0x1000>;
8028fd7a775SMichal Simek			clock-names = "uart_clk", "pclk";
803959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_UART_1>;
8048fd7a775SMichal Simek		};
8058fd7a775SMichal Simek
806b61c4ff9SMichal Simek		usb0: usb@ff9d0000 {
807b61c4ff9SMichal Simek			#address-cells = <2>;
808b61c4ff9SMichal Simek			#size-cells = <2>;
80922eda14aSMichal Simek			status = "disabled";
810b61c4ff9SMichal Simek			compatible = "xlnx,zynqmp-dwc3";
811b61c4ff9SMichal Simek			reg = <0x0 0xff9d0000 0x0 0x100>;
812959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_USB_0>;
813b61c4ff9SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
814b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
815b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
816b61c4ff9SMichal Simek			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
817b61c4ff9SMichal Simek			ranges;
818b61c4ff9SMichal Simek
819b61c4ff9SMichal Simek			dwc3_0: usb@fe200000 {
820b61c4ff9SMichal Simek				compatible = "snps,dwc3";
821b61c4ff9SMichal Simek				reg = <0x0 0xfe200000 0x0 0x40000>;
822b61c4ff9SMichal Simek				interrupt-parent = <&gic>;
823b61c4ff9SMichal Simek				interrupt-names = "dwc_usb3", "otg";
824b61c4ff9SMichal Simek				interrupts = <0 65 4>, <0 69 4>;
825d8b1c3d0SSean Anderson				clock-names = "bus_early", "ref";
826b61c4ff9SMichal Simek				iommus = <&smmu 0x860>;
827b61c4ff9SMichal Simek				snps,quirk-frame-length-adjustment = <0x20>;
828b61c4ff9SMichal Simek				/* dma-coherent; */
829b61c4ff9SMichal Simek			};
83022eda14aSMichal Simek		};
83122eda14aSMichal Simek
832b61c4ff9SMichal Simek		usb1: usb@ff9e0000 {
833b61c4ff9SMichal Simek			#address-cells = <2>;
834b61c4ff9SMichal Simek			#size-cells = <2>;
83522eda14aSMichal Simek			status = "disabled";
836b61c4ff9SMichal Simek			compatible = "xlnx,zynqmp-dwc3";
837b61c4ff9SMichal Simek			reg = <0x0 0xff9e0000 0x0 0x100>;
838959b86aeSRajan Vaja			power-domains = <&zynqmp_firmware PD_USB_1>;
839b61c4ff9SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
840b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
841b61c4ff9SMichal Simek				 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>;
842b61c4ff9SMichal Simek			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
843b61c4ff9SMichal Simek			ranges;
844b61c4ff9SMichal Simek
845b61c4ff9SMichal Simek			dwc3_1: usb@fe300000 {
846b61c4ff9SMichal Simek				compatible = "snps,dwc3";
847b61c4ff9SMichal Simek				reg = <0x0 0xfe300000 0x0 0x40000>;
848b61c4ff9SMichal Simek				interrupt-parent = <&gic>;
849b61c4ff9SMichal Simek				interrupt-names = "dwc_usb3", "otg";
850b61c4ff9SMichal Simek				interrupts = <0 70 4>, <0 74 4>;
851d8b1c3d0SSean Anderson				clock-names = "bus_early", "ref";
852b61c4ff9SMichal Simek				iommus = <&smmu 0x861>;
853b61c4ff9SMichal Simek				snps,quirk-frame-length-adjustment = <0x20>;
854b61c4ff9SMichal Simek				/* dma-coherent; */
855b61c4ff9SMichal Simek			};
85622eda14aSMichal Simek		};
85722eda14aSMichal Simek
8585d1b79d2SMichal Simek		watchdog0: watchdog@fd4d0000 {
8595d1b79d2SMichal Simek			compatible = "cdns,wdt-r1p2";
8605d1b79d2SMichal Simek			status = "disabled";
8615d1b79d2SMichal Simek			interrupt-parent = <&gic>;
862908c9e73SPunnaiah Choudary Kalluri			interrupts = <0 113 1>;
8637393fd86SMichal Simek			reg = <0x0 0xfd4d0000 0x0 0x1000>;
86469aa2de1SMounika Grace Akula			timeout-sec = <60>;
86569aa2de1SMounika Grace Akula			reset-on-timeout;
8665d1b79d2SMichal Simek		};
8671f9fcf65SMichal Simek
8681f9fcf65SMichal Simek		lpd_watchdog: watchdog@ff150000 {
8691f9fcf65SMichal Simek			compatible = "cdns,wdt-r1p2";
8701f9fcf65SMichal Simek			status = "disabled";
8711f9fcf65SMichal Simek			interrupt-parent = <&gic>;
8721f9fcf65SMichal Simek			interrupts = <0 52 1>;
8731f9fcf65SMichal Simek			reg = <0x0 0xff150000 0x0 0x1000>;
8741f9fcf65SMichal Simek			timeout-sec = <10>;
8751f9fcf65SMichal Simek		};
8767b6714b3SLaurent Pinchart
877*271c1fa0SRobert Hancock		xilinx_ams: ams@ffa50000 {
878*271c1fa0SRobert Hancock			compatible = "xlnx,zynqmp-ams";
879*271c1fa0SRobert Hancock			status = "disabled";
880*271c1fa0SRobert Hancock			interrupt-parent = <&gic>;
881*271c1fa0SRobert Hancock			interrupts = <0 56 4>;
882*271c1fa0SRobert Hancock			reg = <0x0 0xffa50000 0x0 0x800>;
883*271c1fa0SRobert Hancock			#address-cells = <1>;
884*271c1fa0SRobert Hancock			#size-cells = <1>;
885*271c1fa0SRobert Hancock			#io-channel-cells = <1>;
886*271c1fa0SRobert Hancock			ranges = <0 0 0xffa50800 0x800>;
887*271c1fa0SRobert Hancock
888*271c1fa0SRobert Hancock			ams_ps: ams_ps@0 {
889*271c1fa0SRobert Hancock				compatible = "xlnx,zynqmp-ams-ps";
890*271c1fa0SRobert Hancock				status = "disabled";
891*271c1fa0SRobert Hancock				reg = <0x0 0x400>;
892*271c1fa0SRobert Hancock			};
893*271c1fa0SRobert Hancock
894*271c1fa0SRobert Hancock			ams_pl: ams_pl@400 {
895*271c1fa0SRobert Hancock				compatible = "xlnx,zynqmp-ams-pl";
896*271c1fa0SRobert Hancock				status = "disabled";
897*271c1fa0SRobert Hancock				reg = <0x400 0x400>;
898*271c1fa0SRobert Hancock				#address-cells = <1>;
899*271c1fa0SRobert Hancock				#size-cells = <0>;
900*271c1fa0SRobert Hancock			};
901*271c1fa0SRobert Hancock		};
902*271c1fa0SRobert Hancock
9037b6714b3SLaurent Pinchart		zynqmp_dpdma: dma-controller@fd4c0000 {
9047b6714b3SLaurent Pinchart			compatible = "xlnx,zynqmp-dpdma";
9057b6714b3SLaurent Pinchart			status = "disabled";
9067b6714b3SLaurent Pinchart			reg = <0x0 0xfd4c0000 0x0 0x1000>;
9077b6714b3SLaurent Pinchart			interrupts = <0 122 4>;
9087b6714b3SLaurent Pinchart			interrupt-parent = <&gic>;
9097b6714b3SLaurent Pinchart			clock-names = "axi_clk";
910b06112cdSLaurent Pinchart			power-domains = <&zynqmp_firmware PD_DP>;
9117b6714b3SLaurent Pinchart			#dma-cells = <1>;
9127b6714b3SLaurent Pinchart		};
913b0f89cf5SMichal Simek
914b0f89cf5SMichal Simek		zynqmp_dpsub: display@fd4a0000 {
915b0f89cf5SMichal Simek			compatible = "xlnx,zynqmp-dpsub-1.7";
916b0f89cf5SMichal Simek			status = "disabled";
917b0f89cf5SMichal Simek			reg = <0x0 0xfd4a0000 0x0 0x1000>,
918b0f89cf5SMichal Simek			      <0x0 0xfd4aa000 0x0 0x1000>,
919b0f89cf5SMichal Simek			      <0x0 0xfd4ab000 0x0 0x1000>,
920b0f89cf5SMichal Simek			      <0x0 0xfd4ac000 0x0 0x1000>;
921b0f89cf5SMichal Simek			reg-names = "dp", "blend", "av_buf", "aud";
922b0f89cf5SMichal Simek			interrupts = <0 119 4>;
923b0f89cf5SMichal Simek			interrupt-parent = <&gic>;
924b0f89cf5SMichal Simek			clock-names = "dp_apb_clk", "dp_aud_clk",
925b0f89cf5SMichal Simek				      "dp_vtc_pixel_clk_in";
926b0f89cf5SMichal Simek			power-domains = <&zynqmp_firmware PD_DP>;
927b0f89cf5SMichal Simek			resets = <&zynqmp_reset ZYNQMP_RESET_DP>;
928b0f89cf5SMichal Simek			dma-names = "vid0", "vid1", "vid2", "gfx0";
929b0f89cf5SMichal Simek			dmas = <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO0>,
930b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO1>,
931b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO2>,
932b0f89cf5SMichal Simek			       <&zynqmp_dpdma ZYNQMP_DPDMA_GRAPHICS>;
933b0f89cf5SMichal Simek		};
9345d1b79d2SMichal Simek	};
9355d1b79d2SMichal Simek};
936