1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*0e8011faSEmmanuel Vadot// 3*0e8011faSEmmanuel Vadot// Copyright 2020 CompuLab 4*0e8011faSEmmanuel Vadot 5*0e8011faSEmmanuel Vadot#include "imx8mm-ucm-som.dtsi" 6*0e8011faSEmmanuel Vadot#include <dt-bindings/phy/phy-imx8-pcie.h> 7*0e8011faSEmmanuel Vadot/ { 8*0e8011faSEmmanuel Vadot model = "CompuLab i.MX8MM IoT Gateway"; 9*0e8011faSEmmanuel Vadot compatible = "compulab,imx8mm-iot-gateway", "compulab,imx8mm-ucm-som", "fsl,imx8mm"; 10*0e8011faSEmmanuel Vadot 11*0e8011faSEmmanuel Vadot regulator-usbhub-ena { 12*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 13*0e8011faSEmmanuel Vadot regulator-name = "usbhub_ena"; 14*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 15*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 16*0e8011faSEmmanuel Vadot gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>; 17*0e8011faSEmmanuel Vadot enable-active-high; 18*0e8011faSEmmanuel Vadot regulator-always-on; 19*0e8011faSEmmanuel Vadot }; 20*0e8011faSEmmanuel Vadot 21*0e8011faSEmmanuel Vadot regulator-usbhub-rst { 22*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 23*0e8011faSEmmanuel Vadot regulator-name = "usbhub_rst"; 24*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 25*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 26*0e8011faSEmmanuel Vadot gpio = <&gpio3 24 GPIO_ACTIVE_HIGH>; 27*0e8011faSEmmanuel Vadot enable-active-high; 28*0e8011faSEmmanuel Vadot regulator-always-on; 29*0e8011faSEmmanuel Vadot }; 30*0e8011faSEmmanuel Vadot 31*0e8011faSEmmanuel Vadot regulator-uart1-mode { 32*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 33*0e8011faSEmmanuel Vadot regulator-name = "uart1_mode"; 34*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 35*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 36*0e8011faSEmmanuel Vadot gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>; 37*0e8011faSEmmanuel Vadot enable-active-high; 38*0e8011faSEmmanuel Vadot regulator-always-on; 39*0e8011faSEmmanuel Vadot }; 40*0e8011faSEmmanuel Vadot 41*0e8011faSEmmanuel Vadot regulator-uart1-duplex { 42*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 43*0e8011faSEmmanuel Vadot regulator-name = "uart1_duplex"; 44*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 45*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 46*0e8011faSEmmanuel Vadot gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>; 47*0e8011faSEmmanuel Vadot enable-active-high; 48*0e8011faSEmmanuel Vadot regulator-always-on; 49*0e8011faSEmmanuel Vadot }; 50*0e8011faSEmmanuel Vadot 51*0e8011faSEmmanuel Vadot regulator-uart1-shdn { 52*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 53*0e8011faSEmmanuel Vadot regulator-name = "uart1_shdn"; 54*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 55*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 56*0e8011faSEmmanuel Vadot gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>; 57*0e8011faSEmmanuel Vadot enable-active-high; 58*0e8011faSEmmanuel Vadot regulator-always-on; 59*0e8011faSEmmanuel Vadot }; 60*0e8011faSEmmanuel Vadot 61*0e8011faSEmmanuel Vadot regulator-uart1-trmen { 62*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 63*0e8011faSEmmanuel Vadot regulator-name = "uart1_trmen"; 64*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 65*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 66*0e8011faSEmmanuel Vadot gpio = <&gpio4 25 GPIO_ACTIVE_LOW>; 67*0e8011faSEmmanuel Vadot regulator-always-on; 68*0e8011faSEmmanuel Vadot }; 69*0e8011faSEmmanuel Vadot 70*0e8011faSEmmanuel Vadot regulator-usdhc2-v { 71*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 72*0e8011faSEmmanuel Vadot regulator-name = "usdhc2_v"; 73*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 74*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 75*0e8011faSEmmanuel Vadot gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>; 76*0e8011faSEmmanuel Vadot enable-active-high; 77*0e8011faSEmmanuel Vadot regulator-always-on; 78*0e8011faSEmmanuel Vadot }; 79*0e8011faSEmmanuel Vadot 80*0e8011faSEmmanuel Vadot regulator-mpcie2-rst { 81*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 82*0e8011faSEmmanuel Vadot regulator-name = "mpcie2_rst"; 83*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 84*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 85*0e8011faSEmmanuel Vadot gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 86*0e8011faSEmmanuel Vadot enable-active-high; 87*0e8011faSEmmanuel Vadot regulator-always-on; 88*0e8011faSEmmanuel Vadot }; 89*0e8011faSEmmanuel Vadot 90*0e8011faSEmmanuel Vadot regulator-mpcie2lora-dis { 91*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 92*0e8011faSEmmanuel Vadot regulator-name = "mpcie2lora_dis"; 93*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 94*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 95*0e8011faSEmmanuel Vadot gpio = <&gpio3 21 GPIO_ACTIVE_HIGH>; 96*0e8011faSEmmanuel Vadot enable-active-high; 97*0e8011faSEmmanuel Vadot regulator-always-on; 98*0e8011faSEmmanuel Vadot }; 99*0e8011faSEmmanuel Vadot 100*0e8011faSEmmanuel Vadot pcie0_refclk: clock-pcie0-refclk { 101*0e8011faSEmmanuel Vadot compatible = "fixed-clock"; 102*0e8011faSEmmanuel Vadot #clock-cells = <0>; 103*0e8011faSEmmanuel Vadot clock-frequency = <100000000>; 104*0e8011faSEmmanuel Vadot }; 105*0e8011faSEmmanuel Vadot}; 106*0e8011faSEmmanuel Vadot 107*0e8011faSEmmanuel Vadot&i2c1 { 108*0e8011faSEmmanuel Vadot clock-frequency = <100000>; 109*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 110*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c1>; 111*0e8011faSEmmanuel Vadot status = "okay"; 112*0e8011faSEmmanuel Vadot 113*0e8011faSEmmanuel Vadot eeprom@54 { 114*0e8011faSEmmanuel Vadot compatible = "atmel,24c08"; 115*0e8011faSEmmanuel Vadot reg = <0x54>; 116*0e8011faSEmmanuel Vadot pagesize = <16>; 117*0e8011faSEmmanuel Vadot }; 118*0e8011faSEmmanuel Vadot}; 119*0e8011faSEmmanuel Vadot 120*0e8011faSEmmanuel Vadot&ecspi1 { 121*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 122*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>; 123*0e8011faSEmmanuel Vadot cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 124*0e8011faSEmmanuel Vadot status = "okay"; 125*0e8011faSEmmanuel Vadot}; 126*0e8011faSEmmanuel Vadot 127*0e8011faSEmmanuel Vadot&pcie_phy { 128*0e8011faSEmmanuel Vadot fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 129*0e8011faSEmmanuel Vadot fsl,tx-deemph-gen1 = <0x2d>; 130*0e8011faSEmmanuel Vadot fsl,tx-deemph-gen2 = <0xf>; 131*0e8011faSEmmanuel Vadot fsl,clkreq-unsupported; 132*0e8011faSEmmanuel Vadot clocks = <&pcie0_refclk>; 133*0e8011faSEmmanuel Vadot clock-names = "ref"; 134*0e8011faSEmmanuel Vadot status = "okay"; 135*0e8011faSEmmanuel Vadot}; 136*0e8011faSEmmanuel Vadot 137*0e8011faSEmmanuel Vadot&pcie0 { 138*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 139*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_pcie0>; 140*0e8011faSEmmanuel Vadot reset-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; 141*0e8011faSEmmanuel Vadot status = "okay"; 142*0e8011faSEmmanuel Vadot}; 143*0e8011faSEmmanuel Vadot 144*0e8011faSEmmanuel Vadot&usbotg1 { 145*0e8011faSEmmanuel Vadot dr_mode = "host"; 146*0e8011faSEmmanuel Vadot status = "okay"; 147*0e8011faSEmmanuel Vadot}; 148*0e8011faSEmmanuel Vadot 149*0e8011faSEmmanuel Vadot&usbotg2 { 150*0e8011faSEmmanuel Vadot #address-cells = <1>; 151*0e8011faSEmmanuel Vadot #size-cells = <0>; 152*0e8011faSEmmanuel Vadot dr_mode = "host"; 153*0e8011faSEmmanuel Vadot usb-role-switch; 154*0e8011faSEmmanuel Vadot status = "okay"; 155*0e8011faSEmmanuel Vadot 156*0e8011faSEmmanuel Vadot usbhub@1 { 157*0e8011faSEmmanuel Vadot compatible = "usb424,9514"; 158*0e8011faSEmmanuel Vadot reg = <1>; 159*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 160*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_usb9514>; 161*0e8011faSEmmanuel Vadot #address-cells = <1>; 162*0e8011faSEmmanuel Vadot #size-cells = <0>; 163*0e8011faSEmmanuel Vadot 164*0e8011faSEmmanuel Vadot ethernet: ethernet@1 { 165*0e8011faSEmmanuel Vadot compatible = "usb424,ec00"; 166*0e8011faSEmmanuel Vadot reg = <1>; 167*0e8011faSEmmanuel Vadot }; 168*0e8011faSEmmanuel Vadot }; 169*0e8011faSEmmanuel Vadot}; 170*0e8011faSEmmanuel Vadot 171*0e8011faSEmmanuel Vadot&usdhc2 { 172*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 173*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc2>; 174*0e8011faSEmmanuel Vadot bus-width = <4>; 175*0e8011faSEmmanuel Vadot mmc-ddr-1_8v; 176*0e8011faSEmmanuel Vadot non-removable; 177*0e8011faSEmmanuel Vadot status = "okay"; 178*0e8011faSEmmanuel Vadot}; 179*0e8011faSEmmanuel Vadot 180*0e8011faSEmmanuel Vadot&iomuxc { 181*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 182*0e8011faSEmmanuel Vadot pinctrl-0 = <&pinctrl_hog>; 183*0e8011faSEmmanuel Vadot 184*0e8011faSEmmanuel Vadot pinctrl_hog: hoggrp { 185*0e8011faSEmmanuel Vadot fsl,pins = < 186*0e8011faSEmmanuel Vadot /* mPCIe2 */ 187*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x140 188*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x140 189*0e8011faSEmmanuel Vadot >; 190*0e8011faSEmmanuel Vadot }; 191*0e8011faSEmmanuel Vadot 192*0e8011faSEmmanuel Vadot pinctrl_ecspi1: ecspi1grp { 193*0e8011faSEmmanuel Vadot fsl,pins = < 194*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x82 195*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x82 196*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x82 197*0e8011faSEmmanuel Vadot >; 198*0e8011faSEmmanuel Vadot }; 199*0e8011faSEmmanuel Vadot 200*0e8011faSEmmanuel Vadot pinctrl_ecspi1_cs: ecspi1csgrp { 201*0e8011faSEmmanuel Vadot fsl,pins = < 202*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x40000 203*0e8011faSEmmanuel Vadot >; 204*0e8011faSEmmanuel Vadot }; 205*0e8011faSEmmanuel Vadot 206*0e8011faSEmmanuel Vadot pinctrl_pcie0: pcie0grp { 207*0e8011faSEmmanuel Vadot fsl,pins = < 208*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x140 209*0e8011faSEmmanuel Vadot >; 210*0e8011faSEmmanuel Vadot }; 211*0e8011faSEmmanuel Vadot 212*0e8011faSEmmanuel Vadot pinctrl_usb9514: usb9514grp { 213*0e8011faSEmmanuel Vadot fsl,pins = < 214*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x140 /* USB_PS_EN */ 215*0e8011faSEmmanuel Vadot MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x140 /* HUB_RSTn */ 216*0e8011faSEmmanuel Vadot >; 217*0e8011faSEmmanuel Vadot }; 218*0e8011faSEmmanuel Vadot}; 219