1*77f29293SSébastien Szymanski/* 2*77f29293SSébastien Szymanski * Copyright 2017 Armadeus Systems <support@armadeus.com> 3*77f29293SSébastien Szymanski * 4*77f29293SSébastien Szymanski * This file is dual-licensed: you can use it either under the terms 5*77f29293SSébastien Szymanski * of the GPL or the X11 license, at your option. Note that this dual 6*77f29293SSébastien Szymanski * licensing only applies to this file, and not this project as a 7*77f29293SSébastien Szymanski * whole. 8*77f29293SSébastien Szymanski * 9*77f29293SSébastien Szymanski * a) This file is free software; you can redistribute it and/or 10*77f29293SSébastien Szymanski * modify it under the terms of the GNU General Public License as 11*77f29293SSébastien Szymanski * published by the Free Software Foundation; either version 2 of 12*77f29293SSébastien Szymanski * the License, or (at your option) any later version. 13*77f29293SSébastien Szymanski * 14*77f29293SSébastien Szymanski * This file is distributed in the hope that it will be useful, 15*77f29293SSébastien Szymanski * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*77f29293SSébastien Szymanski * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*77f29293SSébastien Szymanski * GNU General Public License for more details. 18*77f29293SSébastien Szymanski * 19*77f29293SSébastien Szymanski * You should have received a copy of the GNU General Public 20*77f29293SSébastien Szymanski * License along with this file; if not, write to the Free 21*77f29293SSébastien Szymanski * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 22*77f29293SSébastien Szymanski * MA 02110-1301 USA 23*77f29293SSébastien Szymanski * 24*77f29293SSébastien Szymanski * Or, alternatively, 25*77f29293SSébastien Szymanski * 26*77f29293SSébastien Szymanski * b) Permission is hereby granted, free of charge, to any person 27*77f29293SSébastien Szymanski * obtaining a copy of this software and associated documentation 28*77f29293SSébastien Szymanski * files (the "Software"), to deal in the Software without 29*77f29293SSébastien Szymanski * restriction, including without limitation the rights to use, 30*77f29293SSébastien Szymanski * copy, modify, merge, publish, distribute, sublicense, and/or 31*77f29293SSébastien Szymanski * sell copies of the Software, and to permit persons to whom the 32*77f29293SSébastien Szymanski * Software is furnished to do so, subject to the following 33*77f29293SSébastien Szymanski * conditions: 34*77f29293SSébastien Szymanski * 35*77f29293SSébastien Szymanski * The above copyright notice and this permission notice shall be 36*77f29293SSébastien Szymanski * included in all copies or substantial portions of the Software. 37*77f29293SSébastien Szymanski * 38*77f29293SSébastien Szymanski * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 39*77f29293SSébastien Szymanski * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 40*77f29293SSébastien Szymanski * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 41*77f29293SSébastien Szymanski * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 42*77f29293SSébastien Szymanski * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 43*77f29293SSébastien Szymanski * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 44*77f29293SSébastien Szymanski * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 45*77f29293SSébastien Szymanski * OTHER DEALINGS IN THE SOFTWARE. 46*77f29293SSébastien Szymanski */ 47*77f29293SSébastien Szymanski 48*77f29293SSébastien Szymanski#include "imx6ul.dtsi" 49*77f29293SSébastien Szymanski 50*77f29293SSébastien Szymanski/ { 51*77f29293SSébastien Szymanski memory { 52*77f29293SSébastien Szymanski reg = <0x80000000 0>; /* will be filled by U-Boot */ 53*77f29293SSébastien Szymanski }; 54*77f29293SSébastien Szymanski 55*77f29293SSébastien Szymanski reg_3v3: regulator-3v3 { 56*77f29293SSébastien Szymanski compatible = "regulator-fixed"; 57*77f29293SSébastien Szymanski regulator-name = "3V3"; 58*77f29293SSébastien Szymanski regulator-min-microvolt = <3300000>; 59*77f29293SSébastien Szymanski regulator-max-microvolt = <3300000>; 60*77f29293SSébastien Szymanski }; 61*77f29293SSébastien Szymanski 62*77f29293SSébastien Szymanski usdhc3_pwrseq: usdhc3-pwrseq { 63*77f29293SSébastien Szymanski compatible = "mmc-pwrseq-simple"; 64*77f29293SSébastien Szymanski reset-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; 65*77f29293SSébastien Szymanski }; 66*77f29293SSébastien Szymanski}; 67*77f29293SSébastien Szymanski 68*77f29293SSébastien Szymanski&fec1 { 69*77f29293SSébastien Szymanski pinctrl-names = "default"; 70*77f29293SSébastien Szymanski pinctrl-0 = <&pinctrl_enet1>; 71*77f29293SSébastien Szymanski phy-mode = "rmii"; 72*77f29293SSébastien Szymanski phy-reset-duration = <1>; 73*77f29293SSébastien Szymanski phy-reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 74*77f29293SSébastien Szymanski phy-handle = <ðphy1>; 75*77f29293SSébastien Szymanski phy-supply = <®_3v3>; 76*77f29293SSébastien Szymanski status = "okay"; 77*77f29293SSébastien Szymanski 78*77f29293SSébastien Szymanski mdio: mdio { 79*77f29293SSébastien Szymanski #address-cells = <1>; 80*77f29293SSébastien Szymanski #size-cells = <0>; 81*77f29293SSébastien Szymanski 82*77f29293SSébastien Szymanski ethphy1: ethernet-phy@1 { 83*77f29293SSébastien Szymanski compatible = "ethernet-phy-ieee802.3-c22"; 84*77f29293SSébastien Szymanski reg = <1>; 85*77f29293SSébastien Szymanski interrupt-parent = <&gpio4>; 86*77f29293SSébastien Szymanski interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 87*77f29293SSébastien Szymanski status = "okay"; 88*77f29293SSébastien Szymanski }; 89*77f29293SSébastien Szymanski }; 90*77f29293SSébastien Szymanski}; 91*77f29293SSébastien Szymanski 92*77f29293SSébastien Szymanski/* Bluetooth */ 93*77f29293SSébastien Szymanski&uart8 { 94*77f29293SSébastien Szymanski pinctrl-names = "default"; 95*77f29293SSébastien Szymanski pinctrl-0 = <&pinctrl_uart8>; 96*77f29293SSébastien Szymanski uart-has-rtscts; 97*77f29293SSébastien Szymanski status = "okay"; 98*77f29293SSébastien Szymanski}; 99*77f29293SSébastien Szymanski 100*77f29293SSébastien Szymanski/* eMMC */ 101*77f29293SSébastien Szymanski&usdhc1 { 102*77f29293SSébastien Szymanski pinctrl-names = "default"; 103*77f29293SSébastien Szymanski pinctrl-0 = <&pinctrl_usdhc1>; 104*77f29293SSébastien Szymanski bus-width = <8>; 105*77f29293SSébastien Szymanski no-1-8-v; 106*77f29293SSébastien Szymanski non-removable; 107*77f29293SSébastien Szymanski status = "okay"; 108*77f29293SSébastien Szymanski}; 109*77f29293SSébastien Szymanski 110*77f29293SSébastien Szymanski/* WiFi */ 111*77f29293SSébastien Szymanski&usdhc2 { 112*77f29293SSébastien Szymanski pinctrl-names = "default"; 113*77f29293SSébastien Szymanski pinctrl-0 = <&pinctrl_usdhc2>; 114*77f29293SSébastien Szymanski bus-width = <4>; 115*77f29293SSébastien Szymanski no-1-8-v; 116*77f29293SSébastien Szymanski non-removable; 117*77f29293SSébastien Szymanski mmc-pwrseq = <&usdhc3_pwrseq>; 118*77f29293SSébastien Szymanski status = "okay"; 119*77f29293SSébastien Szymanski 120*77f29293SSébastien Szymanski #address-cells = <1>; 121*77f29293SSébastien Szymanski #size-cells = <0>; 122*77f29293SSébastien Szymanski 123*77f29293SSébastien Szymanski brcmf: bcrmf@1 { 124*77f29293SSébastien Szymanski compatible = "brcm,bcm4329-fmac"; 125*77f29293SSébastien Szymanski reg = <1>; 126*77f29293SSébastien Szymanski interrupt-parent = <&gpio2>; 127*77f29293SSébastien Szymanski interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 128*77f29293SSébastien Szymanski interrupt-names = "host-wake"; 129*77f29293SSébastien Szymanski }; 130*77f29293SSébastien Szymanski}; 131*77f29293SSébastien Szymanski 132*77f29293SSébastien Szymanski&iomuxc { 133*77f29293SSébastien Szymanski pinctrl_enet1: enet1grp { 134*77f29293SSébastien Szymanski fsl,pins = < 135*77f29293SSébastien Szymanski MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0 136*77f29293SSébastien Szymanski MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0 137*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x130b0 138*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x130b0 139*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x130b0 140*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x130b0 141*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0 142*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0 143*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0 144*77f29293SSébastien Szymanski /* INT# */ 145*77f29293SSébastien Szymanski MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x1b0b0 146*77f29293SSébastien Szymanski /* RST# */ 147*77f29293SSébastien Szymanski MX6UL_PAD_NAND_DATA00__GPIO4_IO02 0x130b0 148*77f29293SSébastien Szymanski MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031 149*77f29293SSébastien Szymanski >; 150*77f29293SSébastien Szymanski }; 151*77f29293SSébastien Szymanski 152*77f29293SSébastien Szymanski pinctrl_uart8: uart8grp { 153*77f29293SSébastien Szymanski fsl,pins = < 154*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_TX_EN__UART8_DCE_RX 0x1b0b0 155*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_TX_DATA1__UART8_DCE_TX 0x1b0b0 156*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_RX_ER__UART8_DCE_RTS 0x1b0b0 157*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_TX_CLK__UART8_DCE_CTS 0x1b0b0 158*77f29293SSébastien Szymanski /* BT_REG_ON */ 159*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_RX_EN__GPIO2_IO10 0x130b0 160*77f29293SSébastien Szymanski >; 161*77f29293SSébastien Szymanski }; 162*77f29293SSébastien Szymanski 163*77f29293SSébastien Szymanski pinctrl_usdhc1: usdhc1grp { 164*77f29293SSébastien Szymanski fsl,pins = < 165*77f29293SSébastien Szymanski MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059 166*77f29293SSébastien Szymanski MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059 167*77f29293SSébastien Szymanski MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059 168*77f29293SSébastien Szymanski MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059 169*77f29293SSébastien Szymanski MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059 170*77f29293SSébastien Szymanski MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059 171*77f29293SSébastien Szymanski MX6UL_PAD_NAND_READY_B__USDHC1_DATA4 0x17059 172*77f29293SSébastien Szymanski MX6UL_PAD_NAND_CE0_B__USDHC1_DATA5 0x17059 173*77f29293SSébastien Szymanski MX6UL_PAD_NAND_CE1_B__USDHC1_DATA6 0x17059 174*77f29293SSébastien Szymanski MX6UL_PAD_NAND_CLE__USDHC1_DATA7 0x17059 175*77f29293SSébastien Szymanski >; 176*77f29293SSébastien Szymanski }; 177*77f29293SSébastien Szymanski 178*77f29293SSébastien Szymanski pinctrl_usdhc2: usdhc2grp { 179*77f29293SSébastien Szymanski fsl,pins = < 180*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA18__USDHC2_CMD 0x1b0b0 181*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA19__USDHC2_CLK 0x100b0 182*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA20__USDHC2_DATA0 0x1b0b0 183*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA21__USDHC2_DATA1 0x1b0b0 184*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA22__USDHC2_DATA2 0x1b0b0 185*77f29293SSébastien Szymanski MX6UL_PAD_LCD_DATA23__USDHC2_DATA3 0x1b0b0 186*77f29293SSébastien Szymanski /* WL_REG_ON */ 187*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09 0x130b0 188*77f29293SSébastien Szymanski /* WL_IRQ */ 189*77f29293SSébastien Szymanski MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08 0x1b0b0 190*77f29293SSébastien Szymanski >; 191*77f29293SSébastien Szymanski }; 192*77f29293SSébastien Szymanski}; 193