1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * dts file for Xilinx ZynqMP zc1751-xm019-dc5 4 * 5 * (C) Copyright 2015 - 2021, Xilinx, Inc. 6 * 7 * Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com> 8 * Michal Simek <michal.simek@amd.com> 9 */ 10 11/dts-v1/; 12 13#include "zynqmp.dtsi" 14#include "zynqmp-clk-ccf.dtsi" 15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 17 18/ { 19 model = "ZynqMP zc1751-xm019-dc5 RevA"; 20 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp"; 21 22 aliases { 23 ethernet0 = &gem1; 24 i2c0 = &i2c0; 25 i2c1 = &i2c1; 26 mmc0 = &sdhci0; 27 serial0 = &uart0; 28 serial1 = &uart1; 29 }; 30 31 chosen { 32 bootargs = "earlycon"; 33 stdout-path = "serial0:115200n8"; 34 }; 35 36 memory@0 { 37 device_type = "memory"; 38 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; 39 }; 40}; 41 42&fpd_dma_chan1 { 43 status = "okay"; 44}; 45 46&fpd_dma_chan2 { 47 status = "okay"; 48}; 49 50&fpd_dma_chan3 { 51 status = "okay"; 52}; 53 54&fpd_dma_chan4 { 55 status = "okay"; 56}; 57 58&fpd_dma_chan5 { 59 status = "okay"; 60}; 61 62&fpd_dma_chan6 { 63 status = "okay"; 64}; 65 66&fpd_dma_chan7 { 67 status = "okay"; 68}; 69 70&fpd_dma_chan8 { 71 status = "okay"; 72}; 73 74&gem1 { 75 status = "okay"; 76 phy-handle = <&phy0>; 77 phy-mode = "rgmii-id"; 78 pinctrl-names = "default"; 79 pinctrl-0 = <&pinctrl_gem1_default>; 80 phy0: ethernet-phy@0 { 81 reg = <0>; 82 }; 83}; 84 85&gpio { 86 status = "okay"; 87}; 88 89&i2c0 { 90 status = "okay"; 91 pinctrl-names = "default", "gpio"; 92 pinctrl-0 = <&pinctrl_i2c0_default>; 93 pinctrl-1 = <&pinctrl_i2c0_gpio>; 94 scl-gpios = <&gpio 74 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 95 sda-gpios = <&gpio 75 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 96}; 97 98&i2c1 { 99 status = "okay"; 100 pinctrl-names = "default", "gpio"; 101 pinctrl-0 = <&pinctrl_i2c1_default>; 102 pinctrl-1 = <&pinctrl_i2c1_gpio>; 103 scl-gpios = <&gpio 76 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 104 sda-gpios = <&gpio 77 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 105 106}; 107 108&pinctrl0 { 109 status = "okay"; 110 pinctrl_i2c0_default: i2c0-default { 111 mux { 112 groups = "i2c0_18_grp"; 113 function = "i2c0"; 114 }; 115 116 conf { 117 groups = "i2c0_18_grp"; 118 bias-pull-up; 119 slew-rate = <SLEW_RATE_SLOW>; 120 power-source = <IO_STANDARD_LVCMOS18>; 121 }; 122 }; 123 124 pinctrl_i2c0_gpio: i2c0-gpio { 125 mux { 126 groups = "gpio0_74_grp", "gpio0_75_grp"; 127 function = "gpio0"; 128 }; 129 130 conf { 131 groups = "gpio0_74_grp", "gpio0_75_grp"; 132 slew-rate = <SLEW_RATE_SLOW>; 133 power-source = <IO_STANDARD_LVCMOS18>; 134 }; 135 }; 136 137 pinctrl_i2c1_default: i2c1-default { 138 mux { 139 groups = "i2c1_19_grp"; 140 function = "i2c1"; 141 }; 142 143 conf { 144 groups = "i2c1_19_grp"; 145 bias-pull-up; 146 slew-rate = <SLEW_RATE_SLOW>; 147 power-source = <IO_STANDARD_LVCMOS18>; 148 }; 149 }; 150 151 pinctrl_i2c1_gpio: i2c1-gpio { 152 mux { 153 groups = "gpio0_76_grp", "gpio0_77_grp"; 154 function = "gpio0"; 155 }; 156 157 conf { 158 groups = "gpio0_76_grp", "gpio0_77_grp"; 159 slew-rate = <SLEW_RATE_SLOW>; 160 power-source = <IO_STANDARD_LVCMOS18>; 161 }; 162 }; 163 164 pinctrl_uart0_default: uart0-default { 165 mux { 166 groups = "uart0_17_grp"; 167 function = "uart0"; 168 }; 169 170 conf { 171 groups = "uart0_17_grp"; 172 slew-rate = <SLEW_RATE_SLOW>; 173 power-source = <IO_STANDARD_LVCMOS18>; 174 }; 175 176 conf-rx { 177 pins = "MIO70"; 178 bias-high-impedance; 179 }; 180 181 conf-tx { 182 pins = "MIO71"; 183 bias-disable; 184 }; 185 }; 186 187 pinctrl_uart1_default: uart1-default { 188 mux { 189 groups = "uart1_18_grp"; 190 function = "uart1"; 191 }; 192 193 conf { 194 groups = "uart1_18_grp"; 195 slew-rate = <SLEW_RATE_SLOW>; 196 power-source = <IO_STANDARD_LVCMOS18>; 197 }; 198 199 conf-rx { 200 pins = "MIO73"; 201 bias-high-impedance; 202 }; 203 204 conf-tx { 205 pins = "MIO72"; 206 bias-disable; 207 }; 208 }; 209 210 pinctrl_gem1_default: gem1-default { 211 mux { 212 function = "ethernet1"; 213 groups = "ethernet1_0_grp"; 214 }; 215 216 conf { 217 groups = "ethernet1_0_grp"; 218 slew-rate = <SLEW_RATE_SLOW>; 219 power-source = <IO_STANDARD_LVCMOS18>; 220 }; 221 222 conf-rx { 223 pins = "MIO44", "MIO45", "MIO46", "MIO47", "MIO48", 224 "MIO49"; 225 bias-high-impedance; 226 low-power-disable; 227 }; 228 229 conf-tx { 230 pins = "MIO38", "MIO39", "MIO40", "MIO41", "MIO42", 231 "MIO43"; 232 bias-disable; 233 low-power-enable; 234 }; 235 236 mux-mdio { 237 function = "mdio1"; 238 groups = "mdio1_0_grp"; 239 }; 240 241 conf-mdio { 242 groups = "mdio1_0_grp"; 243 slew-rate = <SLEW_RATE_SLOW>; 244 power-source = <IO_STANDARD_LVCMOS18>; 245 bias-disable; 246 }; 247 }; 248 249 pinctrl_sdhci0_default: sdhci0-default { 250 mux { 251 groups = "sdio0_0_grp"; 252 function = "sdio0"; 253 }; 254 255 conf { 256 groups = "sdio0_0_grp"; 257 slew-rate = <SLEW_RATE_SLOW>; 258 power-source = <IO_STANDARD_LVCMOS18>; 259 bias-disable; 260 }; 261 262 mux-cd { 263 groups = "sdio0_cd_0_grp"; 264 function = "sdio0_cd"; 265 }; 266 267 conf-cd { 268 groups = "sdio0_cd_0_grp"; 269 bias-high-impedance; 270 bias-pull-up; 271 slew-rate = <SLEW_RATE_SLOW>; 272 power-source = <IO_STANDARD_LVCMOS18>; 273 }; 274 275 mux-wp { 276 groups = "sdio0_wp_0_grp"; 277 function = "sdio0_wp"; 278 }; 279 280 conf-wp { 281 groups = "sdio0_wp_0_grp"; 282 bias-high-impedance; 283 bias-pull-up; 284 slew-rate = <SLEW_RATE_SLOW>; 285 power-source = <IO_STANDARD_LVCMOS18>; 286 }; 287 }; 288 289 pinctrl_watchdog0_default: watchdog0-default { 290 mux-clk { 291 groups = "swdt0_clk_1_grp"; 292 function = "swdt0_clk"; 293 }; 294 295 conf-clk { 296 groups = "swdt0_clk_1_grp"; 297 bias-pull-up; 298 }; 299 300 mux-rst { 301 groups = "swdt0_rst_1_grp"; 302 function = "swdt0_rst"; 303 }; 304 305 conf-rst { 306 groups = "swdt0_rst_1_grp"; 307 bias-disable; 308 slew-rate = <SLEW_RATE_SLOW>; 309 }; 310 }; 311 312 pinctrl_ttc0_default: ttc0-default { 313 mux-clk { 314 groups = "ttc0_clk_0_grp"; 315 function = "ttc0_clk"; 316 }; 317 318 conf-clk { 319 groups = "ttc0_clk_0_grp"; 320 bias-pull-up; 321 }; 322 323 mux-wav { 324 groups = "ttc0_wav_0_grp"; 325 function = "ttc0_wav"; 326 }; 327 328 conf-wav { 329 groups = "ttc0_wav_0_grp"; 330 bias-disable; 331 slew-rate = <SLEW_RATE_SLOW>; 332 }; 333 }; 334 335 pinctrl_ttc1_default: ttc1-default { 336 mux-clk { 337 groups = "ttc1_clk_0_grp"; 338 function = "ttc1_clk"; 339 }; 340 341 conf-clk { 342 groups = "ttc1_clk_0_grp"; 343 bias-pull-up; 344 }; 345 346 mux-wav { 347 groups = "ttc1_wav_0_grp"; 348 function = "ttc1_wav"; 349 }; 350 351 conf-wav { 352 groups = "ttc1_wav_0_grp"; 353 bias-disable; 354 slew-rate = <SLEW_RATE_SLOW>; 355 }; 356 }; 357 358 pinctrl_ttc2_default: ttc2-default { 359 mux-clk { 360 groups = "ttc2_clk_0_grp"; 361 function = "ttc2_clk"; 362 }; 363 364 conf-clk { 365 groups = "ttc2_clk_0_grp"; 366 bias-pull-up; 367 }; 368 369 mux-wav { 370 groups = "ttc2_wav_0_grp"; 371 function = "ttc2_wav"; 372 }; 373 374 conf-wav { 375 groups = "ttc2_wav_0_grp"; 376 bias-disable; 377 slew-rate = <SLEW_RATE_SLOW>; 378 }; 379 }; 380 381 pinctrl_ttc3_default: ttc3-default { 382 mux-clk { 383 groups = "ttc3_clk_0_grp"; 384 function = "ttc3_clk"; 385 }; 386 387 conf-clk { 388 groups = "ttc3_clk_0_grp"; 389 bias-pull-up; 390 }; 391 392 mux-wav { 393 groups = "ttc3_wav_0_grp"; 394 function = "ttc3_wav"; 395 }; 396 397 conf-wav { 398 groups = "ttc3_wav_0_grp"; 399 bias-disable; 400 slew-rate = <SLEW_RATE_SLOW>; 401 }; 402 }; 403}; 404 405&sdhci0 { 406 status = "okay"; 407 pinctrl-names = "default"; 408 pinctrl-0 = <&pinctrl_sdhci0_default>; 409 no-1-8-v; 410 xlnx,mio-bank = <0>; 411}; 412 413&ttc0 { 414 status = "okay"; 415 pinctrl-names = "default"; 416 pinctrl-0 = <&pinctrl_ttc0_default>; 417}; 418 419&ttc1 { 420 status = "okay"; 421 pinctrl-names = "default"; 422 pinctrl-0 = <&pinctrl_ttc1_default>; 423}; 424 425&ttc2 { 426 status = "okay"; 427 pinctrl-names = "default"; 428 pinctrl-0 = <&pinctrl_ttc2_default>; 429}; 430 431&ttc3 { 432 status = "okay"; 433 pinctrl-names = "default"; 434 pinctrl-0 = <&pinctrl_ttc3_default>; 435}; 436 437&uart0 { 438 status = "okay"; 439 pinctrl-names = "default"; 440 pinctrl-0 = <&pinctrl_uart0_default>; 441}; 442 443&uart1 { 444 status = "okay"; 445 pinctrl-names = "default"; 446 pinctrl-0 = <&pinctrl_uart1_default>; 447}; 448 449&watchdog0 { 450 status = "okay"; 451 pinctrl-names = "default"; 452 pinctrl-0 = <&pinctrl_watchdog0_default>; 453}; 454