xref: /openbmc/u-boot/arch/arm/dts/zynq-zc702.dts (revision 999667ca9cf11d271e3026fb6a71f3500e41d063)
15ab502cbSMasahiro Yamada/*
25ab502cbSMasahiro Yamada * Xilinx ZC702 board DTS
35ab502cbSMasahiro Yamada *
4*999667caSMichal Simek *  Copyright (C) 2011 - 2015 Xilinx
5*999667caSMichal 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/ {
13*999667caSMichal Simek	model = "Zynq ZC702 Development Board";
145ab502cbSMasahiro Yamada	compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";
157d34c5deSMasahiro Yamada
169f9d41baSMasahiro Yamada	aliases {
17*999667caSMichal Simek		ethernet0 = &gem0;
18*999667caSMichal Simek		i2c0 = &i2c0;
199f9d41baSMasahiro Yamada		serial0 = &uart1;
209f9d41baSMasahiro Yamada	};
219f9d41baSMasahiro Yamada
227d34c5deSMasahiro Yamada	memory {
237d34c5deSMasahiro Yamada		device_type = "memory";
24*999667caSMichal Simek		reg = <0x0 0x40000000>;
257d34c5deSMasahiro Yamada	};
26*999667caSMichal Simek
27*999667caSMichal Simek	chosen {
28*999667caSMichal Simek		bootargs = "earlyprintk";
29*999667caSMichal Simek		stdout-path = "serial0:115200n8";
30*999667caSMichal Simek	};
31*999667caSMichal Simek
32*999667caSMichal Simek	leds {
33*999667caSMichal Simek		compatible = "gpio-leds";
34*999667caSMichal Simek
35*999667caSMichal Simek		ds23 {
36*999667caSMichal Simek			label = "ds23";
37*999667caSMichal Simek			gpios = <&gpio0 10 0>;
38*999667caSMichal Simek			linux,default-trigger = "heartbeat";
39*999667caSMichal Simek		};
40*999667caSMichal Simek	};
41*999667caSMichal Simek
42*999667caSMichal Simek	usb_phy0: phy0 {
43*999667caSMichal Simek		compatible = "usb-nop-xceiv";
44*999667caSMichal Simek		#phy-cells = <0>;
45*999667caSMichal Simek	};
46*999667caSMichal Simek};
47*999667caSMichal Simek
48*999667caSMichal Simek&amba {
49*999667caSMichal Simek	ocm: sram@fffc0000 {
50*999667caSMichal Simek		compatible = "mmio-sram";
51*999667caSMichal Simek		reg = <0xfffc0000 0x10000>;
52*999667caSMichal Simek	};
53*999667caSMichal Simek};
54*999667caSMichal Simek
55*999667caSMichal Simek&can0 {
56*999667caSMichal Simek	status = "okay";
57*999667caSMichal Simek	pinctrl-names = "default";
58*999667caSMichal Simek	pinctrl-0 = <&pinctrl_can0_default>;
59*999667caSMichal Simek};
60*999667caSMichal Simek
61*999667caSMichal Simek&clkc {
62*999667caSMichal Simek	ps-clk-frequency = <33333333>;
63*999667caSMichal Simek};
64*999667caSMichal Simek
65*999667caSMichal Simek&gem0 {
66*999667caSMichal Simek	status = "okay";
67*999667caSMichal Simek	phy-mode = "rgmii-id";
68*999667caSMichal Simek	phy-handle = <&ethernet_phy>;
69*999667caSMichal Simek	pinctrl-names = "default";
70*999667caSMichal Simek	pinctrl-0 = <&pinctrl_gem0_default>;
71*999667caSMichal Simek
72*999667caSMichal Simek	ethernet_phy: ethernet-phy@7 {
73*999667caSMichal Simek		reg = <7>;
74*999667caSMichal Simek	};
75*999667caSMichal Simek};
76*999667caSMichal Simek
77*999667caSMichal Simek&gpio0 {
78*999667caSMichal Simek	pinctrl-names = "default";
79*999667caSMichal Simek	pinctrl-0 = <&pinctrl_gpio0_default>;
80*999667caSMichal Simek};
81*999667caSMichal Simek
82*999667caSMichal Simek&i2c0 {
83*999667caSMichal Simek	status = "okay";
84*999667caSMichal Simek	clock-frequency = <400000>;
85*999667caSMichal Simek	pinctrl-names = "default";
86*999667caSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
87*999667caSMichal Simek
88*999667caSMichal Simek	i2cswitch@74 {
89*999667caSMichal Simek		compatible = "nxp,pca9548";
90*999667caSMichal Simek		#address-cells = <1>;
91*999667caSMichal Simek		#size-cells = <0>;
92*999667caSMichal Simek		reg = <0x74>;
93*999667caSMichal Simek
94*999667caSMichal Simek		i2c@0 {
95*999667caSMichal Simek			#address-cells = <1>;
96*999667caSMichal Simek			#size-cells = <0>;
97*999667caSMichal Simek			reg = <0>;
98*999667caSMichal Simek			si570: clock-generator@5d {
99*999667caSMichal Simek				#clock-cells = <0>;
100*999667caSMichal Simek				compatible = "silabs,si570";
101*999667caSMichal Simek				temperature-stability = <50>;
102*999667caSMichal Simek				reg = <0x5d>;
103*999667caSMichal Simek				factory-fout = <156250000>;
104*999667caSMichal Simek				clock-frequency = <148500000>;
105*999667caSMichal Simek			};
106*999667caSMichal Simek		};
107*999667caSMichal Simek
108*999667caSMichal Simek		i2c@2 {
109*999667caSMichal Simek			#address-cells = <1>;
110*999667caSMichal Simek			#size-cells = <0>;
111*999667caSMichal Simek			reg = <2>;
112*999667caSMichal Simek			eeprom@54 {
113*999667caSMichal Simek				compatible = "at,24c08";
114*999667caSMichal Simek				reg = <0x54>;
115*999667caSMichal Simek			};
116*999667caSMichal Simek		};
117*999667caSMichal Simek
118*999667caSMichal Simek		i2c@3 {
119*999667caSMichal Simek			#address-cells = <1>;
120*999667caSMichal Simek			#size-cells = <0>;
121*999667caSMichal Simek			reg = <3>;
122*999667caSMichal Simek			gpio@21 {
123*999667caSMichal Simek				compatible = "ti,tca6416";
124*999667caSMichal Simek				reg = <0x21>;
125*999667caSMichal Simek				gpio-controller;
126*999667caSMichal Simek				#gpio-cells = <2>;
127*999667caSMichal Simek			};
128*999667caSMichal Simek		};
129*999667caSMichal Simek
130*999667caSMichal Simek		i2c@4 {
131*999667caSMichal Simek			#address-cells = <1>;
132*999667caSMichal Simek			#size-cells = <0>;
133*999667caSMichal Simek			reg = <4>;
134*999667caSMichal Simek			rtc@51 {
135*999667caSMichal Simek				compatible = "nxp,pcf8563";
136*999667caSMichal Simek				reg = <0x51>;
137*999667caSMichal Simek			};
138*999667caSMichal Simek		};
139*999667caSMichal Simek
140*999667caSMichal Simek		i2c@7 {
141*999667caSMichal Simek			#address-cells = <1>;
142*999667caSMichal Simek			#size-cells = <0>;
143*999667caSMichal Simek			reg = <7>;
144*999667caSMichal Simek			hwmon@52 {
145*999667caSMichal Simek				compatible = "ti,ucd9248";
146*999667caSMichal Simek				reg = <52>;
147*999667caSMichal Simek			};
148*999667caSMichal Simek			hwmon@53 {
149*999667caSMichal Simek				compatible = "ti,ucd9248";
150*999667caSMichal Simek				reg = <53>;
151*999667caSMichal Simek			};
152*999667caSMichal Simek			hwmon@54 {
153*999667caSMichal Simek				compatible = "ti,ucd9248";
154*999667caSMichal Simek				reg = <54>;
155*999667caSMichal Simek			};
156*999667caSMichal Simek		};
157*999667caSMichal Simek	};
158*999667caSMichal Simek};
159*999667caSMichal Simek
160*999667caSMichal Simek&pinctrl0 {
161*999667caSMichal Simek	pinctrl_can0_default: can0-default {
162*999667caSMichal Simek		mux {
163*999667caSMichal Simek			function = "can0";
164*999667caSMichal Simek			groups = "can0_9_grp";
165*999667caSMichal Simek		};
166*999667caSMichal Simek
167*999667caSMichal Simek		conf {
168*999667caSMichal Simek			groups = "can0_9_grp";
169*999667caSMichal Simek			slew-rate = <0>;
170*999667caSMichal Simek			io-standard = <1>;
171*999667caSMichal Simek		};
172*999667caSMichal Simek
173*999667caSMichal Simek		conf-rx {
174*999667caSMichal Simek			pins = "MIO46";
175*999667caSMichal Simek			bias-high-impedance;
176*999667caSMichal Simek		};
177*999667caSMichal Simek
178*999667caSMichal Simek		conf-tx {
179*999667caSMichal Simek			pins = "MIO47";
180*999667caSMichal Simek			bias-disable;
181*999667caSMichal Simek		};
182*999667caSMichal Simek	};
183*999667caSMichal Simek
184*999667caSMichal Simek	pinctrl_gem0_default: gem0-default {
185*999667caSMichal Simek		mux {
186*999667caSMichal Simek			function = "ethernet0";
187*999667caSMichal Simek			groups = "ethernet0_0_grp";
188*999667caSMichal Simek		};
189*999667caSMichal Simek
190*999667caSMichal Simek		conf {
191*999667caSMichal Simek			groups = "ethernet0_0_grp";
192*999667caSMichal Simek			slew-rate = <0>;
193*999667caSMichal Simek			io-standard = <4>;
194*999667caSMichal Simek		};
195*999667caSMichal Simek
196*999667caSMichal Simek		conf-rx {
197*999667caSMichal Simek			pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
198*999667caSMichal Simek			bias-high-impedance;
199*999667caSMichal Simek			low-power-disable;
200*999667caSMichal Simek		};
201*999667caSMichal Simek
202*999667caSMichal Simek		conf-tx {
203*999667caSMichal Simek			pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
204*999667caSMichal Simek			bias-disable;
205*999667caSMichal Simek			low-power-enable;
206*999667caSMichal Simek		};
207*999667caSMichal Simek
208*999667caSMichal Simek		mux-mdio {
209*999667caSMichal Simek			function = "mdio0";
210*999667caSMichal Simek			groups = "mdio0_0_grp";
211*999667caSMichal Simek		};
212*999667caSMichal Simek
213*999667caSMichal Simek		conf-mdio {
214*999667caSMichal Simek			groups = "mdio0_0_grp";
215*999667caSMichal Simek			slew-rate = <0>;
216*999667caSMichal Simek			io-standard = <1>;
217*999667caSMichal Simek			bias-disable;
218*999667caSMichal Simek		};
219*999667caSMichal Simek	};
220*999667caSMichal Simek
221*999667caSMichal Simek	pinctrl_gpio0_default: gpio0-default {
222*999667caSMichal Simek		mux {
223*999667caSMichal Simek			function = "gpio0";
224*999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
225*999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
226*999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
227*999667caSMichal Simek		};
228*999667caSMichal Simek
229*999667caSMichal Simek		conf {
230*999667caSMichal Simek			groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
231*999667caSMichal Simek				 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
232*999667caSMichal Simek				 "gpio0_13_grp", "gpio0_14_grp";
233*999667caSMichal Simek			slew-rate = <0>;
234*999667caSMichal Simek			io-standard = <1>;
235*999667caSMichal Simek		};
236*999667caSMichal Simek
237*999667caSMichal Simek		conf-pull-up {
238*999667caSMichal Simek			pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
239*999667caSMichal Simek			bias-pull-up;
240*999667caSMichal Simek		};
241*999667caSMichal Simek
242*999667caSMichal Simek		conf-pull-none {
243*999667caSMichal Simek			pins = "MIO7", "MIO8";
244*999667caSMichal Simek			bias-disable;
245*999667caSMichal Simek		};
246*999667caSMichal Simek	};
247*999667caSMichal Simek
248*999667caSMichal Simek	pinctrl_i2c0_default: i2c0-default {
249*999667caSMichal Simek		mux {
250*999667caSMichal Simek			groups = "i2c0_10_grp";
251*999667caSMichal Simek			function = "i2c0";
252*999667caSMichal Simek		};
253*999667caSMichal Simek
254*999667caSMichal Simek		conf {
255*999667caSMichal Simek			groups = "i2c0_10_grp";
256*999667caSMichal Simek			bias-pull-up;
257*999667caSMichal Simek			slew-rate = <0>;
258*999667caSMichal Simek			io-standard = <1>;
259*999667caSMichal Simek		};
260*999667caSMichal Simek	};
261*999667caSMichal Simek
262*999667caSMichal Simek	pinctrl_sdhci0_default: sdhci0-default {
263*999667caSMichal Simek		mux {
264*999667caSMichal Simek			groups = "sdio0_2_grp";
265*999667caSMichal Simek			function = "sdio0";
266*999667caSMichal Simek		};
267*999667caSMichal Simek
268*999667caSMichal Simek		conf {
269*999667caSMichal Simek			groups = "sdio0_2_grp";
270*999667caSMichal Simek			slew-rate = <0>;
271*999667caSMichal Simek			io-standard = <1>;
272*999667caSMichal Simek			bias-disable;
273*999667caSMichal Simek		};
274*999667caSMichal Simek
275*999667caSMichal Simek		mux-cd {
276*999667caSMichal Simek			groups = "gpio0_0_grp";
277*999667caSMichal Simek			function = "sdio0_cd";
278*999667caSMichal Simek		};
279*999667caSMichal Simek
280*999667caSMichal Simek		conf-cd {
281*999667caSMichal Simek			groups = "gpio0_0_grp";
282*999667caSMichal Simek			bias-high-impedance;
283*999667caSMichal Simek			bias-pull-up;
284*999667caSMichal Simek			slew-rate = <0>;
285*999667caSMichal Simek			io-standard = <1>;
286*999667caSMichal Simek		};
287*999667caSMichal Simek
288*999667caSMichal Simek		mux-wp {
289*999667caSMichal Simek			groups = "gpio0_15_grp";
290*999667caSMichal Simek			function = "sdio0_wp";
291*999667caSMichal Simek		};
292*999667caSMichal Simek
293*999667caSMichal Simek		conf-wp {
294*999667caSMichal Simek			groups = "gpio0_15_grp";
295*999667caSMichal Simek			bias-high-impedance;
296*999667caSMichal Simek			bias-pull-up;
297*999667caSMichal Simek			slew-rate = <0>;
298*999667caSMichal Simek			io-standard = <1>;
299*999667caSMichal Simek		};
300*999667caSMichal Simek	};
301*999667caSMichal Simek
302*999667caSMichal Simek	pinctrl_uart1_default: uart1-default {
303*999667caSMichal Simek		mux {
304*999667caSMichal Simek			groups = "uart1_10_grp";
305*999667caSMichal Simek			function = "uart1";
306*999667caSMichal Simek		};
307*999667caSMichal Simek
308*999667caSMichal Simek		conf {
309*999667caSMichal Simek			groups = "uart1_10_grp";
310*999667caSMichal Simek			slew-rate = <0>;
311*999667caSMichal Simek			io-standard = <1>;
312*999667caSMichal Simek		};
313*999667caSMichal Simek
314*999667caSMichal Simek		conf-rx {
315*999667caSMichal Simek			pins = "MIO49";
316*999667caSMichal Simek			bias-high-impedance;
317*999667caSMichal Simek		};
318*999667caSMichal Simek
319*999667caSMichal Simek		conf-tx {
320*999667caSMichal Simek			pins = "MIO48";
321*999667caSMichal Simek			bias-disable;
322*999667caSMichal Simek		};
323*999667caSMichal Simek	};
324*999667caSMichal Simek
325*999667caSMichal Simek	pinctrl_usb0_default: usb0-default {
326*999667caSMichal Simek		mux {
327*999667caSMichal Simek			groups = "usb0_0_grp";
328*999667caSMichal Simek			function = "usb0";
329*999667caSMichal Simek		};
330*999667caSMichal Simek
331*999667caSMichal Simek		conf {
332*999667caSMichal Simek			groups = "usb0_0_grp";
333*999667caSMichal Simek			slew-rate = <0>;
334*999667caSMichal Simek			io-standard = <1>;
335*999667caSMichal Simek		};
336*999667caSMichal Simek
337*999667caSMichal Simek		conf-rx {
338*999667caSMichal Simek			pins = "MIO29", "MIO31", "MIO36";
339*999667caSMichal Simek			bias-high-impedance;
340*999667caSMichal Simek		};
341*999667caSMichal Simek
342*999667caSMichal Simek		conf-tx {
343*999667caSMichal Simek			pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
344*999667caSMichal Simek			       "MIO35", "MIO37", "MIO38", "MIO39";
345*999667caSMichal Simek			bias-disable;
346*999667caSMichal Simek		};
347*999667caSMichal Simek	};
348*999667caSMichal Simek};
349*999667caSMichal Simek
350*999667caSMichal Simek&sdhci0 {
351*999667caSMichal Simek	status = "okay";
352*999667caSMichal Simek	pinctrl-names = "default";
353*999667caSMichal Simek	pinctrl-0 = <&pinctrl_sdhci0_default>;
354*999667caSMichal Simek};
355*999667caSMichal Simek
356*999667caSMichal Simek&uart1 {
357*999667caSMichal Simek	status = "okay";
358*999667caSMichal Simek	pinctrl-names = "default";
359*999667caSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
360*999667caSMichal Simek};
361*999667caSMichal Simek
362*999667caSMichal Simek&usb0 {
363*999667caSMichal Simek	status = "okay";
364*999667caSMichal Simek	dr_mode = "host";
365*999667caSMichal Simek	usb-phy = <&usb_phy0>;
366*999667caSMichal Simek	pinctrl-names = "default";
367*999667caSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
3685ab502cbSMasahiro Yamada};
369