blob: b6bc2f5be0310719c9d9dc43b17f0c7fb7c2a149 [file] [log] [blame]
Michal Simek090a2d72018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simeka335bd22016-04-07 16:00:11 +02002/*
3 * dts file for Xilinx ZynqMP zc1751-xm016-dc2
4 *
Michal Simek821e32a2021-05-31 09:50:01 +02005 * (C) Copyright 2015 - 2021, Xilinx, Inc.
Michal Simeka335bd22016-04-07 16:00:11 +02006 *
7 * Michal Simek <michal.simek@xilinx.com>
Michal Simeka335bd22016-04-07 16:00:11 +02008 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
Michal Simeka6604b62017-12-08 14:50:42 +010013#include "zynqmp-clk-ccf.dtsi"
Michal Simekf7b922a2021-05-10 13:14:02 +020014#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
Michal Simeka335bd22016-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 Simeka335bd22016-04-07 16:00:11 +020022 ethernet0 = &gem2;
Michal Simeka335bd22016-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 Simek79c1cbf2016-11-11 13:21:04 +010037 memory@0 {
Michal Simeka335bd22016-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 Simekf7b922a2021-05-10 13:14:02 +020045 pinctrl-names = "default";
46 pinctrl-0 = <&pinctrl_can0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +020047};
48
49&can1 {
50 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +020051 pinctrl-names = "default";
52 pinctrl-0 = <&pinctrl_can1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +020053};
54
Michal Simeka335bd22016-04-07 16:00:11 +020055&fpd_dma_chan1 {
56 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020057};
58
59&fpd_dma_chan2 {
60 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020061};
62
63&fpd_dma_chan3 {
64 status = "okay";
65};
66
67&fpd_dma_chan4 {
68 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020069};
70
71&fpd_dma_chan5 {
72 status = "okay";
73};
74
75&fpd_dma_chan6 {
76 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020077};
78
79&fpd_dma_chan7 {
80 status = "okay";
81};
82
83&fpd_dma_chan8 {
84 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020085};
86
87&gem2 {
88 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020089 phy-handle = <&phy0>;
90 phy-mode = "rgmii-id";
Michal Simekf7b922a2021-05-10 13:14:02 +020091 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_gem2_default>;
Michal Simek393decf2019-08-08 12:44:22 +020093 phy0: ethernet-phy@5 {
Michal Simeka335bd22016-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 Katakam991a1612019-02-13 17:02:21 +053098 ti,dp83867-rxctrl-strap-quirk;
Michal Simeka335bd22016-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 Simekf7b922a2021-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 Simeka335bd22016-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 Simekf7b922a2021-05-10 13:14:02 +0200131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_nand0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200133 arasan,has-mdma;
Michal Simeka335bd22016-04-07 16:00:11 +0200134
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530135 nand@0 {
136 reg = <0x0>;
137 #address-cells = <0x2>;
138 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-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 Mahapatra0c39e232021-09-15 15:46:36 +0200143 nand-ecc-step-size = <1024>;
144 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700145 nand-on-flash-bbt;
Michal Simeka335bd22016-04-07 16:00:11 +0200146
Naga Sureshkumar Rellie007a352017-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 Simeka335bd22016-04-07 16:00:11 +0200171 };
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530172 nand@1 {
173 reg = <0x1>;
174 #address-cells = <0x2>;
175 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-02-18 00:50:21 -0700176 nand-ecc-mode = "soft";
177 nand-ecc-algo = "bch";
178 nand-rb = <0>;
179 label = "main-storage-1";
Amit Kumar Mahapatra0c39e232021-09-15 15:46:36 +0200180 nand-ecc-step-size = <1024>;
181 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700182 nand-on-flash-bbt;
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530183
184 partition@0 { /* for testing purpose */
185 label = "nand1-fsbl-uboot";
186 reg = <0x0 0x0 0x400000>;
187 };
188 partition@1 { /* for testing purpose */
189 label = "nand1-linux";
190 reg = <0x0 0x400000 0x1400000>;
191 };
192 partition@2 { /* for testing purpose */
193 label = "nand1-device-tree";
194 reg = <0x0 0x1800000 0x400000>;
195 };
196 partition@3 { /* for testing purpose */
197 label = "nand1-rootfs";
198 reg = <0x0 0x1c00000 0x1400000>;
199 };
200 partition@4 { /* for testing purpose */
201 label = "nand1-bitstream";
202 reg = <0x0 0x3000000 0x400000>;
203 };
204 partition@5 { /* for testing purpose */
205 label = "nand1-misc";
206 reg = <0x0 0x3400000 0xfcc00000>;
207 };
Michal Simeka335bd22016-04-07 16:00:11 +0200208 };
209};
210
Michal Simekf7b922a2021-05-10 13:14:02 +0200211&pinctrl0 {
212 status = "okay";
213 pinctrl_can0_default: can0-default {
214 mux {
215 function = "can0";
216 groups = "can0_9_grp";
217 };
218
219 conf {
220 groups = "can0_9_grp";
221 slew-rate = <SLEW_RATE_SLOW>;
222 power-source = <IO_STANDARD_LVCMOS18>;
223 };
224
225 conf-rx {
226 pins = "MIO38";
227 bias-high-impedance;
228 };
229
230 conf-tx {
231 pins = "MIO39";
232 bias-disable;
233 };
234 };
235
236 pinctrl_can1_default: can1-default {
237 mux {
238 function = "can1";
239 groups = "can1_8_grp";
240 };
241
242 conf {
243 groups = "can1_8_grp";
244 slew-rate = <SLEW_RATE_SLOW>;
245 power-source = <IO_STANDARD_LVCMOS18>;
246 };
247
248 conf-rx {
249 pins = "MIO33";
250 bias-high-impedance;
251 };
252
253 conf-tx {
254 pins = "MIO32";
255 bias-disable;
256 };
257 };
258
259 pinctrl_i2c0_default: i2c0-default {
260 mux {
261 groups = "i2c0_1_grp";
262 function = "i2c0";
263 };
264
265 conf {
266 groups = "i2c0_1_grp";
267 bias-pull-up;
268 slew-rate = <SLEW_RATE_SLOW>;
269 power-source = <IO_STANDARD_LVCMOS18>;
270 };
271 };
272
273 pinctrl_i2c0_gpio: i2c0-gpio {
274 mux {
275 groups = "gpio0_6_grp", "gpio0_7_grp";
276 function = "gpio0";
277 };
278
279 conf {
280 groups = "gpio0_6_grp", "gpio0_7_grp";
281 slew-rate = <SLEW_RATE_SLOW>;
282 power-source = <IO_STANDARD_LVCMOS18>;
283 };
284 };
285
286 pinctrl_uart0_default: uart0-default {
287 mux {
288 groups = "uart0_10_grp";
289 function = "uart0";
290 };
291
292 conf {
293 groups = "uart0_10_grp";
294 slew-rate = <SLEW_RATE_SLOW>;
295 power-source = <IO_STANDARD_LVCMOS18>;
296 };
297
298 conf-rx {
299 pins = "MIO42";
300 bias-high-impedance;
301 };
302
303 conf-tx {
304 pins = "MIO43";
305 bias-disable;
306 };
307 };
308
309 pinctrl_uart1_default: uart1-default {
310 mux {
311 groups = "uart1_10_grp";
312 function = "uart1";
313 };
314
315 conf {
316 groups = "uart1_10_grp";
317 slew-rate = <SLEW_RATE_SLOW>;
318 power-source = <IO_STANDARD_LVCMOS18>;
319 };
320
321 conf-rx {
322 pins = "MIO41";
323 bias-high-impedance;
324 };
325
326 conf-tx {
327 pins = "MIO40";
328 bias-disable;
329 };
330 };
331
332 pinctrl_usb1_default: usb1-default {
333 mux {
334 groups = "usb1_0_grp";
335 function = "usb1";
336 };
337
338 conf {
339 groups = "usb1_0_grp";
Michal Simekf7b922a2021-05-10 13:14:02 +0200340 power-source = <IO_STANDARD_LVCMOS18>;
341 };
342
343 conf-rx {
344 pins = "MIO64", "MIO65", "MIO67";
345 bias-high-impedance;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200346 drive-strength = <12>;
347 slew-rate = <SLEW_RATE_FAST>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200348 };
349
350 conf-tx {
351 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
352 "MIO72", "MIO73", "MIO74", "MIO75";
353 bias-disable;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200354 drive-strength = <4>;
355 slew-rate = <SLEW_RATE_SLOW>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200356 };
357 };
358
359 pinctrl_gem2_default: gem2-default {
360 mux {
361 function = "ethernet2";
362 groups = "ethernet2_0_grp";
363 };
364
365 conf {
366 groups = "ethernet2_0_grp";
367 slew-rate = <SLEW_RATE_SLOW>;
368 power-source = <IO_STANDARD_LVCMOS18>;
369 };
370
371 conf-rx {
372 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
373 "MIO63";
374 bias-high-impedance;
375 low-power-disable;
376 };
377
378 conf-tx {
379 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
380 "MIO57";
381 bias-disable;
382 low-power-enable;
383 };
384
385 mux-mdio {
386 function = "mdio2";
387 groups = "mdio2_0_grp";
388 };
389
390 conf-mdio {
391 groups = "mdio2_0_grp";
392 slew-rate = <SLEW_RATE_SLOW>;
393 power-source = <IO_STANDARD_LVCMOS18>;
394 bias-disable;
395 };
396 };
397
398 pinctrl_nand0_default: nand0-default {
399 mux {
400 groups = "nand0_0_grp";
401 function = "nand0";
402 };
403
404 conf {
405 groups = "nand0_0_grp";
406 bias-pull-up;
407 };
408
409 mux-ce {
410 groups = "nand0_ce_0_grp";
411 function = "nand0_ce";
412 };
413
414 conf-ce {
415 groups = "nand0_ce_0_grp";
416 bias-pull-up;
417 };
418
419 mux-rb {
420 groups = "nand0_rb_0_grp";
421 function = "nand0_rb";
422 };
423
424 conf-rb {
425 groups = "nand0_rb_0_grp";
426 bias-pull-up;
427 };
428
429 mux-dqs {
430 groups = "nand0_dqs_0_grp";
431 function = "nand0_dqs";
432 };
433
434 conf-dqs {
435 groups = "nand0_dqs_0_grp";
436 bias-pull-up;
437 };
438 };
439
440 pinctrl_spi0_default: spi0-default {
441 mux {
442 groups = "spi0_0_grp";
443 function = "spi0";
444 };
445
446 conf {
447 groups = "spi0_0_grp";
448 bias-disable;
449 slew-rate = <SLEW_RATE_SLOW>;
450 power-source = <IO_STANDARD_LVCMOS18>;
451 };
452
453 mux-cs {
454 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
455 "spi0_ss_2_grp";
456 function = "spi0_ss";
457 };
458
459 conf-cs {
460 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
461 "spi0_ss_2_grp";
462 bias-disable;
463 };
464 };
465
466 pinctrl_spi1_default: spi1-default {
467 mux {
468 groups = "spi1_3_grp";
469 function = "spi1";
470 };
471
472 conf {
473 groups = "spi1_3_grp";
474 bias-disable;
475 slew-rate = <SLEW_RATE_SLOW>;
476 power-source = <IO_STANDARD_LVCMOS18>;
477 };
478
479 mux-cs {
480 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
481 "spi1_ss_11_grp";
482 function = "spi1_ss";
483 };
484
485 conf-cs {
486 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
487 "spi1_ss_11_grp";
488 bias-disable;
489 };
490 };
491};
492
Michal Simeka335bd22016-04-07 16:00:11 +0200493&rtc {
494 status = "okay";
495};
496
497&spi0 {
498 status = "okay";
499 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200500 pinctrl-names = "default";
501 pinctrl-0 = <&pinctrl_spi0_default>;
502
Michal Simek393f9db2018-03-27 13:09:15 +0200503 spi0_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200504 #address-cells = <1>;
505 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200506 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simeka335bd22016-04-07 16:00:11 +0200507 spi-max-frequency = <50000000>;
508 reg = <0>;
509
Michal Simek393f9db2018-03-27 13:09:15 +0200510 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700511 label = "spi0-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200512 reg = <0x0 0x100000>;
513 };
514 };
515};
516
517&spi1 {
518 status = "okay";
519 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200520 pinctrl-names = "default";
521 pinctrl-0 = <&pinctrl_spi1_default>;
522
Michal Simek393f9db2018-03-27 13:09:15 +0200523 spi1_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200524 #address-cells = <1>;
525 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200526 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simeka335bd22016-04-07 16:00:11 +0200527 spi-max-frequency = <20000000>;
528 reg = <0>;
529
Michal Simek393f9db2018-03-27 13:09:15 +0200530 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700531 label = "spi1-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200532 reg = <0x0 0x84000>;
533 };
534 };
535};
536
537/* ULPI SMSC USB3320 */
538&usb1 {
539 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200540 pinctrl-names = "default";
541 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simeka4117002016-04-05 12:01:16 +0200542};
543
544&dwc3_1 {
545 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +0200546 dr_mode = "host";
547};
548
549&uart0 {
550 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200551 pinctrl-names = "default";
552 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200553};
554
555&uart1 {
556 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200557 pinctrl-names = "default";
558 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200559};