1*6f0c003fSPaul Gerber// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*6f0c003fSPaul Gerber/* 3*6f0c003fSPaul Gerber * Copyright 2025-2026 TQ-Systems GmbH <linux@ew.tq-group.com>, 4*6f0c003fSPaul Gerber * D-82229 Seefeld, Germany. 5*6f0c003fSPaul Gerber * Author: Paul Gerber 6*6f0c003fSPaul Gerber */ 7*6f0c003fSPaul Gerber 8*6f0c003fSPaul Gerber#include <dt-bindings/net/ti-dp83867.h> 9*6f0c003fSPaul Gerber#include <dt-bindings/phy/phy-imx8-pcie.h> 10*6f0c003fSPaul Gerber#include "imx8mp.dtsi" 11*6f0c003fSPaul Gerber 12*6f0c003fSPaul Gerber/ { 13*6f0c003fSPaul Gerber model = "TQ-Systems i.MX8MPlus TQMa8MPxS"; 14*6f0c003fSPaul Gerber compatible = "tq,imx8mp-tqma8mpqs", "fsl,imx8mp"; 15*6f0c003fSPaul Gerber 16*6f0c003fSPaul Gerber clk_dp: clk-dp { 17*6f0c003fSPaul Gerber compatible = "fixed-clock"; 18*6f0c003fSPaul Gerber #clock-cells = <0>; 19*6f0c003fSPaul Gerber clock-frequency = <26000000>; 20*6f0c003fSPaul Gerber }; 21*6f0c003fSPaul Gerber 22*6f0c003fSPaul Gerber clk_xtal25: clk-xtal25 { 23*6f0c003fSPaul Gerber compatible = "fixed-clock"; 24*6f0c003fSPaul Gerber #clock-cells = <0>; 25*6f0c003fSPaul Gerber clock-frequency = <25000000>; 26*6f0c003fSPaul Gerber }; 27*6f0c003fSPaul Gerber 28*6f0c003fSPaul Gerber memory@40000000 { 29*6f0c003fSPaul Gerber device_type = "memory"; 30*6f0c003fSPaul Gerber reg = <0x0 0x40000000 0 0x80000000>; 31*6f0c003fSPaul Gerber }; 32*6f0c003fSPaul Gerber 33*6f0c003fSPaul Gerber reg_5v0: regulator-5v0 { 34*6f0c003fSPaul Gerber compatible = "regulator-fixed"; 35*6f0c003fSPaul Gerber regulator-name = "VCC_5V0"; 36*6f0c003fSPaul Gerber regulator-min-microvolt = <5000000>; 37*6f0c003fSPaul Gerber regulator-max-microvolt = <5000000>; 38*6f0c003fSPaul Gerber regulator-always-on; 39*6f0c003fSPaul Gerber }; 40*6f0c003fSPaul Gerber 41*6f0c003fSPaul Gerber reg_usdhc2_vmmc: regulator-usdhc2-vmmc { 42*6f0c003fSPaul Gerber compatible = "regulator-fixed"; 43*6f0c003fSPaul Gerber pinctrl-names = "default"; 44*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 45*6f0c003fSPaul Gerber regulator-name = "SDIO_PWR_EN"; 46*6f0c003fSPaul Gerber regulator-min-microvolt = <3300000>; 47*6f0c003fSPaul Gerber regulator-max-microvolt = <3300000>; 48*6f0c003fSPaul Gerber gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 49*6f0c003fSPaul Gerber enable-active-high; 50*6f0c003fSPaul Gerber status = "disabled"; 51*6f0c003fSPaul Gerber }; 52*6f0c003fSPaul Gerber 53*6f0c003fSPaul Gerber reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { 54*6f0c003fSPaul Gerber compatible = "regulator-gpio"; 55*6f0c003fSPaul Gerber pinctrl-names = "default"; 56*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_reg_usdhc2_vqmmc>; 57*6f0c003fSPaul Gerber regulator-name = "V_SD"; 58*6f0c003fSPaul Gerber regulator-min-microvolt = <1800000>; 59*6f0c003fSPaul Gerber regulator-max-microvolt = <3300000>; 60*6f0c003fSPaul Gerber gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 61*6f0c003fSPaul Gerber states = <1800000 0x1>, 62*6f0c003fSPaul Gerber <3300000 0x0>; 63*6f0c003fSPaul Gerber vin-supply = <&ldo5>; 64*6f0c003fSPaul Gerber status = "disabled"; 65*6f0c003fSPaul Gerber }; 66*6f0c003fSPaul Gerber}; 67*6f0c003fSPaul Gerber 68*6f0c003fSPaul Gerber&A53_0 { 69*6f0c003fSPaul Gerber cpu-supply = <&buck2>; 70*6f0c003fSPaul Gerber}; 71*6f0c003fSPaul Gerber 72*6f0c003fSPaul Gerber&audio_blk_ctrl { 73*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_AUDIO_PLL1>, 74*6f0c003fSPaul Gerber <&clk IMX8MP_AUDIO_PLL2>; 75*6f0c003fSPaul Gerber assigned-clock-rates = <393216000>, <147333333>; 76*6f0c003fSPaul Gerber}; 77*6f0c003fSPaul Gerber 78*6f0c003fSPaul Gerber&ecspi1 { 79*6f0c003fSPaul Gerber pinctrl-names = "default"; 80*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_ecspi1>; 81*6f0c003fSPaul Gerber cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio5 12 GPIO_ACTIVE_LOW>; 82*6f0c003fSPaul Gerber}; 83*6f0c003fSPaul Gerber 84*6f0c003fSPaul Gerber/* GBE0 */ 85*6f0c003fSPaul Gerber&eqos { 86*6f0c003fSPaul Gerber pinctrl-names = "default"; 87*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_eqos>; 88*6f0c003fSPaul Gerber phy-mode = "rgmii-id"; 89*6f0c003fSPaul Gerber phy-handle = <ðphy0>; 90*6f0c003fSPaul Gerber snps,force_thresh_dma_mode; 91*6f0c003fSPaul Gerber snps,mtl-tx-config = <&mtl_tx_setup>; 92*6f0c003fSPaul Gerber snps,mtl-rx-config = <&mtl_rx_setup>; 93*6f0c003fSPaul Gerber 94*6f0c003fSPaul Gerber mdio { 95*6f0c003fSPaul Gerber compatible = "snps,dwmac-mdio"; 96*6f0c003fSPaul Gerber #address-cells = <1>; 97*6f0c003fSPaul Gerber #size-cells = <0>; 98*6f0c003fSPaul Gerber 99*6f0c003fSPaul Gerber ethphy0: ethernet-phy@0 { 100*6f0c003fSPaul Gerber pinctrl-names = "default"; 101*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_eqos_phy>; 102*6f0c003fSPaul Gerber compatible = "ethernet-phy-ieee802.3-c22"; 103*6f0c003fSPaul Gerber reg = <0>; 104*6f0c003fSPaul Gerber ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 105*6f0c003fSPaul Gerber ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 106*6f0c003fSPaul Gerber ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 107*6f0c003fSPaul Gerber ti,dp83867-rxctrl-strap-quirk; 108*6f0c003fSPaul Gerber ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 109*6f0c003fSPaul Gerber reset-gpios = <&expander0 6 GPIO_ACTIVE_LOW>; 110*6f0c003fSPaul Gerber reset-assert-us = <500000>; 111*6f0c003fSPaul Gerber reset-deassert-us = <50000>; 112*6f0c003fSPaul Gerber enet-phy-lane-no-swap; 113*6f0c003fSPaul Gerber interrupt-parent = <&gpio2>; 114*6f0c003fSPaul Gerber interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 115*6f0c003fSPaul Gerber }; 116*6f0c003fSPaul Gerber 117*6f0c003fSPaul Gerber ethphy3: ethernet-phy@3 { 118*6f0c003fSPaul Gerber pinctrl-names = "default"; 119*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_fec_phy>; 120*6f0c003fSPaul Gerber compatible = "ethernet-phy-ieee802.3-c22"; 121*6f0c003fSPaul Gerber reg = <3>; 122*6f0c003fSPaul Gerber ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 123*6f0c003fSPaul Gerber ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 124*6f0c003fSPaul Gerber ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 125*6f0c003fSPaul Gerber ti,dp83867-rxctrl-strap-quirk; 126*6f0c003fSPaul Gerber ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 127*6f0c003fSPaul Gerber reset-gpios = <&expander0 7 GPIO_ACTIVE_LOW>; 128*6f0c003fSPaul Gerber reset-assert-us = <500000>; 129*6f0c003fSPaul Gerber reset-deassert-us = <50000>; 130*6f0c003fSPaul Gerber enet-phy-lane-no-swap; 131*6f0c003fSPaul Gerber interrupt-parent = <&gpio2>; 132*6f0c003fSPaul Gerber interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 133*6f0c003fSPaul Gerber }; 134*6f0c003fSPaul Gerber }; 135*6f0c003fSPaul Gerber 136*6f0c003fSPaul Gerber mtl_tx_setup: tx-queues-config { 137*6f0c003fSPaul Gerber snps,tx-queues-to-use = <5>; 138*6f0c003fSPaul Gerber 139*6f0c003fSPaul Gerber queue0 { 140*6f0c003fSPaul Gerber snps,dcb-algorithm; 141*6f0c003fSPaul Gerber snps,priority = <0x1>; 142*6f0c003fSPaul Gerber }; 143*6f0c003fSPaul Gerber 144*6f0c003fSPaul Gerber queue1 { 145*6f0c003fSPaul Gerber snps,dcb-algorithm; 146*6f0c003fSPaul Gerber snps,priority = <0x2>; 147*6f0c003fSPaul Gerber }; 148*6f0c003fSPaul Gerber 149*6f0c003fSPaul Gerber queue2 { 150*6f0c003fSPaul Gerber snps,dcb-algorithm; 151*6f0c003fSPaul Gerber snps,priority = <0x4>; 152*6f0c003fSPaul Gerber }; 153*6f0c003fSPaul Gerber 154*6f0c003fSPaul Gerber queue3 { 155*6f0c003fSPaul Gerber snps,dcb-algorithm; 156*6f0c003fSPaul Gerber snps,priority = <0x8>; 157*6f0c003fSPaul Gerber }; 158*6f0c003fSPaul Gerber 159*6f0c003fSPaul Gerber queue4 { 160*6f0c003fSPaul Gerber snps,dcb-algorithm; 161*6f0c003fSPaul Gerber snps,priority = <0xf0>; 162*6f0c003fSPaul Gerber }; 163*6f0c003fSPaul Gerber }; 164*6f0c003fSPaul Gerber 165*6f0c003fSPaul Gerber mtl_rx_setup: rx-queues-config { 166*6f0c003fSPaul Gerber snps,rx-queues-to-use = <5>; 167*6f0c003fSPaul Gerber snps,rx-sched-sp; 168*6f0c003fSPaul Gerber 169*6f0c003fSPaul Gerber queue0 { 170*6f0c003fSPaul Gerber snps,dcb-algorithm; 171*6f0c003fSPaul Gerber snps,priority = <0x1>; 172*6f0c003fSPaul Gerber snps,map-to-dma-channel = <0>; 173*6f0c003fSPaul Gerber }; 174*6f0c003fSPaul Gerber 175*6f0c003fSPaul Gerber queue1 { 176*6f0c003fSPaul Gerber snps,dcb-algorithm; 177*6f0c003fSPaul Gerber snps,priority = <0x2>; 178*6f0c003fSPaul Gerber snps,map-to-dma-channel = <1>; 179*6f0c003fSPaul Gerber }; 180*6f0c003fSPaul Gerber 181*6f0c003fSPaul Gerber queue2 { 182*6f0c003fSPaul Gerber snps,dcb-algorithm; 183*6f0c003fSPaul Gerber snps,priority = <0x4>; 184*6f0c003fSPaul Gerber snps,map-to-dma-channel = <2>; 185*6f0c003fSPaul Gerber }; 186*6f0c003fSPaul Gerber 187*6f0c003fSPaul Gerber queue3 { 188*6f0c003fSPaul Gerber snps,dcb-algorithm; 189*6f0c003fSPaul Gerber snps,priority = <0x8>; 190*6f0c003fSPaul Gerber snps,map-to-dma-channel = <3>; 191*6f0c003fSPaul Gerber }; 192*6f0c003fSPaul Gerber 193*6f0c003fSPaul Gerber queue4 { 194*6f0c003fSPaul Gerber snps,dcb-algorithm; 195*6f0c003fSPaul Gerber snps,priority = <0xf0>; 196*6f0c003fSPaul Gerber snps,map-to-dma-channel = <4>; 197*6f0c003fSPaul Gerber }; 198*6f0c003fSPaul Gerber }; 199*6f0c003fSPaul Gerber}; 200*6f0c003fSPaul Gerber 201*6f0c003fSPaul Gerber/* GBE1 */ 202*6f0c003fSPaul Gerber&fec { 203*6f0c003fSPaul Gerber pinctrl-names = "default"; 204*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_fec>; 205*6f0c003fSPaul Gerber phy-mode = "rgmii-id"; 206*6f0c003fSPaul Gerber phy-handle = <ðphy3>; 207*6f0c003fSPaul Gerber fsl,magic-packet; 208*6f0c003fSPaul Gerber}; 209*6f0c003fSPaul Gerber 210*6f0c003fSPaul Gerber&flexcan1 { 211*6f0c003fSPaul Gerber pinctrl-names = "default"; 212*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_flexcan1>; 213*6f0c003fSPaul Gerber}; 214*6f0c003fSPaul Gerber 215*6f0c003fSPaul Gerber&flexcan2 { 216*6f0c003fSPaul Gerber pinctrl-names = "default"; 217*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_flexcan2>; 218*6f0c003fSPaul Gerber}; 219*6f0c003fSPaul Gerber 220*6f0c003fSPaul Gerber&flexspi { 221*6f0c003fSPaul Gerber pinctrl-names = "default"; 222*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_flexspi0>; 223*6f0c003fSPaul Gerber status = "okay"; 224*6f0c003fSPaul Gerber 225*6f0c003fSPaul Gerber flash0: flash@0 { 226*6f0c003fSPaul Gerber reg = <0>; 227*6f0c003fSPaul Gerber compatible = "jedec,spi-nor"; 228*6f0c003fSPaul Gerber spi-max-frequency = <66666666>; 229*6f0c003fSPaul Gerber spi-tx-bus-width = <4>; 230*6f0c003fSPaul Gerber spi-rx-bus-width = <4>; 231*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 232*6f0c003fSPaul Gerber 233*6f0c003fSPaul Gerber partitions { 234*6f0c003fSPaul Gerber compatible = "fixed-partitions"; 235*6f0c003fSPaul Gerber #address-cells = <1>; 236*6f0c003fSPaul Gerber #size-cells = <1>; 237*6f0c003fSPaul Gerber }; 238*6f0c003fSPaul Gerber }; 239*6f0c003fSPaul Gerber}; 240*6f0c003fSPaul Gerber 241*6f0c003fSPaul Gerber&gpio1 { 242*6f0c003fSPaul Gerber pinctrl-names = "default"; 243*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_gpio1>; 244*6f0c003fSPaul Gerber 245*6f0c003fSPaul Gerber gpio-line-names = "SLEEP", "BATLOW#", "", "LID", 246*6f0c003fSPaul Gerber "", "GPIO10", "CHARGING#", "CHG_PRSNT#", 247*6f0c003fSPaul Gerber "PMIC_IRQ#", "ESPI_CS1_ALERT#", "USB1_OTG_ID", "USB2_OTG_ID", 248*6f0c003fSPaul Gerber "", "", "", "", 249*6f0c003fSPaul Gerber "", "", "", "", 250*6f0c003fSPaul Gerber "", "", "", "", 251*6f0c003fSPaul Gerber "", "", "", "", 252*6f0c003fSPaul Gerber "", "", "", ""; 253*6f0c003fSPaul Gerber 254*6f0c003fSPaul Gerber pmic_irq_hog: pmic-irq-hog { 255*6f0c003fSPaul Gerber gpio-hog; 256*6f0c003fSPaul Gerber gpios = <8 0>; 257*6f0c003fSPaul Gerber input; 258*6f0c003fSPaul Gerber line-name = "PMIC_IRQ#"; 259*6f0c003fSPaul Gerber }; 260*6f0c003fSPaul Gerber}; 261*6f0c003fSPaul Gerber 262*6f0c003fSPaul Gerber&gpio2 { 263*6f0c003fSPaul Gerber pinctrl-names = "default"; 264*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_hoggpio2>; 265*6f0c003fSPaul Gerber 266*6f0c003fSPaul Gerber gpio-line-names = "", "", "", "", 267*6f0c003fSPaul Gerber "", "", "", "", 268*6f0c003fSPaul Gerber "", "", "PERST#", "PEWAKE#", 269*6f0c003fSPaul Gerber "SDIO_CD#", "", "", "", 270*6f0c003fSPaul Gerber "", "", "", "SDIO_PWR_EN", 271*6f0c003fSPaul Gerber "", "", "", "", 272*6f0c003fSPaul Gerber "", "", "", "", 273*6f0c003fSPaul Gerber "", "", "", ""; 274*6f0c003fSPaul Gerber 275*6f0c003fSPaul Gerber enet0-int-hog { 276*6f0c003fSPaul Gerber gpio-hog; 277*6f0c003fSPaul Gerber gpios = <0 0>; 278*6f0c003fSPaul Gerber input; 279*6f0c003fSPaul Gerber line-name = "ENET0_INT#"; 280*6f0c003fSPaul Gerber }; 281*6f0c003fSPaul Gerber 282*6f0c003fSPaul Gerber enet1-int-hog { 283*6f0c003fSPaul Gerber gpio-hog; 284*6f0c003fSPaul Gerber gpios = <1 0>; 285*6f0c003fSPaul Gerber input; 286*6f0c003fSPaul Gerber line-name = "ENET_INT#"; 287*6f0c003fSPaul Gerber }; 288*6f0c003fSPaul Gerber 289*6f0c003fSPaul Gerber pewake-hog { 290*6f0c003fSPaul Gerber gpio-hog; 291*6f0c003fSPaul Gerber gpios = <11 0>; 292*6f0c003fSPaul Gerber input; 293*6f0c003fSPaul Gerber line-name = "PEWAKE#"; 294*6f0c003fSPaul Gerber }; 295*6f0c003fSPaul Gerber}; 296*6f0c003fSPaul Gerber 297*6f0c003fSPaul Gerber&gpio3 { 298*6f0c003fSPaul Gerber pinctrl-names = "default"; 299*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_gpio3>; 300*6f0c003fSPaul Gerber 301*6f0c003fSPaul Gerber gpio-line-names = "", "", "", "", 302*6f0c003fSPaul Gerber "", "", "", "", 303*6f0c003fSPaul Gerber "", "", "", "", 304*6f0c003fSPaul Gerber "", "", "", "", 305*6f0c003fSPaul Gerber "", "", "", "GPIO4", 306*6f0c003fSPaul Gerber "GPIO3", "", "", "", 307*6f0c003fSPaul Gerber "", "", "", "", 308*6f0c003fSPaul Gerber "TEMP_EVENT#", "", "", ""; 309*6f0c003fSPaul Gerber 310*6f0c003fSPaul Gerber temp-event-hog { 311*6f0c003fSPaul Gerber gpio-hog; 312*6f0c003fSPaul Gerber gpios = <28 0>; 313*6f0c003fSPaul Gerber input; 314*6f0c003fSPaul Gerber line-name = "TEMP_EVENT#"; 315*6f0c003fSPaul Gerber }; 316*6f0c003fSPaul Gerber}; 317*6f0c003fSPaul Gerber 318*6f0c003fSPaul Gerber&gpio4 { 319*6f0c003fSPaul Gerber pinctrl-names = "default"; 320*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_gpio4>, <&pinctrl_sdp>, <&pinctrl_espi_rst>; 321*6f0c003fSPaul Gerber 322*6f0c003fSPaul Gerber gpio-line-names = "RTC_INT#", "GPIO8", "", "", 323*6f0c003fSPaul Gerber "GPIO9", "ESPI_RST#", "", "", 324*6f0c003fSPaul Gerber "", "", "", "", 325*6f0c003fSPaul Gerber "", "", "", "", 326*6f0c003fSPaul Gerber "", "", "GBE0_SDP_DIR", "", 327*6f0c003fSPaul Gerber "GPIO7", "", "", "", 328*6f0c003fSPaul Gerber "", "GPIO0", "GPIO1", "", 329*6f0c003fSPaul Gerber "GPIO2", "GPIO6", "", ""; 330*6f0c003fSPaul Gerber 331*6f0c003fSPaul Gerber rtc-int-hog { 332*6f0c003fSPaul Gerber gpio-hog; 333*6f0c003fSPaul Gerber gpios = <0 0>; 334*6f0c003fSPaul Gerber input; 335*6f0c003fSPaul Gerber line-name = "RTC_INT#"; 336*6f0c003fSPaul Gerber }; 337*6f0c003fSPaul Gerber 338*6f0c003fSPaul Gerber espi-reset-hog { 339*6f0c003fSPaul Gerber gpio-hog; 340*6f0c003fSPaul Gerber gpios = <5 0>; 341*6f0c003fSPaul Gerber output-high; 342*6f0c003fSPaul Gerber line-name = "ESPI_RST#"; 343*6f0c003fSPaul Gerber }; 344*6f0c003fSPaul Gerber}; 345*6f0c003fSPaul Gerber 346*6f0c003fSPaul Gerber&gpio5 { 347*6f0c003fSPaul Gerber pinctrl-names = "default"; 348*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_gpio5>; 349*6f0c003fSPaul Gerber 350*6f0c003fSPaul Gerber gpio-line-names = "", "", "", "", 351*6f0c003fSPaul Gerber "", "GPIO5", "", "", 352*6f0c003fSPaul Gerber "", "", "GPIO12", "GPIO11", 353*6f0c003fSPaul Gerber "", "GPIO13", "", "", 354*6f0c003fSPaul Gerber "", "", "", "", 355*6f0c003fSPaul Gerber "", "", "", "", 356*6f0c003fSPaul Gerber "", "", "", "", 357*6f0c003fSPaul Gerber "", "", "", ""; 358*6f0c003fSPaul Gerber 359*6f0c003fSPaul Gerber dp-hpd-int-hog { 360*6f0c003fSPaul Gerber gpio-hog; 361*6f0c003fSPaul Gerber gpios = <21 0>; 362*6f0c003fSPaul Gerber input; 363*6f0c003fSPaul Gerber line-name = "DP_HPD_INT"; 364*6f0c003fSPaul Gerber }; 365*6f0c003fSPaul Gerber}; 366*6f0c003fSPaul Gerber 367*6f0c003fSPaul Gerber&hdmi_tx { 368*6f0c003fSPaul Gerber pinctrl-names = "default"; 369*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_hdmi>; 370*6f0c003fSPaul Gerber}; 371*6f0c003fSPaul Gerber 372*6f0c003fSPaul Gerber&i2c1 { 373*6f0c003fSPaul Gerber clock-frequency = <384000>; 374*6f0c003fSPaul Gerber pinctrl-names = "default", "gpio"; 375*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_i2c1>; 376*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_i2c1_gpio>; 377*6f0c003fSPaul Gerber scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 378*6f0c003fSPaul Gerber sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 379*6f0c003fSPaul Gerber status = "okay"; 380*6f0c003fSPaul Gerber 381*6f0c003fSPaul Gerber eeprom0: eeprom@50 { 382*6f0c003fSPaul Gerber compatible = "atmel,24c64"; 383*6f0c003fSPaul Gerber reg = <0x50>; 384*6f0c003fSPaul Gerber pagesize = <32>; 385*6f0c003fSPaul Gerber read-only; 386*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 387*6f0c003fSPaul Gerber }; 388*6f0c003fSPaul Gerber 389*6f0c003fSPaul Gerber pcf85063: rtc@51 { 390*6f0c003fSPaul Gerber compatible = "nxp,pcf85063a"; 391*6f0c003fSPaul Gerber reg = <0x51>; 392*6f0c003fSPaul Gerber quartz-load-femtofarads = <7000>; 393*6f0c003fSPaul Gerber pinctrl-names = "default"; 394*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_pcf85063>; 395*6f0c003fSPaul Gerber interrupt-parent = <&gpio4>; 396*6f0c003fSPaul Gerber interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 397*6f0c003fSPaul Gerber }; 398*6f0c003fSPaul Gerber 399*6f0c003fSPaul Gerber eeprom1: eeprom@54 { 400*6f0c003fSPaul Gerber compatible = "atmel,24c64"; 401*6f0c003fSPaul Gerber reg = <0x54>; 402*6f0c003fSPaul Gerber pagesize = <32>; 403*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 404*6f0c003fSPaul Gerber }; 405*6f0c003fSPaul Gerber 406*6f0c003fSPaul Gerber /* protectable identification memory (part of M24C64-D @50) */ 407*6f0c003fSPaul Gerber eeprom@58 { 408*6f0c003fSPaul Gerber compatible = "atmel,24c64d-wl"; 409*6f0c003fSPaul Gerber reg = <0x58>; 410*6f0c003fSPaul Gerber size = <32>; 411*6f0c003fSPaul Gerber pagesize = <32>; 412*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 413*6f0c003fSPaul Gerber }; 414*6f0c003fSPaul Gerber 415*6f0c003fSPaul Gerber /* protectable identification memory (part of M24C64-D @54) */ 416*6f0c003fSPaul Gerber eeprom@5c { 417*6f0c003fSPaul Gerber compatible = "atmel,24c64d-wl"; 418*6f0c003fSPaul Gerber reg = <0x5c>; 419*6f0c003fSPaul Gerber size = <32>; 420*6f0c003fSPaul Gerber pagesize = <32>; 421*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 422*6f0c003fSPaul Gerber }; 423*6f0c003fSPaul Gerber 424*6f0c003fSPaul Gerber pcieclk: clock-generator@6a { 425*6f0c003fSPaul Gerber compatible = "renesas,9fgv0241"; 426*6f0c003fSPaul Gerber reg = <0x6a>; 427*6f0c003fSPaul Gerber clocks = <&clk_xtal25>; 428*6f0c003fSPaul Gerber #clock-cells = <1>; 429*6f0c003fSPaul Gerber }; 430*6f0c003fSPaul Gerber 431*6f0c003fSPaul Gerber inertial-sensor@6b { 432*6f0c003fSPaul Gerber compatible = "st,ism330dhcx"; 433*6f0c003fSPaul Gerber reg = <0x6b>; 434*6f0c003fSPaul Gerber vdd-supply = <&buck4>; 435*6f0c003fSPaul Gerber vddio-supply = <&buck4>; 436*6f0c003fSPaul Gerber }; 437*6f0c003fSPaul Gerber}; 438*6f0c003fSPaul Gerber 439*6f0c003fSPaul Gerber&i2c2 { 440*6f0c003fSPaul Gerber clock-frequency = <384000>; 441*6f0c003fSPaul Gerber pinctrl-names = "default", "gpio"; 442*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_i2c2>; 443*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_i2c2_gpio>; 444*6f0c003fSPaul Gerber scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 445*6f0c003fSPaul Gerber sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 446*6f0c003fSPaul Gerber status = "okay"; 447*6f0c003fSPaul Gerber 448*6f0c003fSPaul Gerber pmic: pmic@25 { 449*6f0c003fSPaul Gerber reg = <0x25>; 450*6f0c003fSPaul Gerber compatible = "nxp,pca9450c"; 451*6f0c003fSPaul Gerber 452*6f0c003fSPaul Gerber /* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */ 453*6f0c003fSPaul Gerber pinctrl-names = "default"; 454*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_pmic>; 455*6f0c003fSPaul Gerber interrupt-parent = <&gpio1>; 456*6f0c003fSPaul Gerber interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 457*6f0c003fSPaul Gerber 458*6f0c003fSPaul Gerber regulators { 459*6f0c003fSPaul Gerber /* V_0V85_SOC: 0.85 .. 0.95 */ 460*6f0c003fSPaul Gerber buck1: BUCK1 { 461*6f0c003fSPaul Gerber regulator-name = "BUCK1"; 462*6f0c003fSPaul Gerber regulator-min-microvolt = <850000>; 463*6f0c003fSPaul Gerber regulator-max-microvolt = <950000>; 464*6f0c003fSPaul Gerber regulator-boot-on; 465*6f0c003fSPaul Gerber regulator-always-on; 466*6f0c003fSPaul Gerber regulator-ramp-delay = <3125>; 467*6f0c003fSPaul Gerber }; 468*6f0c003fSPaul Gerber 469*6f0c003fSPaul Gerber /* VDD_ARM */ 470*6f0c003fSPaul Gerber buck2: BUCK2 { 471*6f0c003fSPaul Gerber regulator-name = "BUCK2"; 472*6f0c003fSPaul Gerber regulator-min-microvolt = <850000>; 473*6f0c003fSPaul Gerber regulator-max-microvolt = <1000000>; 474*6f0c003fSPaul Gerber regulator-boot-on; 475*6f0c003fSPaul Gerber regulator-always-on; 476*6f0c003fSPaul Gerber nxp,dvs-run-voltage = <950000>; 477*6f0c003fSPaul Gerber nxp,dvs-standby-voltage = <850000>; 478*6f0c003fSPaul Gerber regulator-ramp-delay = <3125>; 479*6f0c003fSPaul Gerber }; 480*6f0c003fSPaul Gerber 481*6f0c003fSPaul Gerber /* VCC3V3 -> VMMC, ... must not be changed */ 482*6f0c003fSPaul Gerber buck4: BUCK4 { 483*6f0c003fSPaul Gerber regulator-name = "BUCK4"; 484*6f0c003fSPaul Gerber regulator-min-microvolt = <3300000>; 485*6f0c003fSPaul Gerber regulator-max-microvolt = <3300000>; 486*6f0c003fSPaul Gerber regulator-boot-on; 487*6f0c003fSPaul Gerber regulator-always-on; 488*6f0c003fSPaul Gerber }; 489*6f0c003fSPaul Gerber 490*6f0c003fSPaul Gerber /* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */ 491*6f0c003fSPaul Gerber buck5: BUCK5 { 492*6f0c003fSPaul Gerber regulator-name = "BUCK5"; 493*6f0c003fSPaul Gerber regulator-min-microvolt = <1800000>; 494*6f0c003fSPaul Gerber regulator-max-microvolt = <1800000>; 495*6f0c003fSPaul Gerber regulator-boot-on; 496*6f0c003fSPaul Gerber regulator-always-on; 497*6f0c003fSPaul Gerber }; 498*6f0c003fSPaul Gerber 499*6f0c003fSPaul Gerber /* V_1V1 -> RAM, ... must not be changed */ 500*6f0c003fSPaul Gerber buck6: BUCK6 { 501*6f0c003fSPaul Gerber regulator-name = "BUCK6"; 502*6f0c003fSPaul Gerber regulator-min-microvolt = <1100000>; 503*6f0c003fSPaul Gerber regulator-max-microvolt = <1100000>; 504*6f0c003fSPaul Gerber regulator-boot-on; 505*6f0c003fSPaul Gerber regulator-always-on; 506*6f0c003fSPaul Gerber }; 507*6f0c003fSPaul Gerber 508*6f0c003fSPaul Gerber /* V_1V8_SNVS */ 509*6f0c003fSPaul Gerber ldo1: LDO1 { 510*6f0c003fSPaul Gerber regulator-name = "LDO1"; 511*6f0c003fSPaul Gerber regulator-min-microvolt = <1800000>; 512*6f0c003fSPaul Gerber regulator-max-microvolt = <1800000>; 513*6f0c003fSPaul Gerber regulator-boot-on; 514*6f0c003fSPaul Gerber regulator-always-on; 515*6f0c003fSPaul Gerber }; 516*6f0c003fSPaul Gerber 517*6f0c003fSPaul Gerber /* V_1V8_ANA */ 518*6f0c003fSPaul Gerber ldo3: LDO3 { 519*6f0c003fSPaul Gerber regulator-name = "LDO3"; 520*6f0c003fSPaul Gerber regulator-min-microvolt = <1800000>; 521*6f0c003fSPaul Gerber regulator-max-microvolt = <1800000>; 522*6f0c003fSPaul Gerber regulator-boot-on; 523*6f0c003fSPaul Gerber regulator-always-on; 524*6f0c003fSPaul Gerber }; 525*6f0c003fSPaul Gerber 526*6f0c003fSPaul Gerber /* unused */ 527*6f0c003fSPaul Gerber ldo4: LDO4 { 528*6f0c003fSPaul Gerber regulator-name = "LDO4"; 529*6f0c003fSPaul Gerber regulator-min-microvolt = <800000>; 530*6f0c003fSPaul Gerber regulator-max-microvolt = <3300000>; 531*6f0c003fSPaul Gerber }; 532*6f0c003fSPaul Gerber 533*6f0c003fSPaul Gerber /* VCC SD IO - switched using SD2 VSELECT */ 534*6f0c003fSPaul Gerber ldo5: LDO5 { 535*6f0c003fSPaul Gerber regulator-name = "LDO5"; 536*6f0c003fSPaul Gerber regulator-min-microvolt = <1800000>; 537*6f0c003fSPaul Gerber regulator-max-microvolt = <3300000>; 538*6f0c003fSPaul Gerber }; 539*6f0c003fSPaul Gerber }; 540*6f0c003fSPaul Gerber }; 541*6f0c003fSPaul Gerber 542*6f0c003fSPaul Gerber tmp1075: temperature-sensor@4a { 543*6f0c003fSPaul Gerber compatible = "ti,tmp1075"; 544*6f0c003fSPaul Gerber reg = <0x4a>; 545*6f0c003fSPaul Gerber pinctrl-names = "default"; 546*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_tmp1075>; 547*6f0c003fSPaul Gerber vs-supply = <&buck4>; 548*6f0c003fSPaul Gerber }; 549*6f0c003fSPaul Gerber 550*6f0c003fSPaul Gerber expander0: gpio@73 { 551*6f0c003fSPaul Gerber compatible = "nxp,pca9538"; 552*6f0c003fSPaul Gerber reg = <0x73>; 553*6f0c003fSPaul Gerber gpio-controller; 554*6f0c003fSPaul Gerber #gpio-cells = <2>; 555*6f0c003fSPaul Gerber vcc-supply = <&buck5>; 556*6f0c003fSPaul Gerber gpio-line-names = "LCD0_BKLT_EN", "LCD0_VDD_EN", 557*6f0c003fSPaul Gerber "LCD1_BKLT_EN", "LCD1_VDD_EN", 558*6f0c003fSPaul Gerber "DP_BRIDGE_EN", "HUB_RST#", 559*6f0c003fSPaul Gerber "ENET0_RESET#", "ENET1_RESET#"; 560*6f0c003fSPaul Gerber }; 561*6f0c003fSPaul Gerber}; 562*6f0c003fSPaul Gerber 563*6f0c003fSPaul Gerber&i2c3 { 564*6f0c003fSPaul Gerber clock-frequency = <384000>; 565*6f0c003fSPaul Gerber pinctrl-names = "default", "gpio"; 566*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_i2c3>; 567*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_i2c3_gpio>; 568*6f0c003fSPaul Gerber scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 569*6f0c003fSPaul Gerber sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 570*6f0c003fSPaul Gerber status = "okay"; 571*6f0c003fSPaul Gerber 572*6f0c003fSPaul Gerber dp_bridge: dp-bridge@f { 573*6f0c003fSPaul Gerber compatible = "toshiba,tc9595", "toshiba,tc358767"; 574*6f0c003fSPaul Gerber reg = <0xf>; 575*6f0c003fSPaul Gerber pinctrl-names = "default"; 576*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_tc9595>; 577*6f0c003fSPaul Gerber clock-names = "ref"; 578*6f0c003fSPaul Gerber clocks = <&clk_dp>; 579*6f0c003fSPaul Gerber reset-gpios = <&expander0 4 GPIO_ACTIVE_HIGH>; 580*6f0c003fSPaul Gerber toshiba,hpd-pin = <0>; 581*6f0c003fSPaul Gerber interrupts-extended = <&gpio5 21 IRQ_TYPE_LEVEL_HIGH>; 582*6f0c003fSPaul Gerber status = "disabled"; 583*6f0c003fSPaul Gerber 584*6f0c003fSPaul Gerber ports { 585*6f0c003fSPaul Gerber #address-cells = <1>; 586*6f0c003fSPaul Gerber #size-cells = <0>; 587*6f0c003fSPaul Gerber 588*6f0c003fSPaul Gerber port@0 { 589*6f0c003fSPaul Gerber reg = <0>; 590*6f0c003fSPaul Gerber 591*6f0c003fSPaul Gerber dsi_in: endpoint { 592*6f0c003fSPaul Gerber remote-endpoint = <&dsi_out>; 593*6f0c003fSPaul Gerber data-lanes = <1 2 3 4>; 594*6f0c003fSPaul Gerber }; 595*6f0c003fSPaul Gerber }; 596*6f0c003fSPaul Gerber 597*6f0c003fSPaul Gerber port@2 { 598*6f0c003fSPaul Gerber reg = <2>; 599*6f0c003fSPaul Gerber 600*6f0c003fSPaul Gerber endpoint { 601*6f0c003fSPaul Gerber toshiba,pre-emphasis = /bits/ 8 <1 1>; 602*6f0c003fSPaul Gerber }; 603*6f0c003fSPaul Gerber }; 604*6f0c003fSPaul Gerber }; 605*6f0c003fSPaul Gerber }; 606*6f0c003fSPaul Gerber}; 607*6f0c003fSPaul Gerber 608*6f0c003fSPaul Gerber&i2c4 { 609*6f0c003fSPaul Gerber clock-frequency = <384000>; 610*6f0c003fSPaul Gerber pinctrl-names = "default", "gpio"; 611*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_i2c4>; 612*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_i2c4_gpio>; 613*6f0c003fSPaul Gerber scl-gpios = <&gpio2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 614*6f0c003fSPaul Gerber sda-gpios = <&gpio2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 615*6f0c003fSPaul Gerber status = "okay"; 616*6f0c003fSPaul Gerber}; 617*6f0c003fSPaul Gerber 618*6f0c003fSPaul Gerber&i2c6 { 619*6f0c003fSPaul Gerber clock-frequency = <384000>; 620*6f0c003fSPaul Gerber pinctrl-names = "default", "gpio"; 621*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_i2c6>; 622*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_i2c6_gpio>; 623*6f0c003fSPaul Gerber scl-gpios = <&gpio2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 624*6f0c003fSPaul Gerber sda-gpios = <&gpio2 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 625*6f0c003fSPaul Gerber status = "okay"; 626*6f0c003fSPaul Gerber}; 627*6f0c003fSPaul Gerber 628*6f0c003fSPaul Gerber// Change parent clock of disp1 pixel clock to audio_pll2 629*6f0c003fSPaul Gerber&media_blk_ctrl { 630*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>, 631*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_MEDIA_APB>, 632*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_MEDIA_DISP1_PIX>, 633*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>, 634*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_MEDIA_ISP>, 635*6f0c003fSPaul Gerber <&clk IMX8MP_VIDEO_PLL1>; 636*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>, 637*6f0c003fSPaul Gerber <&clk IMX8MP_SYS_PLL1_800M>, 638*6f0c003fSPaul Gerber <&clk IMX8MP_AUDIO_PLL2_OUT>, 639*6f0c003fSPaul Gerber <&clk IMX8MP_VIDEO_PLL1_OUT>, 640*6f0c003fSPaul Gerber <&clk IMX8MP_SYS_PLL2_500M>; 641*6f0c003fSPaul Gerber}; 642*6f0c003fSPaul Gerber 643*6f0c003fSPaul Gerber&mipi_dsi { 644*6f0c003fSPaul Gerber samsung,burst-clock-frequency = <1000000000>; 645*6f0c003fSPaul Gerber samsung,esc-clock-frequency = <10000000>; 646*6f0c003fSPaul Gerber 647*6f0c003fSPaul Gerber ports { 648*6f0c003fSPaul Gerber port@1 { 649*6f0c003fSPaul Gerber reg = <1>; 650*6f0c003fSPaul Gerber 651*6f0c003fSPaul Gerber dsi_out: endpoint { 652*6f0c003fSPaul Gerber remote-endpoint = <&dsi_in>; 653*6f0c003fSPaul Gerber data-lanes = <1 2 3 4>; 654*6f0c003fSPaul Gerber }; 655*6f0c003fSPaul Gerber }; 656*6f0c003fSPaul Gerber }; 657*6f0c003fSPaul Gerber}; 658*6f0c003fSPaul Gerber 659*6f0c003fSPaul Gerber&pcie_phy { 660*6f0c003fSPaul Gerber fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 661*6f0c003fSPaul Gerber clock-names = "ref"; 662*6f0c003fSPaul Gerber clocks = <&pcieclk 0>; 663*6f0c003fSPaul Gerber}; 664*6f0c003fSPaul Gerber 665*6f0c003fSPaul Gerber&pcie { 666*6f0c003fSPaul Gerber pinctrl-names = "default"; 667*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_pcie>; 668*6f0c003fSPaul Gerber clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 669*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_HSIO_AXI>, 670*6f0c003fSPaul Gerber <&clk IMX8MP_CLK_PCIE_ROOT>; 671*6f0c003fSPaul Gerber clock-names = "pcie", "pcie_bus", "pcie_aux"; 672*6f0c003fSPaul Gerber reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 673*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 674*6f0c003fSPaul Gerber assigned-clock-rates = <10000000>; 675*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 676*6f0c003fSPaul Gerber}; 677*6f0c003fSPaul Gerber 678*6f0c003fSPaul Gerber&pwm2 { 679*6f0c003fSPaul Gerber pinctrl-names = "default"; 680*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_pwm2>; 681*6f0c003fSPaul Gerber}; 682*6f0c003fSPaul Gerber 683*6f0c003fSPaul Gerber&pwm3 { 684*6f0c003fSPaul Gerber pinctrl-names = "default"; 685*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_pwm3>; 686*6f0c003fSPaul Gerber}; 687*6f0c003fSPaul Gerber 688*6f0c003fSPaul Gerber&sai3 { 689*6f0c003fSPaul Gerber pinctrl-names = "default"; 690*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_sai3>; 691*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_SAI3>; 692*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 693*6f0c003fSPaul Gerber assigned-clock-rates = <12288000>; 694*6f0c003fSPaul Gerber}; 695*6f0c003fSPaul Gerber 696*6f0c003fSPaul Gerber&sai5 { 697*6f0c003fSPaul Gerber pinctrl-names = "default"; 698*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_sai5>; 699*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_SAI5>; 700*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 701*6f0c003fSPaul Gerber assigned-clock-rates = <12288000>; 702*6f0c003fSPaul Gerber fsl,sai-mclk-direction-output; 703*6f0c003fSPaul Gerber}; 704*6f0c003fSPaul Gerber 705*6f0c003fSPaul Gerber&uart1 { 706*6f0c003fSPaul Gerber pinctrl-names = "default"; 707*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_uart1>; 708*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_UART1>; 709*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 710*6f0c003fSPaul Gerber uart-has-rtscts; 711*6f0c003fSPaul Gerber}; 712*6f0c003fSPaul Gerber 713*6f0c003fSPaul Gerber&uart2 { 714*6f0c003fSPaul Gerber pinctrl-names = "default"; 715*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_uart2>; 716*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_UART2>; 717*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 718*6f0c003fSPaul Gerber uart-has-rtscts; 719*6f0c003fSPaul Gerber}; 720*6f0c003fSPaul Gerber 721*6f0c003fSPaul Gerber&uart3 { 722*6f0c003fSPaul Gerber /* console */ 723*6f0c003fSPaul Gerber pinctrl-names = "default"; 724*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_uart3>; 725*6f0c003fSPaul Gerber status = "okay"; 726*6f0c003fSPaul Gerber}; 727*6f0c003fSPaul Gerber 728*6f0c003fSPaul Gerber&uart4 { 729*6f0c003fSPaul Gerber pinctrl-names = "default"; 730*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_uart4>; 731*6f0c003fSPaul Gerber assigned-clocks = <&clk IMX8MP_CLK_UART4>; 732*6f0c003fSPaul Gerber assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 733*6f0c003fSPaul Gerber}; 734*6f0c003fSPaul Gerber 735*6f0c003fSPaul Gerber&usb3_phy0 { 736*6f0c003fSPaul Gerber vbus-supply = <®_5v0>; 737*6f0c003fSPaul Gerber status = "okay"; 738*6f0c003fSPaul Gerber}; 739*6f0c003fSPaul Gerber 740*6f0c003fSPaul Gerber&usb3_phy1 { 741*6f0c003fSPaul Gerber vbus-supply = <®_5v0>; 742*6f0c003fSPaul Gerber status = "okay"; 743*6f0c003fSPaul Gerber}; 744*6f0c003fSPaul Gerber 745*6f0c003fSPaul Gerber&usb3_0 { 746*6f0c003fSPaul Gerber pinctrl-names = "default"; 747*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_usb0>; 748*6f0c003fSPaul Gerber fsl,over-current-active-low; 749*6f0c003fSPaul Gerber}; 750*6f0c003fSPaul Gerber 751*6f0c003fSPaul Gerber&usb3_1 { 752*6f0c003fSPaul Gerber pinctrl-names = "default"; 753*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_usb1>; 754*6f0c003fSPaul Gerber fsl,over-current-active-low; 755*6f0c003fSPaul Gerber status = "okay"; 756*6f0c003fSPaul Gerber}; 757*6f0c003fSPaul Gerber 758*6f0c003fSPaul Gerber&usb_dwc3_0 { 759*6f0c003fSPaul Gerber /* dual role is implemented, but not a full featured OTG */ 760*6f0c003fSPaul Gerber hnp-disable; 761*6f0c003fSPaul Gerber srp-disable; 762*6f0c003fSPaul Gerber adp-disable; 763*6f0c003fSPaul Gerber dr_mode = "otg"; 764*6f0c003fSPaul Gerber usb-role-switch; 765*6f0c003fSPaul Gerber role-switch-default-mode = "peripheral"; 766*6f0c003fSPaul Gerber /* SMARC-2 USB0 interface only supports USB 2.0 signals */ 767*6f0c003fSPaul Gerber maximum-speed = "high-speed"; 768*6f0c003fSPaul Gerber}; 769*6f0c003fSPaul Gerber 770*6f0c003fSPaul Gerber&usb_dwc3_1 { 771*6f0c003fSPaul Gerber dr_mode = "host"; 772*6f0c003fSPaul Gerber #address-cells = <1>; 773*6f0c003fSPaul Gerber #size-cells = <0>; 774*6f0c003fSPaul Gerber status = "okay"; 775*6f0c003fSPaul Gerber 776*6f0c003fSPaul Gerber hub_2_0: hub@1 { 777*6f0c003fSPaul Gerber compatible = "usb451,8142"; 778*6f0c003fSPaul Gerber reg = <1>; 779*6f0c003fSPaul Gerber peer-hub = <&hub_3_0>; 780*6f0c003fSPaul Gerber reset-gpios = <&expander0 5 GPIO_ACTIVE_LOW>; 781*6f0c003fSPaul Gerber vdd-supply = <®_3v3>; 782*6f0c003fSPaul Gerber }; 783*6f0c003fSPaul Gerber 784*6f0c003fSPaul Gerber hub_3_0: hub@2 { 785*6f0c003fSPaul Gerber compatible = "usb451,8140"; 786*6f0c003fSPaul Gerber reg = <2>; 787*6f0c003fSPaul Gerber peer-hub = <&hub_2_0>; 788*6f0c003fSPaul Gerber reset-gpios = <&expander0 5 GPIO_ACTIVE_LOW>; 789*6f0c003fSPaul Gerber vdd-supply = <®_3v3>; 790*6f0c003fSPaul Gerber }; 791*6f0c003fSPaul Gerber}; 792*6f0c003fSPaul Gerber 793*6f0c003fSPaul Gerber&usdhc2 { 794*6f0c003fSPaul Gerber pinctrl-names = "default", "state_100mhz", "state_200mhz"; 795*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 796*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 797*6f0c003fSPaul Gerber pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 798*6f0c003fSPaul Gerber bus-width = <4>; 799*6f0c003fSPaul Gerber vqmmc-supply = <®_usdhc2_vqmmc>; 800*6f0c003fSPaul Gerber /* NOTE: CD / WP and VMMC support depends on mainboard */ 801*6f0c003fSPaul Gerber}; 802*6f0c003fSPaul Gerber 803*6f0c003fSPaul Gerber&usdhc3 { 804*6f0c003fSPaul Gerber pinctrl-names = "default", "state_100mhz", "state_200mhz"; 805*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_usdhc3>; 806*6f0c003fSPaul Gerber pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 807*6f0c003fSPaul Gerber pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 808*6f0c003fSPaul Gerber bus-width = <8>; 809*6f0c003fSPaul Gerber non-removable; 810*6f0c003fSPaul Gerber no-sdio; 811*6f0c003fSPaul Gerber no-sd; 812*6f0c003fSPaul Gerber vmmc-supply = <&buck4>; 813*6f0c003fSPaul Gerber vqmmc-supply = <&buck5>; 814*6f0c003fSPaul Gerber status = "okay"; 815*6f0c003fSPaul Gerber}; 816*6f0c003fSPaul Gerber 817*6f0c003fSPaul Gerber&wdog1 { 818*6f0c003fSPaul Gerber pinctrl-names = "default"; 819*6f0c003fSPaul Gerber pinctrl-0 = <&pinctrl_wdog>; 820*6f0c003fSPaul Gerber fsl,ext-reset-output; 821*6f0c003fSPaul Gerber status = "okay"; 822*6f0c003fSPaul Gerber}; 823*6f0c003fSPaul Gerber 824*6f0c003fSPaul Gerber&iomuxc { 825*6f0c003fSPaul Gerber pinctrl_ecspi1: ecspi1grp { 826*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x1c0>, 827*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x1c0>, 828*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x1c0>, 829*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x1c0>, 830*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 0x1c0>; 831*6f0c003fSPaul Gerber }; 832*6f0c003fSPaul Gerber 833*6f0c003fSPaul Gerber pinctrl_eqos: eqosgrp { 834*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x40000044>, 835*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x40000044>, 836*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90>, 837*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90>, 838*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90>, 839*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90>, 840*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90>, 841*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90>, 842*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x12>, 843*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x12>, 844*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x12>, 845*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x12>, 846*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x12>, 847*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x14>; 848*6f0c003fSPaul Gerber }; 849*6f0c003fSPaul Gerber 850*6f0c003fSPaul Gerber pinctrl_eqos_event: eqosevtgrp { 851*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI2_MCLK__ENET_QOS_1588_EVENT3_IN 0x100>, 852*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI2_TXFS__ENET_QOS_1588_EVENT3_OUT 0x1c0>; 853*6f0c003fSPaul Gerber }; 854*6f0c003fSPaul Gerber 855*6f0c003fSPaul Gerber pinctrl_eqos_phy: eqosphygrp { 856*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_CLK__GPIO2_IO00 0x1c0>; 857*6f0c003fSPaul Gerber }; 858*6f0c003fSPaul Gerber 859*6f0c003fSPaul Gerber pinctrl_espi_rst: espirstgrp { 860*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_RXD3__GPIO4_IO05 0x144>; 861*6f0c003fSPaul Gerber }; 862*6f0c003fSPaul Gerber 863*6f0c003fSPaul Gerber pinctrl_fec: fecgrp { 864*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90>, 865*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90>, 866*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90>, 867*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90>, 868*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90>, 869*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90>, 870*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x12>, 871*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x12>, 872*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x12>, 873*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x12>, 874*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x12>, 875*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x14>; 876*6f0c003fSPaul Gerber }; 877*6f0c003fSPaul Gerber 878*6f0c003fSPaul Gerber pinctrl_fec_event: fecevtgrp { 879*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_RXD1__ENET1_1588_EVENT1_OUT 0x100>, 880*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_RXD0__ENET1_1588_EVENT1_IN 0x1c0>; 881*6f0c003fSPaul Gerber }; 882*6f0c003fSPaul Gerber 883*6f0c003fSPaul Gerber pinctrl_fec_phy: fecphygrp { 884*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_CMD__GPIO2_IO01 0x1c0>; 885*6f0c003fSPaul Gerber }; 886*6f0c003fSPaul Gerber 887*6f0c003fSPaul Gerber pinctrl_flexcan1: flexcan1grp { 888*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x150>, 889*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x150>; 890*6f0c003fSPaul Gerber }; 891*6f0c003fSPaul Gerber 892*6f0c003fSPaul Gerber pinctrl_flexcan2: flexcan2grp { 893*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x150>, 894*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x150>; 895*6f0c003fSPaul Gerber }; 896*6f0c003fSPaul Gerber 897*6f0c003fSPaul Gerber pinctrl_flexspi0: flexspi0grp { 898*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x142>, 899*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82>, 900*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DQS__FLEXSPI_A_DQS 0x40000010>, 901*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82>, 902*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82>, 903*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82>, 904*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82>; 905*6f0c003fSPaul Gerber }; 906*6f0c003fSPaul Gerber 907*6f0c003fSPaul Gerber pinctrl_sdp: gbegrp { 908*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x10>, 909*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x10>; 910*6f0c003fSPaul Gerber }; 911*6f0c003fSPaul Gerber 912*6f0c003fSPaul Gerber pinctrl_gpio1: gpio1grp { 913*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x10>, 914*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x10>, 915*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x10>, 916*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x10>, 917*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x10>, 918*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x80>, 919*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x80>; 920*6f0c003fSPaul Gerber }; 921*6f0c003fSPaul Gerber 922*6f0c003fSPaul Gerber pinctrl_gpio3: gpio3grp { 923*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x10>, 924*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x10>; 925*6f0c003fSPaul Gerber }; 926*6f0c003fSPaul Gerber 927*6f0c003fSPaul Gerber pinctrl_gpio4: gpio4grp { 928*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x10>, 929*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_RXD2__GPIO4_IO04 0x10>, 930*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x10>, 931*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x10>, 932*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x10>, 933*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x10>, 934*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x10>; 935*6f0c003fSPaul Gerber }; 936*6f0c003fSPaul Gerber 937*6f0c003fSPaul Gerber pinctrl_gpio5: gpio5grp { 938*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x10>, 939*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI2_SCLK__GPIO5_IO10 0x10>, 940*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11 0x10>, 941*6f0c003fSPaul Gerber <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x10>; 942*6f0c003fSPaul Gerber }; 943*6f0c003fSPaul Gerber 944*6f0c003fSPaul Gerber pinctrl_hdmi: hdmigrp { 945*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c2>, 946*6f0c003fSPaul Gerber <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c2>, 947*6f0c003fSPaul Gerber <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000010>; 948*6f0c003fSPaul Gerber }; 949*6f0c003fSPaul Gerber 950*6f0c003fSPaul Gerber pinctrl_hoggpio2: hoggpio2grp { 951*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140>; 952*6f0c003fSPaul Gerber }; 953*6f0c003fSPaul Gerber 954*6f0c003fSPaul Gerber pinctrl_i2c1: i2c1grp { 955*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001e2>, 956*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001e2>; 957*6f0c003fSPaul Gerber }; 958*6f0c003fSPaul Gerber 959*6f0c003fSPaul Gerber pinctrl_i2c1_gpio: i2c1-gpiogrp { 960*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x400001e2>, 961*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x400001e2>; 962*6f0c003fSPaul Gerber }; 963*6f0c003fSPaul Gerber 964*6f0c003fSPaul Gerber pinctrl_i2c2: i2c2grp { 965*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001e2>, 966*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001e2>; 967*6f0c003fSPaul Gerber }; 968*6f0c003fSPaul Gerber 969*6f0c003fSPaul Gerber pinctrl_i2c2_gpio: i2c2-gpiogrp { 970*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x400001e2>, 971*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x400001e2>; 972*6f0c003fSPaul Gerber }; 973*6f0c003fSPaul Gerber 974*6f0c003fSPaul Gerber pinctrl_i2c3: i2c3grp { 975*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001e2>, 976*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001e2>; 977*6f0c003fSPaul Gerber }; 978*6f0c003fSPaul Gerber 979*6f0c003fSPaul Gerber pinctrl_i2c3_gpio: i2c3-gpiogrp { 980*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x400001e2>, 981*6f0c003fSPaul Gerber <MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x400001e2>; 982*6f0c003fSPaul Gerber }; 983*6f0c003fSPaul Gerber 984*6f0c003fSPaul Gerber pinctrl_i2c4: i2c4grp { 985*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_DATA2__I2C4_SCL 0x400001e2>, 986*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA3__I2C4_SDA 0x400001e2>; 987*6f0c003fSPaul Gerber }; 988*6f0c003fSPaul Gerber 989*6f0c003fSPaul Gerber pinctrl_i2c4_gpio: i2c4-gpiogrp { 990*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_DATA2__GPIO2_IO04 0x400001e2>, 991*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA3__GPIO2_IO05 0x400001e2>; 992*6f0c003fSPaul Gerber }; 993*6f0c003fSPaul Gerber 994*6f0c003fSPaul Gerber pinctrl_i2c6: i2c6grp { 995*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL 0x400001e2>, 996*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA 0x400001e2>; 997*6f0c003fSPaul Gerber }; 998*6f0c003fSPaul Gerber 999*6f0c003fSPaul Gerber pinctrl_i2c6_gpio: i2c6-gpiogrp { 1000*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02 0x400001e2>, 1001*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03 0x400001e2>; 1002*6f0c003fSPaul Gerber }; 1003*6f0c003fSPaul Gerber 1004*6f0c003fSPaul Gerber pinctrl_pcf85063: pcf85063grp { 1005*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x80>; 1006*6f0c003fSPaul Gerber }; 1007*6f0c003fSPaul Gerber 1008*6f0c003fSPaul Gerber pinctrl_pcie: pciegrp { 1009*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B 0x60>, 1010*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x94>; 1011*6f0c003fSPaul Gerber }; 1012*6f0c003fSPaul Gerber 1013*6f0c003fSPaul Gerber pinctrl_pmic: pmicirqgrp { 1014*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x1c0>; 1015*6f0c003fSPaul Gerber }; 1016*6f0c003fSPaul Gerber 1017*6f0c003fSPaul Gerber pinctrl_pwm2: pwm2grp { 1018*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SPDIF_RX__PWM2_OUT 0x14>; 1019*6f0c003fSPaul Gerber }; 1020*6f0c003fSPaul Gerber 1021*6f0c003fSPaul Gerber pinctrl_pwm3: pwm3grp { 1022*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SPDIF_TX__PWM3_OUT 0x14>; 1023*6f0c003fSPaul Gerber }; 1024*6f0c003fSPaul Gerber 1025*6f0c003fSPaul Gerber pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 1026*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x10>; 1027*6f0c003fSPaul Gerber }; 1028*6f0c003fSPaul Gerber 1029*6f0c003fSPaul Gerber pinctrl_reg_usdhc2_vqmmc: regusdhc2vqmmcgrp { 1030*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0xc0>; 1031*6f0c003fSPaul Gerber }; 1032*6f0c003fSPaul Gerber 1033*6f0c003fSPaul Gerber pinctrl_sai3: sai3grp { 1034*6f0c003fSPaul Gerber fsl,pins = < 1035*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0x94 1036*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x94 1037*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x94 1038*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x94 1039*6f0c003fSPaul Gerber >; 1040*6f0c003fSPaul Gerber }; 1041*6f0c003fSPaul Gerber 1042*6f0c003fSPaul Gerber pinctrl_sai5: sai5grp { 1043*6f0c003fSPaul Gerber fsl,pins = < 1044*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI5_MCLK 0x94 1045*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI5_RX_DATA00 0x94 1046*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI5_TX_DATA00 0x94 1047*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI5_TX_SYNC 0x94 1048*6f0c003fSPaul Gerber MX8MP_IOMUXC_SAI2_RXC__AUDIOMIX_SAI5_TX_BCLK 0x94 1049*6f0c003fSPaul Gerber >; 1050*6f0c003fSPaul Gerber }; 1051*6f0c003fSPaul Gerber 1052*6f0c003fSPaul Gerber pinctrl_tc9595: tc9595grp { 1053*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x10>; 1054*6f0c003fSPaul Gerber }; 1055*6f0c003fSPaul Gerber 1056*6f0c003fSPaul Gerber pinctrl_tmp1075: tmp1075grp { 1057*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_HDMI_CEC__GPIO3_IO28 0x140>; 1058*6f0c003fSPaul Gerber }; 1059*6f0c003fSPaul Gerber 1060*6f0c003fSPaul Gerber pinctrl_uart1: uart1grp { 1061*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140>, 1062*6f0c003fSPaul Gerber <MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140>, 1063*6f0c003fSPaul Gerber <MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS 0x140>, 1064*6f0c003fSPaul Gerber <MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS 0x140>; 1065*6f0c003fSPaul Gerber }; 1066*6f0c003fSPaul Gerber 1067*6f0c003fSPaul Gerber pinctrl_uart2: uart2grp { 1068*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140>, 1069*6f0c003fSPaul Gerber <MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140>, 1070*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA4__UART2_DCE_RTS 0x140>, 1071*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA5__UART2_DCE_CTS 0x140>; 1072*6f0c003fSPaul Gerber }; 1073*6f0c003fSPaul Gerber 1074*6f0c003fSPaul Gerber pinctrl_uart3: uart3grp { 1075*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x140>, 1076*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x140>; 1077*6f0c003fSPaul Gerber }; 1078*6f0c003fSPaul Gerber 1079*6f0c003fSPaul Gerber pinctrl_uart4: uart4grp { 1080*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140>, 1081*6f0c003fSPaul Gerber <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140>; 1082*6f0c003fSPaul Gerber }; 1083*6f0c003fSPaul Gerber 1084*6f0c003fSPaul Gerber pinctrl_usb0: usb0grp { 1085*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x1c0>, 1086*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR 0x1c0>; 1087*6f0c003fSPaul Gerber }; 1088*6f0c003fSPaul Gerber 1089*6f0c003fSPaul Gerber pinctrl_usb1: usb1grp { 1090*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO15__USB2_OTG_OC 0x1c0>, 1091*6f0c003fSPaul Gerber <MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x1c0>; 1092*6f0c003fSPaul Gerber }; 1093*6f0c003fSPaul Gerber 1094*6f0c003fSPaul Gerber pinctrl_usbcon0: usb0congrp { 1095*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x1c0>; 1096*6f0c003fSPaul Gerber }; 1097*6f0c003fSPaul Gerber 1098*6f0c003fSPaul Gerber pinctrl_usdhc2: usdhc2grp { 1099*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x192>, 1100*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d2>, 1101*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d2>, 1102*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d2>, 1103*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d2>, 1104*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d2>; 1105*6f0c003fSPaul Gerber }; 1106*6f0c003fSPaul Gerber 1107*6f0c003fSPaul Gerber pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 1108*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>, 1109*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>, 1110*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>, 1111*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>, 1112*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>, 1113*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>; 1114*6f0c003fSPaul Gerber }; 1115*6f0c003fSPaul Gerber 1116*6f0c003fSPaul Gerber pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 1117*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>, 1118*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>, 1119*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>, 1120*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>, 1121*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>, 1122*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>; 1123*6f0c003fSPaul Gerber }; 1124*6f0c003fSPaul Gerber 1125*6f0c003fSPaul Gerber pinctrl_usdhc2_gpio: usdhc2-gpiogrp { 1126*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c0>, 1127*6f0c003fSPaul Gerber <MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x1c0>; 1128*6f0c003fSPaul Gerber }; 1129*6f0c003fSPaul Gerber 1130*6f0c003fSPaul Gerber pinctrl_usdhc3: usdhc3grp { 1131*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 1132*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 1133*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 1134*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 1135*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 1136*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 1137*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 1138*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 1139*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 1140*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 1141*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 1142*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 1143*6f0c003fSPaul Gerber }; 1144*6f0c003fSPaul Gerber 1145*6f0c003fSPaul Gerber pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 1146*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 1147*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 1148*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 1149*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 1150*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 1151*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 1152*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 1153*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 1154*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 1155*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 1156*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 1157*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 1158*6f0c003fSPaul Gerber }; 1159*6f0c003fSPaul Gerber 1160*6f0c003fSPaul Gerber pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 1161*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 1162*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 1163*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 1164*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 1165*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 1166*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 1167*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 1168*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 1169*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 1170*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 1171*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 1172*6f0c003fSPaul Gerber <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 1173*6f0c003fSPaul Gerber }; 1174*6f0c003fSPaul Gerber 1175*6f0c003fSPaul Gerber pinctrl_wdog: wdoggrp { 1176*6f0c003fSPaul Gerber fsl,pins = <MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x1c4>; 1177*6f0c003fSPaul Gerber }; 1178*6f0c003fSPaul Gerber}; 1179