arm64: zynqmp: Add support for zcu102 1.0 rev
[platform/kernel/u-boot.git] / arch / arm / dts / zynqmp-zcu102-revA.dts
1 /*
2  * dts file for Xilinx ZynqMP ZCU102 RevA
3  *
4  * (C) Copyright 2015, Xilinx, Inc.
5  *
6  * Michal Simek <michal.simek@xilinx.com>
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 /dts-v1/;
12
13 #include "zynqmp.dtsi"
14 #include "zynqmp-clk.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
17
18 / {
19         model = "ZynqMP ZCU102 RevA";
20         compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
21
22         aliases {
23                 ethernet0 = &gem3;
24                 gpio0 = &gpio;
25                 i2c0 = &i2c0;
26                 i2c1 = &i2c1;
27                 mmc0 = &sdhci1;
28                 rtc0 = &rtc;
29                 serial0 = &uart0;
30                 serial1 = &uart1;
31                 serial2 = &dcc;
32                 spi0 = &qspi;
33                 usb0 = &usb0;
34         };
35
36         chosen {
37                 bootargs = "earlycon";
38                 stdout-path = "serial0:115200n8";
39         };
40
41         memory@0 {
42                 device_type = "memory";
43                 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
44         };
45
46         gpio-keys {
47                 compatible = "gpio-keys";
48                 #address-cells = <1>;
49                 #size-cells = <0>;
50                 autorepeat;
51                 sw19 {
52                         label = "sw19";
53                         gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
54                         linux,code = <108>; /* down */
55                         gpio-key,wakeup;
56                         autorepeat;
57                 };
58         };
59
60         leds {
61                 compatible = "gpio-leds";
62                 heartbeat_led {
63                         label = "heartbeat";
64                         gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
65                         linux,default-trigger = "heartbeat";
66                 };
67         };
68 };
69
70 &can1 {
71         status = "okay";
72         pinctrl-names = "default";
73         pinctrl-0 = <&pinctrl_can1_default>;
74 };
75
76 &dcc {
77         status = "okay";
78 };
79
80 /* fpd_dma clk 667MHz, lpd_dma 500MHz */
81 &fpd_dma_chan1 {
82         status = "okay";
83         xlnx,include-sg; /* for testing purpose */
84         xlnx,overfetch; /* for testing purpose */
85         xlnx,ratectrl = <0>; /* for testing purpose */
86         xlnx,src-issue = <31>;
87 };
88
89 &fpd_dma_chan2 {
90         status = "okay";
91         xlnx,ratectrl = <100>; /* for testing purpose */
92         xlnx,src-issue = <4>; /* for testing purpose */
93 };
94
95 &fpd_dma_chan3 {
96         status = "okay";
97 };
98
99 &fpd_dma_chan4 {
100         status = "okay";
101         xlnx,include-sg; /* for testing purpose */
102 };
103
104 &fpd_dma_chan5 {
105         status = "okay";
106 };
107
108 &fpd_dma_chan6 {
109         status = "okay";
110         xlnx,include-sg; /* for testing purpose */
111 };
112
113 &fpd_dma_chan7 {
114         status = "okay";
115 };
116
117 &fpd_dma_chan8 {
118         status = "okay";
119         xlnx,include-sg; /* for testing purpose */
120 };
121
122 &gem3 {
123         status = "okay";
124         phy-handle = <&phy0>;
125         phy-mode = "rgmii-id";
126         pinctrl-names = "default";
127         pinctrl-0 = <&pinctrl_gem3_default>;
128         phy0: phy@21 {
129                 reg = <21>;
130                 ti,rx-internal-delay = <0x8>;
131                 ti,tx-internal-delay = <0xa>;
132                 ti,fifo-depth = <0x1>;
133         };
134 };
135
136 &gpio {
137         status = "okay";
138         pinctrl-names = "default";
139         pinctrl-0 = <&pinctrl_gpio_default>;
140 };
141
142 &gpu {
143         status = "okay";
144 };
145
146 &i2c0 {
147         status = "okay";
148         clock-frequency = <400000>;
149         pinctrl-names = "default", "gpio";
150         pinctrl-0 = <&pinctrl_i2c0_default>;
151         pinctrl-1 = <&pinctrl_i2c0_gpio>;
152         scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
153         sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
154
155         tca6416_u97: gpio@20 {
156                 /*
157                  * Enable all GTs to out from U-Boot
158                  * i2c mw 20 6 0  - setup IO to output
159                  * i2c mw 20 2 ef - setup output values on pins 0-7
160                  * i2c mw 20 3 ff - setup output values on pins 10-17
161                  */
162                 compatible = "ti,tca6416";
163                 reg = <0x20>;
164                 gpio-controller;
165                 #gpio-cells = <2>;
166                 /*
167                  * IRQ not connected
168                  * Lines:
169                  * 0 - PS_GTR_LAN_SEL0
170                  * 1 - PS_GTR_LAN_SEL1
171                  * 2 - PS_GTR_LAN_SEL2
172                  * 3 - PS_GTR_LAN_SEL3
173                  * 4 - PCI_CLK_DIR_SEL
174                  * 5 - IIC_MUX_RESET_B
175                  * 6 - GEM3_EXP_RESET_B
176                  * 7, 10 - 17 - not connected
177                  */
178
179                 gtr_sel0 {
180                         gpio-hog;
181                         gpios = <0 0>;
182                         output-low; /* PCIE = 0, DP = 1 */
183                         line-name = "sel0";
184                 };
185                 gtr_sel1 {
186                         gpio-hog;
187                         gpios = <1 0>;
188                         output-high; /* PCIE = 0, DP = 1 */
189                         line-name = "sel1";
190                 };
191                 gtr_sel2 {
192                         gpio-hog;
193                         gpios = <2 0>;
194                         output-high; /* PCIE = 0, USB0 = 1 */
195                         line-name = "sel2";
196                 };
197                 gtr_sel3 {
198                         gpio-hog;
199                         gpios = <3 0>;
200                         output-high; /* PCIE = 0, SATA = 1 */
201                         line-name = "sel3";
202                 };
203         };
204
205         tca6416_u61: gpio@21 { /* FIXME enable it by i2c mw 21 6 0 */
206                 compatible = "ti,tca6416";
207                 reg = <0x21>;
208                 gpio-controller;
209                 #gpio-cells = <2>;
210                 /*
211                  * IRQ not connected
212                  * Lines:
213                  * 0 - VCCPSPLL_EN
214                  * 1 - MGTRAVCC_EN
215                  * 2 - MGTRAVTT_EN
216                  * 3 - VCCPSDDRPLL_EN
217                  * 4 - MIO26_PMU_INPUT_LS
218                  * 5 - PL_PMBUS_ALERT
219                  * 6 - PS_PMBUS_ALERT
220                  * 7 - MAXIM_PMBUS_ALERT
221                  * 10 - PL_DDR4_VTERM_EN
222                  * 11 - PL_DDR4_VPP_2V5_EN
223                  * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
224                  * 13 - PS_DIMM_SUSPEND_EN
225                  * 14 - PS_DDR4_VTERM_EN
226                  * 15 - PS_DDR4_VPP_2V5_EN
227                  * 16 - 17 - not connected
228                  */
229         };
230
231         i2cswitch@75 { /* u60 */
232                 compatible = "nxp,pca9544";
233                 #address-cells = <1>;
234                 #size-cells = <0>;
235                 reg = <0x75>;
236                 i2c@0 { /* i2c mw 75 0 1 */
237                         #address-cells = <1>;
238                         #size-cells = <0>;
239                         reg = <0>;
240                         /* PS_PMBUS */
241                         ina226@40 { /* u76 */
242                                 compatible = "ti,ina226";
243                                 reg = <0x40>;
244                                 shunt-resistor = <5000>;
245                         };
246                         ina226@41 { /* u77 */
247                                 compatible = "ti,ina226";
248                                 reg = <0x41>;
249                                 shunt-resistor = <5000>;
250                         };
251                         ina226@42 { /* u78 */
252                                 compatible = "ti,ina226";
253                                 reg = <0x42>;
254                                 shunt-resistor = <5000>;
255                         };
256                         ina226@43 { /* u87 */
257                                 compatible = "ti,ina226";
258                                 reg = <0x43>;
259                                 shunt-resistor = <5000>;
260                         };
261                         ina226@44 { /* u85 */
262                                 compatible = "ti,ina226";
263                                 reg = <0x44>;
264                                 shunt-resistor = <5000>;
265                         };
266                         ina226@45 { /* u86 */
267                                 compatible = "ti,ina226";
268                                 reg = <0x45>;
269                                 shunt-resistor = <5000>;
270                         };
271                         ina226@46 { /* u93 */
272                                 compatible = "ti,ina226";
273                                 reg = <0x46>;
274                                 shunt-resistor = <5000>;
275                         };
276                         ina226@47 { /* u88 */
277                                 compatible = "ti,ina226";
278                                 reg = <0x47>;
279                                 shunt-resistor = <5000>;
280                         };
281                         ina226@4a { /* u15 */
282                                 compatible = "ti,ina226";
283                                 reg = <0x4a>;
284                                 shunt-resistor = <5000>;
285                         };
286                         ina226@4b { /* u92 */
287                                 compatible = "ti,ina226";
288                                 reg = <0x4b>;
289                                 shunt-resistor = <5000>;
290                         };
291                 };
292                 i2c@1 { /* i2c mw 75 0 1 */
293                         #address-cells = <1>;
294                         #size-cells = <0>;
295                         reg = <1>;
296                         /* PL_PMBUS */
297                         ina226@40 { /* u79 */
298                                 compatible = "ti,ina226";
299                                 reg = <0x40>;
300                                 shunt-resistor = <2000>;
301                         };
302                         ina226@41 { /* u81 */
303                                 compatible = "ti,ina226";
304                                 reg = <0x41>;
305                                 shunt-resistor = <5000>;
306                         };
307                         ina226@42 { /* u80 */
308                                 compatible = "ti,ina226";
309                                 reg = <0x42>;
310                                 shunt-resistor = <5000>;
311                         };
312                         ina226@43 { /* u84 */
313                                 compatible = "ti,ina226";
314                                 reg = <0x43>;
315                                 shunt-resistor = <5000>;
316                         };
317                         ina226@44 { /* u16 */
318                                 compatible = "ti,ina226";
319                                 reg = <0x44>;
320                                 shunt-resistor = <5000>;
321                         };
322                         ina226@45 { /* u65 */
323                                 compatible = "ti,ina226";
324                                 reg = <0x45>;
325                                 shunt-resistor = <5000>;
326                         };
327                         ina226@46 { /* u74 */
328                                 compatible = "ti,ina226";
329                                 reg = <0x46>;
330                                 shunt-resistor = <5000>;
331                         };
332                         ina226@47 { /* u75 */
333                                 compatible = "ti,ina226";
334                                 reg = <0x47>;
335                                 shunt-resistor = <5000>;
336                         };
337                 };
338                 i2c@2 { /* i2c mw 75 0 1 */
339                         #address-cells = <1>;
340                         #size-cells = <0>;
341                         reg = <2>;
342                         /* MAXIM_PMBUS - 00 */
343                         max15301@a { /* u46 */
344                                 compatible = "max15301";
345                                 reg = <0xa>;
346                         };
347                         max15303@b { /* u4 */
348                                 compatible = "max15303";
349                                 reg = <0xb>;
350                         };
351                         max15303@10 { /* u13 */
352                                 compatible = "max15303";
353                                 reg = <0x10>;
354                         };
355                         max15301@13 { /* u47 */
356                                 compatible = "max15301";
357                                 reg = <0x13>;
358                         };
359                         max15303@14 { /* u7 */
360                                 compatible = "max15303";
361                                 reg = <0x14>;
362                         };
363                         max15303@15 { /* u6 */
364                                 compatible = "max15303";
365                                 reg = <0x15>;
366                         };
367                         max15303@16 { /* u10 */
368                                 compatible = "max15303";
369                                 reg = <0x16>;
370                         };
371                         max15303@17 { /* u9 */
372                                 compatible = "max15303";
373                                 reg = <0x17>;
374                         };
375                         max15301@18 { /* u63 */
376                                 compatible = "max15301";
377                                 reg = <0x18>;
378                         };
379                         max15303@1a { /* u49 */
380                                 compatible = "max15303";
381                                 reg = <0x1a>;
382                         };
383                         max15303@1d { /* u18 */
384                                 compatible = "max15303";
385                                 reg = <0x1d>;
386                         };
387                         max15303@20 { /* u8 */
388                                 compatible = "max15303";
389                                 status = "disabled"; /* unreachable */
390                                 reg = <0x20>;
391                         };
392
393 /*                      drivers/hwmon/pmbus/Kconfig:86:   be called max20751.
394 drivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751)  += max20751.o
395 */
396                         max20751@72 { /* u95 FIXME - not detected */
397                                 compatible = "max20751";
398                                 reg = <0x72>;
399                         };
400                         max20751@73 { /* u96 FIXME - not detected */
401                                 compatible = "max20751";
402                                 reg = <0x73>;
403                         };
404                 };
405                 /* Bus 3 is not connected */
406         };
407
408         /* FIXME PMOD - j160 */
409         /* FIXME MSP430F - u41 - not detected */
410 };
411
412 &i2c1 {
413         status = "okay";
414         clock-frequency = <400000>;
415         pinctrl-names = "default", "gpio";
416         pinctrl-0 = <&pinctrl_i2c1_default>;
417         pinctrl-1 = <&pinctrl_i2c1_gpio>;
418         scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
419         sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
420
421         /* FIXME PL i2c via PCA9306 - u45 */
422         /* FIXME MSP430 - u41 - not detected */
423         i2cswitch@74 { /* u34 */
424                 compatible = "nxp,pca9548";
425                 #address-cells = <1>;
426                 #size-cells = <0>;
427                 reg = <0x74>;
428                 i2c@0 { /* i2c mw 74 0 1 */
429                         #address-cells = <1>;
430                         #size-cells = <0>;
431                         reg = <0>;
432                         /*
433                          * IIC_EEPROM 1kB memory which uses 256B blocks
434                          * where every block has different address.
435                          *    0 - 256B address 0x54
436                          * 256B - 512B address 0x55
437                          * 512B - 768B address 0x56
438                          * 768B - 1024B address 0x57
439                          */
440                         eeprom: eeprom@54 { /* u23 */
441                                 compatible = "at,24c08";
442                                 reg = <0x54>;
443                         };
444                 };
445                 i2c@1 { /* i2c mw 74 0 2 */
446                         #address-cells = <1>;
447                         #size-cells = <0>;
448                         reg = <1>;
449                         si5341: clock-generator1@36 { /* SI5341 - u69 */
450                                 compatible = "si5341";
451                                 reg = <0x36>;
452                         };
453
454                 };
455                 i2c@2 { /* i2c mw 74 0 4 */
456                         #address-cells = <1>;
457                         #size-cells = <0>;
458                         reg = <2>;
459                         si570_1: clock-generator2@5d { /* USER SI570 - u42 */
460                                 #clock-cells = <0>;
461                                 compatible = "silabs,si570";
462                                 reg = <0x5d>;
463                                 temperature-stability = <50>;
464                                 factory-fout = <300000000>;
465                                 clock-frequency = <300000000>;
466                         };
467                 };
468                 i2c@3 { /* i2c mw 74 0 8 */
469                         #address-cells = <1>;
470                         #size-cells = <0>;
471                         reg = <3>;
472                         si570_2: clock-generator3@5d { /* USER MGT SI570 - u56 */
473                                 #clock-cells = <0>;
474                                 compatible = "silabs,si570";
475                                 reg = <0x5d>;
476                                 temperature-stability = <50>; /* copy from zc702 */
477                                 factory-fout = <156250000>;
478                                 clock-frequency = <148500000>;
479                         };
480                 };
481                 i2c@4 { /* i2c mw 74 0 10 */
482                         #address-cells = <1>;
483                         #size-cells = <0>;
484                         reg = <4>;
485                         si5328: clock-generator4@69 {/* SI5328 - u20 */
486                                 compatible = "silabs,si5328";
487                                 reg = <0x69>;
488                         };
489                 };
490                 /* 5 - 7 unconnected */
491         };
492
493         i2cswitch@75 {
494                 compatible = "nxp,pca9548"; /* u135 */
495                 #address-cells = <1>;
496                 #size-cells = <0>;
497                 reg = <0x75>;
498
499                 i2c@0 {
500                         #address-cells = <1>;
501                         #size-cells = <0>;
502                         reg = <0>;
503                         /* HPC0_IIC */
504                 };
505                 i2c@1 {
506                         #address-cells = <1>;
507                         #size-cells = <0>;
508                         reg = <1>;
509                         /* HPC1_IIC */
510                 };
511                 i2c@2 {
512                         #address-cells = <1>;
513                         #size-cells = <0>;
514                         reg = <2>;
515                         /* SYSMON */
516                 };
517                 i2c@3 { /* i2c mw 75 0 8 */
518                         #address-cells = <1>;
519                         #size-cells = <0>;
520                         reg = <3>;
521                         /* DDR4 SODIMM */
522                         dev@19 { /* u-boot detection */
523                                 compatible = "xxx";
524                                 reg = <0x19>;
525                         };
526                         dev@30 { /* u-boot detection */
527                                 compatible = "xxx";
528                                 reg = <0x30>;
529                         };
530                         dev@35 { /* u-boot detection */
531                                 compatible = "xxx";
532                                 reg = <0x35>;
533                         };
534                         dev@36 { /* u-boot detection */
535                                 compatible = "xxx";
536                                 reg = <0x36>;
537                         };
538                         dev@51 { /* u-boot detection - maybe SPD */
539                                 compatible = "xxx";
540                                 reg = <0x51>;
541                         };
542                 };
543                 i2c@4 {
544                         #address-cells = <1>;
545                         #size-cells = <0>;
546                         reg = <4>;
547                         /* SEP 3 */
548                 };
549                 i2c@5 {
550                         #address-cells = <1>;
551                         #size-cells = <0>;
552                         reg = <5>;
553                         /* SEP 2 */
554                 };
555                 i2c@6 {
556                         #address-cells = <1>;
557                         #size-cells = <0>;
558                         reg = <6>;
559                         /* SEP 1 */
560                 };
561                 i2c@7 {
562                         #address-cells = <1>;
563                         #size-cells = <0>;
564                         reg = <7>;
565                         /* SEP 0 */
566                 };
567         };
568 };
569
570 &pinctrl0 {
571         status = "okay";
572         pinctrl_i2c0_default: i2c0-default {
573                 mux {
574                         groups = "i2c0_3_grp";
575                         function = "i2c0";
576                 };
577
578                 conf {
579                         groups = "i2c0_3_grp";
580                         bias-pull-up;
581                         slew-rate = <SLEW_RATE_SLOW>;
582                         io-standard = <IO_STANDARD_LVCMOS18>;
583                 };
584         };
585
586         pinctrl_i2c0_gpio: i2c0-gpio {
587                 mux {
588                         groups = "gpio0_14_grp", "gpio0_15_grp";
589                         function = "gpio0";
590                 };
591
592                 conf {
593                         groups = "gpio0_14_grp", "gpio0_15_grp";
594                         slew-rate = <SLEW_RATE_SLOW>;
595                         io-standard = <IO_STANDARD_LVCMOS18>;
596                 };
597         };
598
599         pinctrl_i2c1_default: i2c1-default {
600                 mux {
601                         groups = "i2c1_4_grp";
602                         function = "i2c1";
603                 };
604
605                 conf {
606                         groups = "i2c1_4_grp";
607                         bias-pull-up;
608                         slew-rate = <SLEW_RATE_SLOW>;
609                         io-standard = <IO_STANDARD_LVCMOS18>;
610                 };
611         };
612
613         pinctrl_i2c1_gpio: i2c1-gpio {
614                 mux {
615                         groups = "gpio0_16_grp", "gpio0_17_grp";
616                         function = "gpio0";
617                 };
618
619                 conf {
620                         groups = "gpio0_16_grp", "gpio0_17_grp";
621                         slew-rate = <SLEW_RATE_SLOW>;
622                         io-standard = <IO_STANDARD_LVCMOS18>;
623                 };
624         };
625
626         pinctrl_uart0_default: uart0-default {
627                 mux {
628                         groups = "uart0_4_grp";
629                         function = "uart0";
630                 };
631
632                 conf {
633                         groups = "uart0_4_grp";
634                         slew-rate = <SLEW_RATE_SLOW>;
635                         io-standard = <IO_STANDARD_LVCMOS18>;
636                 };
637
638                 conf-rx {
639                         pins = "MIO18";
640                         bias-high-impedance;
641                 };
642
643                 conf-tx {
644                         pins = "MIO19";
645                         bias-disable;
646                 };
647         };
648
649         pinctrl_uart1_default: uart1-default {
650                 mux {
651                         groups = "uart1_5_grp";
652                         function = "uart1";
653                 };
654
655                 conf {
656                         groups = "uart1_5_grp";
657                         slew-rate = <SLEW_RATE_SLOW>;
658                         io-standard = <IO_STANDARD_LVCMOS18>;
659                 };
660
661                 conf-rx {
662                         pins = "MIO21";
663                         bias-high-impedance;
664                 };
665
666                 conf-tx {
667                         pins = "MIO20";
668                         bias-disable;
669                 };
670         };
671
672         pinctrl_usb0_default: usb0-default {
673                 mux {
674                         groups = "usb0_0_grp";
675                         function = "usb0";
676                 };
677
678                 conf {
679                         groups = "usb0_0_grp";
680                         slew-rate = <SLEW_RATE_SLOW>;
681                         io-standard = <IO_STANDARD_LVCMOS18>;
682                 };
683
684                 conf-rx {
685                         pins = "MIO52", "MIO53", "MIO55";
686                         bias-high-impedance;
687                 };
688
689                 conf-tx {
690                         pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
691                                "MIO60", "MIO61", "MIO62", "MIO63";
692                         bias-disable;
693                 };
694         };
695
696         pinctrl_gem3_default: gem3-default {
697                 mux {
698                         function = "ethernet3";
699                         groups = "ethernet3_0_grp";
700                 };
701
702                 conf {
703                         groups = "ethernet3_0_grp";
704                         slew-rate = <SLEW_RATE_SLOW>;
705                         io-standard = <IO_STANDARD_LVCMOS18>;
706                 };
707
708                 conf-rx {
709                         pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
710                                                                         "MIO75";
711                         bias-high-impedance;
712                         low-power-disable;
713                 };
714
715                 conf-tx {
716                         pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
717                                                                         "MIO69";
718                         bias-disable;
719                         low-power-enable;
720                 };
721
722                 mux-mdio {
723                         function = "mdio3";
724                         groups = "mdio3_0_grp";
725                 };
726
727                 conf-mdio {
728                         groups = "mdio3_0_grp";
729                         slew-rate = <SLEW_RATE_SLOW>;
730                         io-standard = <IO_STANDARD_LVCMOS18>;
731                         bias-disable;
732                 };
733         };
734
735         pinctrl_can1_default: can1-default {
736                 mux {
737                         function = "can1";
738                         groups = "can1_6_grp";
739                 };
740
741                 conf {
742                         groups = "can1_6_grp";
743                         slew-rate = <SLEW_RATE_SLOW>;
744                         io-standard = <IO_STANDARD_LVCMOS18>;
745                 };
746
747                 conf-rx {
748                         pins = "MIO25";
749                         bias-high-impedance;
750                 };
751
752                 conf-tx {
753                         pins = "MIO24";
754                         bias-disable;
755                 };
756         };
757
758         pinctrl_sdhci1_default: sdhci1-default {
759                 mux {
760                         groups = "sdio1_0_grp";
761                         function = "sdio1";
762                 };
763
764                 conf {
765                         groups = "sdio1_0_grp";
766                         slew-rate = <SLEW_RATE_SLOW>;
767                         io-standard = <IO_STANDARD_LVCMOS18>;
768                         bias-disable;
769                 };
770
771                 mux-cd {
772                         groups = "sdio1_0_cd_grp";
773                         function = "sdio1_cd";
774                 };
775
776                 conf-cd {
777                         groups = "sdio1_0_cd_grp";
778                         bias-high-impedance;
779                         bias-pull-up;
780                         slew-rate = <SLEW_RATE_SLOW>;
781                         io-standard = <IO_STANDARD_LVCMOS18>;
782                 };
783
784                 mux-wp {
785                         groups = "sdio1_0_wp_grp";
786                         function = "sdio1_wp";
787                 };
788
789                 conf-wp {
790                         groups = "sdio1_0_wp_grp";
791                         bias-high-impedance;
792                         bias-pull-up;
793                         slew-rate = <SLEW_RATE_SLOW>;
794                         io-standard = <IO_STANDARD_LVCMOS18>;
795                 };
796         };
797
798         pinctrl_gpio_default: gpio-default {
799                 mux-sw {
800                         function = "gpio0";
801                         groups = "gpio0_22_grp", "gpio0_23_grp";
802                 };
803
804                 conf-sw {
805                         groups = "gpio0_22_grp", "gpio0_23_grp";
806                         slew-rate = <SLEW_RATE_SLOW>;
807                         io-standard = <IO_STANDARD_LVCMOS18>;
808                 };
809
810                 mux-msp {
811                         function = "gpio0";
812                         groups = "gpio0_13_grp", "gpio0_38_grp";
813                 };
814
815                 conf-msp {
816                         groups = "gpio0_13_grp", "gpio0_38_grp";
817                         slew-rate = <SLEW_RATE_SLOW>;
818                         io-standard = <IO_STANDARD_LVCMOS18>;
819                 };
820
821                 conf-pull-up {
822                         pins = "MIO22", "MIO23";
823                         bias-pull-up;
824                 };
825
826                 conf-pull-none {
827                         pins = "MIO13", "MIO38";
828                         bias-disable;
829                 };
830         };
831 };
832
833 &pcie {
834         status = "okay";
835 };
836
837 &qspi {
838         status = "okay";
839         is-dual = <1>;
840         flash@0 {
841                 compatible = "m25p80"; /* 32MB */
842                 #address-cells = <1>;
843                 #size-cells = <1>;
844                 reg = <0x0>;
845                 spi-tx-bus-width = <1>;
846                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
847                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
848                 partition@qspi-fsbl-uboot { /* for testing purpose */
849                         label = "qspi-fsbl-uboot";
850                         reg = <0x0 0x100000>;
851                 };
852                 partition@qspi-linux { /* for testing purpose */
853                         label = "qspi-linux";
854                         reg = <0x100000 0x500000>;
855                 };
856                 partition@qspi-device-tree { /* for testing purpose */
857                         label = "qspi-device-tree";
858                         reg = <0x600000 0x20000>;
859                 };
860                 partition@qspi-rootfs { /* for testing purpose */
861                         label = "qspi-rootfs";
862                         reg = <0x620000 0x5E0000>;
863                 };
864         };
865 };
866
867 &rtc {
868         status = "okay";
869 };
870
871 &sata {
872         status = "okay";
873         /* SATA OOB timing settings */
874         ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
875         ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
876         ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
877         ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
878         ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
879         ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
880         ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
881         ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
882 };
883
884 /* SD1 with level shifter */
885 &sdhci1 {
886         status = "okay";
887         pinctrl-names = "default";
888         pinctrl-0 = <&pinctrl_sdhci1_default>;
889         no-1-8-v;       /* for 1.0 silicon */
890         xlnx,mio_bank = <1>;
891 };
892
893 &uart0 {
894         status = "okay";
895         pinctrl-names = "default";
896         pinctrl-0 = <&pinctrl_uart0_default>;
897 };
898
899 &uart1 {
900         status = "okay";
901         pinctrl-names = "default";
902         pinctrl-0 = <&pinctrl_uart1_default>;
903 };
904
905 /* ULPI SMSC USB3320 */
906 &usb0 {
907         status = "okay";
908         pinctrl-names = "default";
909         pinctrl-0 = <&pinctrl_usb0_default>;
910 };
911
912 &dwc3_0 {
913         status = "okay";
914         dr_mode = "host";
915 };
916
917 &xilinx_drm {
918         status = "okay";
919         clocks = <&si570_1>;
920 };
921
922 &xlnx_dp {
923         status = "okay";
924 };
925
926 &xlnx_dp_sub {
927         status = "okay";
928         xlnx,vid-clk-pl;
929 };
930
931 &xlnx_dp_snd_pcm0 {
932         status = "okay";
933 };
934
935 &xlnx_dp_snd_pcm1 {
936         status = "okay";
937 };
938
939 &xlnx_dp_snd_card {
940         status = "okay";
941 };
942
943 &xlnx_dp_snd_codec0 {
944         status = "okay";
945 };
946
947 &xlnx_dpdma {
948         status = "okay";
949 };