1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Copyright (C) 2020 Lothar Waßmann <LW@KARO-electronics.de> 4 * 2025 Maud Spierings <maudspierings@gocontroll.com> 5 */ 6 7#include "imx8mp.dtsi" 8 9/ { 10 /* PHY regulator */ 11 regulator-3v3-etn { 12 compatible = "regulator-fixed"; 13 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; 14 enable-active-high; 15 pinctrl-0 = <&pinctrl_reg_3v3_etn>; 16 pinctrl-names = "default"; 17 regulator-always-on; 18 regulator-boot-on; 19 regulator-max-microvolt = <3300000>; 20 regulator-min-microvolt = <3300000>; 21 regulator-name = "3v3-etn"; 22 vin-supply = <®_vdd_3v3>; 23 }; 24}; 25 26&A53_0 { 27 cpu-supply = <®_vdd_arm>; 28}; 29 30&A53_1 { 31 cpu-supply = <®_vdd_arm>; 32}; 33 34&A53_2 { 35 cpu-supply = <®_vdd_arm>; 36}; 37 38&A53_3 { 39 cpu-supply = <®_vdd_arm>; 40}; 41 42&eqos { 43 assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>, 44 <&clk IMX8MP_CLK_ENET_QOS_TIMER>, 45 <&clk IMX8MP_CLK_ENET_QOS>; 46 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>, 47 <&clk IMX8MP_SYS_PLL2_100M>, 48 <&clk IMX8MP_SYS_PLL2_50M>; 49 assigned-clock-rates = <266000000>, <100000000>, <50000000>; 50 phy-handle = <ðphy0>; 51 phy-mode = "rmii"; 52 pinctrl-0 = <&pinctrl_eqos>; 53 pinctrl-1 = <&pinctrl_eqos_sleep>; 54 pinctrl-names = "default", "sleep"; 55 status = "okay"; 56 57 mdio { 58 compatible = "snps,dwmac-mdio"; 59 #address-cells = <1>; 60 #size-cells = <0>; 61 pinctrl-0 = <&pinctrl_ethphy_rst_b>; 62 pinctrl-names = "default"; 63 reset-delay-us = <25000>; 64 reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 65 66 ethphy0: ethernet-phy@0 { 67 reg = <0>; 68 interrupt-parent = <&gpio4>; 69 interrupts = <21 IRQ_TYPE_EDGE_FALLING>; 70 clocks = <&clk IMX8MP_CLK_ENET_QOS>; 71 pinctrl-0 = <&pinctrl_ethphy_int_b>; 72 pinctrl-names = "default"; 73 smsc,disable-energy-detect; 74 }; 75 }; 76}; 77 78&gpio1 { 79 gpio-line-names = "SODIMM_152", 80 "SODIMM_42", 81 "PMIC_WDOG_B SODIMM_153", 82 "PMIC_IRQ_B", 83 "SODIMM_154", 84 "SODIMM_155", 85 "SODIMM_156", 86 "SODIMM_157", 87 "SODIMM_158", 88 "SODIMM_159", 89 "SODIMM_161", 90 "SODIMM_162", 91 "SODIMM_34", 92 "SODIMM_36", 93 "SODIMM_27", 94 "SODIMM_28", 95 "ENET_MDC", 96 "ENET_MDIO", 97 "", 98 "ENET_XTAL1/CLKIN", 99 "ENET_TXD1", 100 "ENET_TXD0", 101 "ENET_TXEN", 102 "ENET_POWER", 103 "ENET_COL/CRS_DV", 104 "ENET_RXER", 105 "ENET_RXD0", 106 "ENET_RXD1", 107 "", 108 "", 109 "", 110 ""; 111}; 112 113&gpio2 { 114 gpio-line-names = "", 115 "", 116 "", 117 "", 118 "", 119 "", 120 "", 121 "", 122 "", 123 "", 124 "", 125 "", 126 "SODIMM_51", 127 "SODIMM_57", 128 "SODIMM_56", 129 "SODIMM_52", 130 "SODIMM_53", 131 "SODIMM_54", 132 "SODIMM_55", 133 "SODIMM_15", 134 "", 135 "", 136 "", 137 "", 138 "", 139 "", 140 "", 141 "", 142 "", 143 "", 144 "", 145 ""; 146}; 147 148&gpio3 { 149 gpio-line-names = "", 150 "", 151 "EMMC_DS", 152 "EMMC_DAT5", 153 "EMMC_DAT6", 154 "EMMC_DAT7", 155 "", 156 "", 157 "", 158 "", 159 "EMMC_DAT0", 160 "EMMC_DAT1", 161 "EMMC_DAT2", 162 "EMMC_DAT3", 163 "", 164 "EMMC_DAT4", 165 "", 166 "EMMC_CLK", 167 "EMMC_CMD", 168 "SODIMM_75", 169 "SODIMM_145", 170 "SODIMM_163", 171 "SODIMM_164", 172 "SODIMM_165", 173 "SODIMM_143", 174 "SODIMM_144", 175 "SODIMM_72", 176 "SODIMM_73", 177 "SODIMM_74", 178 "SODIMM_93", 179 "", 180 ""; 181}; 182 183&gpio4 { 184 gpio-line-names = "SODIMM_98", 185 "SODIMM_99", 186 "SODIMM_100", 187 "SODIMM_101", 188 "SODIMM_45", 189 "SODIMM_43", 190 "SODIMM_105", 191 "SODIMM_106", 192 "SODIMM_107", 193 "SODIMM_108", 194 "SODIMM_104", 195 "SODIMM_103", 196 "SODIMM_115", 197 "SODIMM_114", 198 "SODIMM_113", 199 "SODIMM_112", 200 "SODIMM_109", 201 "SODIMM_110", 202 "SODIMM_95", 203 "SODIMM_96", 204 "SODIMM_97", 205 "ENET_nINT", 206 "ENET_nRST", 207 "SODIMM_84", 208 "SODIMM_87", 209 "SODIMM_86", 210 "SODIMM_85", 211 "SODIMM_83", 212 "", 213 "SODIMM_66", 214 "SODIMM_65", 215 ""; 216}; 217 218&gpio5 { 219 gpio-line-names = "", 220 "", 221 "", 222 "SODIMM_76", 223 "SODIMM_81", 224 "SODIMM_146", 225 "SODIMM_48", 226 "SODIMM_46", 227 "SODIMM_47", 228 "SODIMM_44", 229 "SODIMM_49", 230 "", 231 "SODIMM_70", 232 "SODIMM_69", 233 "PMIC_SCL", 234 "PMIC_SDA", 235 "SODIMM_41", 236 "SODIMM_40", 237 "SODIMM_148", 238 "SODIMM_149", 239 "SODIMM_150", 240 "SODIMM_151", 241 "SODIMM_60", 242 "SODIMM_59", 243 "SODIMM_64", 244 "SODIMM_63", 245 "SODIMM_62", 246 "SODIMM_61", 247 "SODIMM_68", 248 "SODIMM_67", 249 "", 250 ""; 251}; 252 253&i2c1 { 254 clock-frequency = <400000>; 255 pinctrl-0 = <&pinctrl_i2c1>; 256 pinctrl-1 = <&pinctrl_i2c1_gpio>; 257 pinctrl-names = "default", "gpio"; 258 scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 259 sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 260 status = "okay"; 261 262 pmic@25 { 263 compatible = "nxp,pca9450c"; 264 reg = <0x25>; 265 interrupt-parent = <&gpio1>; 266 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 267 pinctrl-0 = <&pinctrl_pmic>; 268 pinctrl-names = "default"; 269 270 regulators { 271 reg_vdd_soc: BUCK1 { 272 regulator-always-on; 273 regulator-boot-on; 274 regulator-max-microvolt = <900000>; 275 regulator-min-microvolt = <805000>; 276 regulator-name = "vdd-soc"; 277 regulator-ramp-delay = <3125>; 278 }; 279 280 reg_vdd_arm: BUCK2 { 281 regulator-always-on; 282 regulator-boot-on; 283 regulator-max-microvolt = <950000>; 284 regulator-min-microvolt = <805000>; 285 regulator-name = "vdd-core"; 286 regulator-ramp-delay = <3125>; 287 nxp,dvs-run-voltage = <950000>; 288 nxp,dvs-standby-voltage = <850000>; 289 }; 290 291 reg_vdd_3v3: BUCK4 { 292 regulator-always-on; 293 regulator-boot-on; 294 regulator-max-microvolt = <3300000>; 295 regulator-min-microvolt = <3300000>; 296 regulator-name = "3v3"; 297 }; 298 299 reg_nvcc_nand: BUCK5 { 300 regulator-always-on; 301 regulator-boot-on; 302 regulator-max-microvolt = <1800000>; 303 regulator-min-microvolt = <1800000>; 304 regulator-name = "nvcc-nand"; 305 }; 306 307 reg_nvcc_dram: BUCK6 { 308 regulator-always-on; 309 regulator-boot-on; 310 regulator-max-microvolt = <1100000>; 311 regulator-min-microvolt = <1100000>; 312 regulator-name = "nvcc-dram"; 313 }; 314 315 reg_snvs_1v8: LDO1 { 316 regulator-always-on; 317 regulator-boot-on; 318 regulator-max-microvolt = <1800000>; 319 regulator-min-microvolt = <1800000>; 320 regulator-name = "snvs-1v8"; 321 }; 322 323 ldo2_reg: LDO2 { 324 regulator-always-on; 325 regulator-max-microvolt = <1150000>; 326 regulator-min-microvolt = <800000>; 327 regulator-name = "LDO2"; 328 }; 329 330 reg_vdda_1v8: LDO3 { 331 regulator-always-on; 332 regulator-boot-on; 333 regulator-max-microvolt = <1800000>; 334 regulator-min-microvolt = <1800000>; 335 regulator-name = "vdda-1v8"; 336 }; 337 338 ldo4_reg: LDO4 { 339 regulator-max-microvolt = <3300000>; 340 regulator-min-microvolt = <800000>; 341 regulator-name = "LDO4"; 342 }; 343 344 ldo5_reg: LDO5 { 345 regulator-always-on; 346 regulator-boot-on; 347 regulator-max-microvolt = <3300000>; 348 regulator-min-microvolt = <1800000>; 349 regulator-name = "LDO5"; 350 }; 351 }; 352 }; 353}; 354 355&iomuxc { 356 pinctrl_eqos: eqosgrp { 357 fsl,pins = < 358 MX8MP_IOMUXC_ENET_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK 359 (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE | MX8MP_SION) 360 MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 361 (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 362 MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 363 (MX8MP_DSE_X4 | MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 364 MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 365 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST) 366 MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 367 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST) 368 MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 369 (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 370 MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 371 (MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 372 MX8MP_IOMUXC_ENET_RXC__ENET_QOS_RX_ER 373 (MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE) 374 MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 375 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE) 376 MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 377 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST) 378 >; 379 }; 380 381 pinctrl_eqos_sleep: eqos-sleep-grp { 382 fsl,pins = < 383 MX8MP_IOMUXC_ENET_TD2__GPIO1_IO19 384 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 385 MX8MP_IOMUXC_ENET_MDC__GPIO1_IO16 386 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 387 MX8MP_IOMUXC_ENET_MDIO__GPIO1_IO17 388 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 389 MX8MP_IOMUXC_ENET_TD0__GPIO1_IO21 390 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 391 MX8MP_IOMUXC_ENET_TD1__GPIO1_IO20 392 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 393 MX8MP_IOMUXC_ENET_RD0__GPIO1_IO26 394 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 395 MX8MP_IOMUXC_ENET_RD1__GPIO1_IO27 396 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 397 MX8MP_IOMUXC_ENET_RXC__GPIO1_IO25 398 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 399 MX8MP_IOMUXC_ENET_RX_CTL__GPIO1_IO24 400 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 401 MX8MP_IOMUXC_ENET_TX_CTL__GPIO1_IO22 402 (MX8MP_ODE_ENABLE | MX8MP_PULL_ENABLE) 403 >; 404 }; 405 406 pinctrl_ethphy_int_b: ethphy-int-bgrp { 407 fsl,pins = < 408 MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 409 (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT) 410 >; 411 }; 412 413 pinctrl_ethphy_rst_b: ethphy-rst-bgrp { 414 fsl,pins = < 415 MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 416 (MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 417 >; 418 }; 419 420 pinctrl_i2c1: i2c1grp { 421 fsl,pins = < 422 MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 423 MX8MP_I2C_DEFAULT 424 MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 425 MX8MP_I2C_DEFAULT 426 >; 427 }; 428 429 pinctrl_i2c1_gpio: i2c1-gpiogrp { 430 fsl,pins = < 431 MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 432 MX8MP_I2C_DEFAULT 433 MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 434 MX8MP_I2C_DEFAULT 435 >; 436 }; 437 438 pinctrl_pmic: pmicgrp { 439 fsl,pins = < 440 MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 441 (MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 442 >; 443 }; 444 445 pinctrl_reg_3v3_etn: reg-3v3-etngrp { 446 fsl,pins = < 447 MX8MP_IOMUXC_ENET_TXC__GPIO1_IO23 448 (MX8MP_PULL_UP | MX8MP_PULL_ENABLE) 449 >; 450 }; 451 452 pinctrl_usdhc3: usdhc3grp { 453 fsl,pins = < 454 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 455 (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 456 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 457 MX8MP_USDHC_DATA_DEFAULT 458 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 459 MX8MP_USDHC_DATA_DEFAULT 460 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 461 MX8MP_USDHC_DATA_DEFAULT 462 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 463 MX8MP_USDHC_DATA_DEFAULT 464 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 465 MX8MP_USDHC_DATA_DEFAULT 466 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 467 MX8MP_USDHC_DATA_DEFAULT 468 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 469 MX8MP_USDHC_DATA_DEFAULT 470 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 471 MX8MP_USDHC_DATA_DEFAULT 472 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 473 MX8MP_USDHC_DATA_DEFAULT 474 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 475 (MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 476 >; 477 }; 478 479 pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 480 fsl,pins = < 481 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 482 (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 483 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 484 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 485 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 486 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 487 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 488 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 489 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 490 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 491 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 492 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 493 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 494 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 495 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 496 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 497 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 498 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 499 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 500 (MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT) 501 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 502 (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 503 >; 504 }; 505 506 pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 507 fsl,pins = < 508 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 509 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 510 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 511 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 512 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 513 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 514 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 515 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 516 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 517 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 518 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 519 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 520 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 521 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 522 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 523 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 524 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 525 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 526 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 527 (MX8MP_DSE_X6 | MX8MP_USDHC_DATA_DEFAULT) 528 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 529 (MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE) 530 >; 531 }; 532}; 533 534&usdhc3 { 535 assigned-clocks = <&clk IMX8MP_CLK_USDHC3>; 536 assigned-clock-rates = <200000000>; 537 bus-width = <8>; 538 max-frequency = <200000000>; 539 non-removable; 540 pinctrl-0 = <&pinctrl_usdhc3>; 541 pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 542 pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 543 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 544 vmmc-supply = <®_vdd_3v3>; 545 voltage-ranges = <3300 3300>; 546 vqmmc-supply = <®_nvcc_nand>; 547 status = "okay"; 548}; 549