aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-01-29 17:03:28 -0500
committerOlof Johansson <olof@lixom.net>2015-01-29 17:03:28 -0500
commit7679f31f143bb3b770b80855af254bb6ee0a1f89 (patch)
tree438c407327933b4766b47c7bfe95b574a280ad90
parent1215c3e65a50cc9770c8a6a1d6689fdcb673c4cc (diff)
parentab216ac5a236756c4560ff7f07ec7e206acdf078 (diff)
Merge tag 'zynq-dt-for-3.20' of https://github.com/Xilinx/linux-xlnx into next/dt
Merge "Zync DT for v3.20" from Michal Simek: arm: Xilinx Zynq dt patches for v3.20 - Add USB chipidea driver to DT - Add pincontrol - Add aliases node - Fix WDT node * tag 'zynq-dt-for-3.20' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: DT: Add aliases node ARM: zynq: DT: Fix binding for cadence WDT ARM: zynq: DT: Add pinctrl information to USB nodes ARM: zynq: DT: Remove bogus value from 'bias-disable' property ARM: zynq: DT: Add pinctrl information ARM: zynq: DT: Add USB to device tree Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/boot/dts/zynq-7000.dtsi32
-rw-r--r--arch/arm/boot/dts/zynq-zc702.dts224
-rw-r--r--arch/arm/boot/dts/zynq-zc706.dts194
-rw-r--r--arch/arm/boot/dts/zynq-zed.dts15
4 files changed, 461 insertions, 4 deletions
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index ee3e5d675b05..a5cd2eda3edf 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -237,7 +237,7 @@
237 slcr: slcr@f8000000 { 237 slcr: slcr@f8000000 {
238 #address-cells = <1>; 238 #address-cells = <1>;
239 #size-cells = <1>; 239 #size-cells = <1>;
240 compatible = "xlnx,zynq-slcr", "syscon"; 240 compatible = "xlnx,zynq-slcr", "syscon", "simple-bus";
241 reg = <0xF8000000 0x1000>; 241 reg = <0xF8000000 0x1000>;
242 ranges; 242 ranges;
243 clkc: clkc@100 { 243 clkc: clkc@100 {
@@ -257,6 +257,12 @@
257 "dbg_trc", "dbg_apb"; 257 "dbg_trc", "dbg_apb";
258 reg = <0x100 0x100>; 258 reg = <0x100 0x100>;
259 }; 259 };
260
261 pinctrl0: pinctrl@700 {
262 compatible = "xlnx,pinctrl-zynq";
263 reg = <0x700 0x200>;
264 syscon = <&slcr>;
265 };
260 }; 266 };
261 267
262 dmac_s: dmac@f8003000 { 268 dmac_s: dmac@f8003000 {
@@ -314,14 +320,32 @@
314 clocks = <&clkc 4>; 320 clocks = <&clkc 4>;
315 }; 321 };
316 322
323 usb0: usb@e0002000 {
324 compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
325 status = "disabled";
326 clocks = <&clkc 28>;
327 interrupt-parent = <&intc>;
328 interrupts = <0 21 4>;
329 reg = <0xe0002000 0x1000>;
330 phy_type = "ulpi";
331 };
332
333 usb1: usb@e0003000 {
334 compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
335 status = "disabled";
336 clocks = <&clkc 29>;
337 interrupt-parent = <&intc>;
338 interrupts = <0 44 4>;
339 reg = <0xe0003000 0x1000>;
340 phy_type = "ulpi";
341 };
342
317 watchdog0: watchdog@f8005000 { 343 watchdog0: watchdog@f8005000 {
318 clocks = <&clkc 45>; 344 clocks = <&clkc 45>;
319 compatible = "xlnx,zynq-wdt-r1p2"; 345 compatible = "cdns,wdt-r1p2";
320 device_type = "watchdog";
321 interrupt-parent = <&intc>; 346 interrupt-parent = <&intc>;
322 interrupts = <0 9 1>; 347 interrupts = <0 9 1>;
323 reg = <0xf8005000 0x1000>; 348 reg = <0xf8005000 0x1000>;
324 reset = <0>;
325 timeout-sec = <10>; 349 timeout-sec = <10>;
326 }; 350 };
327 }; 351 };
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts
index 280f02dd4ddc..1fc1d3911e9b 100644
--- a/arch/arm/boot/dts/zynq-zc702.dts
+++ b/arch/arm/boot/dts/zynq-zc702.dts
@@ -18,6 +18,12 @@
18 model = "Zynq ZC702 Development Board"; 18 model = "Zynq ZC702 Development Board";
19 compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; 19 compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";
20 20
21 aliases {
22 ethernet0 = &gem0;
23 i2c0 = &i2c0;
24 serial0 = &uart1;
25 };
26
21 memory { 27 memory {
22 device_type = "memory"; 28 device_type = "memory";
23 reg = <0x0 0x40000000>; 29 reg = <0x0 0x40000000>;
@@ -36,10 +42,17 @@
36 linux,default-trigger = "heartbeat"; 42 linux,default-trigger = "heartbeat";
37 }; 43 };
38 }; 44 };
45
46 usb_phy0: phy0 {
47 compatible = "usb-nop-xceiv";
48 #phy-cells = <0>;
49 };
39}; 50};
40 51
41&can0 { 52&can0 {
42 status = "okay"; 53 status = "okay";
54 pinctrl-names = "default";
55 pinctrl-0 = <&pinctrl_can0_default>;
43}; 56};
44 57
45&clkc { 58&clkc {
@@ -50,15 +63,24 @@
50 status = "okay"; 63 status = "okay";
51 phy-mode = "rgmii-id"; 64 phy-mode = "rgmii-id";
52 phy-handle = <&ethernet_phy>; 65 phy-handle = <&ethernet_phy>;
66 pinctrl-names = "default";
67 pinctrl-0 = <&pinctrl_gem0_default>;
53 68
54 ethernet_phy: ethernet-phy@7 { 69 ethernet_phy: ethernet-phy@7 {
55 reg = <7>; 70 reg = <7>;
56 }; 71 };
57}; 72};
58 73
74&gpio0 {
75 pinctrl-names = "default";
76 pinctrl-0 = <&pinctrl_gpio0_default>;
77};
78
59&i2c0 { 79&i2c0 {
60 status = "okay"; 80 status = "okay";
61 clock-frequency = <400000>; 81 clock-frequency = <400000>;
82 pinctrl-names = "default";
83 pinctrl-0 = <&pinctrl_i2c0_default>;
62 84
63 i2cswitch@74 { 85 i2cswitch@74 {
64 compatible = "nxp,pca9548"; 86 compatible = "nxp,pca9548";
@@ -132,10 +154,212 @@
132 }; 154 };
133}; 155};
134 156
157&pinctrl0 {
158 pinctrl_can0_default: can0-default {
159 mux {
160 function = "can0";
161 groups = "can0_9_grp";
162 };
163
164 conf {
165 groups = "can0_9_grp";
166 slew-rate = <0>;
167 io-standard = <1>;
168 };
169
170 conf-rx {
171 pins = "MIO46";
172 bias-high-impedance;
173 };
174
175 conf-tx {
176 pins = "MIO47";
177 bias-disable;
178 };
179 };
180
181 pinctrl_gem0_default: gem0-default {
182 mux {
183 function = "ethernet0";
184 groups = "ethernet0_0_grp";
185 };
186
187 conf {
188 groups = "ethernet0_0_grp";
189 slew-rate = <0>;
190 io-standard = <4>;
191 };
192
193 conf-rx {
194 pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
195 bias-high-impedance;
196 low-power-disable;
197 };
198
199 conf-tx {
200 pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
201 bias-disable;
202 low-power-enable;
203 };
204
205 mux-mdio {
206 function = "mdio0";
207 groups = "mdio0_0_grp";
208 };
209
210 conf-mdio {
211 groups = "mdio0_0_grp";
212 slew-rate = <0>;
213 io-standard = <1>;
214 bias-disable;
215 };
216 };
217
218 pinctrl_gpio0_default: gpio0-default {
219 mux {
220 function = "gpio0";
221 groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
222 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
223 "gpio0_13_grp", "gpio0_14_grp";
224 };
225
226 conf {
227 groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
228 "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
229 "gpio0_13_grp", "gpio0_14_grp";
230 slew-rate = <0>;
231 io-standard = <1>;
232 };
233
234 conf-pull-up {
235 pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
236 bias-pull-up;
237 };
238
239 conf-pull-none {
240 pins = "MIO7", "MIO8";
241 bias-disable;
242 };
243 };
244
245 pinctrl_i2c0_default: i2c0-default {
246 mux {
247 groups = "i2c0_10_grp";
248 function = "i2c0";
249 };
250
251 conf {
252 groups = "i2c0_10_grp";
253 bias-pull-up;
254 slew-rate = <0>;
255 io-standard = <1>;
256 };
257 };
258
259 pinctrl_sdhci0_default: sdhci0-default {
260 mux {
261 groups = "sdio0_2_grp";
262 function = "sdio0";
263 };
264
265 conf {
266 groups = "sdio0_2_grp";
267 slew-rate = <0>;
268 io-standard = <1>;
269 bias-disable;
270 };
271
272 mux-cd {
273 groups = "gpio0_0_grp";
274 function = "sdio0_cd";
275 };
276
277 conf-cd {
278 groups = "gpio0_0_grp";
279 bias-high-impedance;
280 bias-pull-up;
281 slew-rate = <0>;
282 io-standard = <1>;
283 };
284
285 mux-wp {
286 groups = "gpio0_15_grp";
287 function = "sdio0_wp";
288 };
289
290 conf-wp {
291 groups = "gpio0_15_grp";
292 bias-high-impedance;
293 bias-pull-up;
294 slew-rate = <0>;
295 io-standard = <1>;
296 };
297 };
298
299 pinctrl_uart1_default: uart1-default {
300 mux {
301 groups = "uart1_10_grp";
302 function = "uart1";
303 };
304
305 conf {
306 groups = "uart1_10_grp";
307 slew-rate = <0>;
308 io-standard = <1>;
309 };
310
311 conf-rx {
312 pins = "MIO49";
313 bias-high-impedance;
314 };
315
316 conf-tx {
317 pins = "MIO48";
318 bias-disable;
319 };
320 };
321
322 pinctrl_usb0_default: usb0-default {
323 mux {
324 groups = "usb0_0_grp";
325 function = "usb0";
326 };
327
328 conf {
329 groups = "usb0_0_grp";
330 slew-rate = <0>;
331 io-standard = <1>;
332 };
333
334 conf-rx {
335 pins = "MIO29", "MIO31", "MIO36";
336 bias-high-impedance;
337 };
338
339 conf-tx {
340 pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
341 "MIO35", "MIO37", "MIO38", "MIO39";
342 bias-disable;
343 };
344 };
345};
346
135&sdhci0 { 347&sdhci0 {
136 status = "okay"; 348 status = "okay";
349 pinctrl-names = "default";
350 pinctrl-0 = <&pinctrl_sdhci0_default>;
137}; 351};
138 352
139&uart1 { 353&uart1 {
140 status = "okay"; 354 status = "okay";
355 pinctrl-names = "default";
356 pinctrl-0 = <&pinctrl_uart1_default>;
357};
358
359&usb0 {
360 status = "okay";
361 dr_mode = "host";
362 usb-phy = <&usb_phy0>;
363 pinctrl-names = "default";
364 pinctrl-0 = <&pinctrl_usb0_default>;
141}; 365};
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts
index 34f7812d2ee8..850518d9b8ac 100644
--- a/arch/arm/boot/dts/zynq-zc706.dts
+++ b/arch/arm/boot/dts/zynq-zc706.dts
@@ -18,6 +18,12 @@
18 model = "Zynq ZC706 Development Board"; 18 model = "Zynq ZC706 Development Board";
19 compatible = "xlnx,zynq-zc706", "xlnx,zynq-7000"; 19 compatible = "xlnx,zynq-zc706", "xlnx,zynq-7000";
20 20
21 aliases {
22 ethernet0 = &gem0;
23 i2c0 = &i2c0;
24 serial0 = &uart1;
25 };
26
21 memory { 27 memory {
22 device_type = "memory"; 28 device_type = "memory";
23 reg = <0x0 0x40000000>; 29 reg = <0x0 0x40000000>;
@@ -27,6 +33,10 @@
27 bootargs = "console=ttyPS0,115200 earlyprintk"; 33 bootargs = "console=ttyPS0,115200 earlyprintk";
28 }; 34 };
29 35
36 usb_phy0: phy0 {
37 compatible = "usb-nop-xceiv";
38 #phy-cells = <0>;
39 };
30}; 40};
31 41
32&clkc { 42&clkc {
@@ -37,15 +47,24 @@
37 status = "okay"; 47 status = "okay";
38 phy-mode = "rgmii-id"; 48 phy-mode = "rgmii-id";
39 phy-handle = <&ethernet_phy>; 49 phy-handle = <&ethernet_phy>;
50 pinctrl-names = "default";
51 pinctrl-0 = <&pinctrl_gem0_default>;
40 52
41 ethernet_phy: ethernet-phy@7 { 53 ethernet_phy: ethernet-phy@7 {
42 reg = <7>; 54 reg = <7>;
43 }; 55 };
44}; 56};
45 57
58&gpio0 {
59 pinctrl-names = "default";
60 pinctrl-0 = <&pinctrl_gpio0_default>;
61};
62
46&i2c0 { 63&i2c0 {
47 status = "okay"; 64 status = "okay";
48 clock-frequency = <400000>; 65 clock-frequency = <400000>;
66 pinctrl-names = "default";
67 pinctrl-0 = <&pinctrl_i2c0_default>;
49 68
50 i2cswitch@74 { 69 i2cswitch@74 {
51 compatible = "nxp,pca9548"; 70 compatible = "nxp,pca9548";
@@ -111,10 +130,185 @@
111 }; 130 };
112}; 131};
113 132
133&pinctrl0 {
134 pinctrl_gem0_default: gem0-default {
135 mux {
136 function = "ethernet0";
137 groups = "ethernet0_0_grp";
138 };
139
140 conf {
141 groups = "ethernet0_0_grp";
142 slew-rate = <0>;
143 io-standard = <4>;
144 };
145
146 conf-rx {
147 pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
148 bias-high-impedance;
149 low-power-disable;
150 };
151
152 conf-tx {
153 pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
154 low-power-enable;
155 bias-disable;
156 };
157
158 mux-mdio {
159 function = "mdio0";
160 groups = "mdio0_0_grp";
161 };
162
163 conf-mdio {
164 groups = "mdio0_0_grp";
165 slew-rate = <0>;
166 io-standard = <1>;
167 bias-disable;
168 };
169 };
170
171 pinctrl_gpio0_default: gpio0-default {
172 mux {
173 function = "gpio0";
174 groups = "gpio0_7_grp", "gpio0_46_grp", "gpio0_47_grp";
175 };
176
177 conf {
178 groups = "gpio0_7_grp", "gpio0_46_grp", "gpio0_47_grp";
179 slew-rate = <0>;
180 io-standard = <1>;
181 };
182
183 conf-pull-up {
184 pins = "MIO46", "MIO47";
185 bias-pull-up;
186 };
187
188 conf-pull-none {
189 pins = "MIO7";
190 bias-disable;
191 };
192 };
193
194 pinctrl_i2c0_default: i2c0-default {
195 mux {
196 groups = "i2c0_10_grp";
197 function = "i2c0";
198 };
199
200 conf {
201 groups = "i2c0_10_grp";
202 bias-pull-up;
203 slew-rate = <0>;
204 io-standard = <1>;
205 };
206 };
207
208 pinctrl_sdhci0_default: sdhci0-default {
209 mux {
210 groups = "sdio0_2_grp";
211 function = "sdio0";
212 };
213
214 conf {
215 groups = "sdio0_2_grp";
216 slew-rate = <0>;
217 io-standard = <1>;
218 bias-disable;
219 };
220
221 mux-cd {
222 groups = "gpio0_14_grp";
223 function = "sdio0_cd";
224 };
225
226 conf-cd {
227 groups = "gpio0_14_grp";
228 bias-high-impedance;
229 bias-pull-up;
230 slew-rate = <0>;
231 io-standard = <1>;
232 };
233
234 mux-wp {
235 groups = "gpio0_15_grp";
236 function = "sdio0_wp";
237 };
238
239 conf-wp {
240 groups = "gpio0_15_grp";
241 bias-high-impedance;
242 bias-pull-up;
243 slew-rate = <0>;
244 io-standard = <1>;
245 };
246 };
247
248 pinctrl_uart1_default: uart1-default {
249 mux {
250 groups = "uart1_10_grp";
251 function = "uart1";
252 };
253
254 conf {
255 groups = "uart1_10_grp";
256 slew-rate = <0>;
257 io-standard = <1>;
258 };
259
260 conf-rx {
261 pins = "MIO49";
262 bias-high-impedance;
263 };
264
265 conf-tx {
266 pins = "MIO48";
267 bias-disable;
268 };
269 };
270
271 pinctrl_usb0_default: usb0-default {
272 mux {
273 groups = "usb0_0_grp";
274 function = "usb0";
275 };
276
277 conf {
278 groups = "usb0_0_grp";
279 slew-rate = <0>;
280 io-standard = <1>;
281 };
282
283 conf-rx {
284 pins = "MIO29", "MIO31", "MIO36";
285 bias-high-impedance;
286 };
287
288 conf-tx {
289 pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34",
290 "MIO35", "MIO37", "MIO38", "MIO39";
291 bias-disable;
292 };
293 };
294};
295
114&sdhci0 { 296&sdhci0 {
115 status = "okay"; 297 status = "okay";
298 pinctrl-names = "default";
299 pinctrl-0 = <&pinctrl_sdhci0_default>;
116}; 300};
117 301
118&uart1 { 302&uart1 {
119 status = "okay"; 303 status = "okay";
304 pinctrl-names = "default";
305 pinctrl-0 = <&pinctrl_uart1_default>;
306};
307
308&usb0 {
309 status = "okay";
310 dr_mode = "host";
311 usb-phy = <&usb_phy0>;
312 pinctrl-names = "default";
313 pinctrl-0 = <&pinctrl_usb0_default>;
120}; 314};
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts
index 1c7cc990b47a..5658bc8434de 100644
--- a/arch/arm/boot/dts/zynq-zed.dts
+++ b/arch/arm/boot/dts/zynq-zed.dts
@@ -18,6 +18,11 @@
18 model = "Zynq Zed Development Board"; 18 model = "Zynq Zed Development Board";
19 compatible = "xlnx,zynq-zed", "xlnx,zynq-7000"; 19 compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
20 20
21 aliases {
22 ethernet0 = &gem0;
23 serial0 = &uart1;
24 };
25
21 memory { 26 memory {
22 device_type = "memory"; 27 device_type = "memory";
23 reg = <0x0 0x20000000>; 28 reg = <0x0 0x20000000>;
@@ -27,6 +32,10 @@
27 bootargs = "console=ttyPS0,115200 earlyprintk"; 32 bootargs = "console=ttyPS0,115200 earlyprintk";
28 }; 33 };
29 34
35 usb_phy0: phy0 {
36 compatible = "usb-nop-xceiv";
37 #phy-cells = <0>;
38 };
30}; 39};
31 40
32&clkc { 41&clkc {
@@ -50,3 +59,9 @@
50&uart1 { 59&uart1 {
51 status = "okay"; 60 status = "okay";
52}; 61};
62
63&usb0 {
64 status = "okay";
65 dr_mode = "host";
66 usb-phy = <&usb_phy0>;
67};