1*5297deefSStefano Radaelli// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*5297deefSStefano Radaelli/* 3*5297deefSStefano Radaelli * Common dtsi for Variscite DART-MX8M-MINI 4*5297deefSStefano Radaelli * 5*5297deefSStefano Radaelli * Link: https://variscite.com/system-on-module-som/i-mx-8/i-mx-8m-mini/dart-mx8m-mini/ 6*5297deefSStefano Radaelli * 7*5297deefSStefano Radaelli * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com/ 8*5297deefSStefano Radaelli * 9*5297deefSStefano Radaelli */ 10*5297deefSStefano Radaelli 11*5297deefSStefano Radaelli/dts-v1/; 12*5297deefSStefano Radaelli 13*5297deefSStefano Radaelli#include "imx8mm.dtsi" 14*5297deefSStefano Radaelli 15*5297deefSStefano Radaelli/ { 16*5297deefSStefano Radaelli model = "Variscite DART-MX8M-MINI Module"; 17*5297deefSStefano Radaelli compatible = "variscite,var-dart-mx8mm", "fsl,imx8mm"; 18*5297deefSStefano Radaelli 19*5297deefSStefano Radaelli memory@40000000 { 20*5297deefSStefano Radaelli device_type = "memory"; 21*5297deefSStefano Radaelli reg = <0x0 0x40000000 0 0x80000000>; 22*5297deefSStefano Radaelli }; 23*5297deefSStefano Radaelli 24*5297deefSStefano Radaelli reg_audio_supply: regulator-3p3v { 25*5297deefSStefano Radaelli compatible = "regulator-fixed"; 26*5297deefSStefano Radaelli regulator-name = "wm8904-supply"; 27*5297deefSStefano Radaelli regulator-min-microvolt = <3300000>; 28*5297deefSStefano Radaelli regulator-max-microvolt = <3300000>; 29*5297deefSStefano Radaelli regulator-always-on; 30*5297deefSStefano Radaelli }; 31*5297deefSStefano Radaelli 32*5297deefSStefano Radaelli reg_eth_phy: regulator-eth-phy { 33*5297deefSStefano Radaelli compatible = "regulator-fixed"; 34*5297deefSStefano Radaelli pinctrl-names = "default"; 35*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_reg_eth_phy>; 36*5297deefSStefano Radaelli regulator-name = "eth_phy_pwr"; 37*5297deefSStefano Radaelli regulator-min-microvolt = <3300000>; 38*5297deefSStefano Radaelli regulator-max-microvolt = <3300000>; 39*5297deefSStefano Radaelli regulator-enable-ramp-delay = <20000>; 40*5297deefSStefano Radaelli gpio = <&gpio1 7 GPIO_ACTIVE_LOW>; 41*5297deefSStefano Radaelli }; 42*5297deefSStefano Radaelli 43*5297deefSStefano Radaelli reg_phy_vddio: regulator-phy-vddio { 44*5297deefSStefano Radaelli compatible = "regulator-fixed"; 45*5297deefSStefano Radaelli regulator-name = "vddio-1v8"; 46*5297deefSStefano Radaelli regulator-min-microvolt = <1800000>; 47*5297deefSStefano Radaelli regulator-max-microvolt = <1800000>; 48*5297deefSStefano Radaelli }; 49*5297deefSStefano Radaelli 50*5297deefSStefano Radaelli sound-wm8904 { 51*5297deefSStefano Radaelli compatible = "simple-audio-card"; 52*5297deefSStefano Radaelli simple-audio-card,bitclock-master = <&codec_dai>; 53*5297deefSStefano Radaelli simple-audio-card,format = "i2s"; 54*5297deefSStefano Radaelli simple-audio-card,frame-master = <&codec_dai>; 55*5297deefSStefano Radaelli simple-audio-card,mclk-fs = <256>; 56*5297deefSStefano Radaelli simple-audio-card,name = "wm8904-audio"; 57*5297deefSStefano Radaelli simple-audio-card,routing = 58*5297deefSStefano Radaelli "Headphone Jack", "HPOUTL", 59*5297deefSStefano Radaelli "Headphone Jack", "HPOUTR", 60*5297deefSStefano Radaelli "IN2L", "Line In Jack", 61*5297deefSStefano Radaelli "IN2R", "Line In Jack", 62*5297deefSStefano Radaelli "IN1L", "Microphone Jack", 63*5297deefSStefano Radaelli "IN1R", "Microphone Jack"; 64*5297deefSStefano Radaelli simple-audio-card,widgets = 65*5297deefSStefano Radaelli "Microphone", "Microphone Jack", 66*5297deefSStefano Radaelli "Headphone", "Headphone Jack", 67*5297deefSStefano Radaelli "Line", "Line In Jack"; 68*5297deefSStefano Radaelli 69*5297deefSStefano Radaelli codec_dai: simple-audio-card,codec { 70*5297deefSStefano Radaelli sound-dai = <&wm8904>; 71*5297deefSStefano Radaelli }; 72*5297deefSStefano Radaelli 73*5297deefSStefano Radaelli simple-audio-card,cpu { 74*5297deefSStefano Radaelli sound-dai = <&sai3>; 75*5297deefSStefano Radaelli }; 76*5297deefSStefano Radaelli }; 77*5297deefSStefano Radaelli 78*5297deefSStefano Radaelli wifi_pwrseq: wifi-pwrseq { 79*5297deefSStefano Radaelli compatible = "mmc-pwrseq-simple"; 80*5297deefSStefano Radaelli post-power-on-delay-ms = <100>; 81*5297deefSStefano Radaelli power-off-delay-us = <10000>; 82*5297deefSStefano Radaelli reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>, /* WIFI_RESET */ 83*5297deefSStefano Radaelli <&gpio2 20 GPIO_ACTIVE_LOW>; /* WIFI_PWR_EN */ 84*5297deefSStefano Radaelli }; 85*5297deefSStefano Radaelli}; 86*5297deefSStefano Radaelli 87*5297deefSStefano Radaelli&A53_0 { 88*5297deefSStefano Radaelli cpu-supply = <&buck2_reg>; 89*5297deefSStefano Radaelli}; 90*5297deefSStefano Radaelli 91*5297deefSStefano Radaelli&A53_1 { 92*5297deefSStefano Radaelli cpu-supply = <&buck2_reg>; 93*5297deefSStefano Radaelli}; 94*5297deefSStefano Radaelli 95*5297deefSStefano Radaelli&A53_2 { 96*5297deefSStefano Radaelli cpu-supply = <&buck2_reg>; 97*5297deefSStefano Radaelli}; 98*5297deefSStefano Radaelli 99*5297deefSStefano Radaelli&A53_3 { 100*5297deefSStefano Radaelli cpu-supply = <&buck2_reg>; 101*5297deefSStefano Radaelli}; 102*5297deefSStefano Radaelli 103*5297deefSStefano Radaelli&fec1 { 104*5297deefSStefano Radaelli pinctrl-names = "default", "sleep"; 105*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_fec1>; 106*5297deefSStefano Radaelli pinctrl-1 = <&pinctrl_fec1_sleep>; 107*5297deefSStefano Radaelli /* 108*5297deefSStefano Radaelli * The required RGMII TX and RX 2ns delays are implemented directly 109*5297deefSStefano Radaelli * in hardware via passive delay elements on the SOM PCB. 110*5297deefSStefano Radaelli * No delay configuration is needed in software via PHY driver. 111*5297deefSStefano Radaelli */ 112*5297deefSStefano Radaelli phy-mode = "rgmii"; 113*5297deefSStefano Radaelli phy-handle = <ðphy0>; 114*5297deefSStefano Radaelli phy-supply = <®_eth_phy>; 115*5297deefSStefano Radaelli status = "okay"; 116*5297deefSStefano Radaelli 117*5297deefSStefano Radaelli mdio { 118*5297deefSStefano Radaelli #address-cells = <1>; 119*5297deefSStefano Radaelli #size-cells = <0>; 120*5297deefSStefano Radaelli 121*5297deefSStefano Radaelli ethphy0: ethernet-phy@0 { 122*5297deefSStefano Radaelli compatible = "ethernet-phy-ieee802.3-c22"; 123*5297deefSStefano Radaelli reg = <0>; 124*5297deefSStefano Radaelli reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 125*5297deefSStefano Radaelli reset-assert-us = <10000>; 126*5297deefSStefano Radaelli reset-deassert-us = <100000>; 127*5297deefSStefano Radaelli vddio-supply = <®_phy_vddio>; 128*5297deefSStefano Radaelli }; 129*5297deefSStefano Radaelli }; 130*5297deefSStefano Radaelli}; 131*5297deefSStefano Radaelli 132*5297deefSStefano Radaelli&i2c1 { 133*5297deefSStefano Radaelli clock-frequency = <100000>; 134*5297deefSStefano Radaelli pinctrl-names = "default", "gpio"; 135*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_i2c1>; 136*5297deefSStefano Radaelli pinctrl-1 = <&pinctrl_i2c1_gpio>; 137*5297deefSStefano Radaelli scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 138*5297deefSStefano Radaelli sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 139*5297deefSStefano Radaelli status = "okay"; 140*5297deefSStefano Radaelli 141*5297deefSStefano Radaelli pmic@4b { 142*5297deefSStefano Radaelli compatible = "rohm,bd71847"; 143*5297deefSStefano Radaelli reg = <0x4b>; 144*5297deefSStefano Radaelli pinctrl-names = "default"; 145*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_pmic>; 146*5297deefSStefano Radaelli interrupt-parent = <&gpio2>; 147*5297deefSStefano Radaelli interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 148*5297deefSStefano Radaelli rohm,reset-snvs-powered; 149*5297deefSStefano Radaelli 150*5297deefSStefano Radaelli regulators { 151*5297deefSStefano Radaelli buck1_reg: BUCK1 { 152*5297deefSStefano Radaelli regulator-name = "buck1"; 153*5297deefSStefano Radaelli regulator-min-microvolt = <700000>; 154*5297deefSStefano Radaelli regulator-max-microvolt = <1300000>; 155*5297deefSStefano Radaelli regulator-boot-on; 156*5297deefSStefano Radaelli regulator-always-on; 157*5297deefSStefano Radaelli regulator-ramp-delay = <1250>; 158*5297deefSStefano Radaelli }; 159*5297deefSStefano Radaelli 160*5297deefSStefano Radaelli buck2_reg: BUCK2 { 161*5297deefSStefano Radaelli regulator-name = "buck2"; 162*5297deefSStefano Radaelli regulator-min-microvolt = <700000>; 163*5297deefSStefano Radaelli regulator-max-microvolt = <1300000>; 164*5297deefSStefano Radaelli regulator-boot-on; 165*5297deefSStefano Radaelli regulator-always-on; 166*5297deefSStefano Radaelli regulator-ramp-delay = <1250>; 167*5297deefSStefano Radaelli rohm,dvs-run-voltage = <1000000>; 168*5297deefSStefano Radaelli rohm,dvs-idle-voltage = <900000>; 169*5297deefSStefano Radaelli }; 170*5297deefSStefano Radaelli 171*5297deefSStefano Radaelli buck3_reg: BUCK3 { 172*5297deefSStefano Radaelli // BUCK5 in datasheet 173*5297deefSStefano Radaelli regulator-name = "buck3"; 174*5297deefSStefano Radaelli regulator-min-microvolt = <700000>; 175*5297deefSStefano Radaelli regulator-max-microvolt = <1350000>; 176*5297deefSStefano Radaelli regulator-boot-on; 177*5297deefSStefano Radaelli regulator-always-on; 178*5297deefSStefano Radaelli }; 179*5297deefSStefano Radaelli 180*5297deefSStefano Radaelli buck4_reg: BUCK4 { 181*5297deefSStefano Radaelli // BUCK6 in datasheet 182*5297deefSStefano Radaelli regulator-name = "buck4"; 183*5297deefSStefano Radaelli regulator-min-microvolt = <2600000>; 184*5297deefSStefano Radaelli regulator-max-microvolt = <3300000>; 185*5297deefSStefano Radaelli regulator-boot-on; 186*5297deefSStefano Radaelli regulator-always-on; 187*5297deefSStefano Radaelli }; 188*5297deefSStefano Radaelli 189*5297deefSStefano Radaelli buck5_reg: BUCK5 { 190*5297deefSStefano Radaelli // BUCK7 in datasheet 191*5297deefSStefano Radaelli regulator-name = "buck5"; 192*5297deefSStefano Radaelli regulator-min-microvolt = <1605000>; 193*5297deefSStefano Radaelli regulator-max-microvolt = <1995000>; 194*5297deefSStefano Radaelli regulator-boot-on; 195*5297deefSStefano Radaelli regulator-always-on; 196*5297deefSStefano Radaelli }; 197*5297deefSStefano Radaelli 198*5297deefSStefano Radaelli buck6_reg: BUCK6 { 199*5297deefSStefano Radaelli // BUCK8 in datasheet 200*5297deefSStefano Radaelli regulator-name = "buck6"; 201*5297deefSStefano Radaelli regulator-min-microvolt = <800000>; 202*5297deefSStefano Radaelli regulator-max-microvolt = <1400000>; 203*5297deefSStefano Radaelli regulator-boot-on; 204*5297deefSStefano Radaelli regulator-always-on; 205*5297deefSStefano Radaelli }; 206*5297deefSStefano Radaelli 207*5297deefSStefano Radaelli ldo1_reg: LDO1 { 208*5297deefSStefano Radaelli regulator-name = "ldo1"; 209*5297deefSStefano Radaelli regulator-min-microvolt = <1600000>; 210*5297deefSStefano Radaelli regulator-max-microvolt = <1900000>; 211*5297deefSStefano Radaelli regulator-boot-on; 212*5297deefSStefano Radaelli regulator-always-on; 213*5297deefSStefano Radaelli }; 214*5297deefSStefano Radaelli 215*5297deefSStefano Radaelli ldo2_reg: LDO2 { 216*5297deefSStefano Radaelli regulator-name = "ldo2"; 217*5297deefSStefano Radaelli regulator-min-microvolt = <800000>; 218*5297deefSStefano Radaelli regulator-max-microvolt = <900000>; 219*5297deefSStefano Radaelli regulator-boot-on; 220*5297deefSStefano Radaelli regulator-always-on; 221*5297deefSStefano Radaelli }; 222*5297deefSStefano Radaelli 223*5297deefSStefano Radaelli ldo3_reg: LDO3 { 224*5297deefSStefano Radaelli regulator-name = "ldo3"; 225*5297deefSStefano Radaelli regulator-min-microvolt = <1800000>; 226*5297deefSStefano Radaelli regulator-max-microvolt = <3300000>; 227*5297deefSStefano Radaelli regulator-boot-on; 228*5297deefSStefano Radaelli regulator-always-on; 229*5297deefSStefano Radaelli }; 230*5297deefSStefano Radaelli 231*5297deefSStefano Radaelli ldo4_reg: LDO4 { 232*5297deefSStefano Radaelli regulator-name = "ldo4"; 233*5297deefSStefano Radaelli regulator-min-microvolt = <900000>; 234*5297deefSStefano Radaelli regulator-max-microvolt = <1800000>; 235*5297deefSStefano Radaelli regulator-always-on; 236*5297deefSStefano Radaelli }; 237*5297deefSStefano Radaelli 238*5297deefSStefano Radaelli ldo5_reg: LDO5 { 239*5297deefSStefano Radaelli regulator-name = "ldo5"; 240*5297deefSStefano Radaelli regulator-min-microvolt = <1800000>; 241*5297deefSStefano Radaelli regulator-max-microvolt = <1800000>; 242*5297deefSStefano Radaelli regulator-always-on; 243*5297deefSStefano Radaelli }; 244*5297deefSStefano Radaelli 245*5297deefSStefano Radaelli ldo6_reg: LDO6 { 246*5297deefSStefano Radaelli regulator-name = "ldo6"; 247*5297deefSStefano Radaelli regulator-min-microvolt = <900000>; 248*5297deefSStefano Radaelli regulator-max-microvolt = <1800000>; 249*5297deefSStefano Radaelli regulator-boot-on; 250*5297deefSStefano Radaelli regulator-always-on; 251*5297deefSStefano Radaelli }; 252*5297deefSStefano Radaelli }; 253*5297deefSStefano Radaelli }; 254*5297deefSStefano Radaelli}; 255*5297deefSStefano Radaelli 256*5297deefSStefano Radaelli&i2c3 { 257*5297deefSStefano Radaelli clock-frequency = <100000>; 258*5297deefSStefano Radaelli pinctrl-names = "default", "gpio"; 259*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_i2c3>; 260*5297deefSStefano Radaelli pinctrl-1 = <&pinctrl_i2c3_gpio>; 261*5297deefSStefano Radaelli scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 262*5297deefSStefano Radaelli sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 263*5297deefSStefano Radaelli status = "okay"; 264*5297deefSStefano Radaelli 265*5297deefSStefano Radaelli wm8904: audio-codec@1a { 266*5297deefSStefano Radaelli compatible = "wlf,wm8904"; 267*5297deefSStefano Radaelli reg = <0x1a>; 268*5297deefSStefano Radaelli #sound-dai-cells = <0>; 269*5297deefSStefano Radaelli clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; 270*5297deefSStefano Radaelli clock-names = "mclk"; 271*5297deefSStefano Radaelli AVDD-supply = <&ldo5_reg>; 272*5297deefSStefano Radaelli CPVDD-supply = <&ldo5_reg>; 273*5297deefSStefano Radaelli DBVDD-supply = <®_audio_supply>; 274*5297deefSStefano Radaelli DCVDD-supply = <&ldo5_reg>; 275*5297deefSStefano Radaelli MICVDD-supply = <&ldo5_reg>; 276*5297deefSStefano Radaelli wlf,drc-cfg-names = "default", "peaklimiter", "tradition", 277*5297deefSStefano Radaelli "soft", "music"; 278*5297deefSStefano Radaelli /* 279*5297deefSStefano Radaelli * Config registers per name, respectively: 280*5297deefSStefano Radaelli * KNEE_IP = 0, KNEE_OP = 0, HI_COMP = 1, LO_COMP = 1 281*5297deefSStefano Radaelli * KNEE_IP = -24, KNEE_OP = -6, HI_COMP = 1/4, LO_COMP = 1 282*5297deefSStefano Radaelli * KNEE_IP = -42, KNEE_OP = -3, HI_COMP = 0, LO_COMP = 1 283*5297deefSStefano Radaelli * KNEE_IP = -45, KNEE_OP = -9, HI_COMP = 1/8, LO_COMP = 1 284*5297deefSStefano Radaelli * KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1 285*5297deefSStefano Radaelli */ 286*5297deefSStefano Radaelli wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>, 287*5297deefSStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0010 0x0408>, 288*5297deefSStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0028 0x0704>, 289*5297deefSStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0018 0x078c>, 290*5297deefSStefano Radaelli /bits/ 16 <0x04af 0x324b 0x0010 0x050e>; 291*5297deefSStefano Radaelli /* GPIO1 = DMIC_CLK, don't touch others */ 292*5297deefSStefano Radaelli wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>; 293*5297deefSStefano Radaelli }; 294*5297deefSStefano Radaelli}; 295*5297deefSStefano Radaelli 296*5297deefSStefano Radaelli&mu { 297*5297deefSStefano Radaelli status = "okay"; 298*5297deefSStefano Radaelli}; 299*5297deefSStefano Radaelli 300*5297deefSStefano Radaelli&sai3 { 301*5297deefSStefano Radaelli #sound-dai-cells = <0>; 302*5297deefSStefano Radaelli pinctrl-names = "default"; 303*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_sai3>; 304*5297deefSStefano Radaelli assigned-clocks = <&clk IMX8MM_CLK_SAI3>; 305*5297deefSStefano Radaelli assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; 306*5297deefSStefano Radaelli assigned-clock-rates = <1536000>; 307*5297deefSStefano Radaelli fsl,sai-mclk-direction-output; 308*5297deefSStefano Radaelli status = "okay"; 309*5297deefSStefano Radaelli}; 310*5297deefSStefano Radaelli 311*5297deefSStefano Radaelli/* BT module */ 312*5297deefSStefano Radaelli&uart4 { 313*5297deefSStefano Radaelli pinctrl-names = "default"; 314*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_uart4>, <&pinctrl_bt>; 315*5297deefSStefano Radaelli assigned-clocks = <&clk IMX8MM_CLK_UART4>; 316*5297deefSStefano Radaelli assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; 317*5297deefSStefano Radaelli uart-has-rtscts; 318*5297deefSStefano Radaelli status = "okay"; 319*5297deefSStefano Radaelli 320*5297deefSStefano Radaelli bluetooth_iw61x: bluetooth { 321*5297deefSStefano Radaelli compatible = "nxp,88w8987-bt"; 322*5297deefSStefano Radaelli }; 323*5297deefSStefano Radaelli}; 324*5297deefSStefano Radaelli 325*5297deefSStefano Radaelli/* WIFI */ 326*5297deefSStefano Radaelli&usdhc1 { 327*5297deefSStefano Radaelli pinctrl-names = "default", "state_100mhz", "state_200mhz"; 328*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wifi>; 329*5297deefSStefano Radaelli pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wifi>; 330*5297deefSStefano Radaelli pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wifi>; 331*5297deefSStefano Radaelli bus-width = <4>; 332*5297deefSStefano Radaelli keep-power-in-suspend; 333*5297deefSStefano Radaelli mmc-pwrseq = <&wifi_pwrseq>; 334*5297deefSStefano Radaelli non-removable; 335*5297deefSStefano Radaelli status = "okay"; 336*5297deefSStefano Radaelli}; 337*5297deefSStefano Radaelli 338*5297deefSStefano Radaelli/* eMMC */ 339*5297deefSStefano Radaelli&usdhc3 { 340*5297deefSStefano Radaelli pinctrl-names = "default", "state_100mhz", "state_200mhz"; 341*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_usdhc3>; 342*5297deefSStefano Radaelli pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 343*5297deefSStefano Radaelli pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 344*5297deefSStefano Radaelli bus-width = <8>; 345*5297deefSStefano Radaelli non-removable; 346*5297deefSStefano Radaelli status = "okay"; 347*5297deefSStefano Radaelli}; 348*5297deefSStefano Radaelli 349*5297deefSStefano Radaelli&wdog1 { 350*5297deefSStefano Radaelli pinctrl-names = "default"; 351*5297deefSStefano Radaelli pinctrl-0 = <&pinctrl_wdog>; 352*5297deefSStefano Radaelli fsl,ext-reset-output; 353*5297deefSStefano Radaelli status = "okay"; 354*5297deefSStefano Radaelli}; 355*5297deefSStefano Radaelli 356*5297deefSStefano Radaelli&iomuxc { 357*5297deefSStefano Radaelli pinctrl_bt: btgrp { 358*5297deefSStefano Radaelli fsl,pins = < 359*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0xc1 360*5297deefSStefano Radaelli MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0xc1 361*5297deefSStefano Radaelli >; 362*5297deefSStefano Radaelli }; 363*5297deefSStefano Radaelli 364*5297deefSStefano Radaelli pinctrl_fec1: fec1grp { 365*5297deefSStefano Radaelli fsl,pins = < 366*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 367*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 368*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 369*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 370*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 371*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 372*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 373*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 374*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 375*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 376*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 377*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 378*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 379*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 380*5297deefSStefano Radaelli MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 381*5297deefSStefano Radaelli >; 382*5297deefSStefano Radaelli }; 383*5297deefSStefano Radaelli 384*5297deefSStefano Radaelli pinctrl_fec1_sleep: fec1sleepgrp { 385*5297deefSStefano Radaelli fsl,pins = < 386*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_MDC_GPIO1_IO16 0x120 387*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_MDIO_GPIO1_IO17 0x120 388*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD3_GPIO1_IO18 0x120 389*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD2_GPIO1_IO19 0x120 390*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD1_GPIO1_IO20 0x120 391*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TD0_GPIO1_IO21 0x120 392*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD3_GPIO1_IO29 0x120 393*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD2_GPIO1_IO28 0x120 394*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD1_GPIO1_IO27 0x120 395*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RD0_GPIO1_IO26 0x120 396*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TXC_GPIO1_IO23 0x120 397*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RXC_GPIO1_IO25 0x120 398*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_RX_CTL_GPIO1_IO24 0x120 399*5297deefSStefano Radaelli MX8MM_IOMUXC_ENET_TX_CTL_GPIO1_IO22 0x120 400*5297deefSStefano Radaelli MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x100 401*5297deefSStefano Radaelli >; 402*5297deefSStefano Radaelli }; 403*5297deefSStefano Radaelli 404*5297deefSStefano Radaelli pinctrl_i2c1: i2c1grp { 405*5297deefSStefano Radaelli fsl,pins = < 406*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 407*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 408*5297deefSStefano Radaelli >; 409*5297deefSStefano Radaelli }; 410*5297deefSStefano Radaelli 411*5297deefSStefano Radaelli pinctrl_i2c1_gpio: i2c1-gpiogrp { 412*5297deefSStefano Radaelli fsl,pins = < 413*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14 0x400001c3 414*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15 0x400001c3 415*5297deefSStefano Radaelli >; 416*5297deefSStefano Radaelli }; 417*5297deefSStefano Radaelli 418*5297deefSStefano Radaelli pinctrl_i2c3: i2c3grp { 419*5297deefSStefano Radaelli fsl,pins = < 420*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 421*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 422*5297deefSStefano Radaelli >; 423*5297deefSStefano Radaelli }; 424*5297deefSStefano Radaelli 425*5297deefSStefano Radaelli pinctrl_i2c3_gpio: i2c3-gpiogrp { 426*5297deefSStefano Radaelli fsl,pins = < 427*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x400001c3 428*5297deefSStefano Radaelli MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x400001c3 429*5297deefSStefano Radaelli >; 430*5297deefSStefano Radaelli }; 431*5297deefSStefano Radaelli 432*5297deefSStefano Radaelli pinctrl_pmic: pmicgrp { 433*5297deefSStefano Radaelli fsl,pins = < 434*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x140 435*5297deefSStefano Radaelli >; 436*5297deefSStefano Radaelli }; 437*5297deefSStefano Radaelli 438*5297deefSStefano Radaelli pinctrl_reg_eth_phy: regeth-phygrp { 439*5297deefSStefano Radaelli fsl,pins = < 440*5297deefSStefano Radaelli MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x41 441*5297deefSStefano Radaelli >; 442*5297deefSStefano Radaelli }; 443*5297deefSStefano Radaelli 444*5297deefSStefano Radaelli pinctrl_sai3: sai3grp { 445*5297deefSStefano Radaelli fsl,pins = < 446*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_RXFS_SAI3_RX_SYNC 0xd6 447*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_RXC_SAI3_RX_BCLK 0xd6 448*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 449*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 450*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 451*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 452*5297deefSStefano Radaelli MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 453*5297deefSStefano Radaelli >; 454*5297deefSStefano Radaelli }; 455*5297deefSStefano Radaelli 456*5297deefSStefano Radaelli pinctrl_uart4: uart4grp { 457*5297deefSStefano Radaelli fsl,pins = < 458*5297deefSStefano Radaelli MX8MM_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x140 459*5297deefSStefano Radaelli MX8MM_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x140 460*5297deefSStefano Radaelli MX8MM_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x140 461*5297deefSStefano Radaelli MX8MM_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B 0x140 462*5297deefSStefano Radaelli >; 463*5297deefSStefano Radaelli }; 464*5297deefSStefano Radaelli 465*5297deefSStefano Radaelli pinctrl_usdhc1: usdhc1grp { 466*5297deefSStefano Radaelli fsl,pins = < 467*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190 468*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0 469*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0 470*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0 471*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0 472*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0 473*5297deefSStefano Radaelli >; 474*5297deefSStefano Radaelli }; 475*5297deefSStefano Radaelli 476*5297deefSStefano Radaelli pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 477*5297deefSStefano Radaelli fsl,pins = < 478*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194 479*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4 480*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4 481*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4 482*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4 483*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4 484*5297deefSStefano Radaelli >; 485*5297deefSStefano Radaelli }; 486*5297deefSStefano Radaelli 487*5297deefSStefano Radaelli pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 488*5297deefSStefano Radaelli fsl,pins = < 489*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196 490*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6 491*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6 492*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6 493*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6 494*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6 495*5297deefSStefano Radaelli >; 496*5297deefSStefano Radaelli }; 497*5297deefSStefano Radaelli 498*5297deefSStefano Radaelli pinctrl_usdhc3: usdhc3grp { 499*5297deefSStefano Radaelli fsl,pins = < 500*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190 501*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 502*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 503*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 504*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 505*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 506*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 507*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 508*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 509*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 510*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 511*5297deefSStefano Radaelli >; 512*5297deefSStefano Radaelli }; 513*5297deefSStefano Radaelli 514*5297deefSStefano Radaelli pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 515*5297deefSStefano Radaelli fsl,pins = < 516*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 517*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 518*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4 519*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4 520*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4 521*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4 522*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4 523*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4 524*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4 525*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4 526*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194 527*5297deefSStefano Radaelli >; 528*5297deefSStefano Radaelli }; 529*5297deefSStefano Radaelli 530*5297deefSStefano Radaelli pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 531*5297deefSStefano Radaelli fsl,pins = < 532*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 533*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 534*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6 535*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6 536*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6 537*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6 538*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6 539*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6 540*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6 541*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6 542*5297deefSStefano Radaelli MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196 543*5297deefSStefano Radaelli >; 544*5297deefSStefano Radaelli }; 545*5297deefSStefano Radaelli 546*5297deefSStefano Radaelli pinctrl_wdog: wdoggrp { 547*5297deefSStefano Radaelli fsl,pins = < 548*5297deefSStefano Radaelli MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 549*5297deefSStefano Radaelli >; 550*5297deefSStefano Radaelli }; 551*5297deefSStefano Radaelli 552*5297deefSStefano Radaelli pinctrl_wifi: wifigrp { 553*5297deefSStefano Radaelli fsl,pins = < 554*5297deefSStefano Radaelli MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x140 555*5297deefSStefano Radaelli MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0xc1 556*5297deefSStefano Radaelli >; 557*5297deefSStefano Radaelli }; 558*5297deefSStefano Radaelli}; 559