1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright 2019 NXP 4 */ 5 6 /dts-v1/; 7 8 #include <dt-bindings/phy/phy-imx8-pcie.h> 9 #include "imx8mp.dtsi" 10 11 / { 12 model = "NXP i.MX8MPlus EVK board"; 13 compatible = "fsl,imx8mp-evk", "fsl,imx8mp"; 14 15 chosen { 16 stdout-path = &uart2; 17 }; 18 19 backlight_lvds: backlight-lvds { 20 compatible = "pwm-backlight"; 21 pwms = <&pwm2 0 100000 0>; 22 brightness-levels = <0 100>; 23 num-interpolated-steps = <100>; 24 default-brightness-level = <100>; 25 power-supply = <®_per_12v>; 26 status = "disabled"; 27 }; 28 29 hdmi-connector { 30 compatible = "hdmi-connector"; 31 label = "hdmi"; 32 type = "a"; 33 34 port { 35 hdmi_connector_in: endpoint { 36 remote-endpoint = <&adv7535_out>; 37 }; 38 }; 39 }; 40 41 gpio-leds { 42 compatible = "gpio-leds"; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&pinctrl_gpio_led>; 45 46 status { 47 label = "yellow:status"; 48 gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 49 default-state = "on"; 50 }; 51 }; 52 53 memory@40000000 { 54 device_type = "memory"; 55 reg = <0x0 0x40000000 0 0xc0000000>, 56 <0x1 0x00000000 0 0xc0000000>; 57 }; 58 59 native-hdmi-connector { 60 compatible = "hdmi-connector"; 61 label = "HDMI OUT"; 62 type = "a"; 63 64 port { 65 hdmi_in: endpoint { 66 remote-endpoint = <&hdmi_tx_out>; 67 }; 68 }; 69 }; 70 71 pcie0_refclk: pcie0-refclk { 72 compatible = "fixed-clock"; 73 #clock-cells = <0>; 74 clock-frequency = <100000000>; 75 }; 76 77 reg_audio_pwr: regulator-audio-pwr { 78 compatible = "regulator-fixed"; 79 pinctrl-names = "default"; 80 pinctrl-0 = <&pinctrl_audio_pwr_reg>; 81 regulator-name = "audio-pwr"; 82 regulator-min-microvolt = <3300000>; 83 regulator-max-microvolt = <3300000>; 84 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 85 enable-active-high; 86 }; 87 88 reg_can1_stby: regulator-can1-stby { 89 compatible = "regulator-fixed"; 90 regulator-name = "can1-stby"; 91 pinctrl-names = "default"; 92 pinctrl-0 = <&pinctrl_flexcan1_reg>; 93 regulator-min-microvolt = <3300000>; 94 regulator-max-microvolt = <3300000>; 95 gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>; 96 enable-active-high; 97 }; 98 99 reg_can2_stby: regulator-can2-stby { 100 compatible = "regulator-fixed"; 101 regulator-name = "can2-stby"; 102 pinctrl-names = "default"; 103 pinctrl-0 = <&pinctrl_flexcan2_reg>; 104 regulator-min-microvolt = <3300000>; 105 regulator-max-microvolt = <3300000>; 106 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>; 107 enable-active-high; 108 }; 109 110 reg_pcie0: regulator-pcie { 111 compatible = "regulator-fixed"; 112 pinctrl-names = "default"; 113 pinctrl-0 = <&pinctrl_pcie0_reg>; 114 regulator-name = "MPCIE_3V3"; 115 regulator-min-microvolt = <3300000>; 116 regulator-max-microvolt = <3300000>; 117 gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>; 118 enable-active-high; 119 }; 120 121 reg_per_12v: regulator-per-12v { 122 compatible = "regulator-fixed"; 123 regulator-name = "PER_12V"; 124 regulator-min-microvolt = <12000000>; 125 regulator-max-microvolt = <12000000>; 126 gpio = <&pca6416 1 GPIO_ACTIVE_HIGH>; 127 enable-active-high; 128 }; 129 130 reg_usdhc2_vmmc: regulator-usdhc2 { 131 compatible = "regulator-fixed"; 132 pinctrl-names = "default"; 133 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 134 regulator-name = "VSD_3V3"; 135 regulator-min-microvolt = <3300000>; 136 regulator-max-microvolt = <3300000>; 137 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 138 enable-active-high; 139 }; 140 141 reg_vext_3v3: regulator-vext-3v3 { 142 compatible = "regulator-fixed"; 143 regulator-name = "VEXT_3V3"; 144 regulator-min-microvolt = <3300000>; 145 regulator-max-microvolt = <3300000>; 146 }; 147 148 audio_codec_bt_sco: audio-codec-bt-sco { 149 compatible = "linux,bt-sco"; 150 #sound-dai-cells = <1>; 151 }; 152 153 sound { 154 compatible = "simple-audio-card"; 155 simple-audio-card,name = "wm8960-audio"; 156 simple-audio-card,format = "i2s"; 157 simple-audio-card,frame-master = <&cpudai>; 158 simple-audio-card,bitclock-master = <&cpudai>; 159 simple-audio-card,widgets = 160 "Headphone", "Headphone Jack", 161 "Speaker", "External Speaker", 162 "Microphone", "Mic Jack"; 163 simple-audio-card,routing = 164 "Headphone Jack", "HP_L", 165 "Headphone Jack", "HP_R", 166 "External Speaker", "SPK_LP", 167 "External Speaker", "SPK_LN", 168 "External Speaker", "SPK_RP", 169 "External Speaker", "SPK_RN", 170 "LINPUT1", "Mic Jack", 171 "LINPUT3", "Mic Jack", 172 "Mic Jack", "MICB"; 173 174 cpudai: simple-audio-card,cpu { 175 sound-dai = <&sai3>; 176 }; 177 178 simple-audio-card,codec { 179 sound-dai = <&wm8960>; 180 }; 181 182 }; 183 184 sound-bt-sco { 185 compatible = "simple-audio-card"; 186 simple-audio-card,name = "bt-sco-audio"; 187 simple-audio-card,format = "dsp_a"; 188 simple-audio-card,bitclock-inversion; 189 simple-audio-card,frame-master = <&btcpu>; 190 simple-audio-card,bitclock-master = <&btcpu>; 191 192 btcpu: simple-audio-card,cpu { 193 sound-dai = <&sai2>; 194 dai-tdm-slot-num = <2>; 195 dai-tdm-slot-width = <16>; 196 }; 197 198 simple-audio-card,codec { 199 sound-dai = <&audio_codec_bt_sco 1>; 200 }; 201 }; 202 203 sound-hdmi { 204 compatible = "fsl,imx-audio-hdmi"; 205 model = "audio-hdmi"; 206 audio-cpu = <&aud2htx>; 207 hdmi-out; 208 }; 209 210 sound-micfil { 211 compatible = "fsl,imx-audio-card"; 212 model = "micfil-audio"; 213 214 pri-dai-link { 215 link-name = "micfil hifi"; 216 format = "i2s"; 217 218 cpu { 219 sound-dai = <&micfil>; 220 }; 221 }; 222 }; 223 224 sound-xcvr { 225 compatible = "fsl,imx-audio-card"; 226 model = "imx-audio-xcvr"; 227 228 pri-dai-link { 229 link-name = "XCVR PCM"; 230 231 cpu { 232 sound-dai = <&xcvr>; 233 }; 234 }; 235 }; 236 237 reserved-memory { 238 #address-cells = <2>; 239 #size-cells = <2>; 240 ranges; 241 242 dsp_vdev0vring0: vdev0vring0@942f0000 { 243 reg = <0 0x942f0000 0 0x8000>; 244 no-map; 245 }; 246 247 dsp_vdev0vring1: vdev0vring1@942f8000 { 248 reg = <0 0x942f8000 0 0x8000>; 249 no-map; 250 }; 251 252 dsp_vdev0buffer: vdev0buffer@94300000 { 253 compatible = "shared-dma-pool"; 254 reg = <0 0x94300000 0 0x100000>; 255 no-map; 256 }; 257 }; 258 }; 259 260 &flexspi { 261 pinctrl-names = "default"; 262 pinctrl-0 = <&pinctrl_flexspi0>; 263 status = "okay"; 264 265 flash@0 { 266 compatible = "jedec,spi-nor"; 267 reg = <0>; 268 spi-max-frequency = <80000000>; 269 spi-tx-bus-width = <1>; 270 spi-rx-bus-width = <4>; 271 }; 272 }; 273 274 &A53_0 { 275 cpu-supply = <®_arm>; 276 }; 277 278 &A53_1 { 279 cpu-supply = <®_arm>; 280 }; 281 282 &A53_2 { 283 cpu-supply = <®_arm>; 284 }; 285 286 &A53_3 { 287 cpu-supply = <®_arm>; 288 }; 289 290 &aud2htx { 291 status = "okay"; 292 }; 293 294 &eqos { 295 pinctrl-names = "default"; 296 pinctrl-0 = <&pinctrl_eqos>; 297 phy-mode = "rgmii-id"; 298 phy-handle = <ðphy0>; 299 snps,force_thresh_dma_mode; 300 snps,mtl-tx-config = <&mtl_tx_setup>; 301 snps,mtl-rx-config = <&mtl_rx_setup>; 302 status = "okay"; 303 304 mdio { 305 compatible = "snps,dwmac-mdio"; 306 #address-cells = <1>; 307 #size-cells = <0>; 308 309 ethphy0: ethernet-phy@1 { 310 compatible = "ethernet-phy-ieee802.3-c22"; 311 reg = <1>; 312 eee-broken-1000t; 313 reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 314 reset-assert-us = <10000>; 315 reset-deassert-us = <80000>; 316 realtek,clkout-disable; 317 }; 318 }; 319 320 mtl_tx_setup: tx-queues-config { 321 snps,tx-queues-to-use = <5>; 322 323 queue0 { 324 snps,dcb-algorithm; 325 snps,priority = <0x1>; 326 }; 327 328 queue1 { 329 snps,dcb-algorithm; 330 snps,priority = <0x2>; 331 }; 332 333 queue2 { 334 snps,dcb-algorithm; 335 snps,priority = <0x4>; 336 }; 337 338 queue3 { 339 snps,dcb-algorithm; 340 snps,priority = <0x8>; 341 }; 342 343 queue4 { 344 snps,dcb-algorithm; 345 snps,priority = <0xf0>; 346 }; 347 }; 348 349 mtl_rx_setup: rx-queues-config { 350 snps,rx-queues-to-use = <5>; 351 snps,rx-sched-sp; 352 353 queue0 { 354 snps,dcb-algorithm; 355 snps,priority = <0x1>; 356 snps,map-to-dma-channel = <0>; 357 }; 358 359 queue1 { 360 snps,dcb-algorithm; 361 snps,priority = <0x2>; 362 snps,map-to-dma-channel = <1>; 363 }; 364 365 queue2 { 366 snps,dcb-algorithm; 367 snps,priority = <0x4>; 368 snps,map-to-dma-channel = <2>; 369 }; 370 371 queue3 { 372 snps,dcb-algorithm; 373 snps,priority = <0x8>; 374 snps,map-to-dma-channel = <3>; 375 }; 376 377 queue4 { 378 snps,dcb-algorithm; 379 snps,priority = <0xf0>; 380 snps,map-to-dma-channel = <4>; 381 }; 382 }; 383 }; 384 385 &fec { 386 pinctrl-names = "default"; 387 pinctrl-0 = <&pinctrl_fec>; 388 phy-mode = "rgmii-id"; 389 phy-handle = <ðphy1>; 390 fsl,magic-packet; 391 status = "okay"; 392 393 mdio { 394 #address-cells = <1>; 395 #size-cells = <0>; 396 397 ethphy1: ethernet-phy@1 { 398 compatible = "ethernet-phy-ieee802.3-c22"; 399 reg = <1>; 400 eee-broken-1000t; 401 reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 402 reset-assert-us = <10000>; 403 reset-deassert-us = <80000>; 404 realtek,clkout-disable; 405 }; 406 }; 407 }; 408 409 &flexcan1 { 410 pinctrl-names = "default"; 411 pinctrl-0 = <&pinctrl_flexcan1>; 412 xceiver-supply = <®_can1_stby>; 413 status = "okay"; 414 }; 415 416 &flexcan2 { 417 pinctrl-names = "default"; 418 pinctrl-0 = <&pinctrl_flexcan2>; 419 xceiver-supply = <®_can2_stby>; 420 status = "disabled";/* can2 pin conflict with pdm */ 421 }; 422 423 &hdmi_pvi { 424 status = "okay"; 425 }; 426 427 &hdmi_tx { 428 pinctrl-names = "default"; 429 pinctrl-0 = <&pinctrl_hdmi>; 430 status = "okay"; 431 432 ports { 433 port@1 { 434 hdmi_tx_out: endpoint { 435 remote-endpoint = <&hdmi_in>; 436 }; 437 }; 438 }; 439 }; 440 441 &hdmi_tx_phy { 442 status = "okay"; 443 }; 444 445 &i2c1 { 446 clock-frequency = <400000>; 447 pinctrl-names = "default"; 448 pinctrl-0 = <&pinctrl_i2c1>; 449 status = "okay"; 450 451 pmic@25 { 452 compatible = "nxp,pca9450c"; 453 reg = <0x25>; 454 pinctrl-names = "default"; 455 pinctrl-0 = <&pinctrl_pmic>; 456 interrupt-parent = <&gpio1>; 457 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 458 459 regulators { 460 BUCK1 { 461 regulator-name = "BUCK1"; 462 regulator-min-microvolt = <720000>; 463 regulator-max-microvolt = <1000000>; 464 regulator-boot-on; 465 regulator-always-on; 466 regulator-ramp-delay = <3125>; 467 }; 468 469 reg_arm: BUCK2 { 470 regulator-name = "BUCK2"; 471 regulator-min-microvolt = <720000>; 472 regulator-max-microvolt = <1025000>; 473 regulator-boot-on; 474 regulator-always-on; 475 regulator-ramp-delay = <3125>; 476 nxp,dvs-run-voltage = <950000>; 477 nxp,dvs-standby-voltage = <850000>; 478 }; 479 480 BUCK4 { 481 regulator-name = "BUCK4"; 482 regulator-min-microvolt = <3000000>; 483 regulator-max-microvolt = <3600000>; 484 regulator-boot-on; 485 regulator-always-on; 486 }; 487 488 reg_buck5: BUCK5 { 489 regulator-name = "BUCK5"; 490 regulator-min-microvolt = <1650000>; 491 regulator-max-microvolt = <1950000>; 492 regulator-boot-on; 493 regulator-always-on; 494 }; 495 496 BUCK6 { 497 regulator-name = "BUCK6"; 498 regulator-min-microvolt = <1045000>; 499 regulator-max-microvolt = <1155000>; 500 regulator-boot-on; 501 regulator-always-on; 502 }; 503 504 LDO1 { 505 regulator-name = "LDO1"; 506 regulator-min-microvolt = <1650000>; 507 regulator-max-microvolt = <1950000>; 508 regulator-boot-on; 509 regulator-always-on; 510 }; 511 512 LDO3 { 513 regulator-name = "LDO3"; 514 regulator-min-microvolt = <1710000>; 515 regulator-max-microvolt = <1890000>; 516 regulator-boot-on; 517 regulator-always-on; 518 }; 519 520 LDO5 { 521 regulator-name = "LDO5"; 522 regulator-min-microvolt = <1800000>; 523 regulator-max-microvolt = <3300000>; 524 regulator-boot-on; 525 regulator-always-on; 526 }; 527 }; 528 }; 529 }; 530 531 &i2c2 { 532 clock-frequency = <400000>; 533 pinctrl-names = "default"; 534 pinctrl-0 = <&pinctrl_i2c2>; 535 status = "okay"; 536 537 hdmi@3d { 538 compatible = "adi,adv7535"; 539 reg = <0x3d>; 540 interrupt-parent = <&gpio1>; 541 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 542 adi,dsi-lanes = <4>; 543 avdd-supply = <®_buck5>; 544 dvdd-supply = <®_buck5>; 545 pvdd-supply = <®_buck5>; 546 a2vdd-supply = <®_buck5>; 547 v3p3-supply = <®_vext_3v3>; 548 v1p2-supply = <®_buck5>; 549 550 ports { 551 #address-cells = <1>; 552 #size-cells = <0>; 553 554 port@0 { 555 reg = <0>; 556 557 adv7535_in: endpoint { 558 remote-endpoint = <&dsi_out>; 559 }; 560 }; 561 562 port@1 { 563 reg = <1>; 564 565 adv7535_out: endpoint { 566 remote-endpoint = <&hdmi_connector_in>; 567 }; 568 }; 569 570 }; 571 }; 572 }; 573 574 &i2c3 { 575 clock-frequency = <400000>; 576 pinctrl-names = "default"; 577 pinctrl-0 = <&pinctrl_i2c3>; 578 status = "okay"; 579 580 wm8960: codec@1a { 581 compatible = "wlf,wm8960"; 582 reg = <0x1a>; 583 #sound-dai-cells = <0>; 584 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>; 585 clock-names = "mclk"; 586 wlf,shared-lrclk; 587 wlf,hp-cfg = <3 2 3>; 588 wlf,gpio-cfg = <1 3>; 589 SPKVDD1-supply = <®_audio_pwr>; 590 }; 591 592 pca6416: gpio@20 { 593 compatible = "ti,tca6416"; 594 reg = <0x20>; 595 gpio-controller; 596 #gpio-cells = <2>; 597 interrupt-controller; 598 #interrupt-cells = <2>; 599 pinctrl-names = "default"; 600 pinctrl-0 = <&pinctrl_pca6416_int>; 601 interrupt-parent = <&gpio1>; 602 interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 603 gpio-line-names = "EXT_PWREN1", 604 "EXT_PWREN2", 605 "CAN1/I2C5_SEL", 606 "PDM/CAN2_SEL", 607 "FAN_EN", 608 "PWR_MEAS_IO1", 609 "PWR_MEAS_IO2", 610 "EXP_P0_7", 611 "EXP_P1_0", 612 "EXP_P1_1", 613 "EXP_P1_2", 614 "EXP_P1_3", 615 "EXP_P1_4", 616 "EXP_P1_5", 617 "EXP_P1_6", 618 "EXP_P1_7"; 619 }; 620 }; 621 622 /* I2C on expansion connector J22. */ 623 &i2c5 { 624 clock-frequency = <100000>; /* Lower clock speed for external bus. */ 625 pinctrl-names = "default"; 626 pinctrl-0 = <&pinctrl_i2c5>; 627 status = "disabled"; /* can1 pins conflict with i2c5 */ 628 629 /* GPIO 2 of PCA6416 is used to switch between CAN1 and I2C5 functions: 630 * LOW: CAN1 (default, pull-down) 631 * HIGH: I2C5 632 * You need to set it to high to enable I2C5 (for example, add gpio-hog 633 * in pca6416 node). 634 */ 635 }; 636 637 &lcdif1 { 638 status = "okay"; 639 }; 640 641 &lcdif3 { 642 status = "okay"; 643 }; 644 645 &micfil { 646 #sound-dai-cells = <0>; 647 pinctrl-names = "default"; 648 pinctrl-0 = <&pinctrl_pdm>; 649 assigned-clocks = <&clk IMX8MP_CLK_PDM>; 650 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 651 assigned-clock-rates = <196608000>; 652 status = "okay"; 653 }; 654 655 &mipi_dsi { 656 samsung,esc-clock-frequency = <10000000>; 657 status = "okay"; 658 659 ports { 660 port@1 { 661 reg = <1>; 662 663 dsi_out: endpoint { 664 remote-endpoint = <&adv7535_in>; 665 data-lanes = <1 2 3 4>; 666 }; 667 }; 668 }; 669 }; 670 671 &pcie_phy { 672 fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 673 clocks = <&pcie0_refclk>; 674 clock-names = "ref"; 675 status = "okay"; 676 }; 677 678 &pcie { 679 pinctrl-names = "default"; 680 pinctrl-0 = <&pinctrl_pcie0>; 681 reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>; 682 vpcie-supply = <®_pcie0>; 683 status = "okay"; 684 }; 685 686 &pwm1 { 687 pinctrl-names = "default"; 688 pinctrl-0 = <&pinctrl_pwm1>; 689 status = "okay"; 690 }; 691 692 &pwm2 { 693 pinctrl-names = "default"; 694 pinctrl-0 = <&pinctrl_pwm2>; 695 status = "okay"; 696 }; 697 698 &pwm4 { 699 pinctrl-names = "default"; 700 pinctrl-0 = <&pinctrl_pwm4>; 701 status = "okay"; 702 }; 703 704 &sai2 { 705 #sound-dai-cells = <0>; 706 pinctrl-names = "default"; 707 pinctrl-0 = <&pinctrl_sai2>; 708 assigned-clocks = <&clk IMX8MP_CLK_SAI2>; 709 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 710 assigned-clock-rates = <12288000>; 711 fsl,sai-mclk-direction-output; 712 status = "okay"; 713 }; 714 715 &sai3 { 716 pinctrl-names = "default"; 717 pinctrl-0 = <&pinctrl_sai3>; 718 assigned-clocks = <&clk IMX8MP_CLK_SAI3>; 719 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 720 assigned-clock-rates = <12288000>; 721 fsl,sai-mclk-direction-output; 722 status = "okay"; 723 }; 724 725 &snvs_pwrkey { 726 status = "okay"; 727 }; 728 729 &uart1 { /* BT */ 730 pinctrl-names = "default"; 731 pinctrl-0 = <&pinctrl_uart1>; 732 assigned-clocks = <&clk IMX8MP_CLK_UART1>; 733 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 734 uart-has-rtscts; 735 status = "okay"; 736 }; 737 738 &uart2 { 739 /* console */ 740 pinctrl-names = "default"; 741 pinctrl-0 = <&pinctrl_uart2>; 742 status = "okay"; 743 }; 744 745 &usb3_phy1 { 746 status = "okay"; 747 }; 748 749 &usb3_1 { 750 status = "okay"; 751 }; 752 753 &usb_dwc3_1 { 754 pinctrl-names = "default"; 755 pinctrl-0 = <&pinctrl_usb1_vbus>; 756 dr_mode = "host"; 757 status = "okay"; 758 }; 759 760 &uart3 { 761 pinctrl-names = "default"; 762 pinctrl-0 = <&pinctrl_uart3>; 763 assigned-clocks = <&clk IMX8MP_CLK_UART3>; 764 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 765 uart-has-rtscts; 766 status = "okay"; 767 }; 768 769 &usdhc2 { 770 assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 771 assigned-clock-rates = <400000000>; 772 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 773 pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 774 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 775 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 776 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 777 vmmc-supply = <®_usdhc2_vmmc>; 778 bus-width = <4>; 779 status = "okay"; 780 }; 781 782 &usdhc3 { 783 assigned-clocks = <&clk IMX8MP_CLK_USDHC3>; 784 assigned-clock-rates = <400000000>; 785 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 786 pinctrl-0 = <&pinctrl_usdhc3>; 787 pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 788 pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 789 bus-width = <8>; 790 non-removable; 791 status = "okay"; 792 }; 793 794 &wdog1 { 795 pinctrl-names = "default"; 796 pinctrl-0 = <&pinctrl_wdog>; 797 fsl,ext-reset-output; 798 status = "okay"; 799 }; 800 801 &xcvr { 802 #sound-dai-cells = <0>; 803 status = "okay"; 804 }; 805 806 &iomuxc { 807 pinctrl-names = "default"; 808 pinctrl-0 = <&pinctrl_hog>; 809 810 pinctrl_audio_pwr_reg: audiopwrreggrp { 811 fsl,pins = < 812 MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6 813 >; 814 }; 815 816 pinctrl_eqos: eqosgrp { 817 fsl,pins = < 818 MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2 819 MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x2 820 MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90 821 MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90 822 MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90 823 MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90 824 MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90 825 MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90 826 MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x16 827 MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x16 828 MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x16 829 MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x16 830 MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x16 831 MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x16 832 MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x10 833 >; 834 }; 835 836 pinctrl_fec: fecgrp { 837 fsl,pins = < 838 MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x2 839 MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x2 840 MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90 841 MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90 842 MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90 843 MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90 844 MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90 845 MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90 846 MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16 847 MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16 848 MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16 849 MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16 850 MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16 851 MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16 852 MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x10 853 >; 854 }; 855 856 pinctrl_flexcan1: flexcan1grp { 857 fsl,pins = < 858 MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 859 MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 860 >; 861 }; 862 863 pinctrl_flexcan2: flexcan2grp { 864 fsl,pins = < 865 MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154 866 MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 867 >; 868 }; 869 870 pinctrl_flexcan1_reg: flexcan1reggrp { 871 fsl,pins = < 872 MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x154 /* CAN1_STBY */ 873 >; 874 }; 875 876 pinctrl_flexcan2_reg: flexcan2reggrp { 877 fsl,pins = < 878 MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x154 /* CAN2_STBY */ 879 >; 880 }; 881 882 pinctrl_flexspi0: flexspi0grp { 883 fsl,pins = < 884 MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x1c2 885 MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82 886 MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82 887 MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82 888 MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82 889 MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82 890 >; 891 }; 892 893 pinctrl_gpio_led: gpioledgrp { 894 fsl,pins = < 895 MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x140 896 >; 897 }; 898 899 pinctrl_hdmi: hdmigrp { 900 fsl,pins = < 901 MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x1c2 902 MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x1c2 903 MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x10 904 >; 905 }; 906 907 pinctrl_hog: hoggrp { 908 fsl,pins = < 909 MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000010 910 >; 911 }; 912 913 pinctrl_i2c1: i2c1grp { 914 fsl,pins = < 915 MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 916 MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 917 >; 918 }; 919 920 pinctrl_i2c2: i2c2grp { 921 fsl,pins = < 922 MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 923 MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 924 >; 925 }; 926 927 pinctrl_i2c3: i2c3grp { 928 fsl,pins = < 929 MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2 930 MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c2 931 >; 932 }; 933 934 pinctrl_i2c5: i2c5grp { 935 fsl,pins = < 936 MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x400001c2 937 MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001c2 938 >; 939 }; 940 941 pinctrl_pcie0: pcie0grp { 942 fsl,pins = < 943 MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B 0x60 /* open drain, pull up */ 944 MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x40 945 >; 946 }; 947 948 pinctrl_pcie0_reg: pcie0reggrp { 949 fsl,pins = < 950 MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40 951 >; 952 }; 953 954 pinctrl_pdm: pdmgrp { 955 fsl,pins = < 956 MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_PDM_CLK 0xd6 957 MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_PDM_BIT_STREAM00 0xd6 958 MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_PDM_BIT_STREAM01 0xd6 959 MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_PDM_BIT_STREAM02 0xd6 960 MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_PDM_BIT_STREAM03 0xd6 961 >; 962 }; 963 964 pinctrl_pmic: pmicgrp { 965 fsl,pins = < 966 MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x000001c0 967 >; 968 }; 969 970 pinctrl_pca6416_int: pca6416_int_grp { 971 fsl,pins = < 972 MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x146 /* Input pull-up. */ 973 >; 974 }; 975 976 pinctrl_pwm1: pwm1grp { 977 fsl,pins = < 978 MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT 0x116 979 >; 980 }; 981 982 pinctrl_pwm2: pwm2grp { 983 fsl,pins = < 984 MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT 0x116 985 >; 986 }; 987 988 pinctrl_pwm4: pwm4grp { 989 fsl,pins = < 990 MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT 0x116 991 >; 992 }; 993 994 pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 995 fsl,pins = < 996 MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40 997 >; 998 }; 999 1000 pinctrl_uart1: uart1grp { 1001 fsl,pins = < 1002 MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140 1003 MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140 1004 MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS 0x140 1005 MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS 0x140 1006 >; 1007 }; 1008 1009 pinctrl_sai2: sai2grp { 1010 fsl,pins = < 1011 MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6 1012 MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6 1013 MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6 1014 MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6 1015 >; 1016 }; 1017 1018 pinctrl_sai3: sai3grp { 1019 fsl,pins = < 1020 MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 1021 MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 1022 MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 1023 MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 1024 MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 1025 >; 1026 }; 1027 1028 pinctrl_uart2: uart2grp { 1029 fsl,pins = < 1030 MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140 1031 MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140 1032 >; 1033 }; 1034 1035 pinctrl_usb1_vbus: usb1grp { 1036 fsl,pins = < 1037 MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x10 1038 >; 1039 }; 1040 1041 pinctrl_uart3: uart3grp { 1042 fsl,pins = < 1043 MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 1044 MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 1045 MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 1046 MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 1047 >; 1048 }; 1049 1050 pinctrl_usdhc2: usdhc2grp { 1051 fsl,pins = < 1052 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 1053 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 1054 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 1055 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 1056 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 1057 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 1058 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 1059 >; 1060 }; 1061 1062 pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 1063 fsl,pins = < 1064 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 1065 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 1066 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 1067 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 1068 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 1069 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 1070 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 1071 >; 1072 }; 1073 1074 pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 1075 fsl,pins = < 1076 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 1077 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 1078 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 1079 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 1080 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 1081 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 1082 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 1083 >; 1084 }; 1085 1086 pinctrl_usdhc2_gpio: usdhc2gpiogrp { 1087 fsl,pins = < 1088 MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 1089 >; 1090 }; 1091 1092 pinctrl_usdhc3: usdhc3grp { 1093 fsl,pins = < 1094 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 1095 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0 1096 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0 1097 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0 1098 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0 1099 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0 1100 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0 1101 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0 1102 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0 1103 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0 1104 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190 1105 >; 1106 }; 1107 1108 pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 1109 fsl,pins = < 1110 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194 1111 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4 1112 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4 1113 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4 1114 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4 1115 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4 1116 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4 1117 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4 1118 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4 1119 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4 1120 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194 1121 >; 1122 }; 1123 1124 pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 1125 fsl,pins = < 1126 MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196 1127 MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6 1128 MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6 1129 MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6 1130 MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6 1131 MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6 1132 MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6 1133 MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6 1134 MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6 1135 MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6 1136 MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196 1137 >; 1138 }; 1139 1140 pinctrl_wdog: wdoggrp { 1141 fsl,pins = < 1142 MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x166 1143 >; 1144 }; 1145 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.