Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003  * dts file for Xilinx ZynqMP ZCU111
0004  *
0005  * (C) Copyright 2017 - 2021, Xilinx, Inc.
0006  *
0007  * Michal Simek <michal.simek@xilinx.com>
0008  */
0009 
0010 /dts-v1/;
0011 
0012 #include "zynqmp.dtsi"
0013 #include "zynqmp-clk-ccf.dtsi"
0014 #include <dt-bindings/input/input.h>
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
0017 #include <dt-bindings/phy/phy.h>
0018 
0019 / {
0020         model = "ZynqMP ZCU111 RevA";
0021         compatible = "xlnx,zynqmp-zcu111-revA", "xlnx,zynqmp-zcu111", "xlnx,zynqmp";
0022 
0023         aliases {
0024                 ethernet0 = &gem3;
0025                 i2c0 = &i2c0;
0026                 i2c1 = &i2c1;
0027                 mmc0 = &sdhci1;
0028                 nvmem0 = &eeprom;
0029                 rtc0 = &rtc;
0030                 serial0 = &uart0;
0031                 serial1 = &dcc;
0032                 spi0 = &qspi;
0033                 usb0 = &usb0;
0034         };
0035 
0036         chosen {
0037                 bootargs = "earlycon";
0038                 stdout-path = "serial0:115200n8";
0039         };
0040 
0041         memory@0 {
0042                 device_type = "memory";
0043                 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
0044                 /* Another 4GB connected to PL */
0045         };
0046 
0047         gpio-keys {
0048                 compatible = "gpio-keys";
0049                 autorepeat;
0050                 switch-19 {
0051                         label = "sw19";
0052                         gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
0053                         linux,code = <KEY_DOWN>;
0054                         wakeup-source;
0055                         autorepeat;
0056                 };
0057         };
0058 
0059         leds {
0060                 compatible = "gpio-leds";
0061                 heartbeat-led {
0062                         label = "heartbeat";
0063                         gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
0064                         linux,default-trigger = "heartbeat";
0065                 };
0066         };
0067 
0068         ina226-u67 {
0069                 compatible = "iio-hwmon";
0070                 io-channels = <&u67 0>, <&u67 1>, <&u67 2>, <&u67 3>;
0071         };
0072         ina226-u59 {
0073                 compatible = "iio-hwmon";
0074                 io-channels = <&u59 0>, <&u59 1>, <&u59 2>, <&u59 3>;
0075         };
0076         ina226-u61 {
0077                 compatible = "iio-hwmon";
0078                 io-channels = <&u61 0>, <&u61 1>, <&u61 2>, <&u61 3>;
0079         };
0080         ina226-u60 {
0081                 compatible = "iio-hwmon";
0082                 io-channels = <&u60 0>, <&u60 1>, <&u60 2>, <&u60 3>;
0083         };
0084         ina226-u64 {
0085                 compatible = "iio-hwmon";
0086                 io-channels = <&u64 0>, <&u64 1>, <&u64 2>, <&u64 3>;
0087         };
0088         ina226-u69 {
0089                 compatible = "iio-hwmon";
0090                 io-channels = <&u69 0>, <&u69 1>, <&u69 2>, <&u69 3>;
0091         };
0092         ina226-u66 {
0093                 compatible = "iio-hwmon";
0094                 io-channels = <&u66 0>, <&u66 1>, <&u66 2>, <&u66 3>;
0095         };
0096         ina226-u65 {
0097                 compatible = "iio-hwmon";
0098                 io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
0099         };
0100         ina226-u63 {
0101                 compatible = "iio-hwmon";
0102                 io-channels = <&u63 0>, <&u63 1>, <&u63 2>, <&u63 3>;
0103         };
0104         ina226-u3 {
0105                 compatible = "iio-hwmon";
0106                 io-channels = <&u3 0>, <&u3 1>, <&u3 2>, <&u3 3>;
0107         };
0108         ina226-u71 {
0109                 compatible = "iio-hwmon";
0110                 io-channels = <&u71 0>, <&u71 1>, <&u71 2>, <&u71 3>;
0111         };
0112         ina226-u77 {
0113                 compatible = "iio-hwmon";
0114                 io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
0115         };
0116         ina226-u73 {
0117                 compatible = "iio-hwmon";
0118                 io-channels = <&u73 0>, <&u73 1>, <&u73 2>, <&u73 3>;
0119         };
0120         ina226-u79 {
0121                 compatible = "iio-hwmon";
0122                 io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
0123         };
0124 
0125         /* 48MHz reference crystal */
0126         ref48: ref48M {
0127                 compatible = "fixed-clock";
0128                 #clock-cells = <0>;
0129                 clock-frequency = <48000000>;
0130         };
0131 };
0132 
0133 &dcc {
0134         status = "okay";
0135 };
0136 
0137 &fpd_dma_chan1 {
0138         status = "okay";
0139 };
0140 
0141 &fpd_dma_chan2 {
0142         status = "okay";
0143 };
0144 
0145 &fpd_dma_chan3 {
0146         status = "okay";
0147 };
0148 
0149 &fpd_dma_chan4 {
0150         status = "okay";
0151 };
0152 
0153 &fpd_dma_chan5 {
0154         status = "okay";
0155 };
0156 
0157 &fpd_dma_chan6 {
0158         status = "okay";
0159 };
0160 
0161 &fpd_dma_chan7 {
0162         status = "okay";
0163 };
0164 
0165 &fpd_dma_chan8 {
0166         status = "okay";
0167 };
0168 
0169 &gem3 {
0170         status = "okay";
0171         phy-handle = <&phy0>;
0172         phy-mode = "rgmii-id";
0173         pinctrl-names = "default";
0174         pinctrl-0 = <&pinctrl_gem3_default>;
0175         phy0: ethernet-phy@c {
0176                 reg = <0xc>;
0177                 ti,rx-internal-delay = <0x8>;
0178                 ti,tx-internal-delay = <0xa>;
0179                 ti,fifo-depth = <0x1>;
0180                 ti,dp83867-rxctrl-strap-quirk;
0181         };
0182 };
0183 
0184 &gpio {
0185         status = "okay";
0186         pinctrl-names = "default";
0187         pinctrl-0 = <&pinctrl_gpio_default>;
0188 };
0189 
0190 &i2c0 {
0191         status = "okay";
0192         clock-frequency = <400000>;
0193         pinctrl-names = "default", "gpio";
0194         pinctrl-0 = <&pinctrl_i2c0_default>;
0195         pinctrl-1 = <&pinctrl_i2c0_gpio>;
0196         scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
0197         sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
0198 
0199         tca6416_u22: gpio@20 {
0200                 compatible = "ti,tca6416";
0201                 reg = <0x20>;
0202                 gpio-controller; /* interrupt not connected */
0203                 #gpio-cells = <2>;
0204                 /*
0205                  * IRQ not connected
0206                  * Lines:
0207                  * 0 - MAX6643_OT_B
0208                  * 1 - MAX6643_FANFAIL_B
0209                  * 2 - MIO26_PMU_INPUT_LS
0210                  * 4 - SFP_SI5382_INT_ALM
0211                  * 5 - IIC_MUX_RESET_B
0212                  * 6 - GEM3_EXP_RESET_B
0213                  * 10 - FMCP_HSPC_PRSNT_M2C_B
0214                  * 11 - CLK_SPI_MUX_SEL0
0215                  * 12 - CLK_SPI_MUX_SEL1
0216                  * 16 - IRPS5401_ALERT_B
0217                  * 17 - INA226_PMBUS_ALERT
0218                  * 3, 7, 13-15 - not connected
0219                  */
0220         };
0221 
0222         i2c-mux@75 { /* u23 */
0223                 compatible = "nxp,pca9544";
0224                 #address-cells = <1>;
0225                 #size-cells = <0>;
0226                 reg = <0x75>;
0227                 i2c@0 {
0228                         #address-cells = <1>;
0229                         #size-cells = <0>;
0230                         reg = <0>;
0231                         /* PS_PMBUS */
0232                         /* PMBUS_ALERT done via pca9544 */
0233                         u67: ina226@40 { /* u67 */
0234                                 compatible = "ti,ina226";
0235                                 #io-channel-cells = <1>;
0236                                 label = "ina226-u67";
0237                                 reg = <0x40>;
0238                                 shunt-resistor = <2000>;
0239                         };
0240                         u59: ina226@41 { /* u59 */
0241                                 compatible = "ti,ina226";
0242                                 #io-channel-cells = <1>;
0243                                 label = "ina226-u59";
0244                                 reg = <0x41>;
0245                                 shunt-resistor = <5000>;
0246                         };
0247                         u61: ina226@42 { /* u61 */
0248                                 compatible = "ti,ina226";
0249                                 #io-channel-cells = <1>;
0250                                 label = "ina226-u61";
0251                                 reg = <0x42>;
0252                                 shunt-resistor = <5000>;
0253                         };
0254                         u60: ina226@43 { /* u60 */
0255                                 compatible = "ti,ina226";
0256                                 #io-channel-cells = <1>;
0257                                 label = "ina226-u60";
0258                                 reg = <0x43>;
0259                                 shunt-resistor = <5000>;
0260                         };
0261                         u64: ina226@45 { /* u64 */
0262                                 compatible = "ti,ina226";
0263                                 #io-channel-cells = <1>;
0264                                 label = "ina226-u64";
0265                                 reg = <0x45>;
0266                                 shunt-resistor = <5000>;
0267                         };
0268                         u69: ina226@46 { /* u69 */
0269                                 compatible = "ti,ina226";
0270                                 #io-channel-cells = <1>;
0271                                 label = "ina226-u69";
0272                                 reg = <0x46>;
0273                                 shunt-resistor = <2000>;
0274                         };
0275                         u66: ina226@47 { /* u66 */
0276                                 compatible = "ti,ina226";
0277                                 #io-channel-cells = <1>;
0278                                 label = "ina226-u66";
0279                                 reg = <0x47>;
0280                                 shunt-resistor = <5000>;
0281                         };
0282                         u65: ina226@48 { /* u65 */
0283                                 compatible = "ti,ina226";
0284                                 #io-channel-cells = <1>;
0285                                 label = "ina226-u65";
0286                                 reg = <0x48>;
0287                                 shunt-resistor = <5000>;
0288                         };
0289                         u63: ina226@49 { /* u63 */
0290                                 compatible = "ti,ina226";
0291                                 #io-channel-cells = <1>;
0292                                 label = "ina226-u63";
0293                                 reg = <0x49>;
0294                                 shunt-resistor = <5000>;
0295                         };
0296                         u3: ina226@4a { /* u3 */
0297                                 compatible = "ti,ina226";
0298                                 #io-channel-cells = <1>;
0299                                 label = "ina226-u3";
0300                                 reg = <0x4a>;
0301                                 shunt-resistor = <5000>;
0302                         };
0303                         u71: ina226@4b { /* u71 */
0304                                 compatible = "ti,ina226";
0305                                 #io-channel-cells = <1>;
0306                                 label = "ina226-u71";
0307                                 reg = <0x4b>;
0308                                 shunt-resistor = <5000>;
0309                         };
0310                         u77: ina226@4c { /* u77 */
0311                                 compatible = "ti,ina226";
0312                                 #io-channel-cells = <1>;
0313                                 label = "ina226-u77";
0314                                 reg = <0x4c>;
0315                                 shunt-resistor = <5000>;
0316                         };
0317                         u73: ina226@4d { /* u73 */
0318                                 compatible = "ti,ina226";
0319                                 #io-channel-cells = <1>;
0320                                 label = "ina226-u73";
0321                                 reg = <0x4d>;
0322                                 shunt-resistor = <5000>;
0323                         };
0324                         u79: ina226@4e { /* u79 */
0325                                 compatible = "ti,ina226";
0326                                 #io-channel-cells = <1>;
0327                                 label = "ina226-u79";
0328                                 reg = <0x4e>;
0329                                 shunt-resistor = <5000>;
0330                         };
0331                 };
0332                 i2c@1 {
0333                         #address-cells = <1>;
0334                         #size-cells = <0>;
0335                         reg = <1>;
0336                         /* NC */
0337                 };
0338                 i2c@2 {
0339                         #address-cells = <1>;
0340                         #size-cells = <0>;
0341                         reg = <2>;
0342                         irps5401_43: irps5401@43 { /* IRPS5401 - u53 check these */
0343                                 compatible = "infineon,irps5401";
0344                                 reg = <0x43>;
0345                         };
0346                         irps5401_44: irps5401@44 { /* IRPS5401 - u55 */
0347                                 compatible = "infineon,irps5401";
0348                                 reg = <0x44>;
0349                         };
0350                         irps5401_45: irps5401@45 { /* IRPS5401 - u57 */
0351                                 compatible = "infineon,irps5401";
0352                                 reg = <0x45>;
0353                         };
0354                         /* u68 IR38064 +0 */
0355                         /* u70 IR38060 +1 */
0356                         /* u74 IR38060 +2 */
0357                         /* u75 IR38060 +6 */
0358                         /* J19 header too */
0359 
0360                 };
0361                 i2c@3 {
0362                         #address-cells = <1>;
0363                         #size-cells = <0>;
0364                         reg = <3>;
0365                         /* SYSMON */
0366                 };
0367         };
0368 };
0369 
0370 &i2c1 {
0371         status = "okay";
0372         clock-frequency = <400000>;
0373         pinctrl-names = "default", "gpio";
0374         pinctrl-0 = <&pinctrl_i2c1_default>;
0375         pinctrl-1 = <&pinctrl_i2c1_gpio>;
0376         scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
0377         sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
0378 
0379         i2c-mux@74 { /* u26 */
0380                 compatible = "nxp,pca9548";
0381                 #address-cells = <1>;
0382                 #size-cells = <0>;
0383                 reg = <0x74>;
0384                 i2c@0 {
0385                         #address-cells = <1>;
0386                         #size-cells = <0>;
0387                         reg = <0>;
0388                         /*
0389                          * IIC_EEPROM 1kB memory which uses 256B blocks
0390                          * where every block has different address.
0391                          *    0 - 256B address 0x54
0392                          * 256B - 512B address 0x55
0393                          * 512B - 768B address 0x56
0394                          * 768B - 1024B address 0x57
0395                          */
0396                         eeprom: eeprom@54 { /* u88 */
0397                                 compatible = "atmel,24c08";
0398                                 reg = <0x54>;
0399                         };
0400                 };
0401                 i2c@1 {
0402                         #address-cells = <1>;
0403                         #size-cells = <0>;
0404                         reg = <1>;
0405                         si5341: clock-generator@36 { /* SI5341 - u46 */
0406                                 compatible = "silabs,si5341";
0407                                 reg = <0x36>;
0408                                 #clock-cells = <2>;
0409                                 #address-cells = <1>;
0410                                 #size-cells = <0>;
0411                                 clocks = <&ref48>;
0412                                 clock-names = "xtal";
0413                                 clock-output-names = "si5341";
0414 
0415                                 si5341_0: out@0 {
0416                                         /* refclk0 for PS-GT, used for DP */
0417                                         reg = <0>;
0418                                         always-on;
0419                                 };
0420                                 si5341_2: out@2 {
0421                                         /* refclk2 for PS-GT, used for USB3 */
0422                                         reg = <2>;
0423                                         always-on;
0424                                 };
0425                                 si5341_3: out@3 {
0426                                         /* refclk3 for PS-GT, used for SATA */
0427                                         reg = <3>;
0428                                         always-on;
0429                                 };
0430                                 si5341_5: out@5 {
0431                                         /* refclk5 PL CLK100 */
0432                                         reg = <5>;
0433                                         always-on;
0434                                 };
0435                                 si5341_6: out@6 {
0436                                         /* refclk6 PL CLK125 */
0437                                         reg = <6>;
0438                                         always-on;
0439                                 };
0440                                 si5341_9: out@9 {
0441                                         /* refclk9 used for PS_REF_CLK 33.3 MHz */
0442                                         reg = <9>;
0443                                         always-on;
0444                                 };
0445                         };
0446                 };
0447                 i2c@2 {
0448                         #address-cells = <1>;
0449                         #size-cells = <0>;
0450                         reg = <2>;
0451                         si570_1: clock-generator@5d { /* USER SI570 - u47 */
0452                                 #clock-cells = <0>;
0453                                 compatible = "silabs,si570";
0454                                 reg = <0x5d>;
0455                                 temperature-stability = <50>;
0456                                 factory-fout = <300000000>;
0457                                 clock-frequency = <300000000>;
0458                                 clock-output-names = "si570_user";
0459                         };
0460                 };
0461                 i2c@3 {
0462                         #address-cells = <1>;
0463                         #size-cells = <0>;
0464                         reg = <3>;
0465                         si570_2: clock-generator@5d { /* USER MGT SI570 - u49 */
0466                                 #clock-cells = <0>;
0467                                 compatible = "silabs,si570";
0468                                 reg = <0x5d>;
0469                                 temperature-stability = <50>;
0470                                 factory-fout = <156250000>;
0471                                 clock-frequency = <156250000>;
0472                                 clock-output-names = "si570_mgt";
0473                         };
0474                 };
0475                 i2c@4 {
0476                         #address-cells = <1>;
0477                         #size-cells = <0>;
0478                         reg = <4>;
0479                         /* SI5382 - u48 */
0480                 };
0481                 i2c@5 {
0482                         #address-cells = <1>;
0483                         #size-cells = <0>;
0484                         reg = <5>;
0485                                 sc18is603@2f { /* sc18is602 - u93 */
0486                                         compatible = "nxp,sc18is603";
0487                                         reg = <0x2f>;
0488                                         /* 4 gpios for CS not handled by driver */
0489                                         /*
0490                                          * USB2ANY cable or
0491                                          * LMK04208 - u90 or
0492                                          * LMX2594 - u102 or
0493                                          * LMX2594 - u103 or
0494                                          * LMX2594 - u104
0495                                          */
0496                                 };
0497                 };
0498                 i2c@6 {
0499                         #address-cells = <1>;
0500                         #size-cells = <0>;
0501                         reg = <6>;
0502                         /* FMC connector */
0503                 };
0504                 /* 7 NC */
0505         };
0506 
0507         i2c-mux@75 {
0508                 compatible = "nxp,pca9548"; /* u27 */
0509                 #address-cells = <1>;
0510                 #size-cells = <0>;
0511                 reg = <0x75>;
0512 
0513                 i2c@0 {
0514                         #address-cells = <1>;
0515                         #size-cells = <0>;
0516                         reg = <0>;
0517                         /* FMCP_HSPC_IIC */
0518                 };
0519                 i2c@1 {
0520                         #address-cells = <1>;
0521                         #size-cells = <0>;
0522                         reg = <1>;
0523                         /* NC */
0524                 };
0525                 i2c@2 {
0526                         #address-cells = <1>;
0527                         #size-cells = <0>;
0528                         reg = <2>;
0529                         /* SYSMON */
0530                 };
0531                 i2c@3 {
0532                         #address-cells = <1>;
0533                         #size-cells = <0>;
0534                         reg = <3>;
0535                         /* DDR4 SODIMM */
0536                 };
0537                 i2c@4 {
0538                         #address-cells = <1>;
0539                         #size-cells = <0>;
0540                         reg = <4>;
0541                         /* SFP3 */
0542                 };
0543                 i2c@5 {
0544                         #address-cells = <1>;
0545                         #size-cells = <0>;
0546                         reg = <5>;
0547                         /* SFP2 */
0548                 };
0549                 i2c@6 {
0550                         #address-cells = <1>;
0551                         #size-cells = <0>;
0552                         reg = <6>;
0553                         /* SFP1 */
0554                 };
0555                 i2c@7 {
0556                         #address-cells = <1>;
0557                         #size-cells = <0>;
0558                         reg = <7>;
0559                         /* SFP0 */
0560                 };
0561         };
0562 };
0563 
0564 &pinctrl0 {
0565         status = "okay";
0566         pinctrl_i2c0_default: i2c0-default {
0567                 mux {
0568                         groups = "i2c0_3_grp";
0569                         function = "i2c0";
0570                 };
0571 
0572                 conf {
0573                         groups = "i2c0_3_grp";
0574                         bias-pull-up;
0575                         slew-rate = <SLEW_RATE_SLOW>;
0576                         power-source = <IO_STANDARD_LVCMOS18>;
0577                 };
0578         };
0579 
0580         pinctrl_i2c0_gpio: i2c0-gpio {
0581                 mux {
0582                         groups = "gpio0_14_grp", "gpio0_15_grp";
0583                         function = "gpio0";
0584                 };
0585 
0586                 conf {
0587                         groups = "gpio0_14_grp", "gpio0_15_grp";
0588                         slew-rate = <SLEW_RATE_SLOW>;
0589                         power-source = <IO_STANDARD_LVCMOS18>;
0590                 };
0591         };
0592 
0593         pinctrl_i2c1_default: i2c1-default {
0594                 mux {
0595                         groups = "i2c1_4_grp";
0596                         function = "i2c1";
0597                 };
0598 
0599                 conf {
0600                         groups = "i2c1_4_grp";
0601                         bias-pull-up;
0602                         slew-rate = <SLEW_RATE_SLOW>;
0603                         power-source = <IO_STANDARD_LVCMOS18>;
0604                 };
0605         };
0606 
0607         pinctrl_i2c1_gpio: i2c1-gpio {
0608                 mux {
0609                         groups = "gpio0_16_grp", "gpio0_17_grp";
0610                         function = "gpio0";
0611                 };
0612 
0613                 conf {
0614                         groups = "gpio0_16_grp", "gpio0_17_grp";
0615                         slew-rate = <SLEW_RATE_SLOW>;
0616                         power-source = <IO_STANDARD_LVCMOS18>;
0617                 };
0618         };
0619 
0620         pinctrl_uart0_default: uart0-default {
0621                 mux {
0622                         groups = "uart0_4_grp";
0623                         function = "uart0";
0624                 };
0625 
0626                 conf {
0627                         groups = "uart0_4_grp";
0628                         slew-rate = <SLEW_RATE_SLOW>;
0629                         power-source = <IO_STANDARD_LVCMOS18>;
0630                 };
0631 
0632                 conf-rx {
0633                         pins = "MIO18";
0634                         bias-high-impedance;
0635                 };
0636 
0637                 conf-tx {
0638                         pins = "MIO19";
0639                         bias-disable;
0640                 };
0641         };
0642 
0643         pinctrl_usb0_default: usb0-default {
0644                 mux {
0645                         groups = "usb0_0_grp";
0646                         function = "usb0";
0647                 };
0648 
0649                 conf {
0650                         groups = "usb0_0_grp";
0651                         slew-rate = <SLEW_RATE_SLOW>;
0652                         power-source = <IO_STANDARD_LVCMOS18>;
0653                 };
0654 
0655                 conf-rx {
0656                         pins = "MIO52", "MIO53", "MIO55";
0657                         bias-high-impedance;
0658                 };
0659 
0660                 conf-tx {
0661                         pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
0662                                "MIO60", "MIO61", "MIO62", "MIO63";
0663                         bias-disable;
0664                 };
0665         };
0666 
0667         pinctrl_gem3_default: gem3-default {
0668                 mux {
0669                         function = "ethernet3";
0670                         groups = "ethernet3_0_grp";
0671                 };
0672 
0673                 conf {
0674                         groups = "ethernet3_0_grp";
0675                         slew-rate = <SLEW_RATE_SLOW>;
0676                         power-source = <IO_STANDARD_LVCMOS18>;
0677                 };
0678 
0679                 conf-rx {
0680                         pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
0681                                                                         "MIO75";
0682                         bias-high-impedance;
0683                         low-power-disable;
0684                 };
0685 
0686                 conf-tx {
0687                         pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
0688                                                                         "MIO69";
0689                         bias-disable;
0690                         low-power-enable;
0691                 };
0692 
0693                 mux-mdio {
0694                         function = "mdio3";
0695                         groups = "mdio3_0_grp";
0696                 };
0697 
0698                 conf-mdio {
0699                         groups = "mdio3_0_grp";
0700                         slew-rate = <SLEW_RATE_SLOW>;
0701                         power-source = <IO_STANDARD_LVCMOS18>;
0702                         bias-disable;
0703                 };
0704         };
0705 
0706         pinctrl_sdhci1_default: sdhci1-default {
0707                 mux {
0708                         groups = "sdio1_0_grp";
0709                         function = "sdio1";
0710                 };
0711 
0712                 conf {
0713                         groups = "sdio1_0_grp";
0714                         slew-rate = <SLEW_RATE_SLOW>;
0715                         power-source = <IO_STANDARD_LVCMOS18>;
0716                         bias-disable;
0717                 };
0718 
0719                 mux-cd {
0720                         groups = "sdio1_cd_0_grp";
0721                         function = "sdio1_cd";
0722                 };
0723 
0724                 conf-cd {
0725                         groups = "sdio1_cd_0_grp";
0726                         bias-high-impedance;
0727                         bias-pull-up;
0728                         slew-rate = <SLEW_RATE_SLOW>;
0729                         power-source = <IO_STANDARD_LVCMOS18>;
0730                 };
0731         };
0732 
0733         pinctrl_gpio_default: gpio-default {
0734                 mux {
0735                         function = "gpio0";
0736                         groups = "gpio0_22_grp", "gpio0_23_grp";
0737                 };
0738 
0739                 conf {
0740                         groups = "gpio0_22_grp", "gpio0_23_grp";
0741                         slew-rate = <SLEW_RATE_SLOW>;
0742                         power-source = <IO_STANDARD_LVCMOS18>;
0743                 };
0744 
0745                 mux-msp {
0746                         function = "gpio0";
0747                         groups = "gpio0_13_grp", "gpio0_38_grp";
0748                 };
0749 
0750                 conf-msp {
0751                         groups = "gpio0_13_grp", "gpio0_38_grp";
0752                         slew-rate = <SLEW_RATE_SLOW>;
0753                         power-source = <IO_STANDARD_LVCMOS18>;
0754                 };
0755 
0756                 conf-pull-up {
0757                         pins = "MIO22";
0758                         bias-pull-up;
0759                 };
0760 
0761                 conf-pull-none {
0762                         pins = "MIO13", "MIO23", "MIO38";
0763                         bias-disable;
0764                 };
0765         };
0766 };
0767 
0768 &psgtr {
0769         status = "okay";
0770         /* nc, dp, usb3, sata */
0771         clocks = <&si5341 0 0>, <&si5341 0 2>, <&si5341 0 3>;
0772         clock-names = "ref1", "ref2", "ref3";
0773 };
0774 
0775 &qspi {
0776         status = "okay";
0777         flash@0 {
0778                 compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
0779                 #address-cells = <1>;
0780                 #size-cells = <1>;
0781                 reg = <0x0>;
0782                 spi-tx-bus-width = <1>;
0783                 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
0784                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
0785         };
0786 };
0787 
0788 &rtc {
0789         status = "okay";
0790 };
0791 
0792 &sata {
0793         status = "okay";
0794         /* SATA OOB timing settings */
0795         ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
0796         ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
0797         ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
0798         ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
0799         ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
0800         ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
0801         ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
0802         ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
0803         phy-names = "sata-phy";
0804         phys = <&psgtr 3 PHY_TYPE_SATA 1 3>;
0805 };
0806 
0807 /* SD1 with level shifter */
0808 &sdhci1 {
0809         status = "okay";
0810         pinctrl-names = "default";
0811         pinctrl-0 = <&pinctrl_sdhci1_default>;
0812         disable-wp;
0813         /*
0814          * This property should be removed for supporting UHS mode
0815          */
0816         no-1-8-v;
0817         xlnx,mio-bank = <1>;
0818 };
0819 
0820 &uart0 {
0821         status = "okay";
0822         pinctrl-names = "default";
0823         pinctrl-0 = <&pinctrl_uart0_default>;
0824 };
0825 
0826 /* ULPI SMSC USB3320 */
0827 &usb0 {
0828         status = "okay";
0829         pinctrl-names = "default";
0830         pinctrl-0 = <&pinctrl_usb0_default>;
0831         phy-names = "usb3-phy";
0832         phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
0833 };
0834 
0835 &dwc3_0 {
0836         status = "okay";
0837         dr_mode = "host";
0838         snps,usb3_lpm_capable;
0839         maximum-speed = "super-speed";
0840 };
0841 
0842 &zynqmp_dpdma {
0843         status = "okay";
0844 };
0845 
0846 &zynqmp_dpsub {
0847         status = "okay";
0848         phy-names = "dp-phy0", "dp-phy1";
0849         phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
0850                <&psgtr 0 PHY_TYPE_DP 1 1>;
0851 };