blob: d6e924803354135ddd711e72ca31831122a067a0 [file] [log] [blame]
Michal Simek18a952c2018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simek6c0c9582016-04-07 16:00:11 +02002/*
3 * dts file for Xilinx ZynqMP zc1751-xm016-dc2
4 *
Michal Simekd31f1c92020-02-18 08:38:06 +01005 * (C) Copyright 2015 - 2020, Xilinx, Inc.
Michal Simek6c0c9582016-04-07 16:00:11 +02006 *
7 * Michal Simek <michal.simek@xilinx.com>
Michal Simek6c0c9582016-04-07 16:00:11 +02008 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
Michal Simekee4983f2017-12-08 14:50:42 +010013#include "zynqmp-clk-ccf.dtsi"
Michal Simekbd008492021-05-10 13:14:02 +020014#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
Michal Simek6c0c9582016-04-07 16:00:11 +020016
17/ {
18 model = "ZynqMP zc1751-xm016-dc2 RevA";
19 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
20
21 aliases {
22 can0 = &can0;
23 can1 = &can1;
24 ethernet0 = &gem2;
25 gpio0 = &gpio;
26 i2c0 = &i2c0;
27 rtc0 = &rtc;
28 serial0 = &uart0;
29 serial1 = &uart1;
30 spi0 = &spi0;
31 spi1 = &spi1;
32 usb0 = &usb1;
33 };
34
35 chosen {
36 bootargs = "earlycon";
37 stdout-path = "serial0:115200n8";
38 };
39
Michal Simekc926e6f2016-11-11 13:21:04 +010040 memory@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +020041 device_type = "memory";
42 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
43 };
44};
45
46&can0 {
47 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +020048 pinctrl-names = "default";
49 pinctrl-0 = <&pinctrl_can0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +020050};
51
52&can1 {
53 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +020054 pinctrl-names = "default";
55 pinctrl-0 = <&pinctrl_can1_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +020056};
57
Michal Simek6c0c9582016-04-07 16:00:11 +020058&fpd_dma_chan1 {
59 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020060};
61
62&fpd_dma_chan2 {
63 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020064};
65
66&fpd_dma_chan3 {
67 status = "okay";
68};
69
70&fpd_dma_chan4 {
71 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020072};
73
74&fpd_dma_chan5 {
75 status = "okay";
76};
77
78&fpd_dma_chan6 {
79 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020080};
81
82&fpd_dma_chan7 {
83 status = "okay";
84};
85
86&fpd_dma_chan8 {
87 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020088};
89
90&gem2 {
91 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020092 phy-handle = <&phy0>;
93 phy-mode = "rgmii-id";
Michal Simekbd008492021-05-10 13:14:02 +020094 pinctrl-names = "default";
95 pinctrl-0 = <&pinctrl_gem2_default>;
Michal Simek2975a422019-08-08 12:44:22 +020096 phy0: ethernet-phy@5 {
Michal Simek6c0c9582016-04-07 16:00:11 +020097 reg = <5>;
98 ti,rx-internal-delay = <0x8>;
99 ti,tx-internal-delay = <0xa>;
100 ti,fifo-depth = <0x1>;
Harini Katakam631d9a92019-02-13 17:02:21 +0530101 ti,dp83867-rxctrl-strap-quirk;
Michal Simek6c0c9582016-04-07 16:00:11 +0200102 };
103};
104
105&gpio {
106 status = "okay";
107};
108
109&i2c0 {
110 status = "okay";
111 clock-frequency = <400000>;
Michal Simekbd008492021-05-10 13:14:02 +0200112 pinctrl-names = "default", "gpio";
113 pinctrl-0 = <&pinctrl_i2c0_default>;
114 pinctrl-1 = <&pinctrl_i2c0_gpio>;
115 scl-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
116 sda-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200117
118 tca6416_u26: gpio@20 {
119 compatible = "ti,tca6416";
120 reg = <0x20>;
121 gpio-controller;
122 #gpio-cells = <2>;
123 /* IRQ not connected */
124 };
125
126 rtc@68 {
127 compatible = "dallas,ds1339";
128 reg = <0x68>;
129 };
130};
131
132&nand0 {
133 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200134 pinctrl-names = "default";
135 pinctrl-0 = <&pinctrl_nand0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200136 arasan,has-mdma;
Michal Simek6c0c9582016-04-07 16:00:11 +0200137
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530138 nand@0 {
139 reg = <0x0>;
140 #address-cells = <0x2>;
141 #size-cells = <0x1>;
Amit Kumar Mahapatrafbf043d2021-02-18 00:50:21 -0700142 nand-ecc-mode = "soft";
143 nand-ecc-algo = "bch";
144 nand-rb = <0>;
145 label = "main-storage-0";
Michal Simek6c0c9582016-04-07 16:00:11 +0200146
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530147 partition@0 { /* for testing purpose */
148 label = "nand-fsbl-uboot";
149 reg = <0x0 0x0 0x400000>;
150 };
151 partition@1 { /* for testing purpose */
152 label = "nand-linux";
153 reg = <0x0 0x400000 0x1400000>;
154 };
155 partition@2 { /* for testing purpose */
156 label = "nand-device-tree";
157 reg = <0x0 0x1800000 0x400000>;
158 };
159 partition@3 { /* for testing purpose */
160 label = "nand-rootfs";
161 reg = <0x0 0x1c00000 0x1400000>;
162 };
163 partition@4 { /* for testing purpose */
164 label = "nand-bitstream";
165 reg = <0x0 0x3000000 0x400000>;
166 };
167 partition@5 { /* for testing purpose */
168 label = "nand-misc";
169 reg = <0x0 0x3400000 0xfcc00000>;
170 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200171 };
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530172 nand@1 {
173 reg = <0x1>;
174 #address-cells = <0x2>;
175 #size-cells = <0x1>;
Amit Kumar Mahapatrafbf043d2021-02-18 00:50:21 -0700176 nand-ecc-mode = "soft";
177 nand-ecc-algo = "bch";
178 nand-rb = <0>;
179 label = "main-storage-1";
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530180
181 partition@0 { /* for testing purpose */
182 label = "nand1-fsbl-uboot";
183 reg = <0x0 0x0 0x400000>;
184 };
185 partition@1 { /* for testing purpose */
186 label = "nand1-linux";
187 reg = <0x0 0x400000 0x1400000>;
188 };
189 partition@2 { /* for testing purpose */
190 label = "nand1-device-tree";
191 reg = <0x0 0x1800000 0x400000>;
192 };
193 partition@3 { /* for testing purpose */
194 label = "nand1-rootfs";
195 reg = <0x0 0x1c00000 0x1400000>;
196 };
197 partition@4 { /* for testing purpose */
198 label = "nand1-bitstream";
199 reg = <0x0 0x3000000 0x400000>;
200 };
201 partition@5 { /* for testing purpose */
202 label = "nand1-misc";
203 reg = <0x0 0x3400000 0xfcc00000>;
204 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200205 };
206};
207
Michal Simekbd008492021-05-10 13:14:02 +0200208&pinctrl0 {
209 status = "okay";
210 pinctrl_can0_default: can0-default {
211 mux {
212 function = "can0";
213 groups = "can0_9_grp";
214 };
215
216 conf {
217 groups = "can0_9_grp";
218 slew-rate = <SLEW_RATE_SLOW>;
219 power-source = <IO_STANDARD_LVCMOS18>;
220 };
221
222 conf-rx {
223 pins = "MIO38";
224 bias-high-impedance;
225 };
226
227 conf-tx {
228 pins = "MIO39";
229 bias-disable;
230 };
231 };
232
233 pinctrl_can1_default: can1-default {
234 mux {
235 function = "can1";
236 groups = "can1_8_grp";
237 };
238
239 conf {
240 groups = "can1_8_grp";
241 slew-rate = <SLEW_RATE_SLOW>;
242 power-source = <IO_STANDARD_LVCMOS18>;
243 };
244
245 conf-rx {
246 pins = "MIO33";
247 bias-high-impedance;
248 };
249
250 conf-tx {
251 pins = "MIO32";
252 bias-disable;
253 };
254 };
255
256 pinctrl_i2c0_default: i2c0-default {
257 mux {
258 groups = "i2c0_1_grp";
259 function = "i2c0";
260 };
261
262 conf {
263 groups = "i2c0_1_grp";
264 bias-pull-up;
265 slew-rate = <SLEW_RATE_SLOW>;
266 power-source = <IO_STANDARD_LVCMOS18>;
267 };
268 };
269
270 pinctrl_i2c0_gpio: i2c0-gpio {
271 mux {
272 groups = "gpio0_6_grp", "gpio0_7_grp";
273 function = "gpio0";
274 };
275
276 conf {
277 groups = "gpio0_6_grp", "gpio0_7_grp";
278 slew-rate = <SLEW_RATE_SLOW>;
279 power-source = <IO_STANDARD_LVCMOS18>;
280 };
281 };
282
283 pinctrl_uart0_default: uart0-default {
284 mux {
285 groups = "uart0_10_grp";
286 function = "uart0";
287 };
288
289 conf {
290 groups = "uart0_10_grp";
291 slew-rate = <SLEW_RATE_SLOW>;
292 power-source = <IO_STANDARD_LVCMOS18>;
293 };
294
295 conf-rx {
296 pins = "MIO42";
297 bias-high-impedance;
298 };
299
300 conf-tx {
301 pins = "MIO43";
302 bias-disable;
303 };
304 };
305
306 pinctrl_uart1_default: uart1-default {
307 mux {
308 groups = "uart1_10_grp";
309 function = "uart1";
310 };
311
312 conf {
313 groups = "uart1_10_grp";
314 slew-rate = <SLEW_RATE_SLOW>;
315 power-source = <IO_STANDARD_LVCMOS18>;
316 };
317
318 conf-rx {
319 pins = "MIO41";
320 bias-high-impedance;
321 };
322
323 conf-tx {
324 pins = "MIO40";
325 bias-disable;
326 };
327 };
328
329 pinctrl_usb1_default: usb1-default {
330 mux {
331 groups = "usb1_0_grp";
332 function = "usb1";
333 };
334
335 conf {
336 groups = "usb1_0_grp";
337 slew-rate = <SLEW_RATE_SLOW>;
338 power-source = <IO_STANDARD_LVCMOS18>;
339 };
340
341 conf-rx {
342 pins = "MIO64", "MIO65", "MIO67";
343 bias-high-impedance;
344 };
345
346 conf-tx {
347 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
348 "MIO72", "MIO73", "MIO74", "MIO75";
349 bias-disable;
350 };
351 };
352
353 pinctrl_gem2_default: gem2-default {
354 mux {
355 function = "ethernet2";
356 groups = "ethernet2_0_grp";
357 };
358
359 conf {
360 groups = "ethernet2_0_grp";
361 slew-rate = <SLEW_RATE_SLOW>;
362 power-source = <IO_STANDARD_LVCMOS18>;
363 };
364
365 conf-rx {
366 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
367 "MIO63";
368 bias-high-impedance;
369 low-power-disable;
370 };
371
372 conf-tx {
373 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
374 "MIO57";
375 bias-disable;
376 low-power-enable;
377 };
378
379 mux-mdio {
380 function = "mdio2";
381 groups = "mdio2_0_grp";
382 };
383
384 conf-mdio {
385 groups = "mdio2_0_grp";
386 slew-rate = <SLEW_RATE_SLOW>;
387 power-source = <IO_STANDARD_LVCMOS18>;
388 bias-disable;
389 };
390 };
391
392 pinctrl_nand0_default: nand0-default {
393 mux {
394 groups = "nand0_0_grp";
395 function = "nand0";
396 };
397
398 conf {
399 groups = "nand0_0_grp";
400 bias-pull-up;
401 };
402
403 mux-ce {
404 groups = "nand0_ce_0_grp";
405 function = "nand0_ce";
406 };
407
408 conf-ce {
409 groups = "nand0_ce_0_grp";
410 bias-pull-up;
411 };
412
413 mux-rb {
414 groups = "nand0_rb_0_grp";
415 function = "nand0_rb";
416 };
417
418 conf-rb {
419 groups = "nand0_rb_0_grp";
420 bias-pull-up;
421 };
422
423 mux-dqs {
424 groups = "nand0_dqs_0_grp";
425 function = "nand0_dqs";
426 };
427
428 conf-dqs {
429 groups = "nand0_dqs_0_grp";
430 bias-pull-up;
431 };
432 };
433
434 pinctrl_spi0_default: spi0-default {
435 mux {
436 groups = "spi0_0_grp";
437 function = "spi0";
438 };
439
440 conf {
441 groups = "spi0_0_grp";
442 bias-disable;
443 slew-rate = <SLEW_RATE_SLOW>;
444 power-source = <IO_STANDARD_LVCMOS18>;
445 };
446
447 mux-cs {
448 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
449 "spi0_ss_2_grp";
450 function = "spi0_ss";
451 };
452
453 conf-cs {
454 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
455 "spi0_ss_2_grp";
456 bias-disable;
457 };
458 };
459
460 pinctrl_spi1_default: spi1-default {
461 mux {
462 groups = "spi1_3_grp";
463 function = "spi1";
464 };
465
466 conf {
467 groups = "spi1_3_grp";
468 bias-disable;
469 slew-rate = <SLEW_RATE_SLOW>;
470 power-source = <IO_STANDARD_LVCMOS18>;
471 };
472
473 mux-cs {
474 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
475 "spi1_ss_11_grp";
476 function = "spi1_ss";
477 };
478
479 conf-cs {
480 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
481 "spi1_ss_11_grp";
482 bias-disable;
483 };
484 };
485};
486
Michal Simek6c0c9582016-04-07 16:00:11 +0200487&rtc {
488 status = "okay";
489};
490
491&spi0 {
492 status = "okay";
493 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200494 pinctrl-names = "default";
495 pinctrl-0 = <&pinctrl_spi0_default>;
496
Michal Simekba9da602018-03-27 13:09:15 +0200497 spi0_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200498 #address-cells = <1>;
499 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200500 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simek6c0c9582016-04-07 16:00:11 +0200501 spi-max-frequency = <50000000>;
502 reg = <0>;
503
Michal Simekba9da602018-03-27 13:09:15 +0200504 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700505 label = "spi0-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200506 reg = <0x0 0x100000>;
507 };
508 };
509};
510
511&spi1 {
512 status = "okay";
513 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200514 pinctrl-names = "default";
515 pinctrl-0 = <&pinctrl_spi1_default>;
516
Michal Simekba9da602018-03-27 13:09:15 +0200517 spi1_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200518 #address-cells = <1>;
519 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200520 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simek6c0c9582016-04-07 16:00:11 +0200521 spi-max-frequency = <20000000>;
522 reg = <0>;
523
Michal Simekba9da602018-03-27 13:09:15 +0200524 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700525 label = "spi1-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200526 reg = <0x0 0x84000>;
527 };
528 };
529};
530
531/* ULPI SMSC USB3320 */
532&usb1 {
533 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200534 pinctrl-names = "default";
535 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simek8925e592016-04-05 12:01:16 +0200536};
537
538&dwc3_1 {
539 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +0200540 dr_mode = "host";
541};
542
543&uart0 {
544 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200545 pinctrl-names = "default";
546 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200547};
548
549&uart1 {
550 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200551 pinctrl-names = "default";
552 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200553};