xref: /openbmc/u-boot/arch/arm/dts/zynq-zc702.dts (revision e9cf6ec5160d457af1423ffe9ce254754b4cdde5)
15ab502cbSMasahiro Yamada/*
25ab502cbSMasahiro Yamada * Xilinx ZC702 board DTS
35ab502cbSMasahiro Yamada *
4999667caSMichal Simek *  Copyright (C) 2011 - 2015 Xilinx
5999667caSMichal Simek *  Copyright (C) 2012 National Instruments Corp.
65ab502cbSMasahiro Yamada *
75ab502cbSMasahiro Yamada * SPDX-License-Identifier:	GPL-2.0+
85ab502cbSMasahiro Yamada */
95ab502cbSMasahiro Yamada/dts-v1/;
105ab502cbSMasahiro Yamada#include "zynq-7000.dtsi"
115ab502cbSMasahiro Yamada
125ab502cbSMasahiro Yamada/ {
13999667caSMichal Simek	model = "Zynq ZC702 Development Board";
145ab502cbSMasahiro Yamada	compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";
157d34c5deSMasahiro Yamada
169f9d41baSMasahiro Yamada	aliases {
17999667caSMichal Simek		ethernet0 = &gem0;
18999667caSMichal Simek		i2c0 = &i2c0;
199f9d41baSMasahiro Yamada		serial0 = &uart1;
20*e9cf6ec5SJagan Teki		spi0 = &qspi;
219f9d41baSMasahiro Yamada	};
229f9d41baSMasahiro Yamada
237d34c5deSMasahiro Yamada	memory {
247d34c5deSMasahiro Yamada		device_type = "memory";
25999667caSMichal Simek		reg = <0x0 0x40000000>;
267d34c5deSMasahiro Yamada	};
27999667caSMichal Simek
28999667caSMichal Simek	chosen {
29999667caSMichal Simek		bootargs = "earlyprintk";
30999667caSMichal Simek		stdout-path = "serial0:115200n8";
31999667caSMichal Simek	};
32999667caSMichal Simek
3391f9f172SMichal Simek	gpio-keys {
3491f9f172SMichal Simek		compatible = "gpio-keys";
3591f9f172SMichal Simek		#address-cells = <1>;
3691f9f172SMichal Simek		#size-cells = <0>;
3791f9f172SMichal Simek		autorepeat;
3891f9f172SMichal Simek		sw14 {
3991f9f172SMichal Simek			label = "sw14";
4091f9f172SMichal Simek			gpios = <&gpio0 12 0>;
4191f9f172SMichal Simek			linux,code = <108>; /* down */
4291f9f172SMichal Simek			gpio-key,wakeup;
4391f9f172SMichal Simek			autorepeat;
4491f9f172SMichal Simek		};
4591f9f172SMichal Simek		sw13 {
4691f9f172SMichal Simek			label = "sw13";
4791f9f172SMichal Simek			gpios = <&gpio0 14 0>;
4891f9f172SMichal Simek			linux,code = <103>; /* up */
4991f9f172SMichal Simek			gpio-key,wakeup;
5091f9f172SMichal Simek			autorepeat;
5191f9f172SMichal Simek		};
5291f9f172SMichal Simek	};
5391f9f172SMichal Simek
54999667caSMichal Simek	leds {
55999667caSMichal Simek		compatible = "gpio-leds";
56999667caSMichal Simek
57999667caSMichal Simek		ds23 {
58999667caSMichal Simek			label = "ds23";
59999667caSMichal Simek			gpios = <&gpio0 10 0>;
60999667caSMichal Simek			linux,default-trigger = "heartbeat";
61999667caSMichal Simek		};
62999667caSMichal Simek	};
63999667caSMichal Simek
64999667caSMichal Simek	usb_phy0: phy0 {
65999667caSMichal Simek		compatible = "usb-nop-xceiv";
66999667caSMichal Simek		#phy-cells = <0>;
67999667caSMichal Simek	};
68999667caSMichal Simek};
69999667caSMichal Simek
70999667caSMichal Simek&amba {
71999667caSMichal Simek	ocm: sram@fffc0000 {
72999667caSMichal Simek		compatible = "mmio-sram";
73999667caSMichal Simek		reg = <0xfffc0000 0x10000>;
74999667caSMichal Simek	};
75999667caSMichal Simek};
76999667caSMichal Simek
77999667caSMichal Simek&can0 {
78999667caSMichal Simek	status = "okay";
79999667caSMichal Simek	pinctrl-names = "default";
80999667caSMichal Simek	pinctrl-0 = <&pinctrl_can0_default>;
81999667caSMichal Simek};
82999667caSMichal Simek
83999667caSMichal Simek&clkc {
84999667caSMichal Simek	ps-clk-frequency = <33333333>;
85999667caSMichal Simek};
86999667caSMichal Simek
87999667caSMichal Simek&gem0 {
88999667caSMichal Simek	status = "okay";
89999667caSMichal Simek	phy-mode = "rgmii-id";
90999667caSMichal Simek	phy-handle = <&ethernet_phy>;
91999667caSMichal Simek	pinctrl-names = "default";
92999667caSMichal Simek	pinctrl-0 = <&pinctrl_gem0_default>;
93999667caSMichal Simek
94999667caSMichal Simek	ethernet_phy: ethernet-phy@7 {
95999667caSMichal Simek		reg = <7>;
96999667caSMichal Simek	};
97999667caSMichal Simek};
98999667caSMichal Simek
99999667caSMichal Simek&gpio0 {
100999667caSMichal Simek	pinctrl-names = "default";
101999667caSMichal Simek	pinctrl-0 = <&pinctrl_gpio0_default>;
102999667caSMichal Simek};
103999667caSMichal Simek
104999667caSMichal Simek&i2c0 {
105999667caSMichal Simek	status = "okay";
106999667caSMichal Simek	clock-frequency = <400000>;
107999667caSMichal Simek	pinctrl-names = "default";
108999667caSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
109999667caSMichal Simek
110999667caSMichal Simek	i2cswitch@74 {
111999667caSMichal Simek		compatible = "nxp,pca9548";
112999667caSMichal Simek		#address-cells = <1>;
113999667caSMichal Simek		#size-cells = <0>;
114999667caSMichal Simek		reg = <0x74>;
115999667caSMichal Simek
116999667caSMichal Simek		i2c@0 {
117999667caSMichal Simek			#address-cells = <1>;
118999667caSMichal Simek			#size-cells = <0>;
119999667caSMichal Simek			reg = <0>;
120999667caSMichal Simek			si570: clock-generator@5d {
121999667caSMichal Simek				#clock-cells = <0>;
122999667caSMichal Simek				compatible = "silabs,si570";
123999667caSMichal Simek				temperature-stability = <50>;
124999667caSMichal Simek				reg = <0x5d>;
125999667caSMichal Simek				factory-fout = <156250000>;
126999667caSMichal Simek				clock-frequency = <148500000>;
127999667caSMichal Simek			};
128999667caSMichal Simek		};
129999667caSMichal Simek
130999667caSMichal Simek		i2c@2 {
131999667caSMichal Simek			#address-cells = <1>;
132999667caSMichal Simek			#size-cells = <0>;
133999667caSMichal Simek			reg = <2>;
134999667caSMichal Simek			eeprom@54 {
135999667caSMichal Simek				compatible = "at,24c08";
136999667caSMichal Simek				reg = <0x54>;
137999667caSMichal Simek			};
138999667caSMichal Simek		};
139999667caSMichal Simek
140999667caSMichal Simek		i2c@3 {
141999667caSMichal Simek			#address-cells = <1>;
142999667caSMichal Simek			#size-cells = <0>;
143999667caSMichal Simek			reg = <3>;
144999667caSMichal Simek			gpio@21 {
145999667caSMichal Simek				compatible = "ti,tca6416";
146999667caSMichal Simek				reg = <0x21>;
147999667caSMichal Simek				gpio-controller;
148999667caSMichal Simek				#gpio-cells = <2>;
149999667caSMichal Simek			};
150999667caSMichal Simek		};
151999667caSMichal Simek
152999667caSMichal Simek		i2c@4 {
153999667caSMichal Simek			#address-cells = <1>;
154999667caSMichal Simek			#size-cells = <0>;
155999667caSMichal Simek			reg = <4>;
156999667caSMichal Simek			rtc@51 {
157999667caSMichal Simek				compatible = "nxp,pcf8563";
158999667caSMichal Simek				reg = <0x51>;
159999667caSMichal Simek			};
160999667caSMichal Simek		};
161999667caSMichal Simek
162999667caSMichal Simek		i2c@7 {
163999667caSMichal Simek			#address-cells = <1>;
164999667caSMichal Simek			#size-cells = <0>;
165999667caSMichal Simek			reg = <7>;
166999667caSMichal Simek			hwmon@52 {
167999667caSMichal Simek				compatible = "ti,ucd9248";
168999667caSMichal Simek				reg = <52>;
169999667caSMichal Simek			};
170999667caSMichal Simek			hwmon@53 {
171999667caSMichal Simek				compatible = "ti,ucd9248";
172999667caSMichal Simek				reg = <53>;
173999667caSMichal Simek			};
174999667caSMichal Simek			hwmon@54 {
175999667caSMichal Simek				compatible = "ti,ucd9248";
176999667caSMichal Simek				reg = <54>;
177999667caSMichal Simek			};
178999667caSMichal Simek		};
179999667caSMichal Simek	};
180999667caSMichal Simek};
181999667caSMichal Simek
182999667caSMichal Simek&pinctrl0 {
183999667caSMichal Simek	pinctrl_can0_default: can0-default {
184999667caSMichal Simek		mux {
185999667caSMichal Simek			function = "can0";
186999667caSMichal Simek			groups = "can0_9_grp";
187999667caSMichal Simek		};
188999667caSMichal Simek
189999667caSMichal Simek		conf {
190999667caSMichal Simek			groups = "can0_9_grp";
191999667caSMichal Simek			slew-rate = <0>;
192999667caSMichal Simek			io-standard = <1>;
193999667caSMichal Simek		};
194999667caSMichal Simek
195999667caSMichal Simek		conf-rx {
196999667caSMichal Simek			pins = "MIO46";
197999667caSMichal Simek			bias-high-impedance;
198999667caSMichal Simek		};
199999667caSMichal Simek
200999667caSMichal Simek		conf-tx {
201999667caSMichal Simek			pins = "MIO47";
202999667caSMichal Simek			bias-disable;
203999667caSMichal Simek		};
204999667caSMichal Simek	};
205999667caSMichal Simek
206999667caSMichal Simek	pinctrl_gem0_default: gem0-default {
207999667caSMichal Simek		mux {
208999667caSMichal Simek			function = "ethernet0";
209999667caSMichal Simek			groups = "ethernet0_0_grp";
210999667caSMichal Simek		};
211999667caSMichal Simek
212999667caSMichal Simek		conf {
213999667caSMichal Simek			groups = "ethernet0_0_grp";
214999667caSMichal Simek			slew-rate = <0>;
215999667caSMichal Simek			io-standard = <4>;
216999667caSMichal Simek		};
217999667caSMichal Simek
218999667caSMichal Simek		conf-rx {
219999667caSMichal Simek			pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
220999667caSMichal Simek			bias-high-impedance;
221999667caSMichal Simek			low-power-disable;
222999667caSMichal Simek		};
223999667caSMichal Simek
224999667caSMichal Simek		conf-tx {
225999667caSMichal Simek			pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
226999667caSMichal Simek			bias-disable;
227999667caSMichal Simek			low-power-enable;
228999667caSMichal Simek		};
229999667caSMichal Simek
230999667caSMichal Simek		mux-mdio {
231999667caSMichal Simek			function = "mdio0";
232999667caSMichal Simek			groups = "mdio0_0_grp";
233999667caSMichal Simek		};
234999667caSMichal Simek
235999667caSMichal Simek		conf-mdio {
236999667caSMichal Simek			groups = "mdio0_0_grp";
237999667caSMichal Simek			slew-rate = <0>;
238999667caSMichal Simek			io-standard = <1>;
239999667caSMichal Simek			bias-disable;
240999667caSMichal Simek		};
241999667caSMichal Simek	};
242999667caSMichal Simek
243999667caSMichal Simek	pinctrl_gpio0_default: gpio0-default {
244999667caSMichal Simek		mux {
245999667caSMichal Simek			function = "gpio0";
246999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
247999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
248999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
249999667caSMichal Simek		};
250999667caSMichal Simek
251999667caSMichal Simek		conf {
252999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
253999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
254999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
255999667caSMichal Simek			slew-rate = <0>;
256999667caSMichal Simek			io-standard = <1>;
257999667caSMichal Simek		};
258999667caSMichal Simek
259999667caSMichal Simek		conf-pull-up {
260999667caSMichal Simek			pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
261999667caSMichal Simek			bias-pull-up;
262999667caSMichal Simek		};
263999667caSMichal Simek
264999667caSMichal Simek		conf-pull-none {
265999667caSMichal Simek			pins = "MIO7", "MIO8";
266999667caSMichal Simek			bias-disable;
267999667caSMichal Simek		};
268999667caSMichal Simek	};
269999667caSMichal Simek
270999667caSMichal Simek	pinctrl_i2c0_default: i2c0-default {
271999667caSMichal Simek		mux {
272999667caSMichal Simek			groups = "i2c0_10_grp";
273999667caSMichal Simek			function = "i2c0";
274999667caSMichal Simek		};
275999667caSMichal Simek
276999667caSMichal Simek		conf {
277999667caSMichal Simek			groups = "i2c0_10_grp";
278999667caSMichal Simek			bias-pull-up;
279999667caSMichal Simek			slew-rate = <0>;
280999667caSMichal Simek			io-standard = <1>;
281999667caSMichal Simek		};
282999667caSMichal Simek	};
283999667caSMichal Simek
284999667caSMichal Simek	pinctrl_sdhci0_default: sdhci0-default {
285999667caSMichal Simek		mux {
286999667caSMichal Simek			groups = "sdio0_2_grp";
287999667caSMichal Simek			function = "sdio0";
288999667caSMichal Simek		};
289999667caSMichal Simek
290999667caSMichal Simek		conf {
291999667caSMichal Simek			groups = "sdio0_2_grp";
292999667caSMichal Simek			slew-rate = <0>;
293999667caSMichal Simek			io-standard = <1>;
294999667caSMichal Simek			bias-disable;
295999667caSMichal Simek		};
296999667caSMichal Simek
297999667caSMichal Simek		mux-cd {
298999667caSMichal Simek			groups = "gpio0_0_grp";
299999667caSMichal Simek			function = "sdio0_cd";
300999667caSMichal Simek		};
301999667caSMichal Simek
302999667caSMichal Simek		conf-cd {
303999667caSMichal Simek			groups = "gpio0_0_grp";
304999667caSMichal Simek			bias-high-impedance;
305999667caSMichal Simek			bias-pull-up;
306999667caSMichal Simek			slew-rate = <0>;
307999667caSMichal Simek			io-standard = <1>;
308999667caSMichal Simek		};
309999667caSMichal Simek
310999667caSMichal Simek		mux-wp {
311999667caSMichal Simek			groups = "gpio0_15_grp";
312999667caSMichal Simek			function = "sdio0_wp";
313999667caSMichal Simek		};
314999667caSMichal Simek
315999667caSMichal Simek		conf-wp {
316999667caSMichal Simek			groups = "gpio0_15_grp";
317999667caSMichal Simek			bias-high-impedance;
318999667caSMichal Simek			bias-pull-up;
319999667caSMichal Simek			slew-rate = <0>;
320999667caSMichal Simek			io-standard = <1>;
321999667caSMichal Simek		};
322999667caSMichal Simek	};
323999667caSMichal Simek
324999667caSMichal Simek	pinctrl_uart1_default: uart1-default {
325999667caSMichal Simek		mux {
326999667caSMichal Simek			groups = "uart1_10_grp";
327999667caSMichal Simek			function = "uart1";
328999667caSMichal Simek		};
329999667caSMichal Simek
330999667caSMichal Simek		conf {
331999667caSMichal Simek			groups = "uart1_10_grp";
332999667caSMichal Simek			slew-rate = <0>;
333999667caSMichal Simek			io-standard = <1>;
334999667caSMichal Simek		};
335999667caSMichal Simek
336999667caSMichal Simek		conf-rx {
337999667caSMichal Simek			pins = "MIO49";
338999667caSMichal Simek			bias-high-impedance;
339999667caSMichal Simek		};
340999667caSMichal Simek
341999667caSMichal Simek		conf-tx {
342999667caSMichal Simek			pins = "MIO48";
343999667caSMichal Simek			bias-disable;
344999667caSMichal Simek		};
345999667caSMichal Simek	};
346999667caSMichal Simek
347999667caSMichal Simek	pinctrl_usb0_default: usb0-default {
348999667caSMichal Simek		mux {
349999667caSMichal Simek			groups = "usb0_0_grp";
350999667caSMichal Simek			function = "usb0";
351999667caSMichal Simek		};
352999667caSMichal Simek
353999667caSMichal Simek		conf {
354999667caSMichal Simek			groups = "usb0_0_grp";
355999667caSMichal Simek			slew-rate = <0>;
356999667caSMichal Simek			io-standard = <1>;
357999667caSMichal Simek		};
358999667caSMichal Simek
359999667caSMichal Simek		conf-rx {
360999667caSMichal Simek			pins = "MIO29", "MIO31", "MIO36";
361999667caSMichal Simek			bias-high-impedance;
362999667caSMichal Simek		};
363999667caSMichal Simek
364999667caSMichal Simek		conf-tx {
365999667caSMichal Simek			pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
366999667caSMichal Simek			       "MIO35", "MIO37", "MIO38", "MIO39";
367999667caSMichal Simek			bias-disable;
368999667caSMichal Simek		};
369999667caSMichal Simek	};
370999667caSMichal Simek};
371999667caSMichal Simek
372999667caSMichal Simek&sdhci0 {
373999667caSMichal Simek	status = "okay";
374999667caSMichal Simek	pinctrl-names = "default";
375999667caSMichal Simek	pinctrl-0 = <&pinctrl_sdhci0_default>;
376999667caSMichal Simek};
377999667caSMichal Simek
378999667caSMichal Simek&uart1 {
379999667caSMichal Simek	status = "okay";
380999667caSMichal Simek	pinctrl-names = "default";
381999667caSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
382999667caSMichal Simek};
383999667caSMichal Simek
384*e9cf6ec5SJagan Teki&qspi {
385*e9cf6ec5SJagan Teki	status = "okay";
386*e9cf6ec5SJagan Teki};
387*e9cf6ec5SJagan Teki
388999667caSMichal Simek&usb0 {
389999667caSMichal Simek	status = "okay";
390999667caSMichal Simek	dr_mode = "host";
391999667caSMichal Simek	usb-phy = <&usb_phy0>;
392999667caSMichal Simek	pinctrl-names = "default";
393999667caSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
3945ab502cbSMasahiro Yamada};
395