blob: 4e6160bcd8b96a14d6189b7aca59223597648f3c [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>;
Michal Simeka335bd22016-04-07 16:00:11 +0200145
Naga Sureshkumar Rellie007a352017-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 Simeka335bd22016-04-07 16:00:11 +0200170 };
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530171 nand@1 {
172 reg = <0x1>;
173 #address-cells = <0x2>;
174 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-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 Mahapatra0c39e232021-09-15 15:46:36 +0200179 nand-ecc-step-size = <1024>;
180 nand-ecc-strength = <24>;
Naga Sureshkumar Rellie007a352017-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 Simeka335bd22016-04-07 16:00:11 +0200206 };
207};
208
Michal Simekf7b922a2021-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";
Michal Simekf7b922a2021-05-10 13:14:02 +0200338 power-source = <IO_STANDARD_LVCMOS18>;
339 };
340
341 conf-rx {
342 pins = "MIO64", "MIO65", "MIO67";
343 bias-high-impedance;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200344 drive-strength = <12>;
345 slew-rate = <SLEW_RATE_FAST>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200346 };
347
348 conf-tx {
349 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
350 "MIO72", "MIO73", "MIO74", "MIO75";
351 bias-disable;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200352 drive-strength = <4>;
353 slew-rate = <SLEW_RATE_SLOW>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200354 };
355 };
356
357 pinctrl_gem2_default: gem2-default {
358 mux {
359 function = "ethernet2";
360 groups = "ethernet2_0_grp";
361 };
362
363 conf {
364 groups = "ethernet2_0_grp";
365 slew-rate = <SLEW_RATE_SLOW>;
366 power-source = <IO_STANDARD_LVCMOS18>;
367 };
368
369 conf-rx {
370 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
371 "MIO63";
372 bias-high-impedance;
373 low-power-disable;
374 };
375
376 conf-tx {
377 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
378 "MIO57";
379 bias-disable;
380 low-power-enable;
381 };
382
383 mux-mdio {
384 function = "mdio2";
385 groups = "mdio2_0_grp";
386 };
387
388 conf-mdio {
389 groups = "mdio2_0_grp";
390 slew-rate = <SLEW_RATE_SLOW>;
391 power-source = <IO_STANDARD_LVCMOS18>;
392 bias-disable;
393 };
394 };
395
396 pinctrl_nand0_default: nand0-default {
397 mux {
398 groups = "nand0_0_grp";
399 function = "nand0";
400 };
401
402 conf {
403 groups = "nand0_0_grp";
404 bias-pull-up;
405 };
406
407 mux-ce {
408 groups = "nand0_ce_0_grp";
409 function = "nand0_ce";
410 };
411
412 conf-ce {
413 groups = "nand0_ce_0_grp";
414 bias-pull-up;
415 };
416
417 mux-rb {
418 groups = "nand0_rb_0_grp";
419 function = "nand0_rb";
420 };
421
422 conf-rb {
423 groups = "nand0_rb_0_grp";
424 bias-pull-up;
425 };
426
427 mux-dqs {
428 groups = "nand0_dqs_0_grp";
429 function = "nand0_dqs";
430 };
431
432 conf-dqs {
433 groups = "nand0_dqs_0_grp";
434 bias-pull-up;
435 };
436 };
437
438 pinctrl_spi0_default: spi0-default {
439 mux {
440 groups = "spi0_0_grp";
441 function = "spi0";
442 };
443
444 conf {
445 groups = "spi0_0_grp";
446 bias-disable;
447 slew-rate = <SLEW_RATE_SLOW>;
448 power-source = <IO_STANDARD_LVCMOS18>;
449 };
450
451 mux-cs {
452 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
453 "spi0_ss_2_grp";
454 function = "spi0_ss";
455 };
456
457 conf-cs {
458 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
459 "spi0_ss_2_grp";
460 bias-disable;
461 };
462 };
463
464 pinctrl_spi1_default: spi1-default {
465 mux {
466 groups = "spi1_3_grp";
467 function = "spi1";
468 };
469
470 conf {
471 groups = "spi1_3_grp";
472 bias-disable;
473 slew-rate = <SLEW_RATE_SLOW>;
474 power-source = <IO_STANDARD_LVCMOS18>;
475 };
476
477 mux-cs {
478 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
479 "spi1_ss_11_grp";
480 function = "spi1_ss";
481 };
482
483 conf-cs {
484 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
485 "spi1_ss_11_grp";
486 bias-disable;
487 };
488 };
489};
490
Michal Simeka335bd22016-04-07 16:00:11 +0200491&rtc {
492 status = "okay";
493};
494
495&spi0 {
496 status = "okay";
497 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200498 pinctrl-names = "default";
499 pinctrl-0 = <&pinctrl_spi0_default>;
500
Michal Simek393f9db2018-03-27 13:09:15 +0200501 spi0_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200502 #address-cells = <1>;
503 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200504 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simeka335bd22016-04-07 16:00:11 +0200505 spi-max-frequency = <50000000>;
506 reg = <0>;
507
Michal Simek393f9db2018-03-27 13:09:15 +0200508 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700509 label = "spi0-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200510 reg = <0x0 0x100000>;
511 };
512 };
513};
514
515&spi1 {
516 status = "okay";
517 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200518 pinctrl-names = "default";
519 pinctrl-0 = <&pinctrl_spi1_default>;
520
Michal Simek393f9db2018-03-27 13:09:15 +0200521 spi1_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200522 #address-cells = <1>;
523 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200524 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simeka335bd22016-04-07 16:00:11 +0200525 spi-max-frequency = <20000000>;
526 reg = <0>;
527
Michal Simek393f9db2018-03-27 13:09:15 +0200528 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700529 label = "spi1-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200530 reg = <0x0 0x84000>;
531 };
532 };
533};
534
535/* ULPI SMSC USB3320 */
536&usb1 {
537 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200538 pinctrl-names = "default";
539 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simeka4117002016-04-05 12:01:16 +0200540};
541
542&dwc3_1 {
543 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +0200544 dr_mode = "host";
545};
546
547&uart0 {
548 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200549 pinctrl-names = "default";
550 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200551};
552
553&uart1 {
554 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200555 pinctrl-names = "default";
556 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200557};