xref: /openbmc/u-boot/arch/arm/dts/zynqmp.dtsi (revision d391c13c99a2b48c98cef6df4479247cd4e62f9d)
118a952ceSMichal Simek// SPDX-License-Identifier: GPL-2.0+
244303dfaSMichal Simek/*
344303dfaSMichal Simek * dts file for Xilinx ZynqMP
444303dfaSMichal Simek *
544303dfaSMichal Simek * (C) Copyright 2014 - 2015, Xilinx, Inc.
644303dfaSMichal Simek *
744303dfaSMichal Simek * Michal Simek <michal.simek@xilinx.com>
844303dfaSMichal Simek *
918a952ceSMichal Simek * This program is free software; you can redistribute it and/or
1018a952ceSMichal Simek * modify it under the terms of the GNU General Public License as
1118a952ceSMichal Simek * published by the Free Software Foundation; either version 2 of
1218a952ceSMichal Simek * the License, or (at your option) any later version.
1344303dfaSMichal Simek */
1491d11536SMichal Simek
1544303dfaSMichal Simek/ {
1644303dfaSMichal Simek	compatible = "xlnx,zynqmp";
1744303dfaSMichal Simek	#address-cells = <2>;
1885d1142eSMichal Simek	#size-cells = <2>;
1944303dfaSMichal Simek
2044303dfaSMichal Simek	cpus {
2144303dfaSMichal Simek		#address-cells = <1>;
2244303dfaSMichal Simek		#size-cells = <0>;
2344303dfaSMichal Simek
24585ca873SMichal Simek		cpu0: cpu@0 {
2544303dfaSMichal Simek			compatible = "arm,cortex-a53", "arm,armv8";
2644303dfaSMichal Simek			device_type = "cpu";
2744303dfaSMichal Simek			enable-method = "psci";
28941f61feSShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
2944303dfaSMichal Simek			reg = <0x0>;
302e15b071SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
3144303dfaSMichal Simek		};
3244303dfaSMichal Simek
33585ca873SMichal Simek		cpu1: cpu@1 {
3444303dfaSMichal Simek			compatible = "arm,cortex-a53", "arm,armv8";
3544303dfaSMichal Simek			device_type = "cpu";
3644303dfaSMichal Simek			enable-method = "psci";
3744303dfaSMichal Simek			reg = <0x1>;
38941f61feSShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
392e15b071SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
4044303dfaSMichal Simek		};
4144303dfaSMichal Simek
42585ca873SMichal Simek		cpu2: cpu@2 {
4344303dfaSMichal Simek			compatible = "arm,cortex-a53", "arm,armv8";
4444303dfaSMichal Simek			device_type = "cpu";
4544303dfaSMichal Simek			enable-method = "psci";
4644303dfaSMichal Simek			reg = <0x2>;
47941f61feSShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
482e15b071SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
4944303dfaSMichal Simek		};
5044303dfaSMichal Simek
51585ca873SMichal Simek		cpu3: cpu@3 {
5244303dfaSMichal Simek			compatible = "arm,cortex-a53", "arm,armv8";
5344303dfaSMichal Simek			device_type = "cpu";
5444303dfaSMichal Simek			enable-method = "psci";
5544303dfaSMichal Simek			reg = <0x3>;
56941f61feSShubhrajyoti Datta			operating-points-v2 = <&cpu_opp_table>;
572e15b071SStefan Krsmanovic			cpu-idle-states = <&CPU_SLEEP_0>;
582e15b071SStefan Krsmanovic		};
592e15b071SStefan Krsmanovic
602e15b071SStefan Krsmanovic		idle-states {
61*9a06ed88SAmit Kucheria			entry-method = "psci";
622e15b071SStefan Krsmanovic
632e15b071SStefan Krsmanovic			CPU_SLEEP_0: cpu-sleep-0 {
642e15b071SStefan Krsmanovic				compatible = "arm,idle-state";
652e15b071SStefan Krsmanovic				arm,psci-suspend-param = <0x40000000>;
662e15b071SStefan Krsmanovic				local-timer-stop;
672e15b071SStefan Krsmanovic				entry-latency-us = <300>;
682e15b071SStefan Krsmanovic				exit-latency-us = <600>;
696a097b0dSJolly Shah				min-residency-us = <10000>;
702e15b071SStefan Krsmanovic			};
7144303dfaSMichal Simek		};
7244303dfaSMichal Simek	};
7344303dfaSMichal Simek
74941f61feSShubhrajyoti Datta	cpu_opp_table: cpu_opp_table {
75941f61feSShubhrajyoti Datta		compatible = "operating-points-v2";
76941f61feSShubhrajyoti Datta		opp-shared;
77941f61feSShubhrajyoti Datta		opp00 {
78941f61feSShubhrajyoti Datta			opp-hz = /bits/ 64 <1199999988>;
79941f61feSShubhrajyoti Datta			opp-microvolt = <1000000>;
80941f61feSShubhrajyoti Datta			clock-latency-ns = <500000>;
81941f61feSShubhrajyoti Datta		};
82941f61feSShubhrajyoti Datta		opp01 {
83941f61feSShubhrajyoti Datta			opp-hz = /bits/ 64 <599999994>;
84941f61feSShubhrajyoti Datta			opp-microvolt = <1000000>;
85941f61feSShubhrajyoti Datta			clock-latency-ns = <500000>;
86941f61feSShubhrajyoti Datta		};
87941f61feSShubhrajyoti Datta		opp02 {
88941f61feSShubhrajyoti Datta			opp-hz = /bits/ 64 <399999996>;
89941f61feSShubhrajyoti Datta			opp-microvolt = <1000000>;
90941f61feSShubhrajyoti Datta			clock-latency-ns = <500000>;
91941f61feSShubhrajyoti Datta		};
92941f61feSShubhrajyoti Datta		opp03 {
93941f61feSShubhrajyoti Datta			opp-hz = /bits/ 64 <299999997>;
94941f61feSShubhrajyoti Datta			opp-microvolt = <1000000>;
95941f61feSShubhrajyoti Datta			clock-latency-ns = <500000>;
96941f61feSShubhrajyoti Datta		};
97941f61feSShubhrajyoti Datta	};
98941f61feSShubhrajyoti Datta
9969d09dd7SMichal Simek	dcc: dcc {
10069d09dd7SMichal Simek		compatible = "arm,dcc";
10169d09dd7SMichal Simek		status = "disabled";
10269d09dd7SMichal Simek		u-boot,dm-pre-reloc;
10369d09dd7SMichal Simek	};
10469d09dd7SMichal Simek
10544303dfaSMichal Simek	pmu {
10644303dfaSMichal Simek		compatible = "arm,armv8-pmuv3";
10714cd9eabSMichal Simek		interrupt-parent = <&gic>;
10844303dfaSMichal Simek		interrupts = <0 143 4>,
10944303dfaSMichal Simek			     <0 144 4>,
11044303dfaSMichal Simek			     <0 145 4>,
11144303dfaSMichal Simek			     <0 146 4>;
11244303dfaSMichal Simek	};
11344303dfaSMichal Simek
11444303dfaSMichal Simek	psci {
11544303dfaSMichal Simek		compatible = "arm,psci-0.2";
11644303dfaSMichal Simek		method = "smc";
11744303dfaSMichal Simek	};
11844303dfaSMichal Simek
1198a705a2dSMichal Simek	pmufw: firmware {
12044303dfaSMichal Simek		compatible = "xlnx,zynqmp-pm";
12144303dfaSMichal Simek		method = "smc";
12219ee402dSSoren Brinkmann		interrupt-parent = <&gic>;
12319ee402dSSoren Brinkmann		interrupts = <0 35 4>;
12444303dfaSMichal Simek	};
12544303dfaSMichal Simek
12644303dfaSMichal Simek	timer {
12744303dfaSMichal Simek		compatible = "arm,armv8-timer";
12844303dfaSMichal Simek		interrupt-parent = <&gic>;
1296db82e09SMichal Simek		interrupts = <1 13 0xf08>,
1306db82e09SMichal Simek			     <1 14 0xf08>,
1316db82e09SMichal Simek			     <1 11 0xf08>,
1326db82e09SMichal Simek			     <1 10 0xf08>;
13344303dfaSMichal Simek	};
13444303dfaSMichal Simek
135aaf232f3SNaga Sureshkumar Relli	edac {
136aaf232f3SNaga Sureshkumar Relli		compatible = "arm,cortex-a53-edac";
137aaf232f3SNaga Sureshkumar Relli	};
138aaf232f3SNaga Sureshkumar Relli
1397689dce7SNava kishore Manne	fpga_full: fpga-full {
1407689dce7SNava kishore Manne		compatible = "fpga-region";
1417689dce7SNava kishore Manne		fpga-mgr = <&pcap>;
1427689dce7SNava kishore Manne		#address-cells = <2>;
1437689dce7SNava kishore Manne		#size-cells = <2>;
1447689dce7SNava kishore Manne	};
1457689dce7SNava kishore Manne
1460d87c4fdSNava kishore Manne	nvmem_firmware {
1470d87c4fdSNava kishore Manne		compatible = "xlnx,zynqmp-nvmem-fw";
1480d87c4fdSNava kishore Manne		#address-cells = <1>;
1490d87c4fdSNava kishore Manne		#size-cells = <1>;
1500d87c4fdSNava kishore Manne
1510d87c4fdSNava kishore Manne		soc_revision: soc_revision@0 {
1520d87c4fdSNava kishore Manne			reg = <0x0 0x4>;
1530d87c4fdSNava kishore Manne		};
1540d87c4fdSNava kishore Manne	};
1550d87c4fdSNava kishore Manne
1567689dce7SNava kishore Manne	pcap: pcap {
157d64e43f1SNava kishore Manne		compatible = "xlnx,zynqmp-pcap-fpga";
158d64e43f1SNava kishore Manne	};
159d64e43f1SNava kishore Manne
16098ad47bfSAnurag Kumar Vulisha	rst: reset-controller {
16198ad47bfSAnurag Kumar Vulisha		compatible = "xlnx,zynqmp-reset";
16298ad47bfSAnurag Kumar Vulisha		#reset-cells = <1>;
16398ad47bfSAnurag Kumar Vulisha	};
16498ad47bfSAnurag Kumar Vulisha
165b0c55207SMichal Simek	xlnx_dp_snd_card: dp_snd_card {
166b0c55207SMichal Simek		compatible = "xlnx,dp-snd-card";
167b0c55207SMichal Simek		status = "disabled";
168b0c55207SMichal Simek		xlnx,dp-snd-pcm = <&xlnx_dp_snd_pcm0>, <&xlnx_dp_snd_pcm1>;
169b0c55207SMichal Simek		xlnx,dp-snd-codec = <&xlnx_dp_snd_codec0>;
170b0c55207SMichal Simek	};
171b0c55207SMichal Simek
172b0c55207SMichal Simek	xlnx_dp_snd_codec0: dp_snd_codec0 {
173b0c55207SMichal Simek		compatible = "xlnx,dp-snd-codec";
174b0c55207SMichal Simek		status = "disabled";
175b0c55207SMichal Simek		clock-names = "aud_clk";
176b0c55207SMichal Simek	};
177b0c55207SMichal Simek
178b0c55207SMichal Simek	xlnx_dp_snd_pcm0: dp_snd_pcm0 {
179b0c55207SMichal Simek		compatible = "xlnx,dp-snd-pcm";
180b0c55207SMichal Simek		status = "disabled";
181b0c55207SMichal Simek		dmas = <&xlnx_dpdma 4>;
182b0c55207SMichal Simek		dma-names = "tx";
183b0c55207SMichal Simek	};
184b0c55207SMichal Simek
185b0c55207SMichal Simek	xlnx_dp_snd_pcm1: dp_snd_pcm1 {
186b0c55207SMichal Simek		compatible = "xlnx,dp-snd-pcm";
187b0c55207SMichal Simek		status = "disabled";
188b0c55207SMichal Simek		dmas = <&xlnx_dpdma 5>;
189b0c55207SMichal Simek		dma-names = "tx";
190b0c55207SMichal Simek	};
191b0c55207SMichal Simek
192b0c55207SMichal Simek	xilinx_drm: xilinx_drm {
193b0c55207SMichal Simek		compatible = "xlnx,drm";
194b0c55207SMichal Simek		status = "disabled";
195b0c55207SMichal Simek		xlnx,encoder-slave = <&xlnx_dp>;
196b0c55207SMichal Simek		xlnx,connector-type = "DisplayPort";
197b0c55207SMichal Simek		xlnx,dp-sub = <&xlnx_dp_sub>;
198b0c55207SMichal Simek		planes {
199b0c55207SMichal Simek			xlnx,pixel-format = "rgb565";
200b0c55207SMichal Simek			plane0 {
201b0c55207SMichal Simek				dmas = <&xlnx_dpdma 3>;
202b0c55207SMichal Simek				dma-names = "dma0";
203b0c55207SMichal Simek			};
204b0c55207SMichal Simek			plane1 {
205b0c55207SMichal Simek				dmas = <&xlnx_dpdma 0>,
206b0c55207SMichal Simek					<&xlnx_dpdma 1>,
207b0c55207SMichal Simek					<&xlnx_dpdma 2>;
208b0c55207SMichal Simek				dma-names = "dma0", "dma1", "dma2";
209b0c55207SMichal Simek			};
210b0c55207SMichal Simek		};
211b0c55207SMichal Simek	};
212b0c55207SMichal Simek
213c926e6fbSMichal Simek	amba_apu: amba_apu@0 {
21444303dfaSMichal Simek		compatible = "simple-bus";
21544303dfaSMichal Simek		#address-cells = <2>;
21644303dfaSMichal Simek		#size-cells = <1>;
21785d1142eSMichal Simek		ranges = <0 0 0 0 0xffffffff>;
21844303dfaSMichal Simek
21944303dfaSMichal Simek		gic: interrupt-controller@f9010000 {
22044303dfaSMichal Simek			compatible = "arm,gic-400", "arm,cortex-a15-gic";
22144303dfaSMichal Simek			#interrupt-cells = <3>;
22244303dfaSMichal Simek			reg = <0x0 0xf9010000 0x10000>,
2230a8c4f67SAlexander Graf			      <0x0 0xf9020000 0x20000>,
22444303dfaSMichal Simek			      <0x0 0xf9040000 0x20000>,
2250a8c4f67SAlexander Graf			      <0x0 0xf9060000 0x20000>;
22644303dfaSMichal Simek			interrupt-controller;
22744303dfaSMichal Simek			interrupt-parent = <&gic>;
22844303dfaSMichal Simek			interrupts = <1 9 0xf04>;
22944303dfaSMichal Simek		};
23044303dfaSMichal Simek	};
23144303dfaSMichal Simek
232b976fd63SMichal Simek	amba: amba {
23344303dfaSMichal Simek		compatible = "simple-bus";
234c9811e14SMichal Simek		u-boot,dm-pre-reloc;
23544303dfaSMichal Simek		#address-cells = <2>;
236b976fd63SMichal Simek		#size-cells = <2>;
237b976fd63SMichal Simek		ranges;
23844303dfaSMichal Simek
23944303dfaSMichal Simek		can0: can@ff060000 {
24044303dfaSMichal Simek			compatible = "xlnx,zynq-can-1.0";
24144303dfaSMichal Simek			status = "disabled";
24244303dfaSMichal Simek			clock-names = "can_clk", "pclk";
243b976fd63SMichal Simek			reg = <0x0 0xff060000 0x0 0x1000>;
24444303dfaSMichal Simek			interrupts = <0 23 4>;
24544303dfaSMichal Simek			interrupt-parent = <&gic>;
24644303dfaSMichal Simek			tx-fifo-depth = <0x40>;
24744303dfaSMichal Simek			rx-fifo-depth = <0x40>;
24844303dfaSMichal Simek		};
24944303dfaSMichal Simek
25044303dfaSMichal Simek		can1: can@ff070000 {
25144303dfaSMichal Simek			compatible = "xlnx,zynq-can-1.0";
25244303dfaSMichal Simek			status = "disabled";
25344303dfaSMichal Simek			clock-names = "can_clk", "pclk";
254b976fd63SMichal Simek			reg = <0x0 0xff070000 0x0 0x1000>;
25544303dfaSMichal Simek			interrupts = <0 24 4>;
25644303dfaSMichal Simek			interrupt-parent = <&gic>;
25744303dfaSMichal Simek			tx-fifo-depth = <0x40>;
25844303dfaSMichal Simek			rx-fifo-depth = <0x40>;
25944303dfaSMichal Simek		};
26044303dfaSMichal Simek
261ff50d21bSMichal Simek		cci: cci@fd6e0000 {
262ff50d21bSMichal Simek			compatible = "arm,cci-400";
263b976fd63SMichal Simek			reg = <0x0 0xfd6e0000 0x0 0x9000>;
264ff50d21bSMichal Simek			ranges = <0x0 0x0 0xfd6e0000 0x10000>;
265ff50d21bSMichal Simek			#address-cells = <1>;
266ff50d21bSMichal Simek			#size-cells = <1>;
267ff50d21bSMichal Simek
268ff50d21bSMichal Simek			pmu@9000 {
269ff50d21bSMichal Simek				compatible = "arm,cci-400-pmu,r1";
270ff50d21bSMichal Simek				reg = <0x9000 0x5000>;
271ff50d21bSMichal Simek				interrupt-parent = <&gic>;
272ff50d21bSMichal Simek				interrupts = <0 123 4>,
273ff50d21bSMichal Simek					     <0 123 4>,
274ff50d21bSMichal Simek					     <0 123 4>,
275ff50d21bSMichal Simek					     <0 123 4>,
276ff50d21bSMichal Simek					     <0 123 4>;
277ff50d21bSMichal Simek			};
278ff50d21bSMichal Simek		};
279ff50d21bSMichal Simek
28044303dfaSMichal Simek		/* GDMA */
28144303dfaSMichal Simek		fpd_dma_chan1: dma@fd500000 {
28244303dfaSMichal Simek			status = "disabled";
28344303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
284b976fd63SMichal Simek			reg = <0x0 0xfd500000 0x0 0x1000>;
28544303dfaSMichal Simek			interrupt-parent = <&gic>;
28644303dfaSMichal Simek			interrupts = <0 124 4>;
287b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
28844303dfaSMichal Simek			xlnx,bus-width = <128>;
289ba6ad317SMichal Simek			#stream-id-cells = <1>;
290ba6ad317SMichal Simek			iommus = <&smmu 0x14e8>;
29144303dfaSMichal Simek		};
29244303dfaSMichal Simek
29344303dfaSMichal Simek		fpd_dma_chan2: dma@fd510000 {
29444303dfaSMichal Simek			status = "disabled";
29544303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
296b976fd63SMichal Simek			reg = <0x0 0xfd510000 0x0 0x1000>;
29744303dfaSMichal Simek			interrupt-parent = <&gic>;
29844303dfaSMichal Simek			interrupts = <0 125 4>;
299b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
30044303dfaSMichal Simek			xlnx,bus-width = <128>;
301ba6ad317SMichal Simek			#stream-id-cells = <1>;
302ba6ad317SMichal Simek			iommus = <&smmu 0x14e9>;
30344303dfaSMichal Simek		};
30444303dfaSMichal Simek
30544303dfaSMichal Simek		fpd_dma_chan3: dma@fd520000 {
30644303dfaSMichal Simek			status = "disabled";
30744303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
308b976fd63SMichal Simek			reg = <0x0 0xfd520000 0x0 0x1000>;
30944303dfaSMichal Simek			interrupt-parent = <&gic>;
31044303dfaSMichal Simek			interrupts = <0 126 4>;
311b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
31244303dfaSMichal Simek			xlnx,bus-width = <128>;
313ba6ad317SMichal Simek			#stream-id-cells = <1>;
314ba6ad317SMichal Simek			iommus = <&smmu 0x14ea>;
31544303dfaSMichal Simek		};
31644303dfaSMichal Simek
31744303dfaSMichal Simek		fpd_dma_chan4: dma@fd530000 {
31844303dfaSMichal Simek			status = "disabled";
31944303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
320b976fd63SMichal Simek			reg = <0x0 0xfd530000 0x0 0x1000>;
32144303dfaSMichal Simek			interrupt-parent = <&gic>;
32244303dfaSMichal Simek			interrupts = <0 127 4>;
323b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
32444303dfaSMichal Simek			xlnx,bus-width = <128>;
325ba6ad317SMichal Simek			#stream-id-cells = <1>;
326ba6ad317SMichal Simek			iommus = <&smmu 0x14eb>;
32744303dfaSMichal Simek		};
32844303dfaSMichal Simek
32944303dfaSMichal Simek		fpd_dma_chan5: dma@fd540000 {
33044303dfaSMichal Simek			status = "disabled";
33144303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
332b976fd63SMichal Simek			reg = <0x0 0xfd540000 0x0 0x1000>;
33344303dfaSMichal Simek			interrupt-parent = <&gic>;
33444303dfaSMichal Simek			interrupts = <0 128 4>;
335b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
33644303dfaSMichal Simek			xlnx,bus-width = <128>;
337ba6ad317SMichal Simek			#stream-id-cells = <1>;
338ba6ad317SMichal Simek			iommus = <&smmu 0x14ec>;
33944303dfaSMichal Simek		};
34044303dfaSMichal Simek
34144303dfaSMichal Simek		fpd_dma_chan6: dma@fd550000 {
34244303dfaSMichal Simek			status = "disabled";
34344303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
344b976fd63SMichal Simek			reg = <0x0 0xfd550000 0x0 0x1000>;
34544303dfaSMichal Simek			interrupt-parent = <&gic>;
34644303dfaSMichal Simek			interrupts = <0 129 4>;
347b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
34844303dfaSMichal Simek			xlnx,bus-width = <128>;
349ba6ad317SMichal Simek			#stream-id-cells = <1>;
350ba6ad317SMichal Simek			iommus = <&smmu 0x14ed>;
35144303dfaSMichal Simek		};
35244303dfaSMichal Simek
35344303dfaSMichal Simek		fpd_dma_chan7: dma@fd560000 {
35444303dfaSMichal Simek			status = "disabled";
35544303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
356b976fd63SMichal Simek			reg = <0x0 0xfd560000 0x0 0x1000>;
35744303dfaSMichal Simek			interrupt-parent = <&gic>;
35844303dfaSMichal Simek			interrupts = <0 130 4>;
359b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
36044303dfaSMichal Simek			xlnx,bus-width = <128>;
361ba6ad317SMichal Simek			#stream-id-cells = <1>;
362ba6ad317SMichal Simek			iommus = <&smmu 0x14ee>;
36344303dfaSMichal Simek		};
36444303dfaSMichal Simek
36544303dfaSMichal Simek		fpd_dma_chan8: dma@fd570000 {
36644303dfaSMichal Simek			status = "disabled";
36744303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
368b976fd63SMichal Simek			reg = <0x0 0xfd570000 0x0 0x1000>;
36944303dfaSMichal Simek			interrupt-parent = <&gic>;
37044303dfaSMichal Simek			interrupts = <0 131 4>;
371b34d11deSVNSL Durga			clock-names = "clk_main", "clk_apb";
37244303dfaSMichal Simek			xlnx,bus-width = <128>;
373ba6ad317SMichal Simek			#stream-id-cells = <1>;
374ba6ad317SMichal Simek			iommus = <&smmu 0x14ef>;
37544303dfaSMichal Simek		};
37644303dfaSMichal Simek
37744303dfaSMichal Simek		gpu: gpu@fd4b0000 {
37844303dfaSMichal Simek			status = "disabled";
37944303dfaSMichal Simek			compatible = "arm,mali-400", "arm,mali-utgard";
380834ec8e9SHyun Kwon			reg = <0x0 0xfd4b0000 0x0 0x10000>;
38144303dfaSMichal Simek			interrupt-parent = <&gic>;
38244303dfaSMichal Simek			interrupts = <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>;
38344303dfaSMichal Simek			interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";
38459206dd1SMadhurkiran Harikrishnan			clock-names = "gpu", "gpu_pp0", "gpu_pp1";
38544303dfaSMichal Simek		};
38644303dfaSMichal Simek
3876af57737SKedareswara rao Appana		/* LPDDMA default allows only secured access. inorder to enable
3886af57737SKedareswara rao Appana		 * These dma channels, Users should ensure that these dma
3896af57737SKedareswara rao Appana		 * Channels are allowed for non secure access.
3906af57737SKedareswara rao Appana		 */
39144303dfaSMichal Simek		lpd_dma_chan1: dma@ffa80000 {
39244303dfaSMichal Simek			status = "disabled";
39344303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
394b976fd63SMichal Simek			reg = <0x0 0xffa80000 0x0 0x1000>;
39544303dfaSMichal Simek			interrupt-parent = <&gic>;
39644303dfaSMichal Simek			interrupts = <0 77 4>;
397680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
39844303dfaSMichal Simek			xlnx,bus-width = <64>;
399ba6ad317SMichal Simek			#stream-id-cells = <1>;
400ba6ad317SMichal Simek			iommus = <&smmu 0x868>;
40144303dfaSMichal Simek		};
40244303dfaSMichal Simek
40344303dfaSMichal Simek		lpd_dma_chan2: dma@ffa90000 {
40444303dfaSMichal Simek			status = "disabled";
40544303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
406b976fd63SMichal Simek			reg = <0x0 0xffa90000 0x0 0x1000>;
40744303dfaSMichal Simek			interrupt-parent = <&gic>;
40844303dfaSMichal Simek			interrupts = <0 78 4>;
409680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
41044303dfaSMichal Simek			xlnx,bus-width = <64>;
411ba6ad317SMichal Simek			#stream-id-cells = <1>;
412ba6ad317SMichal Simek			iommus = <&smmu 0x869>;
41344303dfaSMichal Simek		};
41444303dfaSMichal Simek
41544303dfaSMichal Simek		lpd_dma_chan3: dma@ffaa0000 {
41644303dfaSMichal Simek			status = "disabled";
41744303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
418b976fd63SMichal Simek			reg = <0x0 0xffaa0000 0x0 0x1000>;
41944303dfaSMichal Simek			interrupt-parent = <&gic>;
42044303dfaSMichal Simek			interrupts = <0 79 4>;
421680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
42244303dfaSMichal Simek			xlnx,bus-width = <64>;
423ba6ad317SMichal Simek			#stream-id-cells = <1>;
424ba6ad317SMichal Simek			iommus = <&smmu 0x86a>;
42544303dfaSMichal Simek		};
42644303dfaSMichal Simek
42744303dfaSMichal Simek		lpd_dma_chan4: dma@ffab0000 {
42844303dfaSMichal Simek			status = "disabled";
42944303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
430b976fd63SMichal Simek			reg = <0x0 0xffab0000 0x0 0x1000>;
43144303dfaSMichal Simek			interrupt-parent = <&gic>;
43244303dfaSMichal Simek			interrupts = <0 80 4>;
433680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
43444303dfaSMichal Simek			xlnx,bus-width = <64>;
435ba6ad317SMichal Simek			#stream-id-cells = <1>;
436ba6ad317SMichal Simek			iommus = <&smmu 0x86b>;
43744303dfaSMichal Simek		};
43844303dfaSMichal Simek
43944303dfaSMichal Simek		lpd_dma_chan5: dma@ffac0000 {
44044303dfaSMichal Simek			status = "disabled";
44144303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
442b976fd63SMichal Simek			reg = <0x0 0xffac0000 0x0 0x1000>;
44344303dfaSMichal Simek			interrupt-parent = <&gic>;
44444303dfaSMichal Simek			interrupts = <0 81 4>;
445680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
44644303dfaSMichal Simek			xlnx,bus-width = <64>;
447ba6ad317SMichal Simek			#stream-id-cells = <1>;
448ba6ad317SMichal Simek			iommus = <&smmu 0x86c>;
44944303dfaSMichal Simek		};
45044303dfaSMichal Simek
45144303dfaSMichal Simek		lpd_dma_chan6: dma@ffad0000 {
45244303dfaSMichal Simek			status = "disabled";
45344303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
454b976fd63SMichal Simek			reg = <0x0 0xffad0000 0x0 0x1000>;
45544303dfaSMichal Simek			interrupt-parent = <&gic>;
45644303dfaSMichal Simek			interrupts = <0 82 4>;
457680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
45844303dfaSMichal Simek			xlnx,bus-width = <64>;
459ba6ad317SMichal Simek			#stream-id-cells = <1>;
460ba6ad317SMichal Simek			iommus = <&smmu 0x86d>;
46144303dfaSMichal Simek		};
46244303dfaSMichal Simek
46344303dfaSMichal Simek		lpd_dma_chan7: dma@ffae0000 {
46444303dfaSMichal Simek			status = "disabled";
46544303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
466b976fd63SMichal Simek			reg = <0x0 0xffae0000 0x0 0x1000>;
46744303dfaSMichal Simek			interrupt-parent = <&gic>;
46844303dfaSMichal Simek			interrupts = <0 83 4>;
469680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
47044303dfaSMichal Simek			xlnx,bus-width = <64>;
471ba6ad317SMichal Simek			#stream-id-cells = <1>;
472ba6ad317SMichal Simek			iommus = <&smmu 0x86e>;
47344303dfaSMichal Simek		};
47444303dfaSMichal Simek
47544303dfaSMichal Simek		lpd_dma_chan8: dma@ffaf0000 {
47644303dfaSMichal Simek			status = "disabled";
47744303dfaSMichal Simek			compatible = "xlnx,zynqmp-dma-1.0";
478b976fd63SMichal Simek			reg = <0x0 0xffaf0000 0x0 0x1000>;
47944303dfaSMichal Simek			interrupt-parent = <&gic>;
48044303dfaSMichal Simek			interrupts = <0 84 4>;
481680e9976SMichal Simek			clock-names = "clk_main", "clk_apb";
48244303dfaSMichal Simek			xlnx,bus-width = <64>;
483ba6ad317SMichal Simek			#stream-id-cells = <1>;
484ba6ad317SMichal Simek			iommus = <&smmu 0x86f>;
48544303dfaSMichal Simek		};
48644303dfaSMichal Simek
48790869009SNaga Sureshkumar Relli		mc: memory-controller@fd070000 {
48890869009SNaga Sureshkumar Relli			compatible = "xlnx,zynqmp-ddrc-2.40a";
489b976fd63SMichal Simek			reg = <0x0 0xfd070000 0x0 0x30000>;
49090869009SNaga Sureshkumar Relli			interrupt-parent = <&gic>;
49190869009SNaga Sureshkumar Relli			interrupts = <0 112 4>;
49290869009SNaga Sureshkumar Relli		};
49390869009SNaga Sureshkumar Relli
49444303dfaSMichal Simek		nand0: nand@ff100000 {
49544303dfaSMichal Simek			compatible = "arasan,nfc-v3p10";
49644303dfaSMichal Simek			status = "disabled";
497b976fd63SMichal Simek			reg = <0x0 0xff100000 0x0 0x1000>;
49844303dfaSMichal Simek			clock-names = "clk_sys", "clk_flash";
49944303dfaSMichal Simek			interrupt-parent = <&gic>;
50044303dfaSMichal Simek			interrupts = <0 14 4>;
50144303dfaSMichal Simek			#address-cells = <2>;
50244303dfaSMichal Simek			#size-cells = <1>;
503ba6ad317SMichal Simek			#stream-id-cells = <1>;
504ba6ad317SMichal Simek			iommus = <&smmu 0x872>;
50544303dfaSMichal Simek		};
50644303dfaSMichal Simek
50744303dfaSMichal Simek		gem0: ethernet@ff0b0000 {
508da2ad784SMichal Simek			compatible = "cdns,zynqmp-gem";
50944303dfaSMichal Simek			status = "disabled";
51044303dfaSMichal Simek			interrupt-parent = <&gic>;
51144303dfaSMichal Simek			interrupts = <0 57 4>, <0 57 4>;
512b976fd63SMichal Simek			reg = <0x0 0xff0b0000 0x0 0x1000>;
51344303dfaSMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
51444303dfaSMichal Simek			#address-cells = <1>;
51544303dfaSMichal Simek			#size-cells = <0>;
5167f1d7d97SEdgar E. Iglesias			#stream-id-cells = <1>;
517ba6ad317SMichal Simek			iommus = <&smmu 0x874>;
51844303dfaSMichal Simek		};
51944303dfaSMichal Simek
52044303dfaSMichal Simek		gem1: ethernet@ff0c0000 {
521da2ad784SMichal Simek			compatible = "cdns,zynqmp-gem";
52244303dfaSMichal Simek			status = "disabled";
52344303dfaSMichal Simek			interrupt-parent = <&gic>;
52444303dfaSMichal Simek			interrupts = <0 59 4>, <0 59 4>;
525b976fd63SMichal Simek			reg = <0x0 0xff0c0000 0x0 0x1000>;
52644303dfaSMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
52744303dfaSMichal Simek			#address-cells = <1>;
52844303dfaSMichal Simek			#size-cells = <0>;
5297f1d7d97SEdgar E. Iglesias			#stream-id-cells = <1>;
530ba6ad317SMichal Simek			iommus = <&smmu 0x875>;
53144303dfaSMichal Simek		};
53244303dfaSMichal Simek
53344303dfaSMichal Simek		gem2: ethernet@ff0d0000 {
534da2ad784SMichal Simek			compatible = "cdns,zynqmp-gem";
53544303dfaSMichal Simek			status = "disabled";
53644303dfaSMichal Simek			interrupt-parent = <&gic>;
53744303dfaSMichal Simek			interrupts = <0 61 4>, <0 61 4>;
538b976fd63SMichal Simek			reg = <0x0 0xff0d0000 0x0 0x1000>;
53944303dfaSMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
54044303dfaSMichal Simek			#address-cells = <1>;
54144303dfaSMichal Simek			#size-cells = <0>;
5427f1d7d97SEdgar E. Iglesias			#stream-id-cells = <1>;
543ba6ad317SMichal Simek			iommus = <&smmu 0x876>;
54444303dfaSMichal Simek		};
54544303dfaSMichal Simek
54644303dfaSMichal Simek		gem3: ethernet@ff0e0000 {
547da2ad784SMichal Simek			compatible = "cdns,zynqmp-gem";
54844303dfaSMichal Simek			status = "disabled";
54944303dfaSMichal Simek			interrupt-parent = <&gic>;
55044303dfaSMichal Simek			interrupts = <0 63 4>, <0 63 4>;
551b976fd63SMichal Simek			reg = <0x0 0xff0e0000 0x0 0x1000>;
55244303dfaSMichal Simek			clock-names = "pclk", "hclk", "tx_clk";
55344303dfaSMichal Simek			#address-cells = <1>;
55444303dfaSMichal Simek			#size-cells = <0>;
5557f1d7d97SEdgar E. Iglesias			#stream-id-cells = <1>;
556ba6ad317SMichal Simek			iommus = <&smmu 0x877>;
55744303dfaSMichal Simek		};
55844303dfaSMichal Simek
55944303dfaSMichal Simek		gpio: gpio@ff0a0000 {
56044303dfaSMichal Simek			compatible = "xlnx,zynqmp-gpio-1.0";
56144303dfaSMichal Simek			status = "disabled";
56244303dfaSMichal Simek			#gpio-cells = <0x2>;
56344303dfaSMichal Simek			interrupt-parent = <&gic>;
56444303dfaSMichal Simek			interrupts = <0 16 4>;
5659e826b68SMichal Simek			interrupt-controller;
5669e826b68SMichal Simek			#interrupt-cells = <2>;
567b976fd63SMichal Simek			reg = <0x0 0xff0a0000 0x0 0x1000>;
5680b33e0b1SMichal Simek			gpio-controller;
56944303dfaSMichal Simek		};
57044303dfaSMichal Simek
57144303dfaSMichal Simek		i2c0: i2c@ff020000 {
572de4914b4SMoritz Fischer			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
57344303dfaSMichal Simek			status = "disabled";
57444303dfaSMichal Simek			interrupt-parent = <&gic>;
57544303dfaSMichal Simek			interrupts = <0 17 4>;
576b976fd63SMichal Simek			reg = <0x0 0xff020000 0x0 0x1000>;
57744303dfaSMichal Simek			#address-cells = <1>;
57844303dfaSMichal Simek			#size-cells = <0>;
57944303dfaSMichal Simek		};
58044303dfaSMichal Simek
58144303dfaSMichal Simek		i2c1: i2c@ff030000 {
582de4914b4SMoritz Fischer			compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
58344303dfaSMichal Simek			status = "disabled";
58444303dfaSMichal Simek			interrupt-parent = <&gic>;
58544303dfaSMichal Simek			interrupts = <0 18 4>;
586b976fd63SMichal Simek			reg = <0x0 0xff030000 0x0 0x1000>;
58744303dfaSMichal Simek			#address-cells = <1>;
58844303dfaSMichal Simek			#size-cells = <0>;
58944303dfaSMichal Simek		};
59044303dfaSMichal Simek
5915534480aSNaga Sureshkumar Relli		ocm: memory-controller@ff960000 {
5925534480aSNaga Sureshkumar Relli			compatible = "xlnx,zynqmp-ocmc-1.0";
593b976fd63SMichal Simek			reg = <0x0 0xff960000 0x0 0x1000>;
5945534480aSNaga Sureshkumar Relli			interrupt-parent = <&gic>;
5955534480aSNaga Sureshkumar Relli			interrupts = <0 10 4>;
5965534480aSNaga Sureshkumar Relli		};
5975534480aSNaga Sureshkumar Relli
59844303dfaSMichal Simek		pcie: pcie@fd0e0000 {
59944303dfaSMichal Simek			compatible = "xlnx,nwl-pcie-2.11";
60044303dfaSMichal Simek			status = "disabled";
60144303dfaSMichal Simek			#address-cells = <3>;
60244303dfaSMichal Simek			#size-cells = <2>;
60344303dfaSMichal Simek			#interrupt-cells = <1>;
6047d6ca73aSBharat Kumar Gogada			msi-controller;
60544303dfaSMichal Simek			device_type = "pci";
60644303dfaSMichal Simek			interrupt-parent = <&gic>;
60744303dfaSMichal Simek			interrupts = <0 118 4>,
6087d6ca73aSBharat Kumar Gogada				     <0 117 4>,
60944303dfaSMichal Simek				     <0 116 4>,
61044303dfaSMichal Simek				     <0 115 4>,	/* MSI_1 [63...32] */
61144303dfaSMichal Simek				     <0 114 4>;	/* MSI_0 [31...0] */
612680e9976SMichal Simek			interrupt-names = "misc", "dummy", "intx",
613680e9976SMichal Simek					  "msi1", "msi0";
6147d6ca73aSBharat Kumar Gogada			msi-parent = <&pcie>;
615b976fd63SMichal Simek			reg = <0x0 0xfd0e0000 0x0 0x1000>,
616b976fd63SMichal Simek			      <0x0 0xfd480000 0x0 0x1000>,
617688d1be5SBharat Kumar Gogada			      <0x80 0x00000000 0x0 0x1000000>;
61844303dfaSMichal Simek			reg-names = "breg", "pcireg", "cfg";
619688d1be5SBharat Kumar Gogada			ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000	/* non-prefetchable memory */
620688d1be5SBharat Kumar Gogada				  0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
621ec2b2d4cSRob Herring			bus-range = <0x00 0xff>;
62233aec517SBharat Kumar Gogada			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
62333aec517SBharat Kumar Gogada			interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
62433aec517SBharat Kumar Gogada					<0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
62533aec517SBharat Kumar Gogada					<0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
62633aec517SBharat Kumar Gogada					<0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
62733aec517SBharat Kumar Gogada			pcie_intc: legacy-interrupt-controller {
62833aec517SBharat Kumar Gogada				interrupt-controller;
62933aec517SBharat Kumar Gogada				#address-cells = <0>;
63033aec517SBharat Kumar Gogada				#interrupt-cells = <1>;
63133aec517SBharat Kumar Gogada			};
63244303dfaSMichal Simek		};
63344303dfaSMichal Simek
63444303dfaSMichal Simek		qspi: spi@ff0f0000 {
63524124abeSMichal Simek			u-boot,dm-pre-reloc;
63644303dfaSMichal Simek			compatible = "xlnx,zynqmp-qspi-1.0";
63744303dfaSMichal Simek			status = "disabled";
63844303dfaSMichal Simek			clock-names = "ref_clk", "pclk";
63944303dfaSMichal Simek			interrupts = <0 15 4>;
64044303dfaSMichal Simek			interrupt-parent = <&gic>;
64144303dfaSMichal Simek			num-cs = <1>;
642b976fd63SMichal Simek			reg = <0x0 0xff0f0000 0x0 0x1000>,
643b976fd63SMichal Simek			      <0x0 0xc0000000 0x0 0x8000000>;
64444303dfaSMichal Simek			#address-cells = <1>;
64544303dfaSMichal Simek			#size-cells = <0>;
646ba6ad317SMichal Simek			#stream-id-cells = <1>;
647ba6ad317SMichal Simek			iommus = <&smmu 0x873>;
64844303dfaSMichal Simek		};
64944303dfaSMichal Simek
65044303dfaSMichal Simek		rtc: rtc@ffa60000 {
65144303dfaSMichal Simek			compatible = "xlnx,zynqmp-rtc";
65244303dfaSMichal Simek			status = "disabled";
653b976fd63SMichal Simek			reg = <0x0 0xffa60000 0x0 0x100>;
65444303dfaSMichal Simek			interrupt-parent = <&gic>;
65544303dfaSMichal Simek			interrupts = <0 26 4>, <0 27 4>;
65644303dfaSMichal Simek			interrupt-names = "alarm", "sec";
6574d9d6985SNava kishore Manne			calibration = <0x8000>;
65844303dfaSMichal Simek		};
65944303dfaSMichal Simek
660db6c62e1SAnurag Kumar Vulisha		serdes: zynqmp_phy@fd400000 {
661db6c62e1SAnurag Kumar Vulisha			compatible = "xlnx,zynqmp-psgtr";
662db6c62e1SAnurag Kumar Vulisha			status = "disabled";
663b976fd63SMichal Simek			reg = <0x0 0xfd400000 0x0 0x40000>,
664b976fd63SMichal Simek			      <0x0 0xfd3d0000 0x0 0x1000>,
665b976fd63SMichal Simek			      <0x0 0xff5e0000 0x0 0x1000>;
6660aada397SAnurag Kumar Vulisha			reg-names = "serdes", "siou", "lpd";
6673940bca4SMichal Simek			nvmem-cells = <&soc_revision>;
6683940bca4SMichal Simek			nvmem-cell-names = "soc_revision";
66998ad47bfSAnurag Kumar Vulisha			resets = <&rst 16>, <&rst 59>, <&rst 60>,
67098ad47bfSAnurag Kumar Vulisha				 <&rst 61>, <&rst 62>, <&rst 63>,
67198ad47bfSAnurag Kumar Vulisha				 <&rst 64>, <&rst 3>, <&rst 29>,
67298ad47bfSAnurag Kumar Vulisha				 <&rst 30>, <&rst 31>, <&rst 32>;
67398ad47bfSAnurag Kumar Vulisha			reset-names = "sata_rst", "usb0_crst", "usb1_crst",
67498ad47bfSAnurag Kumar Vulisha				      "usb0_hibrst", "usb1_hibrst", "usb0_apbrst",
67598ad47bfSAnurag Kumar Vulisha				      "usb1_apbrst", "dp_rst", "gem0_rst",
67698ad47bfSAnurag Kumar Vulisha				      "gem1_rst", "gem2_rst", "gem3_rst";
677db6c62e1SAnurag Kumar Vulisha			lane0: lane0 {
678db6c62e1SAnurag Kumar Vulisha				#phy-cells = <4>;
679db6c62e1SAnurag Kumar Vulisha			};
680db6c62e1SAnurag Kumar Vulisha			lane1: lane1 {
681db6c62e1SAnurag Kumar Vulisha				#phy-cells = <4>;
682db6c62e1SAnurag Kumar Vulisha			};
683db6c62e1SAnurag Kumar Vulisha			lane2: lane2 {
684db6c62e1SAnurag Kumar Vulisha				#phy-cells = <4>;
685db6c62e1SAnurag Kumar Vulisha			};
686db6c62e1SAnurag Kumar Vulisha			lane3: lane3 {
687db6c62e1SAnurag Kumar Vulisha				#phy-cells = <4>;
688db6c62e1SAnurag Kumar Vulisha			};
689db6c62e1SAnurag Kumar Vulisha		};
690db6c62e1SAnurag Kumar Vulisha
69144303dfaSMichal Simek		sata: ahci@fd0c0000 {
69244303dfaSMichal Simek			compatible = "ceva,ahci-1v84";
69344303dfaSMichal Simek			status = "disabled";
694b976fd63SMichal Simek			reg = <0x0 0xfd0c0000 0x0 0x2000>;
69544303dfaSMichal Simek			interrupt-parent = <&gic>;
69644303dfaSMichal Simek			interrupts = <0 133 4>;
697110d06b2SAnurag Kumar Vulisha			#stream-id-cells = <4>;
698110d06b2SAnurag Kumar Vulisha			iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
699110d06b2SAnurag Kumar Vulisha				 <&smmu 0x4c2>, <&smmu 0x4c3>;
700110d06b2SAnurag Kumar Vulisha			/* dma-coherent; */
70144303dfaSMichal Simek		};
70244303dfaSMichal Simek
703e7c9de66SSiva Durga Prasad Paladugu		sdhci0: mmc@ff160000 {
704c9811e14SMichal Simek			u-boot,dm-pre-reloc;
7050488a5e1SSai Krishna Potthuri			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
70644303dfaSMichal Simek			status = "disabled";
70744303dfaSMichal Simek			interrupt-parent = <&gic>;
70844303dfaSMichal Simek			interrupts = <0 48 4>;
709b976fd63SMichal Simek			reg = <0x0 0xff160000 0x0 0x1000>;
71044303dfaSMichal Simek			clock-names = "clk_xin", "clk_ahb";
7110488a5e1SSai Krishna Potthuri			xlnx,device_id = <0>;
712ba6ad317SMichal Simek			#stream-id-cells = <1>;
713ba6ad317SMichal Simek			iommus = <&smmu 0x870>;
7145e3c90d2SManish Narani			nvmem-cells = <&soc_revision>;
7155e3c90d2SManish Narani			nvmem-cell-names = "soc_revision";
71644303dfaSMichal Simek		};
71744303dfaSMichal Simek
718e7c9de66SSiva Durga Prasad Paladugu		sdhci1: mmc@ff170000 {
719c9811e14SMichal Simek			u-boot,dm-pre-reloc;
7200488a5e1SSai Krishna Potthuri			compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
72144303dfaSMichal Simek			status = "disabled";
72244303dfaSMichal Simek			interrupt-parent = <&gic>;
72344303dfaSMichal Simek			interrupts = <0 49 4>;
724b976fd63SMichal Simek			reg = <0x0 0xff170000 0x0 0x1000>;
72544303dfaSMichal Simek			clock-names = "clk_xin", "clk_ahb";
7260488a5e1SSai Krishna Potthuri			xlnx,device_id = <1>;
727ba6ad317SMichal Simek			#stream-id-cells = <1>;
728ba6ad317SMichal Simek			iommus = <&smmu 0x871>;
7295e3c90d2SManish Narani			nvmem-cells = <&soc_revision>;
7305e3c90d2SManish Narani			nvmem-cell-names = "soc_revision";
73144303dfaSMichal Simek		};
73244303dfaSMichal Simek
7339c77cb73SMichal Simek		pinctrl0: pinctrl@ff180000 {
7349c77cb73SMichal Simek			compatible = "xlnx,pinctrl-zynqmp";
7359c77cb73SMichal Simek			status = "disabled";
7369c77cb73SMichal Simek			reg = <0x0 0xff180000 0x0 0x1000>;
7379c77cb73SMichal Simek		};
7389c77cb73SMichal Simek
73944303dfaSMichal Simek		smmu: smmu@fd800000 {
74044303dfaSMichal Simek			compatible = "arm,mmu-500";
741b976fd63SMichal Simek			reg = <0x0 0xfd800000 0x0 0x20000>;
742ba6ad317SMichal Simek			#iommu-cells = <1>;
74310f2a292SNaga Sureshkumar Relli			status = "disabled";
74444303dfaSMichal Simek			#global-interrupts = <1>;
74544303dfaSMichal Simek			interrupt-parent = <&gic>;
74688a85aacSEdgar E. Iglesias			interrupts = <0 155 4>,
74788a85aacSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
74888a85aacSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
74988a85aacSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
75088a85aacSEdgar E. Iglesias				<0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
75144303dfaSMichal Simek		};
75244303dfaSMichal Simek
75344303dfaSMichal Simek		spi0: spi@ff040000 {
75444303dfaSMichal Simek			compatible = "cdns,spi-r1p6";
75544303dfaSMichal Simek			status = "disabled";
75644303dfaSMichal Simek			interrupt-parent = <&gic>;
75744303dfaSMichal Simek			interrupts = <0 19 4>;
758b976fd63SMichal Simek			reg = <0x0 0xff040000 0x0 0x1000>;
75944303dfaSMichal Simek			clock-names = "ref_clk", "pclk";
76044303dfaSMichal Simek			#address-cells = <1>;
76144303dfaSMichal Simek			#size-cells = <0>;
76244303dfaSMichal Simek		};
76344303dfaSMichal Simek
76444303dfaSMichal Simek		spi1: spi@ff050000 {
76544303dfaSMichal Simek			compatible = "cdns,spi-r1p6";
76644303dfaSMichal Simek			status = "disabled";
76744303dfaSMichal Simek			interrupt-parent = <&gic>;
76844303dfaSMichal Simek			interrupts = <0 20 4>;
769b976fd63SMichal Simek			reg = <0x0 0xff050000 0x0 0x1000>;
77044303dfaSMichal Simek			clock-names = "ref_clk", "pclk";
77144303dfaSMichal Simek			#address-cells = <1>;
77244303dfaSMichal Simek			#size-cells = <0>;
77344303dfaSMichal Simek		};
77444303dfaSMichal Simek
77544303dfaSMichal Simek		ttc0: timer@ff110000 {
77644303dfaSMichal Simek			compatible = "cdns,ttc";
77744303dfaSMichal Simek			status = "disabled";
77844303dfaSMichal Simek			interrupt-parent = <&gic>;
77944303dfaSMichal Simek			interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
780b976fd63SMichal Simek			reg = <0x0 0xff110000 0x0 0x1000>;
78144303dfaSMichal Simek			timer-width = <32>;
78244303dfaSMichal Simek		};
78344303dfaSMichal Simek
78444303dfaSMichal Simek		ttc1: timer@ff120000 {
78544303dfaSMichal Simek			compatible = "cdns,ttc";
78644303dfaSMichal Simek			status = "disabled";
78744303dfaSMichal Simek			interrupt-parent = <&gic>;
78844303dfaSMichal Simek			interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
789b976fd63SMichal Simek			reg = <0x0 0xff120000 0x0 0x1000>;
79044303dfaSMichal Simek			timer-width = <32>;
79144303dfaSMichal Simek		};
79244303dfaSMichal Simek
79344303dfaSMichal Simek		ttc2: timer@ff130000 {
79444303dfaSMichal Simek			compatible = "cdns,ttc";
79544303dfaSMichal Simek			status = "disabled";
79644303dfaSMichal Simek			interrupt-parent = <&gic>;
79744303dfaSMichal Simek			interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
798b976fd63SMichal Simek			reg = <0x0 0xff130000 0x0 0x1000>;
79944303dfaSMichal Simek			timer-width = <32>;
80044303dfaSMichal Simek		};
80144303dfaSMichal Simek
80244303dfaSMichal Simek		ttc3: timer@ff140000 {
80344303dfaSMichal Simek			compatible = "cdns,ttc";
80444303dfaSMichal Simek			status = "disabled";
80544303dfaSMichal Simek			interrupt-parent = <&gic>;
80644303dfaSMichal Simek			interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
807b976fd63SMichal Simek			reg = <0x0 0xff140000 0x0 0x1000>;
80844303dfaSMichal Simek			timer-width = <32>;
80944303dfaSMichal Simek		};
81044303dfaSMichal Simek
81144303dfaSMichal Simek		uart0: serial@ff000000 {
812c9811e14SMichal Simek			u-boot,dm-pre-reloc;
813ca2f5878SMichal Simek			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
81444303dfaSMichal Simek			status = "disabled";
81544303dfaSMichal Simek			interrupt-parent = <&gic>;
81644303dfaSMichal Simek			interrupts = <0 21 4>;
817b976fd63SMichal Simek			reg = <0x0 0xff000000 0x0 0x1000>;
81844303dfaSMichal Simek			clock-names = "uart_clk", "pclk";
81944303dfaSMichal Simek		};
82044303dfaSMichal Simek
82144303dfaSMichal Simek		uart1: serial@ff010000 {
822c9811e14SMichal Simek			u-boot,dm-pre-reloc;
823ca2f5878SMichal Simek			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
82444303dfaSMichal Simek			status = "disabled";
82544303dfaSMichal Simek			interrupt-parent = <&gic>;
82644303dfaSMichal Simek			interrupts = <0 22 4>;
827b976fd63SMichal Simek			reg = <0x0 0xff010000 0x0 0x1000>;
82844303dfaSMichal Simek			clock-names = "uart_clk", "pclk";
82944303dfaSMichal Simek		};
83044303dfaSMichal Simek
831f7346ef1SManish Narani		usb0: usb0@ff9d0000 {
832a84de48eSMichal Simek			#address-cells = <2>;
833b976fd63SMichal Simek			#size-cells = <2>;
834a84de48eSMichal Simek			status = "disabled";
835a84de48eSMichal Simek			compatible = "xlnx,zynqmp-dwc3";
836f7346ef1SManish Narani			reg = <0x0 0xff9d0000 0x0 0x100>;
837a84de48eSMichal Simek			clock-names = "bus_clk", "ref_clk";
838a84de48eSMichal Simek			ranges;
8398e5a4e6fSAnurag Kumar Vulisha			nvmem-cells = <&soc_revision>;
8408e5a4e6fSAnurag Kumar Vulisha			nvmem-cell-names = "soc_revision";
841a84de48eSMichal Simek
842a84de48eSMichal Simek			dwc3_0: dwc3@fe200000 {
84344303dfaSMichal Simek				compatible = "snps,dwc3";
84444303dfaSMichal Simek				status = "disabled";
845b976fd63SMichal Simek				reg = <0x0 0xfe200000 0x0 0x40000>;
84644303dfaSMichal Simek				interrupt-parent = <&gic>;
8472ef98667SManish Narani				interrupts = <0 65 4>, <0 69 4>;
8488861dcf2SAnurag Kumar Vulisha				#stream-id-cells = <1>;
8498861dcf2SAnurag Kumar Vulisha				iommus = <&smmu 0x860>;
850397a08abSAnurag Kumar Vulisha				snps,quirk-frame-length-adjustment = <0x20>;
851a84de48eSMichal Simek				snps,refclk_fladj;
852f7346ef1SManish Narani				/* dma-coherent; */
853a84de48eSMichal Simek			};
85444303dfaSMichal Simek		};
85544303dfaSMichal Simek
856f7346ef1SManish Narani		usb1: usb1@ff9e0000 {
857a84de48eSMichal Simek			#address-cells = <2>;
858b976fd63SMichal Simek			#size-cells = <2>;
859a84de48eSMichal Simek			status = "disabled";
860a84de48eSMichal Simek			compatible = "xlnx,zynqmp-dwc3";
861f7346ef1SManish Narani			reg = <0x0 0xff9e0000 0x0 0x100>;
862a84de48eSMichal Simek			clock-names = "bus_clk", "ref_clk";
863a84de48eSMichal Simek			ranges;
8648e5a4e6fSAnurag Kumar Vulisha			nvmem-cells = <&soc_revision>;
8658e5a4e6fSAnurag Kumar Vulisha			nvmem-cell-names = "soc_revision";
866a84de48eSMichal Simek
867a84de48eSMichal Simek			dwc3_1: dwc3@fe300000 {
86844303dfaSMichal Simek				compatible = "snps,dwc3";
86944303dfaSMichal Simek				status = "disabled";
870b976fd63SMichal Simek				reg = <0x0 0xfe300000 0x0 0x40000>;
87144303dfaSMichal Simek				interrupt-parent = <&gic>;
8722ef98667SManish Narani				interrupts = <0 70 4>, <0 74 4>;
8738861dcf2SAnurag Kumar Vulisha				#stream-id-cells = <1>;
8748861dcf2SAnurag Kumar Vulisha				iommus = <&smmu 0x861>;
875397a08abSAnurag Kumar Vulisha				snps,quirk-frame-length-adjustment = <0x20>;
876a84de48eSMichal Simek				snps,refclk_fladj;
877f7346ef1SManish Narani				/* dma-coherent; */
878a84de48eSMichal Simek			};
87944303dfaSMichal Simek		};
88044303dfaSMichal Simek
88144303dfaSMichal Simek		watchdog0: watchdog@fd4d0000 {
88244303dfaSMichal Simek			compatible = "cdns,wdt-r1p2";
88344303dfaSMichal Simek			status = "disabled";
88444303dfaSMichal Simek			interrupt-parent = <&gic>;
885d3fd433fSPunnaiah Choudary Kalluri			interrupts = <0 113 1>;
886b976fd63SMichal Simek			reg = <0x0 0xfd4d0000 0x0 0x1000>;
8873c8ee337SMounika Grace Akula			timeout-sec = <60>;
8883c8ee337SMounika Grace Akula			reset-on-timeout;
88944303dfaSMichal Simek		};
89044303dfaSMichal Simek
891795ebc0eSMichal Simek		xilinx_ams: ams@ffa50000 {
892795ebc0eSMichal Simek			compatible = "xlnx,zynqmp-ams";
893795ebc0eSMichal Simek			status = "disabled";
894795ebc0eSMichal Simek			interrupt-parent = <&gic>;
895795ebc0eSMichal Simek			interrupts = <0 56 4>;
896795ebc0eSMichal Simek			interrupt-names = "ams-irq";
897795ebc0eSMichal Simek			reg = <0x0 0xffa50000 0x0 0x800>;
898795ebc0eSMichal Simek			reg-names = "ams-base";
899795ebc0eSMichal Simek			#address-cells = <2>;
900795ebc0eSMichal Simek			#size-cells = <2>;
901795ebc0eSMichal Simek			#io-channel-cells = <1>;
902795ebc0eSMichal Simek			ranges;
903795ebc0eSMichal Simek
904795ebc0eSMichal Simek			ams_ps: ams_ps@ffa50800 {
905795ebc0eSMichal Simek				compatible = "xlnx,zynqmp-ams-ps";
906795ebc0eSMichal Simek				status = "disabled";
907795ebc0eSMichal Simek				reg = <0x0 0xffa50800 0x0 0x400>;
908795ebc0eSMichal Simek			};
909795ebc0eSMichal Simek
910795ebc0eSMichal Simek			ams_pl: ams_pl@ffa50c00 {
911795ebc0eSMichal Simek				compatible = "xlnx,zynqmp-ams-pl";
912795ebc0eSMichal Simek				status = "disabled";
913795ebc0eSMichal Simek				reg = <0x0 0xffa50c00 0x0 0x400>;
914795ebc0eSMichal Simek			};
915795ebc0eSMichal Simek		};
916795ebc0eSMichal Simek
917695d75a1SHyun Kwon		xlnx_dp: dp@fd4a0000 {
91844303dfaSMichal Simek			compatible = "xlnx,v-dp";
91944303dfaSMichal Simek			status = "disabled";
920b976fd63SMichal Simek			reg = <0x0 0xfd4a0000 0x0 0x1000>;
92144303dfaSMichal Simek			interrupts = <0 119 4>;
92244303dfaSMichal Simek			interrupt-parent = <&gic>;
92344303dfaSMichal Simek			clock-names = "aclk", "aud_clk";
92444303dfaSMichal Simek			xlnx,dp-version = "v1.2";
92544303dfaSMichal Simek			xlnx,max-lanes = <2>;
92644303dfaSMichal Simek			xlnx,max-link-rate = <540000>;
92744303dfaSMichal Simek			xlnx,max-bpc = <16>;
92844303dfaSMichal Simek			xlnx,enable-ycrcb;
92944303dfaSMichal Simek			xlnx,colormetry = "rgb";
93044303dfaSMichal Simek			xlnx,bpc = <8>;
93144303dfaSMichal Simek			xlnx,audio-chan = <2>;
93244303dfaSMichal Simek			xlnx,dp-sub = <&xlnx_dp_sub>;
933939cfeafSHyun Kwon			xlnx,max-pclock-frequency = <300000>;
93444303dfaSMichal Simek		};
93544303dfaSMichal Simek
936695d75a1SHyun Kwon		xlnx_dp_sub: dp_sub@fd4aa000 {
93744303dfaSMichal Simek			compatible = "xlnx,dp-sub";
93844303dfaSMichal Simek			status = "disabled";
939b976fd63SMichal Simek			reg = <0x0 0xfd4aa000 0x0 0x1000>,
940b976fd63SMichal Simek			      <0x0 0xfd4ab000 0x0 0x1000>,
941b976fd63SMichal Simek			      <0x0 0xfd4ac000 0x0 0x1000>;
94244303dfaSMichal Simek			reg-names = "blend", "av_buf", "aud";
94344303dfaSMichal Simek			xlnx,output-fmt = "rgb";
944939cfeafSHyun Kwon			xlnx,vid-fmt = "yuyv";
945939cfeafSHyun Kwon			xlnx,gfx-fmt = "rgb565";
94644303dfaSMichal Simek		};
94744303dfaSMichal Simek
94844303dfaSMichal Simek		xlnx_dpdma: dma@fd4c0000 {
94944303dfaSMichal Simek			compatible = "xlnx,dpdma";
95044303dfaSMichal Simek			status = "disabled";
951b976fd63SMichal Simek			reg = <0x0 0xfd4c0000 0x0 0x1000>;
95244303dfaSMichal Simek			interrupts = <0 122 4>;
95344303dfaSMichal Simek			interrupt-parent = <&gic>;
95444303dfaSMichal Simek			clock-names = "axi_clk";
95544303dfaSMichal Simek			dma-channels = <6>;
95644303dfaSMichal Simek			#dma-cells = <1>;
957c926e6fbSMichal Simek			dma-video0channel {
95844303dfaSMichal Simek				compatible = "xlnx,video0";
95944303dfaSMichal Simek			};
960c926e6fbSMichal Simek			dma-video1channel {
96144303dfaSMichal Simek				compatible = "xlnx,video1";
96244303dfaSMichal Simek			};
963c926e6fbSMichal Simek			dma-video2channel {
96444303dfaSMichal Simek				compatible = "xlnx,video2";
96544303dfaSMichal Simek			};
966c926e6fbSMichal Simek			dma-graphicschannel {
96744303dfaSMichal Simek				compatible = "xlnx,graphics";
96844303dfaSMichal Simek			};
969c926e6fbSMichal Simek			dma-audio0channel {
97044303dfaSMichal Simek				compatible = "xlnx,audio0";
97144303dfaSMichal Simek			};
972c926e6fbSMichal Simek			dma-audio1channel {
97344303dfaSMichal Simek				compatible = "xlnx,audio1";
97444303dfaSMichal Simek			};
97544303dfaSMichal Simek		};
97644303dfaSMichal Simek	};
97744303dfaSMichal Simek};
978