xref: /openbmc/u-boot/arch/arm/dts/zynq-zc702.dts (revision d391c13c99a2b48c98cef6df4479247cd4e62f9d)
1051a8ad7SMichal 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/ {
10*9896dc65SLuis Araneda	model = "Xilinx ZC702 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		autorepeat;
3491f9f172SMichal Simek		sw14 {
3591f9f172SMichal Simek			label = "sw14";
3691f9f172SMichal Simek			gpios = <&gpio0 12 0>;
3791f9f172SMichal Simek			linux,code = <108>; /* down */
38a930ca57SSudeep Holla			wakeup-source;
3991f9f172SMichal Simek			autorepeat;
4091f9f172SMichal Simek		};
4191f9f172SMichal Simek		sw13 {
4291f9f172SMichal Simek			label = "sw13";
4391f9f172SMichal Simek			gpios = <&gpio0 14 0>;
4491f9f172SMichal Simek			linux,code = <103>; /* up */
45a930ca57SSudeep Holla			wakeup-source;
4691f9f172SMichal Simek			autorepeat;
4791f9f172SMichal Simek		};
4891f9f172SMichal Simek	};
4991f9f172SMichal Simek
50999667caSMichal Simek	leds {
51999667caSMichal Simek		compatible = "gpio-leds";
52999667caSMichal Simek
53999667caSMichal Simek		ds23 {
54999667caSMichal Simek			label = "ds23";
55999667caSMichal Simek			gpios = <&gpio0 10 0>;
56999667caSMichal Simek			linux,default-trigger = "heartbeat";
57999667caSMichal Simek		};
58999667caSMichal Simek	};
59999667caSMichal Simek
60999667caSMichal Simek	usb_phy0: phy0 {
61999667caSMichal Simek		compatible = "usb-nop-xceiv";
62999667caSMichal Simek		#phy-cells = <0>;
63999667caSMichal Simek	};
64999667caSMichal Simek};
65999667caSMichal Simek
66999667caSMichal Simek&amba {
67999667caSMichal Simek	ocm: sram@fffc0000 {
68999667caSMichal Simek		compatible = "mmio-sram";
69999667caSMichal Simek		reg = <0xfffc0000 0x10000>;
70999667caSMichal Simek	};
71999667caSMichal Simek};
72999667caSMichal Simek
73999667caSMichal Simek&can0 {
74999667caSMichal Simek	status = "okay";
75999667caSMichal Simek	pinctrl-names = "default";
76999667caSMichal Simek	pinctrl-0 = <&pinctrl_can0_default>;
77999667caSMichal Simek};
78999667caSMichal Simek
79999667caSMichal Simek&clkc {
80999667caSMichal Simek	ps-clk-frequency = <33333333>;
81999667caSMichal Simek};
82999667caSMichal Simek
83999667caSMichal Simek&gem0 {
84999667caSMichal Simek	status = "okay";
85999667caSMichal Simek	phy-mode = "rgmii-id";
86999667caSMichal Simek	phy-handle = <&ethernet_phy>;
87999667caSMichal Simek	pinctrl-names = "default";
88999667caSMichal Simek	pinctrl-0 = <&pinctrl_gem0_default>;
89c9132b1eSPunnaiah Choudary Kalluri	phy-reset-gpio = <&gpio0 11 0>;
90c9132b1eSPunnaiah Choudary Kalluri	phy-reset-active-low;
91999667caSMichal Simek
92999667caSMichal Simek	ethernet_phy: ethernet-phy@7 {
93999667caSMichal Simek		reg = <7>;
945fad1ab3SSai Pavan Boddu		device_type = "ethernet-phy";
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>;
10657bcc7fdSChirag Parekh	pinctrl-names = "default", "gpio";
107999667caSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
10857bcc7fdSChirag Parekh	pinctrl-1 = <&pinctrl_i2c0_gpio>;
10957bcc7fdSChirag Parekh	scl-gpios = <&gpio0 50 0>;
11057bcc7fdSChirag Parekh	sda-gpios = <&gpio0 51 0>;
111999667caSMichal Simek
112c78a80adSMichal Simek	i2c-mux@74 {
113999667caSMichal Simek		compatible = "nxp,pca9548";
114999667caSMichal Simek		#address-cells = <1>;
115999667caSMichal Simek		#size-cells = <0>;
116999667caSMichal Simek		reg = <0x74>;
117999667caSMichal Simek
118999667caSMichal Simek		i2c@0 {
119999667caSMichal Simek			#address-cells = <1>;
120999667caSMichal Simek			#size-cells = <0>;
121999667caSMichal Simek			reg = <0>;
122999667caSMichal Simek			si570: clock-generator@5d {
123999667caSMichal Simek				#clock-cells = <0>;
124999667caSMichal Simek				compatible = "silabs,si570";
125999667caSMichal Simek				temperature-stability = <50>;
126999667caSMichal Simek				reg = <0x5d>;
127999667caSMichal Simek				factory-fout = <156250000>;
128999667caSMichal Simek				clock-frequency = <148500000>;
129999667caSMichal Simek			};
130999667caSMichal Simek		};
131999667caSMichal Simek
132169050e4SChristian Kohn		i2c@1 {
133169050e4SChristian Kohn			#address-cells = <1>;
134169050e4SChristian Kohn			#size-cells = <0>;
135169050e4SChristian Kohn			reg = <1>;
136169050e4SChristian Kohn			adv7511: hdmi-tx@39 {
137169050e4SChristian Kohn				compatible = "adi,adv7511";
138169050e4SChristian Kohn				reg = <0x39>;
139169050e4SChristian Kohn				adi,input-depth = <8>;
140169050e4SChristian Kohn				adi,input-colorspace = "yuv422";
141169050e4SChristian Kohn				adi,input-clock = "1x";
142169050e4SChristian Kohn				adi,input-style = <3>;
143169050e4SChristian Kohn				adi,input-justification = "right";
144169050e4SChristian Kohn			};
145169050e4SChristian Kohn		};
146169050e4SChristian Kohn
147999667caSMichal Simek		i2c@2 {
148999667caSMichal Simek			#address-cells = <1>;
149999667caSMichal Simek			#size-cells = <0>;
150999667caSMichal Simek			reg = <2>;
151999667caSMichal Simek			eeprom@54 {
152a3e10642SJavier Martinez Canillas				compatible = "atmel,24c08";
153999667caSMichal Simek				reg = <0x54>;
154999667caSMichal Simek			};
155999667caSMichal Simek		};
156999667caSMichal Simek
157999667caSMichal Simek		i2c@3 {
158999667caSMichal Simek			#address-cells = <1>;
159999667caSMichal Simek			#size-cells = <0>;
160999667caSMichal Simek			reg = <3>;
161999667caSMichal Simek			gpio@21 {
162999667caSMichal Simek				compatible = "ti,tca6416";
163999667caSMichal Simek				reg = <0x21>;
164999667caSMichal Simek				gpio-controller;
165999667caSMichal Simek				#gpio-cells = <2>;
166999667caSMichal Simek			};
167999667caSMichal Simek		};
168999667caSMichal Simek
169999667caSMichal Simek		i2c@4 {
170999667caSMichal Simek			#address-cells = <1>;
171999667caSMichal Simek			#size-cells = <0>;
172999667caSMichal Simek			reg = <4>;
173999667caSMichal Simek			rtc@51 {
174999667caSMichal Simek				compatible = "nxp,pcf8563";
175999667caSMichal Simek				reg = <0x51>;
176999667caSMichal Simek			};
177999667caSMichal Simek		};
178999667caSMichal Simek
179999667caSMichal Simek		i2c@7 {
180999667caSMichal Simek			#address-cells = <1>;
181999667caSMichal Simek			#size-cells = <0>;
182999667caSMichal Simek			reg = <7>;
183999667caSMichal Simek			hwmon@52 {
184999667caSMichal Simek				compatible = "ti,ucd9248";
185999667caSMichal Simek				reg = <52>;
186999667caSMichal Simek			};
187999667caSMichal Simek			hwmon@53 {
188999667caSMichal Simek				compatible = "ti,ucd9248";
189999667caSMichal Simek				reg = <53>;
190999667caSMichal Simek			};
191999667caSMichal Simek			hwmon@54 {
192999667caSMichal Simek				compatible = "ti,ucd9248";
193999667caSMichal Simek				reg = <54>;
194999667caSMichal Simek			};
195999667caSMichal Simek		};
196999667caSMichal Simek	};
197999667caSMichal Simek};
198999667caSMichal Simek
199999667caSMichal Simek&pinctrl0 {
200999667caSMichal Simek	pinctrl_can0_default: can0-default {
201999667caSMichal Simek		mux {
202999667caSMichal Simek			function = "can0";
203999667caSMichal Simek			groups = "can0_9_grp";
204999667caSMichal Simek		};
205999667caSMichal Simek
206999667caSMichal Simek		conf {
207999667caSMichal Simek			groups = "can0_9_grp";
208999667caSMichal Simek			slew-rate = <0>;
209999667caSMichal Simek			io-standard = <1>;
210999667caSMichal Simek		};
211999667caSMichal Simek
212999667caSMichal Simek		conf-rx {
213999667caSMichal Simek			pins = "MIO46";
214999667caSMichal Simek			bias-high-impedance;
215999667caSMichal Simek		};
216999667caSMichal Simek
217999667caSMichal Simek		conf-tx {
218999667caSMichal Simek			pins = "MIO47";
219999667caSMichal Simek			bias-disable;
220999667caSMichal Simek		};
221999667caSMichal Simek	};
222999667caSMichal Simek
223999667caSMichal Simek	pinctrl_gem0_default: gem0-default {
224999667caSMichal Simek		mux {
225999667caSMichal Simek			function = "ethernet0";
226999667caSMichal Simek			groups = "ethernet0_0_grp";
227999667caSMichal Simek		};
228999667caSMichal Simek
229999667caSMichal Simek		conf {
230999667caSMichal Simek			groups = "ethernet0_0_grp";
231999667caSMichal Simek			slew-rate = <0>;
232999667caSMichal Simek			io-standard = <4>;
233999667caSMichal Simek		};
234999667caSMichal Simek
235999667caSMichal Simek		conf-rx {
236999667caSMichal Simek			pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
237999667caSMichal Simek			bias-high-impedance;
238999667caSMichal Simek			low-power-disable;
239999667caSMichal Simek		};
240999667caSMichal Simek
241999667caSMichal Simek		conf-tx {
242999667caSMichal Simek			pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
243999667caSMichal Simek			bias-disable;
244999667caSMichal Simek			low-power-enable;
245999667caSMichal Simek		};
246999667caSMichal Simek
247999667caSMichal Simek		mux-mdio {
248999667caSMichal Simek			function = "mdio0";
249999667caSMichal Simek			groups = "mdio0_0_grp";
250999667caSMichal Simek		};
251999667caSMichal Simek
252999667caSMichal Simek		conf-mdio {
253999667caSMichal Simek			groups = "mdio0_0_grp";
254999667caSMichal Simek			slew-rate = <0>;
255999667caSMichal Simek			io-standard = <1>;
256999667caSMichal Simek			bias-disable;
257999667caSMichal Simek		};
258999667caSMichal Simek	};
259999667caSMichal Simek
260999667caSMichal Simek	pinctrl_gpio0_default: gpio0-default {
261999667caSMichal Simek		mux {
262999667caSMichal Simek			function = "gpio0";
263999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
264999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
265999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
266999667caSMichal Simek		};
267999667caSMichal Simek
268999667caSMichal Simek		conf {
269999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
270999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
271999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
272999667caSMichal Simek			slew-rate = <0>;
273999667caSMichal Simek			io-standard = <1>;
274999667caSMichal Simek		};
275999667caSMichal Simek
276999667caSMichal Simek		conf-pull-up {
277999667caSMichal Simek			pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
278999667caSMichal Simek			bias-pull-up;
279999667caSMichal Simek		};
280999667caSMichal Simek
281999667caSMichal Simek		conf-pull-none {
282999667caSMichal Simek			pins = "MIO7", "MIO8";
283999667caSMichal Simek			bias-disable;
284999667caSMichal Simek		};
285999667caSMichal Simek	};
286999667caSMichal Simek
287999667caSMichal Simek	pinctrl_i2c0_default: i2c0-default {
288999667caSMichal Simek		mux {
289999667caSMichal Simek			groups = "i2c0_10_grp";
290999667caSMichal Simek			function = "i2c0";
291999667caSMichal Simek		};
292999667caSMichal Simek
293999667caSMichal Simek		conf {
294999667caSMichal Simek			groups = "i2c0_10_grp";
295999667caSMichal Simek			bias-pull-up;
296999667caSMichal Simek			slew-rate = <0>;
297999667caSMichal Simek			io-standard = <1>;
298999667caSMichal Simek		};
299999667caSMichal Simek	};
300999667caSMichal Simek
30157bcc7fdSChirag Parekh	pinctrl_i2c0_gpio: i2c0-gpio {
30257bcc7fdSChirag Parekh		mux {
30357bcc7fdSChirag Parekh			groups = "gpio0_50_grp", "gpio0_51_grp";
30457bcc7fdSChirag Parekh			function = "gpio0";
30557bcc7fdSChirag Parekh		};
30657bcc7fdSChirag Parekh
30757bcc7fdSChirag Parekh		conf {
30857bcc7fdSChirag Parekh			groups = "gpio0_50_grp", "gpio0_51_grp";
30957bcc7fdSChirag Parekh			slew-rate = <0>;
31057bcc7fdSChirag Parekh			io-standard = <1>;
31157bcc7fdSChirag Parekh		};
31257bcc7fdSChirag Parekh	};
31357bcc7fdSChirag Parekh
314999667caSMichal Simek	pinctrl_sdhci0_default: sdhci0-default {
315999667caSMichal Simek		mux {
316999667caSMichal Simek			groups = "sdio0_2_grp";
317999667caSMichal Simek			function = "sdio0";
318999667caSMichal Simek		};
319999667caSMichal Simek
320999667caSMichal Simek		conf {
321999667caSMichal Simek			groups = "sdio0_2_grp";
322999667caSMichal Simek			slew-rate = <0>;
323999667caSMichal Simek			io-standard = <1>;
324999667caSMichal Simek			bias-disable;
325999667caSMichal Simek		};
326999667caSMichal Simek
327999667caSMichal Simek		mux-cd {
328999667caSMichal Simek			groups = "gpio0_0_grp";
329999667caSMichal Simek			function = "sdio0_cd";
330999667caSMichal Simek		};
331999667caSMichal Simek
332999667caSMichal Simek		conf-cd {
333999667caSMichal Simek			groups = "gpio0_0_grp";
334999667caSMichal Simek			bias-high-impedance;
335999667caSMichal Simek			bias-pull-up;
336999667caSMichal Simek			slew-rate = <0>;
337999667caSMichal Simek			io-standard = <1>;
338999667caSMichal Simek		};
339999667caSMichal Simek
340999667caSMichal Simek		mux-wp {
341999667caSMichal Simek			groups = "gpio0_15_grp";
342999667caSMichal Simek			function = "sdio0_wp";
343999667caSMichal Simek		};
344999667caSMichal Simek
345999667caSMichal Simek		conf-wp {
346999667caSMichal Simek			groups = "gpio0_15_grp";
347999667caSMichal Simek			bias-high-impedance;
348999667caSMichal Simek			bias-pull-up;
349999667caSMichal Simek			slew-rate = <0>;
350999667caSMichal Simek			io-standard = <1>;
351999667caSMichal Simek		};
352999667caSMichal Simek	};
353999667caSMichal Simek
354999667caSMichal Simek	pinctrl_uart1_default: uart1-default {
355999667caSMichal Simek		mux {
356999667caSMichal Simek			groups = "uart1_10_grp";
357999667caSMichal Simek			function = "uart1";
358999667caSMichal Simek		};
359999667caSMichal Simek
360999667caSMichal Simek		conf {
361999667caSMichal Simek			groups = "uart1_10_grp";
362999667caSMichal Simek			slew-rate = <0>;
363999667caSMichal Simek			io-standard = <1>;
364999667caSMichal Simek		};
365999667caSMichal Simek
366999667caSMichal Simek		conf-rx {
367999667caSMichal Simek			pins = "MIO49";
368999667caSMichal Simek			bias-high-impedance;
369999667caSMichal Simek		};
370999667caSMichal Simek
371999667caSMichal Simek		conf-tx {
372999667caSMichal Simek			pins = "MIO48";
373999667caSMichal Simek			bias-disable;
374999667caSMichal Simek		};
375999667caSMichal Simek	};
376999667caSMichal Simek
377999667caSMichal Simek	pinctrl_usb0_default: usb0-default {
378999667caSMichal Simek		mux {
379999667caSMichal Simek			groups = "usb0_0_grp";
380999667caSMichal Simek			function = "usb0";
381999667caSMichal Simek		};
382999667caSMichal Simek
383999667caSMichal Simek		conf {
384999667caSMichal Simek			groups = "usb0_0_grp";
385999667caSMichal Simek			slew-rate = <0>;
386999667caSMichal Simek			io-standard = <1>;
387999667caSMichal Simek		};
388999667caSMichal Simek
389999667caSMichal Simek		conf-rx {
390999667caSMichal Simek			pins = "MIO29", "MIO31", "MIO36";
391999667caSMichal Simek			bias-high-impedance;
392999667caSMichal Simek		};
393999667caSMichal Simek
394999667caSMichal Simek		conf-tx {
395999667caSMichal Simek			pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
396999667caSMichal Simek			       "MIO35", "MIO37", "MIO38", "MIO39";
397999667caSMichal Simek			bias-disable;
398999667caSMichal Simek		};
399999667caSMichal Simek	};
400999667caSMichal Simek};
401999667caSMichal Simek
402a95d54b4SMichal Simek&qspi {
403a95d54b4SMichal Simek	u-boot,dm-pre-reloc;
404a95d54b4SMichal Simek	status = "okay";
405a95d54b4SMichal Simek};
406a95d54b4SMichal Simek
407999667caSMichal Simek&sdhci0 {
408d9ae52c8SMichal Simek	u-boot,dm-pre-reloc;
409999667caSMichal Simek	status = "okay";
410999667caSMichal Simek	pinctrl-names = "default";
411999667caSMichal Simek	pinctrl-0 = <&pinctrl_sdhci0_default>;
412999667caSMichal Simek};
413999667caSMichal Simek
414999667caSMichal Simek&uart1 {
415035c6b27SSimon Glass	u-boot,dm-pre-reloc;
416999667caSMichal Simek	status = "okay";
417999667caSMichal Simek	pinctrl-names = "default";
418999667caSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
419999667caSMichal Simek};
420999667caSMichal Simek
421999667caSMichal Simek&usb0 {
422999667caSMichal Simek	status = "okay";
423999667caSMichal Simek	dr_mode = "host";
424999667caSMichal Simek	usb-phy = <&usb_phy0>;
425999667caSMichal Simek	pinctrl-names = "default";
426999667caSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
4275ab502cbSMasahiro Yamada};
428