1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * Support for CompuLab CL-SOM-iMX7 System-on-Module 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/ 5*4882a593Smuzhiyun * Author: Ilya Ledvich <ilya@compulab.co.il> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * This file is dual-licensed: you can use it either under the terms 8*4882a593Smuzhiyun * of the GPL or the X11 license, at your option. Note that this dual 9*4882a593Smuzhiyun * licensing only applies to this file, and not this project as a 10*4882a593Smuzhiyun * whole. 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/dts-v1/; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun#include "imx7d.dtsi" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun/ { 18*4882a593Smuzhiyun model = "CompuLab CL-SOM-iMX7"; 19*4882a593Smuzhiyun compatible = "compulab,cl-som-imx7", "fsl,imx7d"; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun memory@80000000 { 22*4882a593Smuzhiyun device_type = "memory"; 23*4882a593Smuzhiyun reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */ 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun reg_usb_otg1_vbus: regulator-vbus { 27*4882a593Smuzhiyun compatible = "regulator-fixed"; 28*4882a593Smuzhiyun regulator-name = "usb_otg1_vbus"; 29*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 30*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 31*4882a593Smuzhiyun gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; 32*4882a593Smuzhiyun enable-active-high; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun}; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun&cpu0 { 37*4882a593Smuzhiyun cpu-supply = <&sw1a_reg>; 38*4882a593Smuzhiyun}; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun&cpu1 { 41*4882a593Smuzhiyun cpu-supply = <&sw1a_reg>; 42*4882a593Smuzhiyun}; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun&fec1 { 45*4882a593Smuzhiyun pinctrl-names = "default"; 46*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_enet1>; 47*4882a593Smuzhiyun assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>, 48*4882a593Smuzhiyun <&clks IMX7D_ENET1_TIME_ROOT_CLK>; 49*4882a593Smuzhiyun assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; 50*4882a593Smuzhiyun assigned-clock-rates = <0>, <100000000>; 51*4882a593Smuzhiyun phy-mode = "rgmii-id"; 52*4882a593Smuzhiyun phy-handle = <ðphy0>; 53*4882a593Smuzhiyun fsl,magic-packet; 54*4882a593Smuzhiyun status = "okay"; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun mdio { 57*4882a593Smuzhiyun #address-cells = <1>; 58*4882a593Smuzhiyun #size-cells = <0>; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun ethphy0: ethernet-phy@0 { 61*4882a593Smuzhiyun compatible = "ethernet-phy-ieee802.3-c22"; 62*4882a593Smuzhiyun reg = <0>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun ethphy1: ethernet-phy@1 { 66*4882a593Smuzhiyun compatible = "ethernet-phy-ieee802.3-c22"; 67*4882a593Smuzhiyun reg = <1>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun}; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun&fec2 { 73*4882a593Smuzhiyun pinctrl-names = "default"; 74*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_enet2>; 75*4882a593Smuzhiyun assigned-clocks = <&clks IMX7D_ENET2_TIME_ROOT_SRC>, 76*4882a593Smuzhiyun <&clks IMX7D_ENET2_TIME_ROOT_CLK>; 77*4882a593Smuzhiyun assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; 78*4882a593Smuzhiyun assigned-clock-rates = <0>, <100000000>; 79*4882a593Smuzhiyun phy-mode = "rgmii-id"; 80*4882a593Smuzhiyun phy-handle = <ðphy1>; 81*4882a593Smuzhiyun fsl,magic-packet; 82*4882a593Smuzhiyun status = "okay"; 83*4882a593Smuzhiyun}; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun&i2c2 { 86*4882a593Smuzhiyun pinctrl-names = "default"; 87*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c2>; 88*4882a593Smuzhiyun status = "okay"; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun pmic: pmic@8 { 91*4882a593Smuzhiyun compatible = "fsl,pfuze3000"; 92*4882a593Smuzhiyun reg = <0x8>; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun regulators { 95*4882a593Smuzhiyun sw1a_reg: sw1a { 96*4882a593Smuzhiyun regulator-min-microvolt = <700000>; 97*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 98*4882a593Smuzhiyun regulator-boot-on; 99*4882a593Smuzhiyun regulator-always-on; 100*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* use sw1c_reg to align with pfuze100/pfuze200 */ 104*4882a593Smuzhiyun sw1c_reg: sw1b { 105*4882a593Smuzhiyun regulator-min-microvolt = <700000>; 106*4882a593Smuzhiyun regulator-max-microvolt = <1475000>; 107*4882a593Smuzhiyun regulator-boot-on; 108*4882a593Smuzhiyun regulator-always-on; 109*4882a593Smuzhiyun regulator-ramp-delay = <6250>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun sw2_reg: sw2 { 113*4882a593Smuzhiyun regulator-min-microvolt = <1500000>; 114*4882a593Smuzhiyun regulator-max-microvolt = <1850000>; 115*4882a593Smuzhiyun regulator-boot-on; 116*4882a593Smuzhiyun regulator-always-on; 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun sw3a_reg: sw3 { 120*4882a593Smuzhiyun regulator-min-microvolt = <900000>; 121*4882a593Smuzhiyun regulator-max-microvolt = <1650000>; 122*4882a593Smuzhiyun regulator-boot-on; 123*4882a593Smuzhiyun regulator-always-on; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun swbst_reg: swbst { 127*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 128*4882a593Smuzhiyun regulator-max-microvolt = <5150000>; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun snvs_reg: vsnvs { 132*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 133*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 134*4882a593Smuzhiyun regulator-boot-on; 135*4882a593Smuzhiyun regulator-always-on; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun vref_reg: vrefddr { 139*4882a593Smuzhiyun regulator-boot-on; 140*4882a593Smuzhiyun regulator-always-on; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun vgen1_reg: vldo1 { 144*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 145*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 146*4882a593Smuzhiyun regulator-always-on; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun vgen2_reg: vldo2 { 150*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 151*4882a593Smuzhiyun regulator-max-microvolt = <1550000>; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun vgen3_reg: vccsd { 155*4882a593Smuzhiyun regulator-min-microvolt = <2850000>; 156*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 157*4882a593Smuzhiyun regulator-always-on; 158*4882a593Smuzhiyun }; 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun vgen4_reg: v33 { 161*4882a593Smuzhiyun regulator-min-microvolt = <2850000>; 162*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 163*4882a593Smuzhiyun regulator-always-on; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun vgen5_reg: vldo3 { 167*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 168*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 169*4882a593Smuzhiyun regulator-always-on; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun vgen6_reg: vldo4 { 173*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 174*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 175*4882a593Smuzhiyun regulator-always-on; 176*4882a593Smuzhiyun }; 177*4882a593Smuzhiyun }; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun pca9555: pca9555@20 { 181*4882a593Smuzhiyun compatible = "nxp,pca9555"; 182*4882a593Smuzhiyun gpio-controller; 183*4882a593Smuzhiyun #gpio-cells = <2>; 184*4882a593Smuzhiyun reg = <0x20>; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun eeprom@50 { 188*4882a593Smuzhiyun compatible = "atmel,24c08"; 189*4882a593Smuzhiyun reg = <0x50>; 190*4882a593Smuzhiyun pagesize = <16>; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun}; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun&uart1 { 195*4882a593Smuzhiyun pinctrl-names = "default"; 196*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart1>; 197*4882a593Smuzhiyun assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>; 198*4882a593Smuzhiyun assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; 199*4882a593Smuzhiyun status = "okay"; 200*4882a593Smuzhiyun}; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun&usbotg1 { 203*4882a593Smuzhiyun pinctrl-names = "default"; 204*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usbotg1>; 205*4882a593Smuzhiyun vbus-supply = <®_usb_otg1_vbus>; 206*4882a593Smuzhiyun status = "okay"; 207*4882a593Smuzhiyun}; 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun&usdhc3 { 210*4882a593Smuzhiyun pinctrl-names = "default"; 211*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usdhc3>; 212*4882a593Smuzhiyun assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; 213*4882a593Smuzhiyun assigned-clock-rates = <400000000>; 214*4882a593Smuzhiyun bus-width = <8>; 215*4882a593Smuzhiyun fsl,tuning-step = <2>; 216*4882a593Smuzhiyun non-removable; 217*4882a593Smuzhiyun status = "okay"; 218*4882a593Smuzhiyun}; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun&iomuxc { 221*4882a593Smuzhiyun pinctrl_enet1: enet1grp { 222*4882a593Smuzhiyun fsl,pins = < 223*4882a593Smuzhiyun MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x30 224*4882a593Smuzhiyun MX7D_PAD_SD2_WP__ENET1_MDC 0x30 225*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x11 226*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x11 227*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x11 228*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x11 229*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x11 230*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x11 231*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x11 232*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x11 233*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x11 234*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x11 235*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x11 236*4882a593Smuzhiyun MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x11 237*4882a593Smuzhiyun >; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun pinctrl_enet2: enet2grp { 241*4882a593Smuzhiyun fsl,pins = < 242*4882a593Smuzhiyun MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC 0x11 243*4882a593Smuzhiyun MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0 0x11 244*4882a593Smuzhiyun MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1 0x11 245*4882a593Smuzhiyun MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2 0x11 246*4882a593Smuzhiyun MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3 0x11 247*4882a593Smuzhiyun MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL 0x11 248*4882a593Smuzhiyun MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC 0x11 249*4882a593Smuzhiyun MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0 0x11 250*4882a593Smuzhiyun MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1 0x11 251*4882a593Smuzhiyun MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2 0x11 252*4882a593Smuzhiyun MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3 0x11 253*4882a593Smuzhiyun MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL 0x11 254*4882a593Smuzhiyun >; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun pinctrl_i2c2: i2c2grp { 258*4882a593Smuzhiyun fsl,pins = < 259*4882a593Smuzhiyun MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f 260*4882a593Smuzhiyun MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f 261*4882a593Smuzhiyun >; 262*4882a593Smuzhiyun }; 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun pinctrl_uart1: uart1grp { 265*4882a593Smuzhiyun fsl,pins = < 266*4882a593Smuzhiyun MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79 267*4882a593Smuzhiyun MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79 268*4882a593Smuzhiyun >; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun pinctrl_usdhc3: usdhc3grp { 272*4882a593Smuzhiyun fsl,pins = < 273*4882a593Smuzhiyun MX7D_PAD_SD3_CMD__SD3_CMD 0x59 274*4882a593Smuzhiyun MX7D_PAD_SD3_CLK__SD3_CLK 0x19 275*4882a593Smuzhiyun MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 276*4882a593Smuzhiyun MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 277*4882a593Smuzhiyun MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 278*4882a593Smuzhiyun MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 279*4882a593Smuzhiyun MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 280*4882a593Smuzhiyun MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 281*4882a593Smuzhiyun MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 282*4882a593Smuzhiyun MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 283*4882a593Smuzhiyun MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 284*4882a593Smuzhiyun >; 285*4882a593Smuzhiyun }; 286*4882a593Smuzhiyun}; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun&iomuxc_lpsr { 289*4882a593Smuzhiyun pinctrl_usbotg1: usbotg1grp { 290*4882a593Smuzhiyun fsl,pins = < 291*4882a593Smuzhiyun MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x14 /* OTG PWREN */ 292*4882a593Smuzhiyun >; 293*4882a593Smuzhiyun }; 294*4882a593Smuzhiyun}; 295