xref: /openbmc/u-boot/arch/arm/dts/zynq-zc702.dts (revision 051a8ad7bb9fa05c4b2ae74d9059d4f7157d5fd1)
1*051a8ad7SMichal Simek// SPDX-License-Identifier: GPL-2.0+
25ab502cbSMasahiro Yamada/*
3999667caSMichal Simek *  Copyright (C) 2011 - 2015 Xilinx
4999667caSMichal Simek *  Copyright (C) 2012 National Instruments Corp.
55ab502cbSMasahiro Yamada */
65ab502cbSMasahiro Yamada/dts-v1/;
75ab502cbSMasahiro Yamada#include "zynq-7000.dtsi"
85ab502cbSMasahiro Yamada
95ab502cbSMasahiro Yamada/ {
10999667caSMichal Simek	model = "Zynq ZC702 Development Board";
115ab502cbSMasahiro Yamada	compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";
127d34c5deSMasahiro Yamada
139f9d41baSMasahiro Yamada	aliases {
14999667caSMichal Simek		ethernet0 = &gem0;
15999667caSMichal Simek		i2c0 = &i2c0;
169f9d41baSMasahiro Yamada		serial0 = &uart1;
17e9cf6ec5SJagan Teki		spi0 = &qspi;
18d9ae52c8SMichal Simek		mmc0 = &sdhci0;
199f9d41baSMasahiro Yamada	};
209f9d41baSMasahiro Yamada
21cc7978beSMichal Simek	memory@0 {
227d34c5deSMasahiro Yamada		device_type = "memory";
23999667caSMichal Simek		reg = <0x0 0x40000000>;
247d34c5deSMasahiro Yamada	};
25999667caSMichal Simek
26999667caSMichal Simek	chosen {
27936bbc5dSMichal Simek		bootargs = "";
28999667caSMichal Simek		stdout-path = "serial0:115200n8";
29999667caSMichal Simek	};
30999667caSMichal Simek
3191f9f172SMichal Simek	gpio-keys {
3291f9f172SMichal Simek		compatible = "gpio-keys";
3391f9f172SMichal Simek		#address-cells = <1>;
3491f9f172SMichal Simek		#size-cells = <0>;
3591f9f172SMichal Simek		autorepeat;
3691f9f172SMichal Simek		sw14 {
3791f9f172SMichal Simek			label = "sw14";
3891f9f172SMichal Simek			gpios = <&gpio0 12 0>;
3991f9f172SMichal Simek			linux,code = <108>; /* down */
40a930ca57SSudeep Holla			wakeup-source;
4191f9f172SMichal Simek			autorepeat;
4291f9f172SMichal Simek		};
4391f9f172SMichal Simek		sw13 {
4491f9f172SMichal Simek			label = "sw13";
4591f9f172SMichal Simek			gpios = <&gpio0 14 0>;
4691f9f172SMichal Simek			linux,code = <103>; /* up */
47a930ca57SSudeep Holla			wakeup-source;
4891f9f172SMichal Simek			autorepeat;
4991f9f172SMichal Simek		};
5091f9f172SMichal Simek	};
5191f9f172SMichal Simek
52999667caSMichal Simek	leds {
53999667caSMichal Simek		compatible = "gpio-leds";
54999667caSMichal Simek
55999667caSMichal Simek		ds23 {
56999667caSMichal Simek			label = "ds23";
57999667caSMichal Simek			gpios = <&gpio0 10 0>;
58999667caSMichal Simek			linux,default-trigger = "heartbeat";
59999667caSMichal Simek		};
60999667caSMichal Simek	};
61999667caSMichal Simek
62999667caSMichal Simek	usb_phy0: phy0 {
63999667caSMichal Simek		compatible = "usb-nop-xceiv";
64999667caSMichal Simek		#phy-cells = <0>;
65999667caSMichal Simek	};
66999667caSMichal Simek};
67999667caSMichal Simek
68999667caSMichal Simek&amba {
69999667caSMichal Simek	ocm: sram@fffc0000 {
70999667caSMichal Simek		compatible = "mmio-sram";
71999667caSMichal Simek		reg = <0xfffc0000 0x10000>;
72999667caSMichal Simek	};
73999667caSMichal Simek};
74999667caSMichal Simek
75999667caSMichal Simek&can0 {
76999667caSMichal Simek	status = "okay";
77999667caSMichal Simek	pinctrl-names = "default";
78999667caSMichal Simek	pinctrl-0 = <&pinctrl_can0_default>;
79999667caSMichal Simek};
80999667caSMichal Simek
81999667caSMichal Simek&clkc {
82999667caSMichal Simek	ps-clk-frequency = <33333333>;
83999667caSMichal Simek};
84999667caSMichal Simek
85999667caSMichal Simek&gem0 {
86999667caSMichal Simek	status = "okay";
87999667caSMichal Simek	phy-mode = "rgmii-id";
88999667caSMichal Simek	phy-handle = <&ethernet_phy>;
89999667caSMichal Simek	pinctrl-names = "default";
90999667caSMichal Simek	pinctrl-0 = <&pinctrl_gem0_default>;
91c9132b1eSPunnaiah Choudary Kalluri	phy-reset-gpio = <&gpio0 11 0>;
92c9132b1eSPunnaiah Choudary Kalluri	phy-reset-active-low;
93999667caSMichal Simek
94999667caSMichal Simek	ethernet_phy: ethernet-phy@7 {
95999667caSMichal Simek		reg = <7>;
965fad1ab3SSai Pavan Boddu		device_type = "ethernet-phy";
97999667caSMichal Simek	};
98999667caSMichal Simek};
99999667caSMichal Simek
100999667caSMichal Simek&gpio0 {
101999667caSMichal Simek	pinctrl-names = "default";
102999667caSMichal Simek	pinctrl-0 = <&pinctrl_gpio0_default>;
103999667caSMichal Simek};
104999667caSMichal Simek
105999667caSMichal Simek&i2c0 {
106999667caSMichal Simek	status = "okay";
107999667caSMichal Simek	clock-frequency = <400000>;
10857bcc7fdSChirag Parekh	pinctrl-names = "default", "gpio";
109999667caSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
11057bcc7fdSChirag Parekh	pinctrl-1 = <&pinctrl_i2c0_gpio>;
11157bcc7fdSChirag Parekh	scl-gpios = <&gpio0 50 0>;
11257bcc7fdSChirag Parekh	sda-gpios = <&gpio0 51 0>;
113999667caSMichal Simek
114999667caSMichal Simek	i2cswitch@74 {
115999667caSMichal Simek		compatible = "nxp,pca9548";
116999667caSMichal Simek		#address-cells = <1>;
117999667caSMichal Simek		#size-cells = <0>;
118999667caSMichal Simek		reg = <0x74>;
119999667caSMichal Simek
120999667caSMichal Simek		i2c@0 {
121999667caSMichal Simek			#address-cells = <1>;
122999667caSMichal Simek			#size-cells = <0>;
123999667caSMichal Simek			reg = <0>;
124999667caSMichal Simek			si570: clock-generator@5d {
125999667caSMichal Simek				#clock-cells = <0>;
126999667caSMichal Simek				compatible = "silabs,si570";
127999667caSMichal Simek				temperature-stability = <50>;
128999667caSMichal Simek				reg = <0x5d>;
129999667caSMichal Simek				factory-fout = <156250000>;
130999667caSMichal Simek				clock-frequency = <148500000>;
131999667caSMichal Simek			};
132999667caSMichal Simek		};
133999667caSMichal Simek
134169050e4SChristian Kohn		i2c@1 {
135169050e4SChristian Kohn			#address-cells = <1>;
136169050e4SChristian Kohn			#size-cells = <0>;
137169050e4SChristian Kohn			reg = <1>;
138169050e4SChristian Kohn			adv7511: hdmi-tx@39 {
139169050e4SChristian Kohn				compatible = "adi,adv7511";
140169050e4SChristian Kohn				reg = <0x39>;
141169050e4SChristian Kohn				adi,input-depth = <8>;
142169050e4SChristian Kohn				adi,input-colorspace = "yuv422";
143169050e4SChristian Kohn				adi,input-clock = "1x";
144169050e4SChristian Kohn				adi,input-style = <3>;
145169050e4SChristian Kohn				adi,input-justification = "right";
146169050e4SChristian Kohn			};
147169050e4SChristian Kohn		};
148169050e4SChristian Kohn
149999667caSMichal Simek		i2c@2 {
150999667caSMichal Simek			#address-cells = <1>;
151999667caSMichal Simek			#size-cells = <0>;
152999667caSMichal Simek			reg = <2>;
153999667caSMichal Simek			eeprom@54 {
154999667caSMichal Simek				compatible = "at,24c08";
155999667caSMichal Simek				reg = <0x54>;
156999667caSMichal Simek			};
157999667caSMichal Simek		};
158999667caSMichal Simek
159999667caSMichal Simek		i2c@3 {
160999667caSMichal Simek			#address-cells = <1>;
161999667caSMichal Simek			#size-cells = <0>;
162999667caSMichal Simek			reg = <3>;
163999667caSMichal Simek			gpio@21 {
164999667caSMichal Simek				compatible = "ti,tca6416";
165999667caSMichal Simek				reg = <0x21>;
166999667caSMichal Simek				gpio-controller;
167999667caSMichal Simek				#gpio-cells = <2>;
168999667caSMichal Simek			};
169999667caSMichal Simek		};
170999667caSMichal Simek
171999667caSMichal Simek		i2c@4 {
172999667caSMichal Simek			#address-cells = <1>;
173999667caSMichal Simek			#size-cells = <0>;
174999667caSMichal Simek			reg = <4>;
175999667caSMichal Simek			rtc@51 {
176999667caSMichal Simek				compatible = "nxp,pcf8563";
177999667caSMichal Simek				reg = <0x51>;
178999667caSMichal Simek			};
179999667caSMichal Simek		};
180999667caSMichal Simek
181999667caSMichal Simek		i2c@7 {
182999667caSMichal Simek			#address-cells = <1>;
183999667caSMichal Simek			#size-cells = <0>;
184999667caSMichal Simek			reg = <7>;
185999667caSMichal Simek			hwmon@52 {
186999667caSMichal Simek				compatible = "ti,ucd9248";
187999667caSMichal Simek				reg = <52>;
188999667caSMichal Simek			};
189999667caSMichal Simek			hwmon@53 {
190999667caSMichal Simek				compatible = "ti,ucd9248";
191999667caSMichal Simek				reg = <53>;
192999667caSMichal Simek			};
193999667caSMichal Simek			hwmon@54 {
194999667caSMichal Simek				compatible = "ti,ucd9248";
195999667caSMichal Simek				reg = <54>;
196999667caSMichal Simek			};
197999667caSMichal Simek		};
198999667caSMichal Simek	};
199999667caSMichal Simek};
200999667caSMichal Simek
201999667caSMichal Simek&pinctrl0 {
202999667caSMichal Simek	pinctrl_can0_default: can0-default {
203999667caSMichal Simek		mux {
204999667caSMichal Simek			function = "can0";
205999667caSMichal Simek			groups = "can0_9_grp";
206999667caSMichal Simek		};
207999667caSMichal Simek
208999667caSMichal Simek		conf {
209999667caSMichal Simek			groups = "can0_9_grp";
210999667caSMichal Simek			slew-rate = <0>;
211999667caSMichal Simek			io-standard = <1>;
212999667caSMichal Simek		};
213999667caSMichal Simek
214999667caSMichal Simek		conf-rx {
215999667caSMichal Simek			pins = "MIO46";
216999667caSMichal Simek			bias-high-impedance;
217999667caSMichal Simek		};
218999667caSMichal Simek
219999667caSMichal Simek		conf-tx {
220999667caSMichal Simek			pins = "MIO47";
221999667caSMichal Simek			bias-disable;
222999667caSMichal Simek		};
223999667caSMichal Simek	};
224999667caSMichal Simek
225999667caSMichal Simek	pinctrl_gem0_default: gem0-default {
226999667caSMichal Simek		mux {
227999667caSMichal Simek			function = "ethernet0";
228999667caSMichal Simek			groups = "ethernet0_0_grp";
229999667caSMichal Simek		};
230999667caSMichal Simek
231999667caSMichal Simek		conf {
232999667caSMichal Simek			groups = "ethernet0_0_grp";
233999667caSMichal Simek			slew-rate = <0>;
234999667caSMichal Simek			io-standard = <4>;
235999667caSMichal Simek		};
236999667caSMichal Simek
237999667caSMichal Simek		conf-rx {
238999667caSMichal Simek			pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
239999667caSMichal Simek			bias-high-impedance;
240999667caSMichal Simek			low-power-disable;
241999667caSMichal Simek		};
242999667caSMichal Simek
243999667caSMichal Simek		conf-tx {
244999667caSMichal Simek			pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
245999667caSMichal Simek			bias-disable;
246999667caSMichal Simek			low-power-enable;
247999667caSMichal Simek		};
248999667caSMichal Simek
249999667caSMichal Simek		mux-mdio {
250999667caSMichal Simek			function = "mdio0";
251999667caSMichal Simek			groups = "mdio0_0_grp";
252999667caSMichal Simek		};
253999667caSMichal Simek
254999667caSMichal Simek		conf-mdio {
255999667caSMichal Simek			groups = "mdio0_0_grp";
256999667caSMichal Simek			slew-rate = <0>;
257999667caSMichal Simek			io-standard = <1>;
258999667caSMichal Simek			bias-disable;
259999667caSMichal Simek		};
260999667caSMichal Simek	};
261999667caSMichal Simek
262999667caSMichal Simek	pinctrl_gpio0_default: gpio0-default {
263999667caSMichal Simek		mux {
264999667caSMichal Simek			function = "gpio0";
265999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
266999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
267999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
268999667caSMichal Simek		};
269999667caSMichal Simek
270999667caSMichal Simek		conf {
271999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
272999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
273999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
274999667caSMichal Simek			slew-rate = <0>;
275999667caSMichal Simek			io-standard = <1>;
276999667caSMichal Simek		};
277999667caSMichal Simek
278999667caSMichal Simek		conf-pull-up {
279999667caSMichal Simek			pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
280999667caSMichal Simek			bias-pull-up;
281999667caSMichal Simek		};
282999667caSMichal Simek
283999667caSMichal Simek		conf-pull-none {
284999667caSMichal Simek			pins = "MIO7", "MIO8";
285999667caSMichal Simek			bias-disable;
286999667caSMichal Simek		};
287999667caSMichal Simek	};
288999667caSMichal Simek
289999667caSMichal Simek	pinctrl_i2c0_default: i2c0-default {
290999667caSMichal Simek		mux {
291999667caSMichal Simek			groups = "i2c0_10_grp";
292999667caSMichal Simek			function = "i2c0";
293999667caSMichal Simek		};
294999667caSMichal Simek
295999667caSMichal Simek		conf {
296999667caSMichal Simek			groups = "i2c0_10_grp";
297999667caSMichal Simek			bias-pull-up;
298999667caSMichal Simek			slew-rate = <0>;
299999667caSMichal Simek			io-standard = <1>;
300999667caSMichal Simek		};
301999667caSMichal Simek	};
302999667caSMichal Simek
30357bcc7fdSChirag Parekh	pinctrl_i2c0_gpio: i2c0-gpio {
30457bcc7fdSChirag Parekh		mux {
30557bcc7fdSChirag Parekh			groups = "gpio0_50_grp", "gpio0_51_grp";
30657bcc7fdSChirag Parekh			function = "gpio0";
30757bcc7fdSChirag Parekh		};
30857bcc7fdSChirag Parekh
30957bcc7fdSChirag Parekh		conf {
31057bcc7fdSChirag Parekh			groups = "gpio0_50_grp", "gpio0_51_grp";
31157bcc7fdSChirag Parekh			slew-rate = <0>;
31257bcc7fdSChirag Parekh			io-standard = <1>;
31357bcc7fdSChirag Parekh		};
31457bcc7fdSChirag Parekh	};
31557bcc7fdSChirag Parekh
316999667caSMichal Simek	pinctrl_sdhci0_default: sdhci0-default {
317999667caSMichal Simek		mux {
318999667caSMichal Simek			groups = "sdio0_2_grp";
319999667caSMichal Simek			function = "sdio0";
320999667caSMichal Simek		};
321999667caSMichal Simek
322999667caSMichal Simek		conf {
323999667caSMichal Simek			groups = "sdio0_2_grp";
324999667caSMichal Simek			slew-rate = <0>;
325999667caSMichal Simek			io-standard = <1>;
326999667caSMichal Simek			bias-disable;
327999667caSMichal Simek		};
328999667caSMichal Simek
329999667caSMichal Simek		mux-cd {
330999667caSMichal Simek			groups = "gpio0_0_grp";
331999667caSMichal Simek			function = "sdio0_cd";
332999667caSMichal Simek		};
333999667caSMichal Simek
334999667caSMichal Simek		conf-cd {
335999667caSMichal Simek			groups = "gpio0_0_grp";
336999667caSMichal Simek			bias-high-impedance;
337999667caSMichal Simek			bias-pull-up;
338999667caSMichal Simek			slew-rate = <0>;
339999667caSMichal Simek			io-standard = <1>;
340999667caSMichal Simek		};
341999667caSMichal Simek
342999667caSMichal Simek		mux-wp {
343999667caSMichal Simek			groups = "gpio0_15_grp";
344999667caSMichal Simek			function = "sdio0_wp";
345999667caSMichal Simek		};
346999667caSMichal Simek
347999667caSMichal Simek		conf-wp {
348999667caSMichal Simek			groups = "gpio0_15_grp";
349999667caSMichal Simek			bias-high-impedance;
350999667caSMichal Simek			bias-pull-up;
351999667caSMichal Simek			slew-rate = <0>;
352999667caSMichal Simek			io-standard = <1>;
353999667caSMichal Simek		};
354999667caSMichal Simek	};
355999667caSMichal Simek
356999667caSMichal Simek	pinctrl_uart1_default: uart1-default {
357999667caSMichal Simek		mux {
358999667caSMichal Simek			groups = "uart1_10_grp";
359999667caSMichal Simek			function = "uart1";
360999667caSMichal Simek		};
361999667caSMichal Simek
362999667caSMichal Simek		conf {
363999667caSMichal Simek			groups = "uart1_10_grp";
364999667caSMichal Simek			slew-rate = <0>;
365999667caSMichal Simek			io-standard = <1>;
366999667caSMichal Simek		};
367999667caSMichal Simek
368999667caSMichal Simek		conf-rx {
369999667caSMichal Simek			pins = "MIO49";
370999667caSMichal Simek			bias-high-impedance;
371999667caSMichal Simek		};
372999667caSMichal Simek
373999667caSMichal Simek		conf-tx {
374999667caSMichal Simek			pins = "MIO48";
375999667caSMichal Simek			bias-disable;
376999667caSMichal Simek		};
377999667caSMichal Simek	};
378999667caSMichal Simek
379999667caSMichal Simek	pinctrl_usb0_default: usb0-default {
380999667caSMichal Simek		mux {
381999667caSMichal Simek			groups = "usb0_0_grp";
382999667caSMichal Simek			function = "usb0";
383999667caSMichal Simek		};
384999667caSMichal Simek
385999667caSMichal Simek		conf {
386999667caSMichal Simek			groups = "usb0_0_grp";
387999667caSMichal Simek			slew-rate = <0>;
388999667caSMichal Simek			io-standard = <1>;
389999667caSMichal Simek		};
390999667caSMichal Simek
391999667caSMichal Simek		conf-rx {
392999667caSMichal Simek			pins = "MIO29", "MIO31", "MIO36";
393999667caSMichal Simek			bias-high-impedance;
394999667caSMichal Simek		};
395999667caSMichal Simek
396999667caSMichal Simek		conf-tx {
397999667caSMichal Simek			pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
398999667caSMichal Simek			       "MIO35", "MIO37", "MIO38", "MIO39";
399999667caSMichal Simek			bias-disable;
400999667caSMichal Simek		};
401999667caSMichal Simek	};
402999667caSMichal Simek};
403999667caSMichal Simek
404a95d54b4SMichal Simek&qspi {
405a95d54b4SMichal Simek	u-boot,dm-pre-reloc;
406a95d54b4SMichal Simek	status = "okay";
407a95d54b4SMichal Simek};
408a95d54b4SMichal Simek
409999667caSMichal Simek&sdhci0 {
410d9ae52c8SMichal Simek	u-boot,dm-pre-reloc;
411999667caSMichal Simek	status = "okay";
412999667caSMichal Simek	pinctrl-names = "default";
413999667caSMichal Simek	pinctrl-0 = <&pinctrl_sdhci0_default>;
414999667caSMichal Simek};
415999667caSMichal Simek
416999667caSMichal Simek&uart1 {
417035c6b27SSimon Glass	u-boot,dm-pre-reloc;
418999667caSMichal Simek	status = "okay";
419999667caSMichal Simek	pinctrl-names = "default";
420999667caSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
421999667caSMichal Simek};
422999667caSMichal Simek
423999667caSMichal Simek&usb0 {
424999667caSMichal Simek	status = "okay";
425999667caSMichal Simek	dr_mode = "host";
426999667caSMichal Simek	usb-phy = <&usb_phy0>;
427999667caSMichal Simek	pinctrl-names = "default";
428999667caSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
4295ab502cbSMasahiro Yamada};
430