be2fc53c13b498587ec4cb8833fc55545c1cc9cd
[linux-2.6-microblaze.git] / arch / arm / boot / dts / zynq-zc706.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 ZC706 Development Board";
19         compatible = "xlnx,zynq-zc706", "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         usb_phy0: phy0 {
38                 compatible = "usb-nop-xceiv";
39                 #phy-cells = <0>;
40         };
41 };
42
43 &clkc {
44         ps-clk-frequency = <33333333>;
45 };
46
47 &gem0 {
48         status = "okay";
49         phy-mode = "rgmii-id";
50         phy-handle = <&ethernet_phy>;
51         pinctrl-names = "default";
52         pinctrl-0 = <&pinctrl_gem0_default>;
53
54         ethernet_phy: ethernet-phy@7 {
55                 reg = <7>;
56         };
57 };
58
59 &gpio0 {
60         pinctrl-names = "default";
61         pinctrl-0 = <&pinctrl_gpio0_default>;
62 };
63
64 &i2c0 {
65         status = "okay";
66         clock-frequency = <400000>;
67         pinctrl-names = "default";
68         pinctrl-0 = <&pinctrl_i2c0_default>;
69
70         i2cswitch@74 {
71                 compatible = "nxp,pca9548";
72                 #address-cells = <1>;
73                 #size-cells = <0>;
74                 reg = <0x74>;
75
76                 i2c@0 {
77                         #address-cells = <1>;
78                         #size-cells = <0>;
79                         reg = <0>;
80                         si570: clock-generator@5d {
81                                 #clock-cells = <0>;
82                                 compatible = "silabs,si570";
83                                 temperature-stability = <50>;
84                                 reg = <0x5d>;
85                                 factory-fout = <156250000>;
86                                 clock-frequency = <148500000>;
87                         };
88                 };
89
90                 i2c@1 {
91                         #address-cells = <1>;
92                         #size-cells = <0>;
93                         reg = <1>;
94                         adv7511: hdmi-tx@39 {
95                                 compatible = "adi,adv7511";
96                                 reg = <0x39>;
97                                 adi,input-depth = <8>;
98                                 adi,input-colorspace = "yuv422";
99                                 adi,input-clock = "1x";
100                                 adi,input-style = <3>;
101                                 adi,input-justification = "evenly";
102                         };
103                 };
104
105                 i2c@2 {
106                         #address-cells = <1>;
107                         #size-cells = <0>;
108                         reg = <2>;
109                         eeprom@54 {
110                                 compatible = "at,24c08";
111                                 reg = <0x54>;
112                         };
113                 };
114
115                 i2c@3 {
116                         #address-cells = <1>;
117                         #size-cells = <0>;
118                         reg = <3>;
119                         gpio@21 {
120                                 compatible = "ti,tca6416";
121                                 reg = <0x21>;
122                                 gpio-controller;
123                                 #gpio-cells = <2>;
124                         };
125                 };
126
127                 i2c@4 {
128                         #address-cells = <1>;
129                         #size-cells = <0>;
130                         reg = <4>;
131                         rtc@51 {
132                                 compatible = "nxp,pcf8563";
133                                 reg = <0x51>;
134                         };
135                 };
136
137                 i2c@7 {
138                         #address-cells = <1>;
139                         #size-cells = <0>;
140                         reg = <7>;
141                         ucd90120@65 {
142                                 compatible = "ti,ucd90120";
143                                 reg = <0x65>;
144                         };
145                 };
146         };
147 };
148
149 &pinctrl0 {
150         pinctrl_gem0_default: gem0-default {
151                 mux {
152                         function = "ethernet0";
153                         groups = "ethernet0_0_grp";
154                 };
155
156                 conf {
157                         groups = "ethernet0_0_grp";
158                         slew-rate = <0>;
159                         io-standard = <4>;
160                 };
161
162                 conf-rx {
163                         pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
164                         bias-high-impedance;
165                         low-power-disable;
166                 };
167
168                 conf-tx {
169                         pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
170                         low-power-enable;
171                         bias-disable;
172                 };
173
174                 mux-mdio {
175                         function = "mdio0";
176                         groups = "mdio0_0_grp";
177                 };
178
179                 conf-mdio {
180                         groups = "mdio0_0_grp";
181                         slew-rate = <0>;
182                         io-standard = <1>;
183                         bias-disable;
184                 };
185         };
186
187         pinctrl_gpio0_default: gpio0-default {
188                 mux {
189                         function = "gpio0";
190                         groups = "gpio0_7_grp", "gpio0_46_grp", "gpio0_47_grp";
191                 };
192
193                 conf {
194                         groups = "gpio0_7_grp", "gpio0_46_grp", "gpio0_47_grp";
195                         slew-rate = <0>;
196                         io-standard = <1>;
197                 };
198
199                 conf-pull-up {
200                         pins = "MIO46", "MIO47";
201                         bias-pull-up;
202                 };
203
204                 conf-pull-none {
205                         pins = "MIO7";
206                         bias-disable;
207                 };
208         };
209
210         pinctrl_i2c0_default: i2c0-default {
211                 mux {
212                         groups = "i2c0_10_grp";
213                         function = "i2c0";
214                 };
215
216                 conf {
217                         groups = "i2c0_10_grp";
218                         bias-pull-up;
219                         slew-rate = <0>;
220                         io-standard = <1>;
221                 };
222         };
223
224         pinctrl_sdhci0_default: sdhci0-default {
225                 mux {
226                         groups = "sdio0_2_grp";
227                         function = "sdio0";
228                 };
229
230                 conf {
231                         groups = "sdio0_2_grp";
232                         slew-rate = <0>;
233                         io-standard = <1>;
234                         bias-disable;
235                 };
236
237                 mux-cd {
238                         groups = "gpio0_14_grp";
239                         function = "sdio0_cd";
240                 };
241
242                 conf-cd {
243                         groups = "gpio0_14_grp";
244                         bias-high-impedance;
245                         bias-pull-up;
246                         slew-rate = <0>;
247                         io-standard = <1>;
248                 };
249
250                 mux-wp {
251                         groups = "gpio0_15_grp";
252                         function = "sdio0_wp";
253                 };
254
255                 conf-wp {
256                         groups = "gpio0_15_grp";
257                         bias-high-impedance;
258                         bias-pull-up;
259                         slew-rate = <0>;
260                         io-standard = <1>;
261                 };
262         };
263
264         pinctrl_uart1_default: uart1-default {
265                 mux {
266                         groups = "uart1_10_grp";
267                         function = "uart1";
268                 };
269
270                 conf {
271                         groups = "uart1_10_grp";
272                         slew-rate = <0>;
273                         io-standard = <1>;
274                 };
275
276                 conf-rx {
277                         pins = "MIO49";
278                         bias-high-impedance;
279                 };
280
281                 conf-tx {
282                         pins = "MIO48";
283                         bias-disable;
284                 };
285         };
286
287         pinctrl_usb0_default: usb0-default {
288                 mux {
289                         groups = "usb0_0_grp";
290                         function = "usb0";
291                 };
292
293                 conf {
294                         groups = "usb0_0_grp";
295                         slew-rate = <0>;
296                         io-standard = <1>;
297                 };
298
299                 conf-rx {
300                         pins = "MIO29", "MIO31", "MIO36";
301                         bias-high-impedance;
302                 };
303
304                 conf-tx {
305                         pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
306                                "MIO35", "MIO37", "MIO38", "MIO39";
307                         bias-disable;
308                 };
309         };
310 };
311
312 &sdhci0 {
313         status = "okay";
314         pinctrl-names = "default";
315         pinctrl-0 = <&pinctrl_sdhci0_default>;
316 };
317
318 &uart1 {
319         status = "okay";
320         pinctrl-names = "default";
321         pinctrl-0 = <&pinctrl_uart1_default>;
322 };
323
324 &usb0 {
325         status = "okay";
326         dr_mode = "host";
327         usb-phy = <&usb_phy0>;
328         pinctrl-names = "default";
329         pinctrl-0 = <&pinctrl_usb0_default>;
330 };