1*791b02daSAnson Huang// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*791b02daSAnson Huang/* 3*791b02daSAnson Huang * Copyright 2019 NXP 4*791b02daSAnson Huang */ 5*791b02daSAnson Huang 6*791b02daSAnson Huang#include "imx8mn.dtsi" 7*791b02daSAnson Huang 8*791b02daSAnson Huang/ { 9*791b02daSAnson Huang chosen { 10*791b02daSAnson Huang stdout-path = &uart2; 11*791b02daSAnson Huang }; 12*791b02daSAnson Huang 13*791b02daSAnson Huang gpio-leds { 14*791b02daSAnson Huang compatible = "gpio-leds"; 15*791b02daSAnson Huang pinctrl-names = "default"; 16*791b02daSAnson Huang pinctrl-0 = <&pinctrl_gpio_led>; 17*791b02daSAnson Huang 18*791b02daSAnson Huang status { 19*791b02daSAnson Huang label = "yellow:status"; 20*791b02daSAnson Huang gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 21*791b02daSAnson Huang default-state = "on"; 22*791b02daSAnson Huang }; 23*791b02daSAnson Huang }; 24*791b02daSAnson Huang 25*791b02daSAnson Huang reg_usdhc2_vmmc: regulator-usdhc2 { 26*791b02daSAnson Huang compatible = "regulator-fixed"; 27*791b02daSAnson Huang pinctrl-names = "default"; 28*791b02daSAnson Huang pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 29*791b02daSAnson Huang regulator-name = "VSD_3V3"; 30*791b02daSAnson Huang regulator-min-microvolt = <3300000>; 31*791b02daSAnson Huang regulator-max-microvolt = <3300000>; 32*791b02daSAnson Huang gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 33*791b02daSAnson Huang enable-active-high; 34*791b02daSAnson Huang }; 35*791b02daSAnson Huang}; 36*791b02daSAnson Huang 37*791b02daSAnson Huang&fec1 { 38*791b02daSAnson Huang pinctrl-names = "default"; 39*791b02daSAnson Huang pinctrl-0 = <&pinctrl_fec1>; 40*791b02daSAnson Huang phy-mode = "rgmii-id"; 41*791b02daSAnson Huang phy-handle = <ðphy0>; 42*791b02daSAnson Huang fsl,magic-packet; 43*791b02daSAnson Huang status = "okay"; 44*791b02daSAnson Huang 45*791b02daSAnson Huang mdio { 46*791b02daSAnson Huang #address-cells = <1>; 47*791b02daSAnson Huang #size-cells = <0>; 48*791b02daSAnson Huang 49*791b02daSAnson Huang ethphy0: ethernet-phy@0 { 50*791b02daSAnson Huang compatible = "ethernet-phy-ieee802.3-c22"; 51*791b02daSAnson Huang reg = <0>; 52*791b02daSAnson Huang at803x,led-act-blind-workaround; 53*791b02daSAnson Huang at803x,eee-disabled; 54*791b02daSAnson Huang at803x,vddio-1p8v; 55*791b02daSAnson Huang }; 56*791b02daSAnson Huang }; 57*791b02daSAnson Huang}; 58*791b02daSAnson Huang 59*791b02daSAnson Huang&i2c1 { 60*791b02daSAnson Huang clock-frequency = <400000>; 61*791b02daSAnson Huang pinctrl-names = "default"; 62*791b02daSAnson Huang pinctrl-0 = <&pinctrl_i2c1>; 63*791b02daSAnson Huang status = "okay"; 64*791b02daSAnson Huang}; 65*791b02daSAnson Huang 66*791b02daSAnson Huang&snvs_pwrkey { 67*791b02daSAnson Huang status = "okay"; 68*791b02daSAnson Huang}; 69*791b02daSAnson Huang 70*791b02daSAnson Huang&uart2 { /* console */ 71*791b02daSAnson Huang pinctrl-names = "default"; 72*791b02daSAnson Huang pinctrl-0 = <&pinctrl_uart2>; 73*791b02daSAnson Huang status = "okay"; 74*791b02daSAnson Huang}; 75*791b02daSAnson Huang 76*791b02daSAnson Huang&usdhc2 { 77*791b02daSAnson Huang assigned-clocks = <&clk IMX8MN_CLK_USDHC2>; 78*791b02daSAnson Huang assigned-clock-rates = <200000000>; 79*791b02daSAnson Huang pinctrl-names = "default", "state_100mhz", "state_200mhz"; 80*791b02daSAnson Huang pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 81*791b02daSAnson Huang pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 82*791b02daSAnson Huang pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 83*791b02daSAnson Huang cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 84*791b02daSAnson Huang bus-width = <4>; 85*791b02daSAnson Huang vmmc-supply = <®_usdhc2_vmmc>; 86*791b02daSAnson Huang status = "okay"; 87*791b02daSAnson Huang}; 88*791b02daSAnson Huang 89*791b02daSAnson Huang&usdhc3 { 90*791b02daSAnson Huang assigned-clocks = <&clk IMX8MN_CLK_USDHC3_ROOT>; 91*791b02daSAnson Huang assigned-clock-rates = <400000000>; 92*791b02daSAnson Huang pinctrl-names = "default", "state_100mhz", "state_200mhz"; 93*791b02daSAnson Huang pinctrl-0 = <&pinctrl_usdhc3>; 94*791b02daSAnson Huang pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 95*791b02daSAnson Huang pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 96*791b02daSAnson Huang bus-width = <8>; 97*791b02daSAnson Huang non-removable; 98*791b02daSAnson Huang status = "okay"; 99*791b02daSAnson Huang}; 100*791b02daSAnson Huang 101*791b02daSAnson Huang&wdog1 { 102*791b02daSAnson Huang pinctrl-names = "default"; 103*791b02daSAnson Huang pinctrl-0 = <&pinctrl_wdog>; 104*791b02daSAnson Huang fsl,ext-reset-output; 105*791b02daSAnson Huang status = "okay"; 106*791b02daSAnson Huang}; 107*791b02daSAnson Huang 108*791b02daSAnson Huang&iomuxc { 109*791b02daSAnson Huang pinctrl-names = "default"; 110*791b02daSAnson Huang 111*791b02daSAnson Huang pinctrl_fec1: fec1grp { 112*791b02daSAnson Huang fsl,pins = < 113*791b02daSAnson Huang MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x3 114*791b02daSAnson Huang MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 115*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 116*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 117*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 118*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 119*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 120*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 121*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 122*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 123*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 124*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 125*791b02daSAnson Huang MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 126*791b02daSAnson Huang MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 127*791b02daSAnson Huang MX8MN_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 128*791b02daSAnson Huang >; 129*791b02daSAnson Huang }; 130*791b02daSAnson Huang 131*791b02daSAnson Huang pinctrl_gpio_led: gpioledgrp { 132*791b02daSAnson Huang fsl,pins = < 133*791b02daSAnson Huang MX8MN_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 134*791b02daSAnson Huang >; 135*791b02daSAnson Huang }; 136*791b02daSAnson Huang 137*791b02daSAnson Huang pinctrl_i2c1: i2c1grp { 138*791b02daSAnson Huang fsl,pins = < 139*791b02daSAnson Huang MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 140*791b02daSAnson Huang MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 141*791b02daSAnson Huang >; 142*791b02daSAnson Huang }; 143*791b02daSAnson Huang 144*791b02daSAnson Huang pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { 145*791b02daSAnson Huang fsl,pins = < 146*791b02daSAnson Huang MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 147*791b02daSAnson Huang >; 148*791b02daSAnson Huang }; 149*791b02daSAnson Huang 150*791b02daSAnson Huang pinctrl_uart2: uart2grp { 151*791b02daSAnson Huang fsl,pins = < 152*791b02daSAnson Huang MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 153*791b02daSAnson Huang MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 154*791b02daSAnson Huang >; 155*791b02daSAnson Huang }; 156*791b02daSAnson Huang 157*791b02daSAnson Huang pinctrl_usdhc2_gpio: usdhc2grpgpio { 158*791b02daSAnson Huang fsl,pins = < 159*791b02daSAnson Huang MX8MN_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 160*791b02daSAnson Huang >; 161*791b02daSAnson Huang }; 162*791b02daSAnson Huang 163*791b02daSAnson Huang pinctrl_usdhc2: usdhc2grp { 164*791b02daSAnson Huang fsl,pins = < 165*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 166*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 167*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 168*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 169*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 170*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 171*791b02daSAnson Huang MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 172*791b02daSAnson Huang >; 173*791b02daSAnson Huang }; 174*791b02daSAnson Huang 175*791b02daSAnson Huang pinctrl_usdhc2_100mhz: usdhc2grp100mhz { 176*791b02daSAnson Huang fsl,pins = < 177*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 178*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 179*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 180*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 181*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 182*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 183*791b02daSAnson Huang MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 184*791b02daSAnson Huang >; 185*791b02daSAnson Huang }; 186*791b02daSAnson Huang 187*791b02daSAnson Huang pinctrl_usdhc2_200mhz: usdhc2grp200mhz { 188*791b02daSAnson Huang fsl,pins = < 189*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 190*791b02daSAnson Huang MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 191*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 192*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 193*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 194*791b02daSAnson Huang MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 195*791b02daSAnson Huang MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 196*791b02daSAnson Huang >; 197*791b02daSAnson Huang }; 198*791b02daSAnson Huang 199*791b02daSAnson Huang pinctrl_usdhc3: usdhc3grp { 200*791b02daSAnson Huang fsl,pins = < 201*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x40000190 202*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0 203*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0 204*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0 205*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0 206*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0 207*791b02daSAnson Huang MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0 208*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0 209*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0 210*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0 211*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190 212*791b02daSAnson Huang >; 213*791b02daSAnson Huang }; 214*791b02daSAnson Huang 215*791b02daSAnson Huang pinctrl_usdhc3_100mhz: usdhc3grp100mhz { 216*791b02daSAnson Huang fsl,pins = < 217*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x40000194 218*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 219*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4 220*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4 221*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4 222*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4 223*791b02daSAnson Huang MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4 224*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4 225*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4 226*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4 227*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194 228*791b02daSAnson Huang >; 229*791b02daSAnson Huang }; 230*791b02daSAnson Huang 231*791b02daSAnson Huang pinctrl_usdhc3_200mhz: usdhc3grp200mhz { 232*791b02daSAnson Huang fsl,pins = < 233*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x40000196 234*791b02daSAnson Huang MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 235*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6 236*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6 237*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6 238*791b02daSAnson Huang MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6 239*791b02daSAnson Huang MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6 240*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6 241*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6 242*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6 243*791b02daSAnson Huang MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196 244*791b02daSAnson Huang >; 245*791b02daSAnson Huang }; 246*791b02daSAnson Huang 247*791b02daSAnson Huang pinctrl_wdog: wdoggrp { 248*791b02daSAnson Huang fsl,pins = < 249*791b02daSAnson Huang MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 250*791b02daSAnson Huang >; 251*791b02daSAnson Huang }; 252*791b02daSAnson Huang}; 253