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