blob: f32f87acacb6f6981f0ad4a66b15351def4c7fcd [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 Simek447fb8d2021-05-31 09:50:01 +02005 * (C) Copyright 2015 - 2021, 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 {
Michal Simek6c0c9582016-04-07 16:00:11 +020022 ethernet0 = &gem2;
Michal Simek6c0c9582016-04-07 16:00:11 +020023 i2c0 = &i2c0;
24 rtc0 = &rtc;
25 serial0 = &uart0;
26 serial1 = &uart1;
27 spi0 = &spi0;
28 spi1 = &spi1;
29 usb0 = &usb1;
30 };
31
32 chosen {
33 bootargs = "earlycon";
34 stdout-path = "serial0:115200n8";
35 };
36
Michal Simekc926e6f2016-11-11 13:21:04 +010037 memory@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +020038 device_type = "memory";
39 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40 };
41};
42
43&can0 {
44 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +020045 pinctrl-names = "default";
46 pinctrl-0 = <&pinctrl_can0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +020047};
48
49&can1 {
50 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +020051 pinctrl-names = "default";
52 pinctrl-0 = <&pinctrl_can1_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +020053};
54
Michal Simek6c0c9582016-04-07 16:00:11 +020055&fpd_dma_chan1 {
56 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020057};
58
59&fpd_dma_chan2 {
60 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020061};
62
63&fpd_dma_chan3 {
64 status = "okay";
65};
66
67&fpd_dma_chan4 {
68 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020069};
70
71&fpd_dma_chan5 {
72 status = "okay";
73};
74
75&fpd_dma_chan6 {
76 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020077};
78
79&fpd_dma_chan7 {
80 status = "okay";
81};
82
83&fpd_dma_chan8 {
84 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020085};
86
87&gem2 {
88 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +020089 phy-handle = <&phy0>;
90 phy-mode = "rgmii-id";
Michal Simekbd008492021-05-10 13:14:02 +020091 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_gem2_default>;
Michal Simek2975a422019-08-08 12:44:22 +020093 phy0: ethernet-phy@5 {
Michal Simek6c0c9582016-04-07 16:00:11 +020094 reg = <5>;
95 ti,rx-internal-delay = <0x8>;
96 ti,tx-internal-delay = <0xa>;
97 ti,fifo-depth = <0x1>;
Harini Katakam631d9a92019-02-13 17:02:21 +053098 ti,dp83867-rxctrl-strap-quirk;
Michal Simek6c0c9582016-04-07 16:00:11 +020099 };
100};
101
102&gpio {
103 status = "okay";
104};
105
106&i2c0 {
107 status = "okay";
108 clock-frequency = <400000>;
Michal Simekbd008492021-05-10 13:14:02 +0200109 pinctrl-names = "default", "gpio";
110 pinctrl-0 = <&pinctrl_i2c0_default>;
111 pinctrl-1 = <&pinctrl_i2c0_gpio>;
112 scl-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
113 sda-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200114
115 tca6416_u26: gpio@20 {
116 compatible = "ti,tca6416";
117 reg = <0x20>;
118 gpio-controller;
119 #gpio-cells = <2>;
120 /* IRQ not connected */
121 };
122
123 rtc@68 {
124 compatible = "dallas,ds1339";
125 reg = <0x68>;
126 };
127};
128
129&nand0 {
130 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_nand0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200133 arasan,has-mdma;
Michal Simek6c0c9582016-04-07 16:00:11 +0200134
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530135 nand@0 {
136 reg = <0x0>;
137 #address-cells = <0x2>;
138 #size-cells = <0x1>;
Amit Kumar Mahapatrafbf043d2021-02-18 00:50:21 -0700139 nand-ecc-mode = "soft";
140 nand-ecc-algo = "bch";
141 nand-rb = <0>;
142 label = "main-storage-0";
Amit Kumar Mahapatra1a94d052021-09-15 15:46:36 +0200143 nand-ecc-step-size = <1024>;
144 nand-ecc-strength = <24>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200145
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530146 partition@0 { /* for testing purpose */
147 label = "nand-fsbl-uboot";
148 reg = <0x0 0x0 0x400000>;
149 };
150 partition@1 { /* for testing purpose */
151 label = "nand-linux";
152 reg = <0x0 0x400000 0x1400000>;
153 };
154 partition@2 { /* for testing purpose */
155 label = "nand-device-tree";
156 reg = <0x0 0x1800000 0x400000>;
157 };
158 partition@3 { /* for testing purpose */
159 label = "nand-rootfs";
160 reg = <0x0 0x1c00000 0x1400000>;
161 };
162 partition@4 { /* for testing purpose */
163 label = "nand-bitstream";
164 reg = <0x0 0x3000000 0x400000>;
165 };
166 partition@5 { /* for testing purpose */
167 label = "nand-misc";
168 reg = <0x0 0x3400000 0xfcc00000>;
169 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200170 };
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530171 nand@1 {
172 reg = <0x1>;
173 #address-cells = <0x2>;
174 #size-cells = <0x1>;
Amit Kumar Mahapatrafbf043d2021-02-18 00:50:21 -0700175 nand-ecc-mode = "soft";
176 nand-ecc-algo = "bch";
177 nand-rb = <0>;
178 label = "main-storage-1";
Amit Kumar Mahapatra1a94d052021-09-15 15:46:36 +0200179 nand-ecc-step-size = <1024>;
180 nand-ecc-strength = <24>;
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530181
182 partition@0 { /* for testing purpose */
183 label = "nand1-fsbl-uboot";
184 reg = <0x0 0x0 0x400000>;
185 };
186 partition@1 { /* for testing purpose */
187 label = "nand1-linux";
188 reg = <0x0 0x400000 0x1400000>;
189 };
190 partition@2 { /* for testing purpose */
191 label = "nand1-device-tree";
192 reg = <0x0 0x1800000 0x400000>;
193 };
194 partition@3 { /* for testing purpose */
195 label = "nand1-rootfs";
196 reg = <0x0 0x1c00000 0x1400000>;
197 };
198 partition@4 { /* for testing purpose */
199 label = "nand1-bitstream";
200 reg = <0x0 0x3000000 0x400000>;
201 };
202 partition@5 { /* for testing purpose */
203 label = "nand1-misc";
204 reg = <0x0 0x3400000 0xfcc00000>;
205 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200206 };
207};
208
Michal Simekbd008492021-05-10 13:14:02 +0200209&pinctrl0 {
210 status = "okay";
211 pinctrl_can0_default: can0-default {
212 mux {
213 function = "can0";
214 groups = "can0_9_grp";
215 };
216
217 conf {
218 groups = "can0_9_grp";
219 slew-rate = <SLEW_RATE_SLOW>;
220 power-source = <IO_STANDARD_LVCMOS18>;
221 };
222
223 conf-rx {
224 pins = "MIO38";
225 bias-high-impedance;
226 };
227
228 conf-tx {
229 pins = "MIO39";
230 bias-disable;
231 };
232 };
233
234 pinctrl_can1_default: can1-default {
235 mux {
236 function = "can1";
237 groups = "can1_8_grp";
238 };
239
240 conf {
241 groups = "can1_8_grp";
242 slew-rate = <SLEW_RATE_SLOW>;
243 power-source = <IO_STANDARD_LVCMOS18>;
244 };
245
246 conf-rx {
247 pins = "MIO33";
248 bias-high-impedance;
249 };
250
251 conf-tx {
252 pins = "MIO32";
253 bias-disable;
254 };
255 };
256
257 pinctrl_i2c0_default: i2c0-default {
258 mux {
259 groups = "i2c0_1_grp";
260 function = "i2c0";
261 };
262
263 conf {
264 groups = "i2c0_1_grp";
265 bias-pull-up;
266 slew-rate = <SLEW_RATE_SLOW>;
267 power-source = <IO_STANDARD_LVCMOS18>;
268 };
269 };
270
271 pinctrl_i2c0_gpio: i2c0-gpio {
272 mux {
273 groups = "gpio0_6_grp", "gpio0_7_grp";
274 function = "gpio0";
275 };
276
277 conf {
278 groups = "gpio0_6_grp", "gpio0_7_grp";
279 slew-rate = <SLEW_RATE_SLOW>;
280 power-source = <IO_STANDARD_LVCMOS18>;
281 };
282 };
283
284 pinctrl_uart0_default: uart0-default {
285 mux {
286 groups = "uart0_10_grp";
287 function = "uart0";
288 };
289
290 conf {
291 groups = "uart0_10_grp";
292 slew-rate = <SLEW_RATE_SLOW>;
293 power-source = <IO_STANDARD_LVCMOS18>;
294 };
295
296 conf-rx {
297 pins = "MIO42";
298 bias-high-impedance;
299 };
300
301 conf-tx {
302 pins = "MIO43";
303 bias-disable;
304 };
305 };
306
307 pinctrl_uart1_default: uart1-default {
308 mux {
309 groups = "uart1_10_grp";
310 function = "uart1";
311 };
312
313 conf {
314 groups = "uart1_10_grp";
315 slew-rate = <SLEW_RATE_SLOW>;
316 power-source = <IO_STANDARD_LVCMOS18>;
317 };
318
319 conf-rx {
320 pins = "MIO41";
321 bias-high-impedance;
322 };
323
324 conf-tx {
325 pins = "MIO40";
326 bias-disable;
327 };
328 };
329
330 pinctrl_usb1_default: usb1-default {
331 mux {
332 groups = "usb1_0_grp";
333 function = "usb1";
334 };
335
336 conf {
337 groups = "usb1_0_grp";
338 slew-rate = <SLEW_RATE_SLOW>;
339 power-source = <IO_STANDARD_LVCMOS18>;
340 };
341
342 conf-rx {
343 pins = "MIO64", "MIO65", "MIO67";
344 bias-high-impedance;
345 };
346
347 conf-tx {
348 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
349 "MIO72", "MIO73", "MIO74", "MIO75";
350 bias-disable;
351 };
352 };
353
354 pinctrl_gem2_default: gem2-default {
355 mux {
356 function = "ethernet2";
357 groups = "ethernet2_0_grp";
358 };
359
360 conf {
361 groups = "ethernet2_0_grp";
362 slew-rate = <SLEW_RATE_SLOW>;
363 power-source = <IO_STANDARD_LVCMOS18>;
364 };
365
366 conf-rx {
367 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
368 "MIO63";
369 bias-high-impedance;
370 low-power-disable;
371 };
372
373 conf-tx {
374 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
375 "MIO57";
376 bias-disable;
377 low-power-enable;
378 };
379
380 mux-mdio {
381 function = "mdio2";
382 groups = "mdio2_0_grp";
383 };
384
385 conf-mdio {
386 groups = "mdio2_0_grp";
387 slew-rate = <SLEW_RATE_SLOW>;
388 power-source = <IO_STANDARD_LVCMOS18>;
389 bias-disable;
390 };
391 };
392
393 pinctrl_nand0_default: nand0-default {
394 mux {
395 groups = "nand0_0_grp";
396 function = "nand0";
397 };
398
399 conf {
400 groups = "nand0_0_grp";
401 bias-pull-up;
402 };
403
404 mux-ce {
405 groups = "nand0_ce_0_grp";
406 function = "nand0_ce";
407 };
408
409 conf-ce {
410 groups = "nand0_ce_0_grp";
411 bias-pull-up;
412 };
413
414 mux-rb {
415 groups = "nand0_rb_0_grp";
416 function = "nand0_rb";
417 };
418
419 conf-rb {
420 groups = "nand0_rb_0_grp";
421 bias-pull-up;
422 };
423
424 mux-dqs {
425 groups = "nand0_dqs_0_grp";
426 function = "nand0_dqs";
427 };
428
429 conf-dqs {
430 groups = "nand0_dqs_0_grp";
431 bias-pull-up;
432 };
433 };
434
435 pinctrl_spi0_default: spi0-default {
436 mux {
437 groups = "spi0_0_grp";
438 function = "spi0";
439 };
440
441 conf {
442 groups = "spi0_0_grp";
443 bias-disable;
444 slew-rate = <SLEW_RATE_SLOW>;
445 power-source = <IO_STANDARD_LVCMOS18>;
446 };
447
448 mux-cs {
449 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
450 "spi0_ss_2_grp";
451 function = "spi0_ss";
452 };
453
454 conf-cs {
455 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
456 "spi0_ss_2_grp";
457 bias-disable;
458 };
459 };
460
461 pinctrl_spi1_default: spi1-default {
462 mux {
463 groups = "spi1_3_grp";
464 function = "spi1";
465 };
466
467 conf {
468 groups = "spi1_3_grp";
469 bias-disable;
470 slew-rate = <SLEW_RATE_SLOW>;
471 power-source = <IO_STANDARD_LVCMOS18>;
472 };
473
474 mux-cs {
475 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
476 "spi1_ss_11_grp";
477 function = "spi1_ss";
478 };
479
480 conf-cs {
481 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
482 "spi1_ss_11_grp";
483 bias-disable;
484 };
485 };
486};
487
Michal Simek6c0c9582016-04-07 16:00:11 +0200488&rtc {
489 status = "okay";
490};
491
492&spi0 {
493 status = "okay";
494 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200495 pinctrl-names = "default";
496 pinctrl-0 = <&pinctrl_spi0_default>;
497
Michal Simekba9da602018-03-27 13:09:15 +0200498 spi0_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200499 #address-cells = <1>;
500 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200501 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simek6c0c9582016-04-07 16:00:11 +0200502 spi-max-frequency = <50000000>;
503 reg = <0>;
504
Michal Simekba9da602018-03-27 13:09:15 +0200505 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700506 label = "spi0-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200507 reg = <0x0 0x100000>;
508 };
509 };
510};
511
512&spi1 {
513 status = "okay";
514 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200515 pinctrl-names = "default";
516 pinctrl-0 = <&pinctrl_spi1_default>;
517
Michal Simekba9da602018-03-27 13:09:15 +0200518 spi1_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200519 #address-cells = <1>;
520 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200521 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simek6c0c9582016-04-07 16:00:11 +0200522 spi-max-frequency = <20000000>;
523 reg = <0>;
524
Michal Simekba9da602018-03-27 13:09:15 +0200525 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700526 label = "spi1-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200527 reg = <0x0 0x84000>;
528 };
529 };
530};
531
532/* ULPI SMSC USB3320 */
533&usb1 {
534 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200535 pinctrl-names = "default";
536 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simek8925e592016-04-05 12:01:16 +0200537};
538
539&dwc3_1 {
540 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +0200541 dr_mode = "host";
542};
543
544&uart0 {
545 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200548};
549
550&uart1 {
551 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200552 pinctrl-names = "default";
553 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200554};