blob: 5b689dbd09373e753e6174254cd336f9c1fcf637 [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";
Michal Simek6c0c9582016-04-07 16:00:11 +0200143
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530144 partition@0 { /* for testing purpose */
145 label = "nand-fsbl-uboot";
146 reg = <0x0 0x0 0x400000>;
147 };
148 partition@1 { /* for testing purpose */
149 label = "nand-linux";
150 reg = <0x0 0x400000 0x1400000>;
151 };
152 partition@2 { /* for testing purpose */
153 label = "nand-device-tree";
154 reg = <0x0 0x1800000 0x400000>;
155 };
156 partition@3 { /* for testing purpose */
157 label = "nand-rootfs";
158 reg = <0x0 0x1c00000 0x1400000>;
159 };
160 partition@4 { /* for testing purpose */
161 label = "nand-bitstream";
162 reg = <0x0 0x3000000 0x400000>;
163 };
164 partition@5 { /* for testing purpose */
165 label = "nand-misc";
166 reg = <0x0 0x3400000 0xfcc00000>;
167 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200168 };
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530169 nand@1 {
170 reg = <0x1>;
171 #address-cells = <0x2>;
172 #size-cells = <0x1>;
Amit Kumar Mahapatrafbf043d2021-02-18 00:50:21 -0700173 nand-ecc-mode = "soft";
174 nand-ecc-algo = "bch";
175 nand-rb = <0>;
176 label = "main-storage-1";
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530177
178 partition@0 { /* for testing purpose */
179 label = "nand1-fsbl-uboot";
180 reg = <0x0 0x0 0x400000>;
181 };
182 partition@1 { /* for testing purpose */
183 label = "nand1-linux";
184 reg = <0x0 0x400000 0x1400000>;
185 };
186 partition@2 { /* for testing purpose */
187 label = "nand1-device-tree";
188 reg = <0x0 0x1800000 0x400000>;
189 };
190 partition@3 { /* for testing purpose */
191 label = "nand1-rootfs";
192 reg = <0x0 0x1c00000 0x1400000>;
193 };
194 partition@4 { /* for testing purpose */
195 label = "nand1-bitstream";
196 reg = <0x0 0x3000000 0x400000>;
197 };
198 partition@5 { /* for testing purpose */
199 label = "nand1-misc";
200 reg = <0x0 0x3400000 0xfcc00000>;
201 };
Michal Simek6c0c9582016-04-07 16:00:11 +0200202 };
203};
204
Michal Simekbd008492021-05-10 13:14:02 +0200205&pinctrl0 {
206 status = "okay";
207 pinctrl_can0_default: can0-default {
208 mux {
209 function = "can0";
210 groups = "can0_9_grp";
211 };
212
213 conf {
214 groups = "can0_9_grp";
215 slew-rate = <SLEW_RATE_SLOW>;
216 power-source = <IO_STANDARD_LVCMOS18>;
217 };
218
219 conf-rx {
220 pins = "MIO38";
221 bias-high-impedance;
222 };
223
224 conf-tx {
225 pins = "MIO39";
226 bias-disable;
227 };
228 };
229
230 pinctrl_can1_default: can1-default {
231 mux {
232 function = "can1";
233 groups = "can1_8_grp";
234 };
235
236 conf {
237 groups = "can1_8_grp";
238 slew-rate = <SLEW_RATE_SLOW>;
239 power-source = <IO_STANDARD_LVCMOS18>;
240 };
241
242 conf-rx {
243 pins = "MIO33";
244 bias-high-impedance;
245 };
246
247 conf-tx {
248 pins = "MIO32";
249 bias-disable;
250 };
251 };
252
253 pinctrl_i2c0_default: i2c0-default {
254 mux {
255 groups = "i2c0_1_grp";
256 function = "i2c0";
257 };
258
259 conf {
260 groups = "i2c0_1_grp";
261 bias-pull-up;
262 slew-rate = <SLEW_RATE_SLOW>;
263 power-source = <IO_STANDARD_LVCMOS18>;
264 };
265 };
266
267 pinctrl_i2c0_gpio: i2c0-gpio {
268 mux {
269 groups = "gpio0_6_grp", "gpio0_7_grp";
270 function = "gpio0";
271 };
272
273 conf {
274 groups = "gpio0_6_grp", "gpio0_7_grp";
275 slew-rate = <SLEW_RATE_SLOW>;
276 power-source = <IO_STANDARD_LVCMOS18>;
277 };
278 };
279
280 pinctrl_uart0_default: uart0-default {
281 mux {
282 groups = "uart0_10_grp";
283 function = "uart0";
284 };
285
286 conf {
287 groups = "uart0_10_grp";
288 slew-rate = <SLEW_RATE_SLOW>;
289 power-source = <IO_STANDARD_LVCMOS18>;
290 };
291
292 conf-rx {
293 pins = "MIO42";
294 bias-high-impedance;
295 };
296
297 conf-tx {
298 pins = "MIO43";
299 bias-disable;
300 };
301 };
302
303 pinctrl_uart1_default: uart1-default {
304 mux {
305 groups = "uart1_10_grp";
306 function = "uart1";
307 };
308
309 conf {
310 groups = "uart1_10_grp";
311 slew-rate = <SLEW_RATE_SLOW>;
312 power-source = <IO_STANDARD_LVCMOS18>;
313 };
314
315 conf-rx {
316 pins = "MIO41";
317 bias-high-impedance;
318 };
319
320 conf-tx {
321 pins = "MIO40";
322 bias-disable;
323 };
324 };
325
326 pinctrl_usb1_default: usb1-default {
327 mux {
328 groups = "usb1_0_grp";
329 function = "usb1";
330 };
331
332 conf {
333 groups = "usb1_0_grp";
334 slew-rate = <SLEW_RATE_SLOW>;
335 power-source = <IO_STANDARD_LVCMOS18>;
336 };
337
338 conf-rx {
339 pins = "MIO64", "MIO65", "MIO67";
340 bias-high-impedance;
341 };
342
343 conf-tx {
344 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
345 "MIO72", "MIO73", "MIO74", "MIO75";
346 bias-disable;
347 };
348 };
349
350 pinctrl_gem2_default: gem2-default {
351 mux {
352 function = "ethernet2";
353 groups = "ethernet2_0_grp";
354 };
355
356 conf {
357 groups = "ethernet2_0_grp";
358 slew-rate = <SLEW_RATE_SLOW>;
359 power-source = <IO_STANDARD_LVCMOS18>;
360 };
361
362 conf-rx {
363 pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
364 "MIO63";
365 bias-high-impedance;
366 low-power-disable;
367 };
368
369 conf-tx {
370 pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
371 "MIO57";
372 bias-disable;
373 low-power-enable;
374 };
375
376 mux-mdio {
377 function = "mdio2";
378 groups = "mdio2_0_grp";
379 };
380
381 conf-mdio {
382 groups = "mdio2_0_grp";
383 slew-rate = <SLEW_RATE_SLOW>;
384 power-source = <IO_STANDARD_LVCMOS18>;
385 bias-disable;
386 };
387 };
388
389 pinctrl_nand0_default: nand0-default {
390 mux {
391 groups = "nand0_0_grp";
392 function = "nand0";
393 };
394
395 conf {
396 groups = "nand0_0_grp";
397 bias-pull-up;
398 };
399
400 mux-ce {
401 groups = "nand0_ce_0_grp";
402 function = "nand0_ce";
403 };
404
405 conf-ce {
406 groups = "nand0_ce_0_grp";
407 bias-pull-up;
408 };
409
410 mux-rb {
411 groups = "nand0_rb_0_grp";
412 function = "nand0_rb";
413 };
414
415 conf-rb {
416 groups = "nand0_rb_0_grp";
417 bias-pull-up;
418 };
419
420 mux-dqs {
421 groups = "nand0_dqs_0_grp";
422 function = "nand0_dqs";
423 };
424
425 conf-dqs {
426 groups = "nand0_dqs_0_grp";
427 bias-pull-up;
428 };
429 };
430
431 pinctrl_spi0_default: spi0-default {
432 mux {
433 groups = "spi0_0_grp";
434 function = "spi0";
435 };
436
437 conf {
438 groups = "spi0_0_grp";
439 bias-disable;
440 slew-rate = <SLEW_RATE_SLOW>;
441 power-source = <IO_STANDARD_LVCMOS18>;
442 };
443
444 mux-cs {
445 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
446 "spi0_ss_2_grp";
447 function = "spi0_ss";
448 };
449
450 conf-cs {
451 groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
452 "spi0_ss_2_grp";
453 bias-disable;
454 };
455 };
456
457 pinctrl_spi1_default: spi1-default {
458 mux {
459 groups = "spi1_3_grp";
460 function = "spi1";
461 };
462
463 conf {
464 groups = "spi1_3_grp";
465 bias-disable;
466 slew-rate = <SLEW_RATE_SLOW>;
467 power-source = <IO_STANDARD_LVCMOS18>;
468 };
469
470 mux-cs {
471 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
472 "spi1_ss_11_grp";
473 function = "spi1_ss";
474 };
475
476 conf-cs {
477 groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
478 "spi1_ss_11_grp";
479 bias-disable;
480 };
481 };
482};
483
Michal Simek6c0c9582016-04-07 16:00:11 +0200484&rtc {
485 status = "okay";
486};
487
488&spi0 {
489 status = "okay";
490 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200491 pinctrl-names = "default";
492 pinctrl-0 = <&pinctrl_spi0_default>;
493
Michal Simekba9da602018-03-27 13:09:15 +0200494 spi0_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200495 #address-cells = <1>;
496 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200497 compatible = "sst,sst25wf080", "jedec,spi-nor";
Michal Simek6c0c9582016-04-07 16:00:11 +0200498 spi-max-frequency = <50000000>;
499 reg = <0>;
500
Michal Simekba9da602018-03-27 13:09:15 +0200501 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700502 label = "spi0-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200503 reg = <0x0 0x100000>;
504 };
505 };
506};
507
508&spi1 {
509 status = "okay";
510 num-cs = <1>;
Michal Simekbd008492021-05-10 13:14:02 +0200511 pinctrl-names = "default";
512 pinctrl-0 = <&pinctrl_spi1_default>;
513
Michal Simekba9da602018-03-27 13:09:15 +0200514 spi1_flash0: flash@0 {
Michal Simek6c0c9582016-04-07 16:00:11 +0200515 #address-cells = <1>;
516 #size-cells = <1>;
Michal Simekba9da602018-03-27 13:09:15 +0200517 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
Michal Simek6c0c9582016-04-07 16:00:11 +0200518 spi-max-frequency = <20000000>;
519 reg = <0>;
520
Michal Simekba9da602018-03-27 13:09:15 +0200521 partition@0 {
Amit Kumar Mahapatra0546b1a2020-02-17 07:50:05 -0700522 label = "spi1-data";
Michal Simek6c0c9582016-04-07 16:00:11 +0200523 reg = <0x0 0x84000>;
524 };
525 };
526};
527
528/* ULPI SMSC USB3320 */
529&usb1 {
530 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200531 pinctrl-names = "default";
532 pinctrl-0 = <&pinctrl_usb1_default>;
Michal Simek8925e592016-04-05 12:01:16 +0200533};
534
535&dwc3_1 {
536 status = "okay";
Michal Simek6c0c9582016-04-07 16:00:11 +0200537 dr_mode = "host";
Michal Simek83dc1332021-06-11 08:52:25 +0200538 snps,usb3_lpm_capable;
539 maximum-speed = "super-speed";
Michal Simek6c0c9582016-04-07 16:00:11 +0200540};
541
542&uart0 {
543 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200544 pinctrl-names = "default";
545 pinctrl-0 = <&pinctrl_uart0_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200546};
547
548&uart1 {
549 status = "okay";
Michal Simekbd008492021-05-10 13:14:02 +0200550 pinctrl-names = "default";
551 pinctrl-0 = <&pinctrl_uart1_default>;
Michal Simek6c0c9582016-04-07 16:00:11 +0200552};