139ed61274f521bf1d86fc8350e7127fe9e1efa1
[linux-2.6-microblaze.git] / arch / arm / boot / dts / zynq-zc702.dts
1 /*
2  *  Copyright (C) 2011 - 2014 Xilinx
3  *  Copyright (C) 2012 National Instruments Corp.
4  *
5  * This software is licensed under the terms of the GNU General Public
6  * License version 2, as published by the Free Software Foundation, and
7  * may be copied, distributed, and modified under those terms.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
14 /dts-v1/;
15 /include/ "zynq-7000.dtsi"
16
17 / {
18         model = "Zynq ZC702 Development Board";
19         compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";
20
21         aliases {
22                 ethernet0 = &gem0;
23                 i2c0 = &i2c0;
24                 serial0 = &uart1;
25         };
26
27         memory@0 {
28                 device_type = "memory";
29                 reg = <0x0 0x40000000>;
30         };
31
32         chosen {
33                 bootargs = "earlycon";
34                 stdout-path = "serial0:115200n8";
35         };
36
37         gpio-keys {
38                 compatible = "gpio-keys";
39                 #address-cells = <1>;
40                 #size-cells = <0>;
41                 autorepeat;
42                 sw14 {
43                         label = "sw14";
44                         gpios = <&gpio0 12 0>;
45                         linux,code = <108>; /* down */
46                         wakeup-source;
47                         autorepeat;
48                 };
49                 sw13 {
50                         label = "sw13";
51                         gpios = <&gpio0 14 0>;
52                         linux,code = <103>; /* up */
53                         wakeup-source;
54                         autorepeat;
55                 };
56         };
57
58         leds {
59                 compatible = "gpio-leds";
60
61                 ds23 {
62                         label = "ds23";
63                         gpios = <&gpio0 10 0>;
64                         linux,default-trigger = "heartbeat";
65                 };
66         };
67
68         usb_phy0: phy0 {
69                 compatible = "usb-nop-xceiv";
70                 #phy-cells = <0>;
71         };
72 };
73
74 &amba {
75         ocm: sram@fffc0000 {
76                 compatible = "mmio-sram";
77                 reg = <0xfffc0000 0x10000>;
78         };
79 };
80
81 &can0 {
82         status = "okay";
83         pinctrl-names = "default";
84         pinctrl-0 = <&pinctrl_can0_default>;
85 };
86
87 &clkc {
88         ps-clk-frequency = <33333333>;
89 };
90
91 &gem0 {
92         status = "okay";
93         phy-mode = "rgmii-id";
94         phy-handle = <&ethernet_phy>;
95         pinctrl-names = "default";
96         pinctrl-0 = <&pinctrl_gem0_default>;
97
98         ethernet_phy: ethernet-phy@7 {
99                 reg = <7>;
100         };
101 };
102
103 &gpio0 {
104         pinctrl-names = "default";
105         pinctrl-0 = <&pinctrl_gpio0_default>;
106 };
107
108 &i2c0 {
109         status = "okay";
110         clock-frequency = <400000>;
111         pinctrl-names = "default";
112         pinctrl-0 = <&pinctrl_i2c0_default>;
113
114         i2cswitch@74 {
115                 compatible = "nxp,pca9548";
116                 #address-cells = <1>;
117                 #size-cells = <0>;
118                 reg = <0x74>;
119
120                 i2c@0 {
121                         #address-cells = <1>;
122                         #size-cells = <0>;
123                         reg = <0>;
124                         si570: clock-generator@5d {
125                                 #clock-cells = <0>;
126                                 compatible = "silabs,si570";
127                                 temperature-stability = <50>;
128                                 reg = <0x5d>;
129                                 factory-fout = <156250000>;
130                                 clock-frequency = <148500000>;
131                         };
132                 };
133
134                 i2c@1 {
135                         #address-cells = <1>;
136                         #size-cells = <0>;
137                         reg = <1>;
138                         adv7511: hdmi-tx@39 {
139                                 compatible = "adi,adv7511";
140                                 reg = <0x39>;
141                                 adi,input-depth = <8>;
142                                 adi,input-colorspace = "yuv422";
143                                 adi,input-clock = "1x";
144                                 adi,input-style = <3>;
145                                 adi,input-justification = "right";
146                         };
147                 };
148
149                 i2c@2 {
150                         #address-cells = <1>;
151                         #size-cells = <0>;
152                         reg = <2>;
153                         eeprom@54 {
154                                 compatible = "at,24c08";
155                                 reg = <0x54>;
156                         };
157                 };
158
159                 i2c@3 {
160                         #address-cells = <1>;
161                         #size-cells = <0>;
162                         reg = <3>;
163                         gpio@21 {
164                                 compatible = "ti,tca6416";
165                                 reg = <0x21>;
166                                 gpio-controller;
167                                 #gpio-cells = <2>;
168                         };
169                 };
170
171                 i2c@4 {
172                         #address-cells = <1>;
173                         #size-cells = <0>;
174                         reg = <4>;
175                         rtc@51 {
176                                 compatible = "nxp,pcf8563";
177                                 reg = <0x51>;
178                         };
179                 };
180
181                 i2c@7 {
182                         #address-cells = <1>;
183                         #size-cells = <0>;
184                         reg = <7>;
185                         hwmon@52 {
186                                 compatible = "ti,ucd9248";
187                                 reg = <52>;
188                         };
189                         hwmon@53 {
190                                 compatible = "ti,ucd9248";
191                                 reg = <53>;
192                         };
193                         hwmon@54 {
194                                 compatible = "ti,ucd9248";
195                                 reg = <54>;
196                         };
197                 };
198         };
199 };
200
201 &pinctrl0 {
202         pinctrl_can0_default: can0-default {
203                 mux {
204                         function = "can0";
205                         groups = "can0_9_grp";
206                 };
207
208                 conf {
209                         groups = "can0_9_grp";
210                         slew-rate = <0>;
211                         io-standard = <1>;
212                 };
213
214                 conf-rx {
215                         pins = "MIO46";
216                         bias-high-impedance;
217                 };
218
219                 conf-tx {
220                         pins = "MIO47";
221                         bias-disable;
222                 };
223         };
224
225         pinctrl_gem0_default: gem0-default {
226                 mux {
227                         function = "ethernet0";
228                         groups = "ethernet0_0_grp";
229                 };
230
231                 conf {
232                         groups = "ethernet0_0_grp";
233                         slew-rate = <0>;
234                         io-standard = <4>;
235                 };
236
237                 conf-rx {
238                         pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
239                         bias-high-impedance;
240                         low-power-disable;
241                 };
242
243                 conf-tx {
244                         pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
245                         bias-disable;
246                         low-power-enable;
247                 };
248
249                 mux-mdio {
250                         function = "mdio0";
251                         groups = "mdio0_0_grp";
252                 };
253
254                 conf-mdio {
255                         groups = "mdio0_0_grp";
256                         slew-rate = <0>;
257                         io-standard = <1>;
258                         bias-disable;
259                 };
260         };
261
262         pinctrl_gpio0_default: gpio0-default {
263                 mux {
264                         function = "gpio0";
265                         groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
266                                  "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
267                                  "gpio0_13_grp", "gpio0_14_grp";
268                 };
269
270                 conf {
271                         groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
272                                  "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
273                                  "gpio0_13_grp", "gpio0_14_grp";
274                         slew-rate = <0>;
275                         io-standard = <1>;
276                 };
277
278                 conf-pull-up {
279                         pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
280                         bias-pull-up;
281                 };
282
283                 conf-pull-none {
284                         pins = "MIO7", "MIO8";
285                         bias-disable;
286                 };
287         };
288
289         pinctrl_i2c0_default: i2c0-default {
290                 mux {
291                         groups = "i2c0_10_grp";
292                         function = "i2c0";
293                 };
294
295                 conf {
296                         groups = "i2c0_10_grp";
297                         bias-pull-up;
298                         slew-rate = <0>;
299                         io-standard = <1>;
300                 };
301         };
302
303         pinctrl_sdhci0_default: sdhci0-default {
304                 mux {
305                         groups = "sdio0_2_grp";
306                         function = "sdio0";
307                 };
308
309                 conf {
310                         groups = "sdio0_2_grp";
311                         slew-rate = <0>;
312                         io-standard = <1>;
313                         bias-disable;
314                 };
315
316                 mux-cd {
317                         groups = "gpio0_0_grp";
318                         function = "sdio0_cd";
319                 };
320
321                 conf-cd {
322                         groups = "gpio0_0_grp";
323                         bias-high-impedance;
324                         bias-pull-up;
325                         slew-rate = <0>;
326                         io-standard = <1>;
327                 };
328
329                 mux-wp {
330                         groups = "gpio0_15_grp";
331                         function = "sdio0_wp";
332                 };
333
334                 conf-wp {
335                         groups = "gpio0_15_grp";
336                         bias-high-impedance;
337                         bias-pull-up;
338                         slew-rate = <0>;
339                         io-standard = <1>;
340                 };
341         };
342
343         pinctrl_uart1_default: uart1-default {
344                 mux {
345                         groups = "uart1_10_grp";
346                         function = "uart1";
347                 };
348
349                 conf {
350                         groups = "uart1_10_grp";
351                         slew-rate = <0>;
352                         io-standard = <1>;
353                 };
354
355                 conf-rx {
356                         pins = "MIO49";
357                         bias-high-impedance;
358                 };
359
360                 conf-tx {
361                         pins = "MIO48";
362                         bias-disable;
363                 };
364         };
365
366         pinctrl_usb0_default: usb0-default {
367                 mux {
368                         groups = "usb0_0_grp";
369                         function = "usb0";
370                 };
371
372                 conf {
373                         groups = "usb0_0_grp";
374                         slew-rate = <0>;
375                         io-standard = <1>;
376                 };
377
378                 conf-rx {
379                         pins = "MIO29", "MIO31", "MIO36";
380                         bias-high-impedance;
381                 };
382
383                 conf-tx {
384                         pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
385                                "MIO35", "MIO37", "MIO38", "MIO39";
386                         bias-disable;
387                 };
388         };
389 };
390
391 &sdhci0 {
392         status = "okay";
393         pinctrl-names = "default";
394         pinctrl-0 = <&pinctrl_sdhci0_default>;
395 };
396
397 &uart1 {
398         status = "okay";
399         pinctrl-names = "default";
400         pinctrl-0 = <&pinctrl_uart1_default>;
401 };
402
403 &usb0 {
404         status = "okay";
405         dr_mode = "host";
406         usb-phy = <&usb_phy0>;
407         pinctrl-names = "default";
408         pinctrl-0 = <&pinctrl_usb0_default>;
409 };