blob: 83648c2a1c54c7eaf543effed6153ee25267320a [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 *
Michal Simeka8c94362023-07-10 14:35:49 +02007 * Michal Simek <michal.simek@amd.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 Simek0641df72023-09-22 12:35:36 +020093 mdio: mdio {
94 #address-cells = <1>;
95 #size-cells = <0>;
96 phy0: ethernet-phy@5 {
97 reg = <5>;
98 ti,rx-internal-delay = <0x8>;
99 ti,tx-internal-delay = <0xa>;
100 ti,fifo-depth = <0x1>;
101 ti,dp83867-rxctrl-strap-quirk;
102 };
Michal Simeka335bd22016-04-07 16:00:11 +0200103 };
104};
105
106&gpio {
107 status = "okay";
108};
109
110&i2c0 {
111 status = "okay";
112 clock-frequency = <400000>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200113 pinctrl-names = "default", "gpio";
114 pinctrl-0 = <&pinctrl_i2c0_default>;
115 pinctrl-1 = <&pinctrl_i2c0_gpio>;
Manikanta Guntupallicc45c9c2023-07-10 14:37:28 +0200116 scl-gpios = <&gpio 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
117 sda-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Michal Simeka335bd22016-04-07 16:00:11 +0200118
119 tca6416_u26: gpio@20 {
120 compatible = "ti,tca6416";
121 reg = <0x20>;
122 gpio-controller;
123 #gpio-cells = <2>;
124 /* IRQ not connected */
125 };
126
127 rtc@68 {
128 compatible = "dallas,ds1339";
129 reg = <0x68>;
130 };
131};
132
133&nand0 {
134 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200135 pinctrl-names = "default";
136 pinctrl-0 = <&pinctrl_nand0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200137 arasan,has-mdma;
Michal Simeka335bd22016-04-07 16:00:11 +0200138
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530139 nand@0 {
140 reg = <0x0>;
141 #address-cells = <0x2>;
142 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-02-18 00:50:21 -0700143 nand-ecc-mode = "soft";
144 nand-ecc-algo = "bch";
145 nand-rb = <0>;
146 label = "main-storage-0";
Amit Kumar Mahapatra0c39e232021-09-15 15:46:36 +0200147 nand-ecc-step-size = <1024>;
148 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700149 nand-on-flash-bbt;
Michal Simeka335bd22016-04-07 16:00:11 +0200150
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530151 partition@0 { /* for testing purpose */
152 label = "nand-fsbl-uboot";
153 reg = <0x0 0x0 0x400000>;
154 };
155 partition@1 { /* for testing purpose */
156 label = "nand-linux";
157 reg = <0x0 0x400000 0x1400000>;
158 };
159 partition@2 { /* for testing purpose */
160 label = "nand-device-tree";
161 reg = <0x0 0x1800000 0x400000>;
162 };
163 partition@3 { /* for testing purpose */
164 label = "nand-rootfs";
165 reg = <0x0 0x1c00000 0x1400000>;
166 };
167 partition@4 { /* for testing purpose */
168 label = "nand-bitstream";
169 reg = <0x0 0x3000000 0x400000>;
170 };
171 partition@5 { /* for testing purpose */
172 label = "nand-misc";
173 reg = <0x0 0x3400000 0xfcc00000>;
174 };
Michal Simeka335bd22016-04-07 16:00:11 +0200175 };
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530176 nand@1 {
177 reg = <0x1>;
178 #address-cells = <0x2>;
179 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-02-18 00:50:21 -0700180 nand-ecc-mode = "soft";
181 nand-ecc-algo = "bch";
182 nand-rb = <0>;
183 label = "main-storage-1";
Amit Kumar Mahapatra0c39e232021-09-15 15:46:36 +0200184 nand-ecc-step-size = <1024>;
185 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700186 nand-on-flash-bbt;
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530187
188 partition@0 { /* for testing purpose */
189 label = "nand1-fsbl-uboot";
190 reg = <0x0 0x0 0x400000>;
191 };
192 partition@1 { /* for testing purpose */
193 label = "nand1-linux";
194 reg = <0x0 0x400000 0x1400000>;
195 };
196 partition@2 { /* for testing purpose */
197 label = "nand1-device-tree";
198 reg = <0x0 0x1800000 0x400000>;
199 };
200 partition@3 { /* for testing purpose */
201 label = "nand1-rootfs";
202 reg = <0x0 0x1c00000 0x1400000>;
203 };
204 partition@4 { /* for testing purpose */
205 label = "nand1-bitstream";
206 reg = <0x0 0x3000000 0x400000>;
207 };
208 partition@5 { /* for testing purpose */
209 label = "nand1-misc";
210 reg = <0x0 0x3400000 0xfcc00000>;
211 };
Michal Simeka335bd22016-04-07 16:00:11 +0200212 };
213};
214
Michal Simekf7b922a2021-05-10 13:14:02 +0200215&pinctrl0 {
216 status = "okay";
217 pinctrl_can0_default: can0-default {
218 mux {
219 function = "can0";
220 groups = "can0_9_grp";
221 };
222
223 conf {
224 groups = "can0_9_grp";
225 slew-rate = <SLEW_RATE_SLOW>;
226 power-source = <IO_STANDARD_LVCMOS18>;
227 };
228
229 conf-rx {
230 pins = "MIO38";
231 bias-high-impedance;
232 };
233
234 conf-tx {
235 pins = "MIO39";
236 bias-disable;
237 };
238 };
239
240 pinctrl_can1_default: can1-default {
241 mux {
242 function = "can1";
243 groups = "can1_8_grp";
244 };
245
246 conf {
247 groups = "can1_8_grp";
248 slew-rate = <SLEW_RATE_SLOW>;
249 power-source = <IO_STANDARD_LVCMOS18>;
250 };
251
252 conf-rx {
253 pins = "MIO33";
254 bias-high-impedance;
255 };
256
257 conf-tx {
258 pins = "MIO32";
259 bias-disable;
260 };
261 };
262
263 pinctrl_i2c0_default: i2c0-default {
264 mux {
265 groups = "i2c0_1_grp";
266 function = "i2c0";
267 };
268
269 conf {
270 groups = "i2c0_1_grp";
271 bias-pull-up;
272 slew-rate = <SLEW_RATE_SLOW>;
273 power-source = <IO_STANDARD_LVCMOS18>;
274 };
275 };
276
277 pinctrl_i2c0_gpio: i2c0-gpio {
278 mux {
279 groups = "gpio0_6_grp", "gpio0_7_grp";
280 function = "gpio0";
281 };
282
283 conf {
284 groups = "gpio0_6_grp", "gpio0_7_grp";
285 slew-rate = <SLEW_RATE_SLOW>;
286 power-source = <IO_STANDARD_LVCMOS18>;
287 };
288 };
289
290 pinctrl_uart0_default: uart0-default {
291 mux {
292 groups = "uart0_10_grp";
293 function = "uart0";
294 };
295
296 conf {
297 groups = "uart0_10_grp";
298 slew-rate = <SLEW_RATE_SLOW>;
299 power-source = <IO_STANDARD_LVCMOS18>;
300 };
301
302 conf-rx {
303 pins = "MIO42";
304 bias-high-impedance;
305 };
306
307 conf-tx {
308 pins = "MIO43";
309 bias-disable;
310 };
311 };
312
313 pinctrl_uart1_default: uart1-default {
314 mux {
315 groups = "uart1_10_grp";
316 function = "uart1";
317 };
318
319 conf {
320 groups = "uart1_10_grp";
321 slew-rate = <SLEW_RATE_SLOW>;
322 power-source = <IO_STANDARD_LVCMOS18>;
323 };
324
325 conf-rx {
326 pins = "MIO41";
327 bias-high-impedance;
328 };
329
330 conf-tx {
331 pins = "MIO40";
332 bias-disable;
333 };
334 };
335
336 pinctrl_usb1_default: usb1-default {
337 mux {
338 groups = "usb1_0_grp";
339 function = "usb1";
340 };
341
342 conf {
343 groups = "usb1_0_grp";
Michal Simekf7b922a2021-05-10 13:14:02 +0200344 power-source = <IO_STANDARD_LVCMOS18>;
345 };
346
347 conf-rx {
348 pins = "MIO64", "MIO65", "MIO67";
349 bias-high-impedance;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200350 drive-strength = <12>;
351 slew-rate = <SLEW_RATE_FAST>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200352 };
353
354 conf-tx {
355 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
356 "MIO72", "MIO73", "MIO74", "MIO75";
357 bias-disable;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200358 drive-strength = <4>;
359 slew-rate = <SLEW_RATE_SLOW>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200360 };
361 };
362
363 pinctrl_gem2_default: gem2-default {
364 mux {
365 function = "ethernet2";
366 groups = "ethernet2_0_grp";
367 };
368
369 conf {
370 groups = "ethernet2_0_grp";
371 slew-rate = <SLEW_RATE_SLOW>;
372 power-source = <IO_STANDARD_LVCMOS18>;
373 };
374
375 conf-rx {
376 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
377 "MIO63";
378 bias-high-impedance;
379 low-power-disable;
380 };
381
382 conf-tx {
383 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
384 "MIO57";
385 bias-disable;
386 low-power-enable;
387 };
388
389 mux-mdio {
390 function = "mdio2";
391 groups = "mdio2_0_grp";
392 };
393
394 conf-mdio {
395 groups = "mdio2_0_grp";
396 slew-rate = <SLEW_RATE_SLOW>;
397 power-source = <IO_STANDARD_LVCMOS18>;
398 bias-disable;
399 };
400 };
401
402 pinctrl_nand0_default: nand0-default {
403 mux {
404 groups = "nand0_0_grp";
405 function = "nand0";
406 };
407
408 conf {
409 groups = "nand0_0_grp";
410 bias-pull-up;
411 };
412
413 mux-ce {
414 groups = "nand0_ce_0_grp";
415 function = "nand0_ce";
416 };
417
418 conf-ce {
419 groups = "nand0_ce_0_grp";
420 bias-pull-up;
421 };
422
423 mux-rb {
424 groups = "nand0_rb_0_grp";
425 function = "nand0_rb";
426 };
427
428 conf-rb {
429 groups = "nand0_rb_0_grp";
430 bias-pull-up;
431 };
432
433 mux-dqs {
434 groups = "nand0_dqs_0_grp";
435 function = "nand0_dqs";
436 };
437
438 conf-dqs {
439 groups = "nand0_dqs_0_grp";
440 bias-pull-up;
441 };
442 };
443
444 pinctrl_spi0_default: spi0-default {
445 mux {
446 groups = "spi0_0_grp";
447 function = "spi0";
448 };
449
450 conf {
451 groups = "spi0_0_grp";
452 bias-disable;
453 slew-rate = <SLEW_RATE_SLOW>;
454 power-source = <IO_STANDARD_LVCMOS18>;
455 };
456
457 mux-cs {
458 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
459 "spi0_ss_2_grp";
460 function = "spi0_ss";
461 };
462
463 conf-cs {
464 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
465 "spi0_ss_2_grp";
466 bias-disable;
467 };
468 };
469
470 pinctrl_spi1_default: spi1-default {
471 mux {
472 groups = "spi1_3_grp";
473 function = "spi1";
474 };
475
476 conf {
477 groups = "spi1_3_grp";
478 bias-disable;
479 slew-rate = <SLEW_RATE_SLOW>;
480 power-source = <IO_STANDARD_LVCMOS18>;
481 };
482
483 mux-cs {
484 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
485 "spi1_ss_11_grp";
486 function = "spi1_ss";
487 };
488
489 conf-cs {
490 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
491 "spi1_ss_11_grp";
492 bias-disable;
493 };
494 };
495};
496
Michal Simeka335bd22016-04-07 16:00:11 +0200497&rtc {
498 status = "okay";
499};
500
501&spi0 {
502 status = "okay";
503 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200504 pinctrl-names = "default";
505 pinctrl-0 = <&pinctrl_spi0_default>;
506
Michal Simek393f9db2018-03-27 13:09:15 +0200507 spi0_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200508 #address-cells = <1>;
509 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200510 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simeka335bd22016-04-07 16:00:11 +0200511 spi-max-frequency = <50000000>;
512 reg = <0>;
513
Michal Simek393f9db2018-03-27 13:09:15 +0200514 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700515 label = "spi0-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200516 reg = <0x0 0x100000>;
517 };
518 };
519};
520
521&spi1 {
522 status = "okay";
523 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200524 pinctrl-names = "default";
525 pinctrl-0 = <&pinctrl_spi1_default>;
526
Michal Simek393f9db2018-03-27 13:09:15 +0200527 spi1_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200528 #address-cells = <1>;
529 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200530 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simeka335bd22016-04-07 16:00:11 +0200531 spi-max-frequency = <20000000>;
532 reg = <0>;
533
Michal Simek393f9db2018-03-27 13:09:15 +0200534 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700535 label = "spi1-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200536 reg = <0x0 0x84000>;
537 };
538 };
539};
540
541/* ULPI SMSC USB3320 */
542&usb1 {
543 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200544 pinctrl-names = "default";
545 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simeka4117002016-04-05 12:01:16 +0200546};
547
548&dwc3_1 {
549 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +0200550 dr_mode = "host";
551};
552
553&uart0 {
554 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200555 pinctrl-names = "default";
556 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200557};
558
559&uart1 {
560 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200561 pinctrl-names = "default";
562 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200563};