1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* Copyright (C) 2025 Toradex */ 3 4#include <dt-bindings/phy/phy-imx8-pcie.h> 5#include <dt-bindings/net/ti-dp83867.h> 6#include "imx8mp.dtsi" 7 8/ { 9 aliases { 10 can0 = &flexcan2; 11 can1 = &flexcan1; 12 ethernet0 = &eqos; 13 ethernet1 = &fec; 14 mmc0 = &usdhc3; 15 mmc1 = &usdhc2; 16 mmc2 = &usdhc1; 17 rtc0 = &rtc_i2c; 18 rtc1 = &snvs_rtc; 19 serial0 = &uart1; 20 serial1 = &uart4; 21 serial2 = &uart2; 22 serial3 = &uart3; 23 }; 24 25 chosen { 26 stdout-path = &uart4; 27 }; 28 29 connector { 30 compatible = "gpio-usb-b-connector", "usb-b-connector"; 31 pinctrl-names = "default"; 32 pinctrl-0 = <&pinctrl_usb0_id>; 33 id-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; 34 label = "USB0"; 35 self-powered; 36 type = "micro"; 37 vbus-supply = <®_usb0_vbus>; 38 39 port { 40 usb_dr_connector: endpoint { 41 remote-endpoint = <&usb3_0_dwc>; 42 }; 43 }; 44 }; 45 46 gpio-keys { 47 compatible = "gpio-keys"; 48 pinctrl-names = "default"; 49 pinctrl-0 = <&pinctrl_sleep>; 50 51 smarc_key_sleep: key-sleep { 52 gpios = <&gpio3 1 GPIO_ACTIVE_LOW>; 53 label = "SMARC_SLEEP#"; 54 wakeup-source; 55 linux,code = <KEY_SLEEP>; 56 }; 57 58 smarc_switch_lid: switch-lid { 59 gpios = <&som_ec_gpio_expander 2 GPIO_ACTIVE_LOW>; 60 label = "SMARC_LID#"; 61 linux,code = <SW_LID>; 62 linux,input-type = <EV_SW>; 63 }; 64 }; 65 66 reg_usb0_vbus: regulator-usb0-vbus { 67 compatible = "regulator-fixed"; 68 pinctrl-names = "default"; 69 pinctrl-0 = <&pinctrl_usb0_en_oc>; 70 gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 71 enable-active-high; 72 regulator-name = "USB0_EN_OC#"; 73 }; 74 75 reg_usb1_vbus: regulator-usb1-vbus { 76 compatible = "regulator-fixed"; 77 pinctrl-names = "default"; 78 pinctrl-0 = <&pinctrl_usb1_en_oc>; 79 gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; 80 enable-active-high; 81 regulator-name = "USB2_EN_OC#"; 82 }; 83 84 reg_usdhc2_vmmc: regulator-usdhc2-vmmc { 85 compatible = "regulator-fixed"; 86 pinctrl-names = "default"; 87 pinctrl-0 = <&pinctrl_usdhc2_pwr_en>; 88 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 89 enable-active-high; 90 off-on-delay-us = <100000>; 91 regulator-max-microvolt = <3300000>; 92 regulator-min-microvolt = <3300000>; 93 regulator-name = "3V3_SD"; 94 startup-delay-us = <20000>; 95 }; 96 97 reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { 98 compatible = "regulator-gpio"; 99 pinctrl-names = "default"; 100 pinctrl-0 = <&pinctrl_usdhc2_vsel>; 101 gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 102 regulator-max-microvolt = <3300000>; 103 regulator-min-microvolt = <1800000>; 104 states = <1800000 0x1>, 105 <3300000 0x0>; 106 regulator-name = "PMIC_USDHC_VSELECT"; 107 vin-supply = <®_sd_3v3_1v8>; 108 }; 109 110 reg_wifi_en: regulator-wifi-en { 111 compatible = "regulator-fixed"; 112 pinctrl-names = "default"; 113 pinctrl-0 = <&pinctrl_wifi_pwr_en>; 114 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 115 enable-active-high; 116 regulator-max-microvolt = <3300000>; 117 regulator-min-microvolt = <3300000>; 118 regulator-name = "CTRL_EN_WIFI"; 119 startup-delay-us = <2000>; 120 }; 121 122 reserved-memory { 123 linux,cma { 124 size = <0 0x20000000>; 125 alloc-ranges = <0 0x40000000 0 0x80000000>; 126 }; 127 }; 128 129 sound_hdmi: sound-hdmi { 130 compatible = "fsl,imx-audio-hdmi"; 131 model = "audio-hdmi"; 132 audio-cpu = <&aud2htx>; 133 hdmi-out; 134 status = "disabled"; 135 }; 136}; 137 138&A53_0 { 139 cpu-supply = <®_vdd_arm>; 140}; 141 142&A53_1 { 143 cpu-supply = <®_vdd_arm>; 144}; 145 146&A53_2 { 147 cpu-supply = <®_vdd_arm>; 148}; 149 150&A53_3 { 151 cpu-supply = <®_vdd_arm>; 152}; 153 154/* SMARC SPI0 */ 155&ecspi1 { 156 pinctrl-names = "default"; 157 pinctrl-0 = <&pinctrl_ecspi1>; 158 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio4 28 GPIO_ACTIVE_LOW>; 159}; 160 161/* SMARC SPI1 */ 162&ecspi2 { 163 pinctrl-names = "default"; 164 pinctrl-0 = <&pinctrl_ecspi2>, <&pinctrl_tpm_cs>; 165 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>, 166 <&gpio4 3 GPIO_ACTIVE_LOW>, 167 <&gpio3 6 GPIO_ACTIVE_LOW>; 168 status = "okay"; 169 170 tpm@2 { 171 compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 172 reg = <2>; 173 spi-max-frequency = <18500000>; 174 }; 175}; 176 177/* SMARC GBE0 */ 178&eqos { 179 pinctrl-names = "default"; 180 pinctrl-0 = <&pinctrl_eqos>, 181 <&pinctrl_eth_mdio>, 182 <&pinctrl_eqos_1588_event>; 183 phy-handle = <&eqos_phy>; 184 phy-mode = "rgmii-id"; 185 snps,force_thresh_dma_mode; 186 snps,mtl-rx-config = <&mtl_rx_setup>; 187 snps,mtl-tx-config = <&mtl_tx_setup>; 188 189 mdio: mdio { 190 compatible = "snps,dwmac-mdio"; 191 #address-cells = <1>; 192 #size-cells = <0>; 193 }; 194 195 mtl_rx_setup: rx-queues-config { 196 snps,rx-queues-to-use = <5>; 197 198 queue0 { 199 snps,dcb-algorithm; 200 snps,priority = <0x1>; 201 snps,map-to-dma-channel = <0>; 202 }; 203 204 queue1 { 205 snps,dcb-algorithm; 206 snps,priority = <0x2>; 207 snps,map-to-dma-channel = <1>; 208 }; 209 210 queue2 { 211 snps,dcb-algorithm; 212 snps,priority = <0x4>; 213 snps,map-to-dma-channel = <2>; 214 }; 215 216 queue3 { 217 snps,dcb-algorithm; 218 snps,priority = <0x8>; 219 snps,map-to-dma-channel = <3>; 220 }; 221 222 queue4 { 223 snps,dcb-algorithm; 224 snps,priority = <0xf0>; 225 snps,map-to-dma-channel = <4>; 226 }; 227 }; 228 229 mtl_tx_setup: tx-queues-config { 230 snps,tx-queues-to-use = <5>; 231 232 queue0 { 233 snps,dcb-algorithm; 234 snps,priority = <0x1>; 235 }; 236 237 queue1 { 238 snps,dcb-algorithm; 239 snps,priority = <0x2>; 240 }; 241 242 queue2 { 243 snps,dcb-algorithm; 244 snps,priority = <0x4>; 245 }; 246 247 queue3 { 248 snps,dcb-algorithm; 249 snps,priority = <0x8>; 250 }; 251 252 queue4 { 253 snps,dcb-algorithm; 254 snps,priority = <0xf0>; 255 }; 256 }; 257}; 258 259/* SMARC GBE1 */ 260&fec { 261 pinctrl-names = "default"; 262 pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_1588_event>; 263 phy-handle = <&fec_phy>; 264 phy-mode = "rgmii-id"; 265 fsl,magic-packet; 266}; 267 268/* SMARC CAN1 */ 269&flexcan1 { 270 pinctrl-names = "default"; 271 pinctrl-0 = <&pinctrl_flexcan1>; 272}; 273 274/* SMARC CAN0 */ 275&flexcan2 { 276 pinctrl-names = "default"; 277 pinctrl-0 = <&pinctrl_flexcan2>; 278}; 279 280&gpio1 { 281 gpio-line-names = "SMARC_GPIO7", /* 0 */ 282 "SMARC_GPIO8", 283 "", 284 "PMIC_INT#", 285 "PMIC_USDHC_VSELECT", 286 "SMARC_GPIO9", 287 "SMARC_GPIO10", 288 "SMARC_GPIO11", 289 "SMARC_GPIO12", 290 "", 291 "SMARC_GPIO5", /* 10 */ 292 "", 293 "SMARC_USB0_EN_OC#", 294 "SMARC_GPIO13", 295 "SMARC_USB2_EN_OC#"; 296}; 297 298&gpio2 { 299 gpio-line-names = "", /* 0 */ 300 "", 301 "", 302 "", 303 "", 304 "", 305 "", 306 "", 307 "", 308 "", 309 "", /* 10 */ 310 "", 311 "SMARC_SDIO_CD#", 312 "", 313 "", 314 "", 315 "", 316 "", 317 "", 318 "SMARC_SDIO_PWR_EN", 319 "SMARC_SDIO_WP"; /* 20 */ 320}; 321 322&gpio3 { 323 gpio-line-names = "ETH_0_INT#", /* 0 */ 324 "SLEEP#", 325 "", 326 "", 327 "", 328 "", 329 "TPM_CS#", 330 "LVDS_DSI_SEL", 331 "MCU_INT#", 332 "GPIO_EX_INT#", 333 "", /* 10 */ 334 "", 335 "", 336 "", 337 "", 338 "", 339 "SMARC_SMB_ALERT#", 340 "", 341 "", 342 "", 343 "SMARC_I2C_PM_DAT", /* 20 */ 344 "", 345 "", 346 "", 347 "", 348 "", 349 "", 350 "", 351 "SMARC_I2C_PM_CK"; 352 353 lvds_dsi_mux_hog: lvds-dsi-mux-hog { 354 gpio-hog; 355 gpios = <7 GPIO_ACTIVE_HIGH>; 356 line-name = "LVDS_DSI_SEL"; 357 /* LVDS_DSI_SEL as DSI */ 358 output-low; 359 }; 360}; 361 362&gpio4 { 363 gpio-line-names = "SMARC_PCIE_WAKE#", /* 0 */ 364 "", 365 "", 366 "SMARC_SPI1_CS1#", 367 "", 368 "", 369 "", 370 "", 371 "", 372 "", 373 "", /* 10 */ 374 "", 375 "", 376 "", 377 "", 378 "", 379 "", 380 "", 381 "SMARC_GPIO4", 382 "SMARC_PCIE_A_RST#", 383 "", /* 20 */ 384 "", 385 "", 386 "", 387 "", 388 "", 389 "", 390 "", 391 "SMARC_SPI0_CS1#", 392 "SMARC_GPIO6"; 393}; 394 395&gpio5 { 396 gpio-line-names = "", /* 0 */ 397 "", 398 "SMARC_USB0_OTG_ID", 399 "SMARC_I2C_CAM1_CK", 400 "SMARC_I2C_CAM1_DAT", 401 "", 402 "", 403 "", 404 "", 405 "SMARC_SPI0_CS0#", 406 "", /* 10 */ 407 "", 408 "", 409 "SMARC_SPI1_CS0#", 410 "CTRL_I2C_SCL", 411 "CTRL_I2C_SDA", 412 "SMARC_I2C_LCD_CK", 413 "SMARC_I2C_LCD_DAT", 414 "SMARC_I2C_CAM0_CK", 415 "SMARC_I2C_CAM0_DAT", 416 "SMARC_I2C_GP_CK", /* 20 */ 417 "SMARC_I2C_GP_DAT"; 418}; 419 420/* SMARC HDMI */ 421&hdmi_tx { 422 pinctrl-names = "default"; 423 pinctrl-0 = <&pinctrl_hdmi>; 424}; 425 426/* On-module I2C */ 427&i2c1 { 428 pinctrl-names = "default", "gpio"; 429 pinctrl-0 = <&pinctrl_i2c1>; 430 pinctrl-1 = <&pinctrl_i2c1_gpio>; 431 clock-frequency = <400000>; 432 scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 433 sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 434 single-master; 435 status = "okay"; 436 437 som_gpio_expander: gpio@21 { 438 compatible = "nxp,pcal6408"; 439 reg = <0x21>; 440 pinctrl-names = "default"; 441 pinctrl-0 = <&pinctrl_pcal6408>; 442 #interrupt-cells = <2>; 443 interrupt-controller; 444 interrupt-parent = <&gpio3>; 445 interrupts = <9 IRQ_TYPE_LEVEL_LOW>; 446 #gpio-cells = <2>; 447 gpio-controller; 448 gpio-line-names = 449 "SMARC_GPIO0", 450 "SMARC_GPIO1", 451 "SMARC_GPIO2", 452 "SMARC_GPIO3", 453 "SMARC_LCD0_VDD_EN", 454 "SMARC_LCD0_BKLT_EN", 455 "SMARC_LCD1_VDD_EN", 456 "SMARC_LCD1_BKLT_EN"; 457 }; 458 459 pca9450: pmic@25 { 460 compatible = "nxp,pca9450c"; 461 reg = <0x25>; 462 pinctrl-names = "default"; 463 pinctrl-0 = <&pinctrl_pmic>; 464 interrupt-parent = <&gpio1>; 465 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 466 467 regulators { 468 BUCK1 { 469 regulator-always-on; 470 regulator-boot-on; 471 regulator-max-microvolt = <1000000>; 472 regulator-min-microvolt = <805000>; 473 regulator-name = "+VDD_SOC (PMIC BUCK1)"; 474 regulator-ramp-delay = <3125>; 475 }; 476 477 reg_vdd_arm: BUCK2 { 478 regulator-always-on; 479 regulator-boot-on; 480 regulator-max-microvolt = <1000000>; 481 regulator-min-microvolt = <805000>; 482 regulator-name = "+VDD_ARM (PMIC BUCK2)"; 483 regulator-ramp-delay = <3125>; 484 nxp,dvs-run-voltage = <950000>; 485 nxp,dvs-standby-voltage = <850000>; 486 }; 487 488 reg_3v3: BUCK4 { 489 regulator-always-on; 490 regulator-boot-on; 491 regulator-max-microvolt = <3300000>; 492 regulator-min-microvolt = <3300000>; 493 regulator-name = "+V3.3 (PMIC BUCK4)"; 494 }; 495 496 reg_1v8: BUCK5 { 497 regulator-always-on; 498 regulator-boot-on; 499 regulator-max-microvolt = <1800000>; 500 regulator-min-microvolt = <1800000>; 501 regulator-name = "+V1.8 (PMIC BUCK5)"; 502 }; 503 504 BUCK6 { 505 regulator-always-on; 506 regulator-boot-on; 507 regulator-max-microvolt = <1155000>; 508 regulator-min-microvolt = <1045000>; 509 regulator-name = "+VDD_DDR (PMIC BUCK6)"; 510 }; 511 512 LDO1 { 513 regulator-always-on; 514 regulator-boot-on; 515 regulator-max-microvolt = <1950000>; 516 regulator-min-microvolt = <1710000>; 517 regulator-name = "+V1.8_SNVS (PMIC LDO1)"; 518 }; 519 520 LDO3 { 521 regulator-always-on; 522 regulator-boot-on; 523 regulator-max-microvolt = <1800000>; 524 regulator-min-microvolt = <1800000>; 525 regulator-name = "+V1.8A (PMIC LDO3)"; 526 }; 527 528 LDO4 { 529 regulator-always-on; 530 regulator-boot-on; 531 regulator-max-microvolt = <3300000>; 532 regulator-min-microvolt = <3300000>; 533 regulator-name = "+V3.3_ADC (PMIC LDO4)"; 534 }; 535 536 reg_sd_3v3_1v8: LDO5 { 537 regulator-max-microvolt = <3300000>; 538 regulator-min-microvolt = <1800000>; 539 regulator-name = "+V3.3_1.8_SD (PMIC LDO5)"; 540 }; 541 }; 542 }; 543 544 embedded-controller@28 { 545 compatible = "toradex,smarc-imx8mp-ec", "toradex,smarc-ec"; 546 reg = <0x28>; 547 }; 548 549 som_ec_gpio_expander: gpio@29 { 550 compatible = "toradex,ecgpiol16", "nxp,pcal6416"; 551 reg = <0x29>; 552 pinctrl-names = "default"; 553 pinctrl-0 = <&pinctrl_mcu_int>; 554 #interrupt-cells = <2>; 555 interrupt-controller; 556 interrupt-parent = <&gpio3>; 557 interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 558 #gpio-cells = <2>; 559 gpio-controller; 560 gpio-line-names = 561 "SMARC_CHARGER_PRSNT#", 562 "SMARC_CHARGING#", 563 "SMARC_LID#", 564 "SMARC_BATLOW#"; 565 }; 566 567 rtc_i2c: rtc@32 { 568 compatible = "epson,rx8130"; 569 reg = <0x32>; 570 }; 571 572 temperature-sensor@48 { 573 compatible = "ti,tmp1075"; 574 reg = <0x48>; 575 }; 576 577 eeprom@50 { 578 compatible = "st,24c02", "atmel,24c02"; 579 reg = <0x50>; 580 pagesize = <16>; 581 }; 582}; 583 584/* SMARC I2C_LCD */ 585&i2c2 { 586 pinctrl-names = "default", "gpio"; 587 pinctrl-0 = <&pinctrl_i2c2>; 588 pinctrl-1 = <&pinctrl_i2c2_gpio>; 589 clock-frequency = <100000>; 590 scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 591 sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 592 single-master; 593}; 594 595/* SMARC I2C_CAM0 */ 596&i2c3 { 597 pinctrl-names = "default", "gpio"; 598 pinctrl-0 = <&pinctrl_i2c3>; 599 pinctrl-1 = <&pinctrl_i2c3_gpio>; 600 clock-frequency = <400000>; 601 scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 602 sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 603 single-master; 604}; 605 606/* SMARC I2C_GP */ 607&i2c4 { 608 pinctrl-names = "default", "gpio"; 609 pinctrl-0 = <&pinctrl_i2c4>; 610 pinctrl-1 = <&pinctrl_i2c4_gpio>; 611 clock-frequency = <400000>; 612 scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 613 sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 614 single-master; 615 status = "okay"; 616 617 eeprom@50 { 618 compatible = "st,24c32", "atmel,24c32"; 619 reg = <0x50>; 620 pagesize = <32>; 621 }; 622}; 623 624/* SMARC I2C_CAM1 */ 625&i2c5 { 626 pinctrl-names = "default", "gpio"; 627 pinctrl-0 = <&pinctrl_i2c5>; 628 pinctrl-1 = <&pinctrl_i2c5_gpio>; 629 clock-frequency = <400000>; 630 scl-gpios = <&gpio5 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 631 sda-gpios = <&gpio5 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 632 single-master; 633}; 634 635/* SMARC I2C_PM */ 636&i2c6 { 637 pinctrl-names = "default", "gpio"; 638 pinctrl-0 = <&pinctrl_i2c6>; 639 pinctrl-1 = <&pinctrl_i2c6_gpio>; 640 clock-frequency = <400000>; 641 scl-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 642 sda-gpios = <&gpio3 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 643 single-master; 644}; 645 646&mdio { 647 eqos_phy: ethernet-phy@1 { 648 reg = <1>; 649 interrupt-parent = <&gpio3>; 650 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 651 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 652 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 653 }; 654 655 fec_phy: ethernet-phy@2 { 656 reg = <2>; 657 interrupt-parent = <&gpio3>; 658 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 659 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 660 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 661 }; 662}; 663 664/* SMARC PCIE_A */ 665&pcie { 666 pinctrl-names = "default"; 667 pinctrl-0 = <&pinctrl_pcie>; 668 reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>; 669}; 670 671&pcie_phy { 672 clocks = <&hsio_blk_ctrl>; 673 clock-names = "ref"; 674 fsl,clkreq-unsupported; 675 fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>; 676}; 677 678/* SMARC LCD1_BKLT_PWM */ 679&pwm1 { 680 pinctrl-names = "default"; 681 pinctrl-0 = <&pinctrl_lcd1_bklt_pwm1>; 682}; 683 684/* SMARC LCD0_BKLT_PWM */ 685&pwm2 { 686 pinctrl-names = "default"; 687 pinctrl-0 = <&pinctrl_lcd0_bklt_pwm2>; 688}; 689 690/* SMARC GPIO5 as PWM */ 691&pwm3 { 692 pinctrl-names = "default"; 693 pinctrl-0 = <&pinctrl_gpio5_pwm>; 694}; 695 696&snvs_pwrkey { 697 status = "okay"; 698}; 699 700/* SMARC SER0 */ 701&uart1 { 702 pinctrl-names = "default"; 703 pinctrl-0 = <&pinctrl_uart1>; 704 uart-has-rtscts; 705}; 706 707/* SMARC SER2 */ 708&uart2 { 709 pinctrl-names = "default"; 710 pinctrl-0 = <&pinctrl_uart2>; 711 uart-has-rtscts; 712}; 713 714/* On-module Bluetooth, optional SMARC SER3 */ 715&uart3 { 716 pinctrl-names = "default"; 717 pinctrl-0 = <&pinctrl_bt_uart>; 718 uart-has-rtscts; 719 status = "okay"; 720 721 som_bt: bluetooth { 722 compatible = "mrvl,88w8997"; 723 max-speed = <921600>; 724 }; 725}; 726 727/* SMARC SER1, used as the Linux Console */ 728&uart4 { 729 pinctrl-names = "default"; 730 pinctrl-0 = <&pinctrl_uart4>; 731}; 732 733/* SMARC USB0 */ 734&usb3_0 { 735 fsl,disable-port-power-control; 736}; 737 738/* SMARC USB1..4 */ 739&usb3_1 { 740 fsl,disable-port-power-control; 741}; 742 743&usb3_phy1 { 744 vbus-supply = <®_usb1_vbus>; 745}; 746 747&usb_dwc3_0 { 748 adp-disable; 749 dr_mode = "otg"; 750 hnp-disable; 751 maximum-speed = "high-speed"; 752 srp-disable; 753 usb-role-switch; 754 755 port { 756 usb3_0_dwc: endpoint { 757 remote-endpoint = <&usb_dr_connector>; 758 }; 759 }; 760}; 761 762&usb_dwc3_1 { 763 dr_mode = "host"; 764}; 765 766/* On-module Wi-Fi */ 767&usdhc1 { 768 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 769 pinctrl-0 = <&pinctrl_usdhc1>; 770 pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 771 pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 772 keep-power-in-suspend; 773 non-removable; 774 vmmc-supply = <®_wifi_en>; 775 status = "okay"; 776}; 777 778/* SMARC SDIO */ 779&usdhc2 { 780 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 781 pinctrl-0 = <&pinctrl_usdhc2>, 782 <&pinctrl_usdhc2_cd>, 783 <&pinctrl_usdhc2_wp>; 784 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, 785 <&pinctrl_usdhc2_cd>, 786 <&pinctrl_usdhc2_wp>; 787 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, 788 <&pinctrl_usdhc2_cd>, 789 <&pinctrl_usdhc2_wp>; 790 pinctrl-3 = <&pinctrl_usdhc2_sleep>, 791 <&pinctrl_usdhc2_cd_sleep>, 792 <&pinctrl_usdhc2_wp>; 793 assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 794 assigned-clock-rates = <400000000>; 795 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 796 vmmc-supply = <®_usdhc2_vmmc>; 797 vqmmc-supply = <®_usdhc2_vqmmc>; 798 wp-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; 799}; 800 801/* On-module eMMC */ 802&usdhc3 { 803 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 804 pinctrl-0 = <&pinctrl_usdhc3>; 805 pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 806 pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 807 assigned-clocks = <&clk IMX8MP_CLK_USDHC3_ROOT>; 808 assigned-clock-rates = <400000000>; 809 bus-width = <8>; 810 non-removable; 811 status = "okay"; 812}; 813 814&wdog1 { 815 pinctrl-names = "default"; 816 pinctrl-0 = <&pinctrl_wdog>; 817 fsl,ext-reset-output; 818 status = "okay"; 819}; 820 821&iomuxc { 822 /* On-module Bluetooth */ 823 pinctrl_bt_uart: btuartgrp { 824 fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x1c4>, /* WiFi_UART_TXD */ 825 <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x1c4>, /* WiFi_UART_RXD */ 826 <MX8MP_IOMUXC_SD1_STROBE__UART3_DCE_CTS 0x1c4>, /* WiFi_UART_RTS */ 827 <MX8MP_IOMUXC_SD1_RESET_B__UART3_DCE_RTS 0x1c4>; /* WiFi_UART_CTS */ 828 }; 829 830 /* SMARC CAM_MCK */ 831 pinctrl_csi_mclk: csimclkgrp { 832 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO15__CCM_CLKO2 0x16>; /* SMARC S6 - CAM_MCK */ 833 }; 834 835 /* SMARC SPI0 */ 836 pinctrl_ecspi1: ecspi1grp { 837 fsl,pins = <MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x1c4>, /* SMARC P45 - SPI0_DIN */ 838 <MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x4>, /* SMARC P46 - SPI0_DO */ 839 <MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x4>, /* SMARC P44 - SPI0_CK */ 840 <MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x1c4>, /* SMARC P43 - SPI0_CS0# */ 841 <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x1c4>; /* SMARC P31 - SPI0_CS1# */ 842 }; 843 844 /* SMARC SPI1 */ 845 pinctrl_ecspi2: ecspi2grp { 846 fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x1c4>, /* SMARC P56 - SPI1_DIN */ 847 <MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x4>, /* SMARC P57 - SPI1_DO */ 848 <MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x4>, /* SMARC P58 - SPI1_CK */ 849 <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x1c4>, /* SMARC P54 - SPI1_CS0# */ 850 <MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x1c4>; /* SMARC P55 - SPI1_CS1# */ 851 }; 852 853 /* ETH_0 RGMII (On-module PHY) */ 854 pinctrl_eqos: eqosgrp { 855 fsl,pins = <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90>, /* ETH0_RGMII_RXD0 */ 856 <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90>, /* ETH0_RGMII_RXD1 */ 857 <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90>, /* ETH0_RGMII_RXD2 */ 858 <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90>, /* ETH0_RGMII_RXD3 */ 859 <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90>, /* ETH0_RGMII_RXC */ 860 <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90>, /* ETH0_RGMII_RX_CTL */ 861 <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x16>, /* ETH0_RGMII_TXD0 */ 862 <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x16>, /* ETH0_RGMII_TXD1 */ 863 <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x16>, /* ETH0_RGMII_TXD2 */ 864 <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x16>, /* ETH0_RGMII_TXD3 */ 865 <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x16>, /* ETH0_RGMII_TX_CTL */ 866 <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x16>; /* ETH0_RGMII_TXC */ 867 }; 868 869 /* SMARC GBE0_SDP */ 870 pinctrl_eqos_1588_event: eqos1588eventgrp { 871 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO09__ENET_QOS_1588_EVENT0_OUT 0x4>; /* SMARC P6 - GBE0_SDP */ 872 }; 873 874 /* ETH_0_MDIO and ETH_0_INT# shared between ETH_PHY0 and ETH_PHY1 */ 875 pinctrl_eth_mdio: ethmdiogrp { 876 fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2>, /* ETH_0_MDC */ 877 <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x2>, /* ETH_0_MDIO */ 878 <MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x80>; /* ETH_0_INT# */ 879 }; 880 881 /* ETH_1 RGMII (On-module PHY) */ 882 pinctrl_fec: fecgrp { 883 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90>, /* ETH1_RGMII_RXD0 */ 884 <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90>, /* ETH1_RGMII_RXD1 */ 885 <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90>, /* ETH1_RGMII_RXD2 */ 886 <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90>, /* ETH1_RGMII_RXD3 */ 887 <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90>, /* ETH1_RGMII_RXC */ 888 <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90>, /* ETH1_RGMII_RX_CTL */ 889 <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16>, /* ETH1_RGMII_TXD0 */ 890 <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16>, /* ETH1_RGMII_TXD1 */ 891 <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16>, /* ETH1_RGMII_TXD2 */ 892 <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16>, /* ETH1_RGMII_TXD3 */ 893 <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16>, /* ETH1_RGMII_TX_CTL */ 894 <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16>; /* ETH1_RGMII_TXC */ 895 }; 896 897 /* SMARC GBE1_SDP */ 898 pinctrl_fec_1588_event: fec1588eventgrp { 899 fsl,pins = <MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x4>; /* SMARC P5 - GBE1_SDP */ 900 }; 901 902 /* SMARC CAN1 */ 903 pinctrl_flexcan1: flexcan1grp { 904 fsl,pins = <MX8MP_IOMUXC_SAI2_TXC__CAN1_RX 0x154>, /* SMARC P146 - CAN1_RX */ 905 <MX8MP_IOMUXC_SAI2_RXC__CAN1_TX 0x154>; /* SMARC P145 - CAN1_TX */ 906 }; 907 908 /* SMARC CAN0 */ 909 pinctrl_flexcan2: flexcan2grp { 910 fsl,pins = <MX8MP_IOMUXC_SAI2_MCLK__CAN2_RX 0x154>, /* SMARC P144 - CAN0_RX */ 911 <MX8MP_IOMUXC_SAI2_TXD0__CAN2_TX 0x154>; /* SMARC P143 - CAN0_TX */ 912 }; 913 914 /* SMARC GPIO4 */ 915 pinctrl_gpio4: gpio4grp { 916 fsl,pins = <MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x144>; /* SMARC P112 - GPIO4 */ 917 }; 918 919 /* SMARC GPIO5 */ 920 pinctrl_gpio5: gpio5grp { 921 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x144>; /* SMARC P113 - GPIO5 */ 922 }; 923 924 /* SMARC GPIO5 as PWM */ 925 pinctrl_gpio5_pwm: gpio5pwmgrp { 926 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__PWM3_OUT 0x12>; /* SMARC P113 - PWM_OUT */ 927 }; 928 929 /* SMARC GPIO6 */ 930 pinctrl_gpio6: gpio6grp { 931 fsl,pins = <MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x144>; /* SMARC P114 - GPIO6 */ 932 }; 933 934 /* SMARC GPIO7 */ 935 pinctrl_gpio7: gpio7grp { 936 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x144>; /* SMARC P115 - GPIO7 */ 937 }; 938 939 /* SMARC GPIO8 */ 940 pinctrl_gpio8: gpio8grp { 941 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x144>; /* SMARC P116 - GPIO8 */ 942 }; 943 944 /* SMARC GPIO9 */ 945 pinctrl_gpio9: gpio9grp { 946 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x144>; /* SMARC P117 - GPIO9 */ 947 }; 948 949 /* SMARC GPIO10 */ 950 pinctrl_gpio10: gpio10grp { 951 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x144>; /* SMARC P118 - GPIO10 */ 952 }; 953 954 /* SMARC GPIO11 */ 955 pinctrl_gpio11: gpio11grp { 956 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x144>; /* SMARC P119 - GPIO11 */ 957 }; 958 959 /* SMARC GPIO12 */ 960 pinctrl_gpio12: gpio12grp { 961 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x144>; /* SMARC S142 - GPIO12 */ 962 }; 963 964 /* SMARC GPIO13 */ 965 pinctrl_gpio13: gpio13grp { 966 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 0x144>; /* SMARC S123 - GPIO13 */ 967 }; 968 969 /* SMARC HDMI */ 970 pinctrl_hdmi: hdmigrp { 971 fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c6>, /* SMARC P105 - HDMI_CTRL_CK */ 972 <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c6>, /* SMARC P106 - HDMI_CTRL_DAT */ 973 <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x180>; /* SMARC P104 - HDMI_HPD */ 974 }; 975 976 /* On-module I2C */ 977 pinctrl_i2c1: i2c1grp { 978 fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c6>, /* CTRL_I2C_SCL */ 979 <MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c6>; /* CTRL_I2C_SDA */ 980 }; 981 982 /* On-module I2C as GPIOs */ 983 pinctrl_i2c1_gpio: i2c1gpiogrp { 984 fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x400001c6>, /* CTRL_I2C_SCL */ 985 <MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x400001c6>; /* CTRL_I2C_SDA */ 986 }; 987 988 /* SMARC I2C_LCD */ 989 pinctrl_i2c2: i2c2grp { 990 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c6>, /* SMARC S139 - I2C_LCD_CK */ 991 <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c6>; /* SMARC S140 - I2C_LCD_DAT */ 992 }; 993 994 /* SMARC I2C_LCD as GPIOs */ 995 pinctrl_i2c2_gpio: i2c2gpiogrp { 996 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x400001c6>, /* SMARC S139 - I2C_LCD_CK */ 997 <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x400001c6>; /* SMARC S140 - I2C_LCD_DAT */ 998 }; 999 1000 /* SMARC I2C_CAM0 */ 1001 pinctrl_i2c3: i2c3grp { 1002 fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c6>, /* SMARC S5 - I2C_CAM0_CK */ 1003 <MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c6>; /* SMARC S7 - I2C_CAM0_DAT */ 1004 }; 1005 1006 /* SMARC I2C_CAM0 as GPIOs */ 1007 pinctrl_i2c3_gpio: i2c3gpiogrp { 1008 fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x400001c6>, /* SMARC S5 - I2C_CAM0_CK */ 1009 <MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x400001c6>; /* SMARC S7 - I2C_CAM0_DAT */ 1010 }; 1011 1012 /* SMARC I2C_GP */ 1013 pinctrl_i2c4: i2c4grp { 1014 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c6>, /* SMARC S48 - I2C_GP_CK */ 1015 <MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c6>; /* SMARC S49 - I2C_GP_DAT */ 1016 }; 1017 1018 /* SMARC I2C_GP as GPIOs */ 1019 pinctrl_i2c4_gpio: i2c4gpiogrp { 1020 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20 0x400001c6>, /* SMARC S48 - I2C_GP_CK */ 1021 <MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x400001c6>; /* SMARC S49 - I2C_GP_DAT */ 1022 }; 1023 1024 /* SMARC I2C_CAM1 */ 1025 pinctrl_i2c5: i2c5grp { 1026 fsl,pins = <MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x400001c6>, /* SMARC S2 - I2C_CAM1_DAT */ 1027 <MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001c6>; /* SMARC S1 - I2C_CAM1_CK */ 1028 }; 1029 1030 /* SMARC I2C_CAM1 as GPIOs */ 1031 pinctrl_i2c5_gpio: i2c5gpiogrp { 1032 fsl,pins = <MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x400001c6>, /* SMARC S2 - I2C_CAM1_DAT */ 1033 <MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03 0x400001c6>; /* SMARC S1 - I2C_CAM1_CK */ 1034 }; 1035 1036 /* SMARC I2C_PM */ 1037 pinctrl_i2c6: i2c6grp { 1038 fsl,pins = <MX8MP_IOMUXC_HDMI_CEC__I2C6_SCL 0x400001c6>, /* SMARC P121 - I2C_PM_CK */ 1039 <MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA 0x400001c6>; /* SMARC P122 - I2C_PM_DAT */ 1040 }; 1041 1042 /* SMARC I2C_PM as GPIOs */ 1043 pinctrl_i2c6_gpio: i2c6gpiogrp { 1044 fsl,pins = <MX8MP_IOMUXC_HDMI_CEC__GPIO3_IO28 0x400001c6>, /* SMARC P121 - I2C_PM_CK */ 1045 <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x400001c6>; /* SMARC P122 - I2C_PM_DAT */ 1046 }; 1047 1048 pinctrl_lvds_dsi_sel: lvdsdsiselgrp { 1049 fsl,pins = <MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x104>; /* LVDS_DSI_SEL */ 1050 }; 1051 1052 pinctrl_mcu_int: mcuintgrp { 1053 fsl,pins = <MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08 0x1C0>; /* MCU_INT# */ 1054 }; 1055 1056 /* SMARC LCD1_BKLT_PWM */ 1057 pinctrl_lcd1_bklt_pwm1: pwm1grp { 1058 fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT 0x12>; /* SMARC S122 - LCD1_BKLT_PWM */ 1059 }; 1060 1061 /* SMARC LCD0_BKLT_PWM */ 1062 pinctrl_lcd0_bklt_pwm2: pwm2grp { 1063 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT 0x12>; /* SMARC S141 - LCD0_BKLT_PWM */ 1064 }; 1065 1066 /* PCAL6408 Interrupt */ 1067 pinctrl_pcal6408: pcal6408intgrp { 1068 fsl,pins = <MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x1c4>; /* GPIO_EX_INT# */ 1069 }; 1070 1071 /* SMARC PCIE_A */ 1072 pinctrl_pcie: pciegrp { 1073 fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x1c0>, /* SMARC S146 - PCIE_WAKE# */ 1074 <MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x04>; /* SMARC P75 - PCIE_A_RST# */ 1075 }; 1076 1077 /* PMIC Interrupt */ 1078 pinctrl_pmic: pmicintgrp { 1079 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x1c4>; /* PMIC_INT# */ 1080 }; 1081 1082 /* SMARC I2S0 */ 1083 pinctrl_sai1: sai1grp { 1084 fsl,pins = <MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI1_TX_BCLK 0x94>, /* SMARC S42 - I2S0_CK */ 1085 <MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI1_TX_SYNC 0x94>, /* SMARC S39 - I2S0_LRCLK */ 1086 <MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI1_RX_DATA00 0x94>, /* SMARC S41 - I2S0_SDIN */ 1087 <MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI1_TX_DATA00 0x94>; /* SMARC S40 - I2S0_SDOUT */ 1088 }; 1089 1090 /* SMARC AUDIO_MCK */ 1091 pinctrl_sai1_mclk: sai1mclkgrp { 1092 fsl,pins = <MX8MP_IOMUXC_SAI1_MCLK__AUDIOMIX_SAI1_MCLK 0x96>; /* SMARC S38 - AUDIO_MCK */ 1093 }; 1094 1095 /* SMARC I2S2 */ 1096 pinctrl_sai3: sai3grp { 1097 fsl,pins = <MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0x94>, /* SMARC S52 - I2S2_SDIN */ 1098 <MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x94>, /* SMARC S53 - I2S2_CK */ 1099 <MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x94>, /* SMARC S51 - I2S2_SDOUT */ 1100 <MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x94>; /* SMARC S50 - I2S2_LRCLK */ 1101 }; 1102 1103 /* SMARC SLEEP# */ 1104 pinctrl_sleep: sleepgrp { 1105 fsl,pins = <MX8MP_IOMUXC_NAND_CE0_B__GPIO3_IO01 0x1C0>; /* SMARC S149 - SLEEP# */ 1106 }; 1107 1108 /* SMARC SMB_ALERT# */ 1109 pinctrl_smb_alert: smbalertgrp { 1110 fsl,pins = <MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x1C0>; /* SMARC P1 - SMB_ALERT# */ 1111 }; 1112 1113 /* TPM_CS# */ 1114 pinctrl_tpm_cs: tpmcsgrp { 1115 fsl,pins = <MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x82>; /* TPM_CS# */ 1116 }; 1117 1118 /* WIFI_BT_WKUP_HOST/TPM_INT# */ 1119 pinctrl_tpm_irq_wifi_bt_wkup: tpmirq-wifibtwkupgrp { 1120 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD2__GPIO4_IO04 0x16>; /* WIFI_BT_WKUP_HOST/TPM_INT# */ 1121 }; 1122 1123 /* SMARC SER0 */ 1124 pinctrl_uart1: uart1grp { 1125 fsl,pins = <MX8MP_IOMUXC_SAI2_RXD0__UART1_DCE_RTS 0x1c4>, /* SMARC P132 - SER2_CTS */ 1126 <MX8MP_IOMUXC_SAI2_TXFS__UART1_DCE_CTS 0x1c4>, /* SMARC P131 - SER2_RTS */ 1127 <MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x1c4>, /* SMARC P130 - SER2_RX */ 1128 <MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x1c4>; /* SMARC P139 - SER2_TX */ 1129 }; 1130 1131 /* SMARC SER2 */ 1132 pinctrl_uart2: uart2grp { 1133 fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__UART2_DCE_RTS 0x1c4>, /* SMARC P139 - SER2_CTS */ 1134 <MX8MP_IOMUXC_SD1_DATA5__UART2_DCE_CTS 0x1c4>, /* SMARC P138 - SER2_RTS */ 1135 <MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x1c4>, /* SMARC P137 - SER2_RX */ 1136 <MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x1c4>; /* SMARC P136 - SER2_TX */ 1137 }; 1138 1139 /* SMARC SER3 */ 1140 pinctrl_uart3: uart3grp { 1141 fsl,pins = <MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x1c4>, /* SMARC P141 - SER3_RX */ 1142 <MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x1c4>; /* SMARC P140 - SER3_TX */ 1143 }; 1144 1145 /* SMARC SER1 */ 1146 pinctrl_uart4: uart4grp { 1147 fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x1c4>, /* SMARC P135 - SER1_RX */ 1148 <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x1c4>; /* SMARC P134 - SER1_TX */ 1149 }; 1150 1151 /* SMARC USB0_OTG_ID */ 1152 pinctrl_usb0_id: usb0idgrp { 1153 fsl,pins = <MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x1c4>; /* SMARC P64 - USB0_OTG_ID */ 1154 }; 1155 1156 /* SMARC USB0_EN_OC# */ 1157 pinctrl_usb0_en_oc: usb0enocgrp { 1158 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x04>; /* SMARC P62 - USB0_EN_OC# */ 1159 }; 1160 1161 /* On module USB Hub VBUS, or SMARC USB2_EN_OC# depending on assembling */ 1162 pinctrl_usb1_en_oc: usb1enocgrp { 1163 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x04>; /* SMARC P71 - USB2_EN_OC# */ 1164 }; 1165 1166 /* On-module Wi-Fi */ 1167 pinctrl_usdhc1: usdhc1grp { 1168 fsl,pins = <MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190>, /* WiFi_SDIO_CLK */ 1169 <MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0>, /* WiFi_SDIO_CMD */ 1170 <MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0>, /* WiFi_SDIO_DATA0 */ 1171 <MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0>, /* WiFi_SDIO_DATA1 */ 1172 <MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0>, /* WiFi_SDIO_DATA2 */ 1173 <MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0>; /* WiFi_SDIO_DATA3 */ 1174 }; 1175 1176 /* On-module Wi-Fi */ 1177 pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 1178 fsl,pins = <MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194>, /* WiFi_SDIO_CLK */ 1179 <MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4>, /* WiFi_SDIO_CMD */ 1180 <MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4>, /* WiFi_SDIO_DATA0 */ 1181 <MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4>, /* WiFi_SDIO_DATA1 */ 1182 <MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4>, /* WiFi_SDIO_DATA2 */ 1183 <MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4>; /* WiFi_SDIO_DATA3 */ 1184 }; 1185 1186 /* On-module Wi-Fi */ 1187 pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 1188 fsl,pins = <MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196>, /* WiFi_SDIO_CLK */ 1189 <MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6>, /* WiFi_SDIO_CMD */ 1190 <MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6>, /* WiFi_SDIO_DATA0 */ 1191 <MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6>, /* WiFi_SDIO_DATA1 */ 1192 <MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6>, /* WiFi_SDIO_DATA2 */ 1193 <MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6>; /* WiFi_SDIO_DATA3 */ 1194 }; 1195 1196 /* SMARC SDIO */ 1197 pinctrl_usdhc2: usdhc2grp { 1198 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190>, /* SMARC P36 - SDIO_CK */ 1199 <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0>, /* SMARC P34 - SDIO_CMD */ 1200 <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0>, /* SMARC P39 - SDIO_DO */ 1201 <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0>, /* SMARC P40 - SDIO_D1 */ 1202 <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0>, /* SMARC P41 - SDIO_D2 */ 1203 <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0>; /* SMARC P42 - SDIO_D3 */ 1204 }; 1205 1206 /* SMARC SDIO 100MHz */ 1207 pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 1208 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>, /* SMARC P36 - SDIO_CK */ 1209 <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>, /* SMARC P34 - SDIO_CMD */ 1210 <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>, /* SMARC P39 - SDIO_DO */ 1211 <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>, /* SMARC P40 - SDIO_D1 */ 1212 <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>, /* SMARC P41 - SDIO_D2 */ 1213 <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>; /* SMARC P42 - SDIO_D3 */ 1214 }; 1215 1216 /* SMARC SDIO 200MHz */ 1217 pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 1218 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196>, /* SMARC P36 - SDIO_CK */ 1219 <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6>, /* SMARC P34 - SDIO_CMD */ 1220 <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6>, /* SMARC P39 - SDIO_DO */ 1221 <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6>, /* SMARC P40 - SDIO_D1 */ 1222 <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6>, /* SMARC P41 - SDIO_D2 */ 1223 <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6>; /* SMARC P42 - SDIO_D3 */ 1224 }; 1225 1226 /* SMARC SDIO_CD# */ 1227 pinctrl_usdhc2_cd: usdhc2cdgrp { 1228 fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4>; /* SMARC P35 - SDIO_CD# */ 1229 }; 1230 1231 /* SMARC SDIO_CD# */ 1232 pinctrl_usdhc2_cd_sleep: usdhc2cdslpgrp { 1233 fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x0>; /* SMARC P35 - SDIO_CD# */ 1234 }; 1235 1236 /* SMARC SDIO_PWR_EN */ 1237 pinctrl_usdhc2_pwr_en: usdhc2pwrengrp { 1238 fsl,pins = <MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x1c4>; /* SMARC P37 - SDIO_PWR_EN */ 1239 }; 1240 1241 /* SMARC SDIO Sleep - Avoid backfeeding with removed card power */ 1242 pinctrl_usdhc2_sleep: usdhc2slpgrp { 1243 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x100>, /* SMARC P36 - SDIO_CK */ 1244 <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x100>, /* SMARC P34 - SDIO_CMD */ 1245 <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x100>, /* SMARC P39 - SDIO_DO */ 1246 <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x100>, /* SMARC P39 - SDIO_D1 */ 1247 <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x100>, /* SMARC P39 - SDIO_D2 */ 1248 <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x100>; /* SMARC P39 - SDIO_D3 */ 1249 }; 1250 1251 pinctrl_usdhc2_vsel: usdhc2vselgrp { 1252 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0x4>; /* PMIC_USDHC_VSELECT */ 1253 }; 1254 1255 /* SMARC SDIO_WP */ 1256 pinctrl_usdhc2_wp: usdhc2wpgrp { 1257 fsl,pins = <MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x144>; /* SMARC P33 - SDIO_WP */ 1258 }; 1259 1260 /* On-module eMMC */ 1261 pinctrl_usdhc3: usdhc3grp { 1262 fsl,pins = <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190>, /* eMMC_STROBE */ 1263 <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0>, /* eMMC_DATA5 */ 1264 <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0>, /* eMMC_DATA6 */ 1265 <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0>, /* eMMC_DATA7 */ 1266 <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0>, /* eMMC_DATA0 */ 1267 <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0>, /* eMMC_DATA1 */ 1268 <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0>, /* eMMC_DATA2 */ 1269 <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0>, /* eMMC_DATA3 */ 1270 <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0>, /* eMMC_DATA4 */ 1271 <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190>, /* eMMC_CLK */ 1272 <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0>; /* eMMC_CMD */ 1273 }; 1274 1275 /* On-module eMMC */ 1276 pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 1277 fsl,pins = <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194>, /* eMMC_STROBE */ 1278 <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, /* eMMC_DATA5 */ 1279 <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, /* eMMC_DATA6 */ 1280 <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, /* eMMC_DATA7 */ 1281 <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, /* eMMC_DATA0 */ 1282 <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, /* eMMC_DATA1 */ 1283 <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, /* eMMC_DATA2 */ 1284 <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, /* eMMC_DATA3 */ 1285 <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, /* eMMC_DATA4 */ 1286 <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, /* eMMC_CLK */ 1287 <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>; /* eMMC_CMD */ 1288 }; 1289 1290 /* On-module eMMC */ 1291 pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 1292 fsl,pins = <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196>, /* eMMC_STROBE */ 1293 <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d2>, /* eMMC_DATA5 */ 1294 <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d2>, /* eMMC_DATA6 */ 1295 <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d2>, /* eMMC_DATA7 */ 1296 <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d2>, /* eMMC_DATA0 */ 1297 <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d2>, /* eMMC_DATA1 */ 1298 <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d2>, /* eMMC_DATA2 */ 1299 <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d2>, /* eMMC_DATA3 */ 1300 <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d2>, /* eMMC_DATA4 */ 1301 <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196>, /* eMMC_CLK */ 1302 <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6>; /* eMMC_CMD */ 1303 }; 1304 1305 /* SoC Watchdog */ 1306 pinctrl_wdog: wdoggrp { 1307 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x4>; /* CTRL_SOC_WDOG */ 1308 }; 1309 1310 /* On-module Wi-Fi power enable */ 1311 pinctrl_wifi_pwr_en: wifipwrengrp { 1312 fsl,pins = <MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x104>; /* CTRL_EN_WIFI */ 1313 }; 1314}; 1315