blob: 23a3ff2fed98d47ead6cf8516adf1b79bdfad602 [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 Simek3f283ea2023-09-22 12:35:41 +02005 * (C) Copyright 2015 - 2022, Xilinx, Inc.
6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
Michal Simeka335bd22016-04-07 16:00:11 +02007 *
Michal Simeka8c94362023-07-10 14:35:49 +02008 * Michal Simek <michal.simek@amd.com>
Michal Simeka335bd22016-04-07 16:00:11 +02009 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
Michal Simeka6604b62017-12-08 14:50:42 +010014#include "zynqmp-clk-ccf.dtsi"
Michal Simekf7b922a2021-05-10 13:14:02 +020015#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
Michal Simeka335bd22016-04-07 16:00:11 +020017
18/ {
19 model = "ZynqMP zc1751-xm016-dc2 RevA";
20 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
21
22 aliases {
Michal Simeka335bd22016-04-07 16:00:11 +020023 ethernet0 = &gem2;
Michal Simeka335bd22016-04-07 16:00:11 +020024 i2c0 = &i2c0;
25 rtc0 = &rtc;
26 serial0 = &uart0;
27 serial1 = &uart1;
28 spi0 = &spi0;
29 spi1 = &spi1;
30 usb0 = &usb1;
31 };
32
33 chosen {
34 bootargs = "earlycon";
35 stdout-path = "serial0:115200n8";
36 };
37
Michal Simek79c1cbf2016-11-11 13:21:04 +010038 memory@0 {
Michal Simeka335bd22016-04-07 16:00:11 +020039 device_type = "memory";
40 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
41 };
42};
43
44&can0 {
45 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +020046 pinctrl-names = "default";
47 pinctrl-0 = <&pinctrl_can0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +020048};
49
50&can1 {
51 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +020052 pinctrl-names = "default";
53 pinctrl-0 = <&pinctrl_can1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +020054};
55
Michal Simeka335bd22016-04-07 16:00:11 +020056&fpd_dma_chan1 {
57 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020058};
59
60&fpd_dma_chan2 {
61 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020062};
63
64&fpd_dma_chan3 {
65 status = "okay";
66};
67
68&fpd_dma_chan4 {
69 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020070};
71
72&fpd_dma_chan5 {
73 status = "okay";
74};
75
76&fpd_dma_chan6 {
77 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020078};
79
80&fpd_dma_chan7 {
81 status = "okay";
82};
83
84&fpd_dma_chan8 {
85 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020086};
87
88&gem2 {
89 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +020090 phy-handle = <&phy0>;
91 phy-mode = "rgmii-id";
Michal Simekf7b922a2021-05-10 13:14:02 +020092 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_gem2_default>;
Michal Simek0641df72023-09-22 12:35:36 +020094 mdio: mdio {
95 #address-cells = <1>;
96 #size-cells = <0>;
97 phy0: ethernet-phy@5 {
98 reg = <5>;
99 ti,rx-internal-delay = <0x8>;
100 ti,tx-internal-delay = <0xa>;
101 ti,fifo-depth = <0x1>;
102 ti,dp83867-rxctrl-strap-quirk;
103 };
Michal Simeka335bd22016-04-07 16:00:11 +0200104 };
105};
106
107&gpio {
108 status = "okay";
109};
110
111&i2c0 {
112 status = "okay";
113 clock-frequency = <400000>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200114 pinctrl-names = "default", "gpio";
115 pinctrl-0 = <&pinctrl_i2c0_default>;
116 pinctrl-1 = <&pinctrl_i2c0_gpio>;
Manikanta Guntupallicc45c9c2023-07-10 14:37:28 +0200117 scl-gpios = <&gpio 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
118 sda-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Michal Simeka335bd22016-04-07 16:00:11 +0200119
120 tca6416_u26: gpio@20 {
121 compatible = "ti,tca6416";
122 reg = <0x20>;
123 gpio-controller;
124 #gpio-cells = <2>;
125 /* IRQ not connected */
126 };
127
128 rtc@68 {
129 compatible = "dallas,ds1339";
130 reg = <0x68>;
131 };
132};
133
134&nand0 {
135 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200136 pinctrl-names = "default";
137 pinctrl-0 = <&pinctrl_nand0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200138 arasan,has-mdma;
Michal Simeka335bd22016-04-07 16:00:11 +0200139
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530140 nand@0 {
141 reg = <0x0>;
142 #address-cells = <0x2>;
143 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-02-18 00:50:21 -0700144 nand-ecc-mode = "soft";
145 nand-ecc-algo = "bch";
146 nand-rb = <0>;
147 label = "main-storage-0";
Amit Kumar Mahapatra0c39e232021-09-15 15:46:36 +0200148 nand-ecc-step-size = <1024>;
149 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700150 nand-on-flash-bbt;
Michal Simeka335bd22016-04-07 16:00:11 +0200151
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530152 partition@0 { /* for testing purpose */
153 label = "nand-fsbl-uboot";
154 reg = <0x0 0x0 0x400000>;
155 };
156 partition@1 { /* for testing purpose */
157 label = "nand-linux";
158 reg = <0x0 0x400000 0x1400000>;
159 };
160 partition@2 { /* for testing purpose */
161 label = "nand-device-tree";
162 reg = <0x0 0x1800000 0x400000>;
163 };
164 partition@3 { /* for testing purpose */
165 label = "nand-rootfs";
166 reg = <0x0 0x1c00000 0x1400000>;
167 };
168 partition@4 { /* for testing purpose */
169 label = "nand-bitstream";
170 reg = <0x0 0x3000000 0x400000>;
171 };
172 partition@5 { /* for testing purpose */
173 label = "nand-misc";
174 reg = <0x0 0x3400000 0xfcc00000>;
175 };
Michal Simeka335bd22016-04-07 16:00:11 +0200176 };
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530177 nand@1 {
178 reg = <0x1>;
179 #address-cells = <0x2>;
180 #size-cells = <0x1>;
Amit Kumar Mahapatrabcc957d2021-02-18 00:50:21 -0700181 nand-ecc-mode = "soft";
182 nand-ecc-algo = "bch";
183 nand-rb = <0>;
184 label = "main-storage-1";
Amit Kumar Mahapatra0c39e232021-09-15 15:46:36 +0200185 nand-ecc-step-size = <1024>;
186 nand-ecc-strength = <24>;
Ashok Reddy Soma67546662023-02-23 22:07:09 -0700187 nand-on-flash-bbt;
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530188
189 partition@0 { /* for testing purpose */
190 label = "nand1-fsbl-uboot";
191 reg = <0x0 0x0 0x400000>;
192 };
193 partition@1 { /* for testing purpose */
194 label = "nand1-linux";
195 reg = <0x0 0x400000 0x1400000>;
196 };
197 partition@2 { /* for testing purpose */
198 label = "nand1-device-tree";
199 reg = <0x0 0x1800000 0x400000>;
200 };
201 partition@3 { /* for testing purpose */
202 label = "nand1-rootfs";
203 reg = <0x0 0x1c00000 0x1400000>;
204 };
205 partition@4 { /* for testing purpose */
206 label = "nand1-bitstream";
207 reg = <0x0 0x3000000 0x400000>;
208 };
209 partition@5 { /* for testing purpose */
210 label = "nand1-misc";
211 reg = <0x0 0x3400000 0xfcc00000>;
212 };
Michal Simeka335bd22016-04-07 16:00:11 +0200213 };
214};
215
Michal Simekf7b922a2021-05-10 13:14:02 +0200216&pinctrl0 {
217 status = "okay";
218 pinctrl_can0_default: can0-default {
219 mux {
220 function = "can0";
221 groups = "can0_9_grp";
222 };
223
224 conf {
225 groups = "can0_9_grp";
226 slew-rate = <SLEW_RATE_SLOW>;
227 power-source = <IO_STANDARD_LVCMOS18>;
228 };
229
230 conf-rx {
231 pins = "MIO38";
232 bias-high-impedance;
233 };
234
235 conf-tx {
236 pins = "MIO39";
237 bias-disable;
238 };
239 };
240
241 pinctrl_can1_default: can1-default {
242 mux {
243 function = "can1";
244 groups = "can1_8_grp";
245 };
246
247 conf {
248 groups = "can1_8_grp";
249 slew-rate = <SLEW_RATE_SLOW>;
250 power-source = <IO_STANDARD_LVCMOS18>;
251 };
252
253 conf-rx {
254 pins = "MIO33";
255 bias-high-impedance;
256 };
257
258 conf-tx {
259 pins = "MIO32";
260 bias-disable;
261 };
262 };
263
264 pinctrl_i2c0_default: i2c0-default {
265 mux {
266 groups = "i2c0_1_grp";
267 function = "i2c0";
268 };
269
270 conf {
271 groups = "i2c0_1_grp";
272 bias-pull-up;
273 slew-rate = <SLEW_RATE_SLOW>;
274 power-source = <IO_STANDARD_LVCMOS18>;
275 };
276 };
277
278 pinctrl_i2c0_gpio: i2c0-gpio {
279 mux {
280 groups = "gpio0_6_grp", "gpio0_7_grp";
281 function = "gpio0";
282 };
283
284 conf {
285 groups = "gpio0_6_grp", "gpio0_7_grp";
286 slew-rate = <SLEW_RATE_SLOW>;
287 power-source = <IO_STANDARD_LVCMOS18>;
288 };
289 };
290
291 pinctrl_uart0_default: uart0-default {
292 mux {
293 groups = "uart0_10_grp";
294 function = "uart0";
295 };
296
297 conf {
298 groups = "uart0_10_grp";
299 slew-rate = <SLEW_RATE_SLOW>;
300 power-source = <IO_STANDARD_LVCMOS18>;
301 };
302
303 conf-rx {
304 pins = "MIO42";
305 bias-high-impedance;
306 };
307
308 conf-tx {
309 pins = "MIO43";
310 bias-disable;
311 };
312 };
313
314 pinctrl_uart1_default: uart1-default {
315 mux {
316 groups = "uart1_10_grp";
317 function = "uart1";
318 };
319
320 conf {
321 groups = "uart1_10_grp";
322 slew-rate = <SLEW_RATE_SLOW>;
323 power-source = <IO_STANDARD_LVCMOS18>;
324 };
325
326 conf-rx {
327 pins = "MIO41";
328 bias-high-impedance;
329 };
330
331 conf-tx {
332 pins = "MIO40";
333 bias-disable;
334 };
335 };
336
337 pinctrl_usb1_default: usb1-default {
338 mux {
339 groups = "usb1_0_grp";
340 function = "usb1";
341 };
342
343 conf {
344 groups = "usb1_0_grp";
Michal Simekf7b922a2021-05-10 13:14:02 +0200345 power-source = <IO_STANDARD_LVCMOS18>;
346 };
347
348 conf-rx {
349 pins = "MIO64", "MIO65", "MIO67";
350 bias-high-impedance;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200351 drive-strength = <12>;
352 slew-rate = <SLEW_RATE_FAST>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200353 };
354
355 conf-tx {
356 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
357 "MIO72", "MIO73", "MIO74", "MIO75";
358 bias-disable;
Ashok Reddy Soma4d0ecf62022-06-15 12:16:13 +0200359 drive-strength = <4>;
360 slew-rate = <SLEW_RATE_SLOW>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200361 };
362 };
363
364 pinctrl_gem2_default: gem2-default {
365 mux {
366 function = "ethernet2";
367 groups = "ethernet2_0_grp";
368 };
369
370 conf {
371 groups = "ethernet2_0_grp";
372 slew-rate = <SLEW_RATE_SLOW>;
373 power-source = <IO_STANDARD_LVCMOS18>;
374 };
375
376 conf-rx {
377 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
378 "MIO63";
379 bias-high-impedance;
380 low-power-disable;
381 };
382
383 conf-tx {
384 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
385 "MIO57";
386 bias-disable;
387 low-power-enable;
388 };
389
390 mux-mdio {
391 function = "mdio2";
392 groups = "mdio2_0_grp";
393 };
394
395 conf-mdio {
396 groups = "mdio2_0_grp";
397 slew-rate = <SLEW_RATE_SLOW>;
398 power-source = <IO_STANDARD_LVCMOS18>;
399 bias-disable;
400 };
401 };
402
403 pinctrl_nand0_default: nand0-default {
404 mux {
405 groups = "nand0_0_grp";
406 function = "nand0";
407 };
408
409 conf {
410 groups = "nand0_0_grp";
411 bias-pull-up;
412 };
413
414 mux-ce {
415 groups = "nand0_ce_0_grp";
416 function = "nand0_ce";
417 };
418
419 conf-ce {
420 groups = "nand0_ce_0_grp";
421 bias-pull-up;
422 };
423
424 mux-rb {
425 groups = "nand0_rb_0_grp";
426 function = "nand0_rb";
427 };
428
429 conf-rb {
430 groups = "nand0_rb_0_grp";
431 bias-pull-up;
432 };
433
434 mux-dqs {
435 groups = "nand0_dqs_0_grp";
436 function = "nand0_dqs";
437 };
438
439 conf-dqs {
440 groups = "nand0_dqs_0_grp";
441 bias-pull-up;
442 };
443 };
444
445 pinctrl_spi0_default: spi0-default {
446 mux {
447 groups = "spi0_0_grp";
448 function = "spi0";
449 };
450
451 conf {
452 groups = "spi0_0_grp";
453 bias-disable;
454 slew-rate = <SLEW_RATE_SLOW>;
455 power-source = <IO_STANDARD_LVCMOS18>;
456 };
457
458 mux-cs {
459 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
460 "spi0_ss_2_grp";
461 function = "spi0_ss";
462 };
463
464 conf-cs {
465 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
466 "spi0_ss_2_grp";
467 bias-disable;
468 };
469 };
470
471 pinctrl_spi1_default: spi1-default {
472 mux {
473 groups = "spi1_3_grp";
474 function = "spi1";
475 };
476
477 conf {
478 groups = "spi1_3_grp";
479 bias-disable;
480 slew-rate = <SLEW_RATE_SLOW>;
481 power-source = <IO_STANDARD_LVCMOS18>;
482 };
483
484 mux-cs {
485 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
486 "spi1_ss_11_grp";
487 function = "spi1_ss";
488 };
489
490 conf-cs {
491 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
492 "spi1_ss_11_grp";
493 bias-disable;
494 };
495 };
496};
497
Michal Simeka335bd22016-04-07 16:00:11 +0200498&rtc {
499 status = "okay";
500};
501
502&spi0 {
503 status = "okay";
504 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200505 pinctrl-names = "default";
506 pinctrl-0 = <&pinctrl_spi0_default>;
507
Michal Simek393f9db2018-03-27 13:09:15 +0200508 spi0_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200509 #address-cells = <1>;
510 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200511 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simeka335bd22016-04-07 16:00:11 +0200512 spi-max-frequency = <50000000>;
513 reg = <0>;
514
Michal Simek393f9db2018-03-27 13:09:15 +0200515 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700516 label = "spi0-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200517 reg = <0x0 0x100000>;
518 };
519 };
520};
521
522&spi1 {
523 status = "okay";
524 num-cs = <1>;
Michal Simekf7b922a2021-05-10 13:14:02 +0200525 pinctrl-names = "default";
526 pinctrl-0 = <&pinctrl_spi1_default>;
527
Michal Simek393f9db2018-03-27 13:09:15 +0200528 spi1_flash0: flash@0 {
Michal Simeka335bd22016-04-07 16:00:11 +0200529 #address-cells = <1>;
530 #size-cells = <1>;
Michal Simek393f9db2018-03-27 13:09:15 +0200531 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simeka335bd22016-04-07 16:00:11 +0200532 spi-max-frequency = <20000000>;
533 reg = <0>;
534
Michal Simek393f9db2018-03-27 13:09:15 +0200535 partition@0 {
Amit Kumar Mahapatra5390cc902020-02-17 07:50:05 -0700536 label = "spi1-data";
Michal Simeka335bd22016-04-07 16:00:11 +0200537 reg = <0x0 0x84000>;
538 };
539 };
540};
541
542/* ULPI SMSC USB3320 */
543&usb1 {
544 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200545 pinctrl-names = "default";
546 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simeka4117002016-04-05 12:01:16 +0200547};
548
549&dwc3_1 {
550 status = "okay";
Michal Simeka335bd22016-04-07 16:00:11 +0200551 dr_mode = "host";
552};
553
554&uart0 {
555 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200556 pinctrl-names = "default";
557 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200558};
559
560&uart1 {
561 status = "okay";
Michal Simekf7b922a2021-05-10 13:14:02 +0200562 pinctrl-names = "default";
563 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simeka335bd22016-04-07 16:00:11 +0200564};