Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003  * dts file for Xilinx ZynqMP zc1751-xm015-dc1
0004  *
0005  * (C) Copyright 2015 - 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/phy/phy.h>
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
0017 
0018 / {
0019         model = "ZynqMP zc1751-xm015-dc1 RevA";
0020         compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
0021 
0022         aliases {
0023                 ethernet0 = &gem3;
0024                 i2c0 = &i2c1;
0025                 mmc0 = &sdhci0;
0026                 mmc1 = &sdhci1;
0027                 rtc0 = &rtc;
0028                 serial0 = &uart0;
0029                 spi0 = &qspi;
0030                 usb0 = &usb0;
0031         };
0032 
0033         chosen {
0034                 bootargs = "earlycon";
0035                 stdout-path = "serial0:115200n8";
0036         };
0037 
0038         memory@0 {
0039                 device_type = "memory";
0040                 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
0041         };
0042 
0043         clock_si5338_0: clk27 { /* u55 SI5338-GM */
0044                 compatible = "fixed-clock";
0045                 #clock-cells = <0>;
0046                 clock-frequency = <27000000>;
0047         };
0048 
0049         clock_si5338_2: clk26 {
0050                 compatible = "fixed-clock";
0051                 #clock-cells = <0>;
0052                 clock-frequency = <26000000>;
0053         };
0054 
0055         clock_si5338_3: clk150 {
0056                 compatible = "fixed-clock";
0057                 #clock-cells = <0>;
0058                 clock-frequency = <150000000>;
0059         };
0060 };
0061 
0062 &fpd_dma_chan1 {
0063         status = "okay";
0064 };
0065 
0066 &fpd_dma_chan2 {
0067         status = "okay";
0068 };
0069 
0070 &fpd_dma_chan3 {
0071         status = "okay";
0072 };
0073 
0074 &fpd_dma_chan4 {
0075         status = "okay";
0076 };
0077 
0078 &fpd_dma_chan5 {
0079         status = "okay";
0080 };
0081 
0082 &fpd_dma_chan6 {
0083         status = "okay";
0084 };
0085 
0086 &fpd_dma_chan7 {
0087         status = "okay";
0088 };
0089 
0090 &fpd_dma_chan8 {
0091         status = "okay";
0092 };
0093 
0094 &gem3 {
0095         status = "okay";
0096         phy-handle = <&phy0>;
0097         phy-mode = "rgmii-id";
0098         pinctrl-names = "default";
0099         pinctrl-0 = <&pinctrl_gem3_default>;
0100         phy0: ethernet-phy@0 {
0101                 reg = <0>;
0102         };
0103 };
0104 
0105 &gpio {
0106         status = "okay";
0107         pinctrl-names = "default";
0108         pinctrl-0 = <&pinctrl_gpio_default>;
0109 };
0110 
0111 
0112 &i2c1 {
0113         status = "okay";
0114         clock-frequency = <400000>;
0115         pinctrl-names = "default", "gpio";
0116         pinctrl-0 = <&pinctrl_i2c1_default>;
0117         pinctrl-1 = <&pinctrl_i2c1_gpio>;
0118         scl-gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
0119         sda-gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
0120 
0121         eeprom: eeprom@55 {
0122                 compatible = "atmel,24c64"; /* 24AA64 */
0123                 reg = <0x55>;
0124         };
0125 };
0126 
0127 &pinctrl0 {
0128         status = "okay";
0129         pinctrl_i2c1_default: i2c1-default {
0130                 mux {
0131                         groups = "i2c1_9_grp";
0132                         function = "i2c1";
0133                 };
0134 
0135                 conf {
0136                         groups = "i2c1_9_grp";
0137                         bias-pull-up;
0138                         slew-rate = <SLEW_RATE_SLOW>;
0139                         power-source = <IO_STANDARD_LVCMOS18>;
0140                 };
0141         };
0142 
0143         pinctrl_i2c1_gpio: i2c1-gpio {
0144                 mux {
0145                         groups = "gpio0_36_grp", "gpio0_37_grp";
0146                         function = "gpio0";
0147                 };
0148 
0149                 conf {
0150                         groups = "gpio0_36_grp", "gpio0_37_grp";
0151                         slew-rate = <SLEW_RATE_SLOW>;
0152                         power-source = <IO_STANDARD_LVCMOS18>;
0153                 };
0154         };
0155 
0156         pinctrl_uart0_default: uart0-default {
0157                 mux {
0158                         groups = "uart0_8_grp";
0159                         function = "uart0";
0160                 };
0161 
0162                 conf {
0163                         groups = "uart0_8_grp";
0164                         slew-rate = <SLEW_RATE_SLOW>;
0165                         power-source = <IO_STANDARD_LVCMOS18>;
0166                 };
0167 
0168                 conf-rx {
0169                         pins = "MIO34";
0170                         bias-high-impedance;
0171                 };
0172 
0173                 conf-tx {
0174                         pins = "MIO35";
0175                         bias-disable;
0176                 };
0177         };
0178 
0179         pinctrl_usb0_default: usb0-default {
0180                 mux {
0181                         groups = "usb0_0_grp";
0182                         function = "usb0";
0183                 };
0184 
0185                 conf {
0186                         groups = "usb0_0_grp";
0187                         slew-rate = <SLEW_RATE_SLOW>;
0188                         power-source = <IO_STANDARD_LVCMOS18>;
0189                 };
0190 
0191                 conf-rx {
0192                         pins = "MIO52", "MIO53", "MIO55";
0193                         bias-high-impedance;
0194                 };
0195 
0196                 conf-tx {
0197                         pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
0198                                "MIO60", "MIO61", "MIO62", "MIO63";
0199                         bias-disable;
0200                 };
0201         };
0202 
0203         pinctrl_gem3_default: gem3-default {
0204                 mux {
0205                         function = "ethernet3";
0206                         groups = "ethernet3_0_grp";
0207                 };
0208 
0209                 conf {
0210                         groups = "ethernet3_0_grp";
0211                         slew-rate = <SLEW_RATE_SLOW>;
0212                         power-source = <IO_STANDARD_LVCMOS18>;
0213                 };
0214 
0215                 conf-rx {
0216                         pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
0217                                                                         "MIO75";
0218                         bias-high-impedance;
0219                         low-power-disable;
0220                 };
0221 
0222                 conf-tx {
0223                         pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
0224                                                                         "MIO69";
0225                         bias-disable;
0226                         low-power-enable;
0227                 };
0228 
0229                 mux-mdio {
0230                         function = "mdio3";
0231                         groups = "mdio3_0_grp";
0232                 };
0233 
0234                 conf-mdio {
0235                         groups = "mdio3_0_grp";
0236                         slew-rate = <SLEW_RATE_SLOW>;
0237                         power-source = <IO_STANDARD_LVCMOS18>;
0238                         bias-disable;
0239                 };
0240         };
0241 
0242         pinctrl_sdhci0_default: sdhci0-default {
0243                 mux {
0244                         groups = "sdio0_0_grp";
0245                         function = "sdio0";
0246                 };
0247 
0248                 conf {
0249                         groups = "sdio0_0_grp";
0250                         slew-rate = <SLEW_RATE_SLOW>;
0251                         power-source = <IO_STANDARD_LVCMOS18>;
0252                         bias-disable;
0253                 };
0254 
0255                 mux-cd {
0256                         groups = "sdio0_cd_0_grp";
0257                         function = "sdio0_cd";
0258                 };
0259 
0260                 conf-cd {
0261                         groups = "sdio0_cd_0_grp";
0262                         bias-high-impedance;
0263                         bias-pull-up;
0264                         slew-rate = <SLEW_RATE_SLOW>;
0265                         power-source = <IO_STANDARD_LVCMOS18>;
0266                 };
0267 
0268                 mux-wp {
0269                         groups = "sdio0_wp_0_grp";
0270                         function = "sdio0_wp";
0271                 };
0272 
0273                 conf-wp {
0274                         groups = "sdio0_wp_0_grp";
0275                         bias-high-impedance;
0276                         bias-pull-up;
0277                         slew-rate = <SLEW_RATE_SLOW>;
0278                         power-source = <IO_STANDARD_LVCMOS18>;
0279                 };
0280         };
0281 
0282         pinctrl_sdhci1_default: sdhci1-default {
0283                 mux {
0284                         groups = "sdio1_0_grp";
0285                         function = "sdio1";
0286                 };
0287 
0288                 conf {
0289                         groups = "sdio1_0_grp";
0290                         slew-rate = <SLEW_RATE_SLOW>;
0291                         power-source = <IO_STANDARD_LVCMOS18>;
0292                         bias-disable;
0293                 };
0294 
0295                 mux-cd {
0296                         groups = "sdio1_cd_0_grp";
0297                         function = "sdio1_cd";
0298                 };
0299 
0300                 conf-cd {
0301                         groups = "sdio1_cd_0_grp";
0302                         bias-high-impedance;
0303                         bias-pull-up;
0304                         slew-rate = <SLEW_RATE_SLOW>;
0305                         power-source = <IO_STANDARD_LVCMOS18>;
0306                 };
0307 
0308                 mux-wp {
0309                         groups = "sdio1_wp_0_grp";
0310                         function = "sdio1_wp";
0311                 };
0312 
0313                 conf-wp {
0314                         groups = "sdio1_wp_0_grp";
0315                         bias-high-impedance;
0316                         bias-pull-up;
0317                         slew-rate = <SLEW_RATE_SLOW>;
0318                         power-source = <IO_STANDARD_LVCMOS18>;
0319                 };
0320         };
0321 
0322         pinctrl_gpio_default: gpio-default {
0323                 mux {
0324                         function = "gpio0";
0325                         groups = "gpio0_38_grp";
0326                 };
0327 
0328                 conf {
0329                         groups = "gpio0_38_grp";
0330                         bias-disable;
0331                         slew-rate = <SLEW_RATE_SLOW>;
0332                         power-source = <IO_STANDARD_LVCMOS18>;
0333                 };
0334         };
0335 };
0336 
0337 &psgtr {
0338         status = "okay";
0339         /* dp, usb3, sata */
0340         clocks = <&clock_si5338_0>, <&clock_si5338_2>, <&clock_si5338_3>;
0341         clock-names = "ref1", "ref2", "ref3";
0342 };
0343 
0344 &qspi {
0345         status = "okay";
0346         flash@0 {
0347                 compatible = "m25p80", "jedec,spi-nor"; /* Micron MT25QU512ABB8ESF */
0348                 #address-cells = <1>;
0349                 #size-cells = <1>;
0350                 reg = <0x0>;
0351                 spi-tx-bus-width = <1>;
0352                 spi-rx-bus-width = <4>;
0353                 spi-max-frequency = <108000000>; /* Based on DC1 spec */
0354         };
0355 };
0356 
0357 &rtc {
0358         status = "okay";
0359 };
0360 
0361 &sata {
0362         status = "okay";
0363         /* SATA phy OOB timing settings */
0364         ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
0365         ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
0366         ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
0367         ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
0368         ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
0369         ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
0370         ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
0371         ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
0372         phy-names = "sata-phy";
0373         phys = <&psgtr 3 PHY_TYPE_SATA 1 3>;
0374 };
0375 
0376 /* eMMC */
0377 &sdhci0 {
0378         status = "okay";
0379         pinctrl-names = "default";
0380         pinctrl-0 = <&pinctrl_sdhci0_default>;
0381         bus-width = <8>;
0382         xlnx,mio-bank = <0>;
0383 };
0384 
0385 /* SD1 with level shifter */
0386 &sdhci1 {
0387         status = "okay";
0388         /*
0389          * This property should be removed for supporting UHS mode
0390          */
0391         no-1-8-v;
0392         pinctrl-names = "default";
0393         pinctrl-0 = <&pinctrl_sdhci1_default>;
0394         xlnx,mio-bank = <1>;
0395 };
0396 
0397 &uart0 {
0398         status = "okay";
0399         pinctrl-names = "default";
0400         pinctrl-0 = <&pinctrl_uart0_default>;
0401 };
0402 
0403 /* ULPI SMSC USB3320 */
0404 &usb0 {
0405         status = "okay";
0406         pinctrl-names = "default";
0407         pinctrl-0 = <&pinctrl_usb0_default>;
0408         phy-names = "usb3-phy";
0409         phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
0410 };
0411 
0412 &dwc3_0 {
0413         status = "okay";
0414         dr_mode = "host";
0415         snps,usb3_lpm_capable;
0416         maximum-speed = "super-speed";
0417 };
0418 
0419 &zynqmp_dpdma {
0420         status = "okay";
0421 };
0422 
0423 &zynqmp_dpsub {
0424         status = "okay";
0425         phy-names = "dp-phy0", "dp-phy1";
0426         phys = <&psgtr 1 PHY_TYPE_DP 0 0>,
0427                <&psgtr 0 PHY_TYPE_DP 1 1>;
0428 };