1*993274f4SPeng Fan/* 2*993274f4SPeng Fan * Copyright 2015 Freescale Semiconductor, Inc. 3*993274f4SPeng Fan * Copyright 2016 Toradex AG 4*993274f4SPeng Fan * 5*993274f4SPeng Fan * This file is dual-licensed: you can use it either under the terms 6*993274f4SPeng Fan * of the GPL or the X11 license, at your option. Note that this dual 7*993274f4SPeng Fan * licensing only applies to this file, and not this project as a 8*993274f4SPeng Fan * whole. 9*993274f4SPeng Fan * 10*993274f4SPeng Fan * a) This file is free software; you can redistribute it and/or 11*993274f4SPeng Fan * modify it under the terms of the GNU General Public License as 12*993274f4SPeng Fan * published by the Free Software Foundation; either version 2 of the 13*993274f4SPeng Fan * License, or (at your option) any later version. 14*993274f4SPeng Fan * 15*993274f4SPeng Fan * This file is distributed in the hope that it will be useful, 16*993274f4SPeng Fan * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*993274f4SPeng Fan * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*993274f4SPeng Fan * GNU General Public License for more details. 19*993274f4SPeng Fan * 20*993274f4SPeng Fan * Or, alternatively, 21*993274f4SPeng Fan * 22*993274f4SPeng Fan * b) Permission is hereby granted, free of charge, to any person 23*993274f4SPeng Fan * obtaining a copy of this software and associated documentation 24*993274f4SPeng Fan * files (the "Software"), to deal in the Software without 25*993274f4SPeng Fan * restriction, including without limitation the rights to use, 26*993274f4SPeng Fan * copy, modify, merge, publish, distribute, sublicense, and/or 27*993274f4SPeng Fan * sell copies of the Software, and to permit persons to whom the 28*993274f4SPeng Fan * Software is furnished to do so, subject to the following 29*993274f4SPeng Fan * conditions: 30*993274f4SPeng Fan * 31*993274f4SPeng Fan * The above copyright notice and this permission notice shall be 32*993274f4SPeng Fan * included in all copies or substantial portions of the Software. 33*993274f4SPeng Fan * 34*993274f4SPeng Fan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35*993274f4SPeng Fan * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36*993274f4SPeng Fan * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37*993274f4SPeng Fan * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38*993274f4SPeng Fan * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39*993274f4SPeng Fan * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40*993274f4SPeng Fan * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41*993274f4SPeng Fan * OTHER DEALINGS IN THE SOFTWARE. 42*993274f4SPeng Fan */ 43*993274f4SPeng Fan 44*993274f4SPeng Fan#include <dt-bindings/clock/imx7d-clock.h> 45*993274f4SPeng Fan#include <dt-bindings/gpio/gpio.h> 46*993274f4SPeng Fan#include <dt-bindings/input/input.h> 47*993274f4SPeng Fan#include <dt-bindings/interrupt-controller/arm-gic.h> 48*993274f4SPeng Fan#include "imx7d-pinfunc.h" 49*993274f4SPeng Fan 50*993274f4SPeng Fan/ { 51*993274f4SPeng Fan #address-cells = <1>; 52*993274f4SPeng Fan #size-cells = <1>; 53*993274f4SPeng Fan /* 54*993274f4SPeng Fan * The decompressor and also some bootloaders rely on a 55*993274f4SPeng Fan * pre-existing /chosen node to be available to insert the 56*993274f4SPeng Fan * command line and merge other ATAGS info. 57*993274f4SPeng Fan * Also for U-Boot there must be a pre-existing /memory node. 58*993274f4SPeng Fan */ 59*993274f4SPeng Fan chosen {}; 60*993274f4SPeng Fan memory { device_type = "memory"; reg = <0 0>; }; 61*993274f4SPeng Fan 62*993274f4SPeng Fan aliases { 63*993274f4SPeng Fan gpio0 = &gpio1; 64*993274f4SPeng Fan gpio1 = &gpio2; 65*993274f4SPeng Fan gpio2 = &gpio3; 66*993274f4SPeng Fan gpio3 = &gpio4; 67*993274f4SPeng Fan gpio4 = &gpio5; 68*993274f4SPeng Fan gpio5 = &gpio6; 69*993274f4SPeng Fan gpio6 = &gpio7; 70*993274f4SPeng Fan i2c0 = &i2c1; 71*993274f4SPeng Fan i2c1 = &i2c2; 72*993274f4SPeng Fan i2c2 = &i2c3; 73*993274f4SPeng Fan i2c3 = &i2c4; 74*993274f4SPeng Fan mmc0 = &usdhc1; 75*993274f4SPeng Fan mmc1 = &usdhc2; 76*993274f4SPeng Fan mmc2 = &usdhc3; 77*993274f4SPeng Fan serial0 = &uart1; 78*993274f4SPeng Fan serial1 = &uart2; 79*993274f4SPeng Fan serial2 = &uart3; 80*993274f4SPeng Fan serial3 = &uart4; 81*993274f4SPeng Fan serial4 = &uart5; 82*993274f4SPeng Fan serial5 = &uart6; 83*993274f4SPeng Fan serial6 = &uart7; 84*993274f4SPeng Fan spi0 = &ecspi1; 85*993274f4SPeng Fan spi1 = &ecspi2; 86*993274f4SPeng Fan spi2 = &ecspi3; 87*993274f4SPeng Fan spi3 = &ecspi4; 88*993274f4SPeng Fan }; 89*993274f4SPeng Fan 90*993274f4SPeng Fan cpus { 91*993274f4SPeng Fan #address-cells = <1>; 92*993274f4SPeng Fan #size-cells = <0>; 93*993274f4SPeng Fan 94*993274f4SPeng Fan cpu0: cpu@0 { 95*993274f4SPeng Fan compatible = "arm,cortex-a7"; 96*993274f4SPeng Fan device_type = "cpu"; 97*993274f4SPeng Fan reg = <0>; 98*993274f4SPeng Fan clock-frequency = <792000000>; 99*993274f4SPeng Fan clock-latency = <61036>; /* two CLK32 periods */ 100*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_ARM>; 101*993274f4SPeng Fan }; 102*993274f4SPeng Fan }; 103*993274f4SPeng Fan 104*993274f4SPeng Fan ckil: clock-cki { 105*993274f4SPeng Fan compatible = "fixed-clock"; 106*993274f4SPeng Fan #clock-cells = <0>; 107*993274f4SPeng Fan clock-frequency = <32768>; 108*993274f4SPeng Fan clock-output-names = "ckil"; 109*993274f4SPeng Fan }; 110*993274f4SPeng Fan 111*993274f4SPeng Fan osc: clock-osc { 112*993274f4SPeng Fan compatible = "fixed-clock"; 113*993274f4SPeng Fan #clock-cells = <0>; 114*993274f4SPeng Fan clock-frequency = <24000000>; 115*993274f4SPeng Fan clock-output-names = "osc"; 116*993274f4SPeng Fan }; 117*993274f4SPeng Fan 118*993274f4SPeng Fan soc { 119*993274f4SPeng Fan #address-cells = <1>; 120*993274f4SPeng Fan #size-cells = <1>; 121*993274f4SPeng Fan compatible = "simple-bus"; 122*993274f4SPeng Fan interrupt-parent = <&intc>; 123*993274f4SPeng Fan ranges; 124*993274f4SPeng Fan 125*993274f4SPeng Fan funnel@30041000 { 126*993274f4SPeng Fan compatible = "arm,coresight-funnel", "arm,primecell"; 127*993274f4SPeng Fan reg = <0x30041000 0x1000>; 128*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 129*993274f4SPeng Fan clock-names = "apb_pclk"; 130*993274f4SPeng Fan 131*993274f4SPeng Fan ca_funnel_ports: ports { 132*993274f4SPeng Fan #address-cells = <1>; 133*993274f4SPeng Fan #size-cells = <0>; 134*993274f4SPeng Fan 135*993274f4SPeng Fan /* funnel input ports */ 136*993274f4SPeng Fan port@0 { 137*993274f4SPeng Fan reg = <0>; 138*993274f4SPeng Fan ca_funnel_in_port0: endpoint { 139*993274f4SPeng Fan slave-mode; 140*993274f4SPeng Fan remote-endpoint = <&etm0_out_port>; 141*993274f4SPeng Fan }; 142*993274f4SPeng Fan }; 143*993274f4SPeng Fan 144*993274f4SPeng Fan /* funnel output port */ 145*993274f4SPeng Fan port@2 { 146*993274f4SPeng Fan reg = <0>; 147*993274f4SPeng Fan ca_funnel_out_port0: endpoint { 148*993274f4SPeng Fan remote-endpoint = <&hugo_funnel_in_port0>; 149*993274f4SPeng Fan }; 150*993274f4SPeng Fan }; 151*993274f4SPeng Fan 152*993274f4SPeng Fan /* the other input ports are not connect to anything */ 153*993274f4SPeng Fan }; 154*993274f4SPeng Fan }; 155*993274f4SPeng Fan 156*993274f4SPeng Fan etm@3007c000 { 157*993274f4SPeng Fan compatible = "arm,coresight-etm3x", "arm,primecell"; 158*993274f4SPeng Fan reg = <0x3007c000 0x1000>; 159*993274f4SPeng Fan cpu = <&cpu0>; 160*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 161*993274f4SPeng Fan clock-names = "apb_pclk"; 162*993274f4SPeng Fan 163*993274f4SPeng Fan port { 164*993274f4SPeng Fan etm0_out_port: endpoint { 165*993274f4SPeng Fan remote-endpoint = <&ca_funnel_in_port0>; 166*993274f4SPeng Fan }; 167*993274f4SPeng Fan }; 168*993274f4SPeng Fan }; 169*993274f4SPeng Fan 170*993274f4SPeng Fan funnel@30083000 { 171*993274f4SPeng Fan compatible = "arm,coresight-funnel", "arm,primecell"; 172*993274f4SPeng Fan reg = <0x30083000 0x1000>; 173*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 174*993274f4SPeng Fan clock-names = "apb_pclk"; 175*993274f4SPeng Fan 176*993274f4SPeng Fan ports { 177*993274f4SPeng Fan #address-cells = <1>; 178*993274f4SPeng Fan #size-cells = <0>; 179*993274f4SPeng Fan 180*993274f4SPeng Fan /* funnel input ports */ 181*993274f4SPeng Fan port@0 { 182*993274f4SPeng Fan reg = <0>; 183*993274f4SPeng Fan hugo_funnel_in_port0: endpoint { 184*993274f4SPeng Fan slave-mode; 185*993274f4SPeng Fan remote-endpoint = <&ca_funnel_out_port0>; 186*993274f4SPeng Fan }; 187*993274f4SPeng Fan }; 188*993274f4SPeng Fan 189*993274f4SPeng Fan port@1 { 190*993274f4SPeng Fan reg = <1>; 191*993274f4SPeng Fan hugo_funnel_in_port1: endpoint { 192*993274f4SPeng Fan slave-mode; /* M4 input */ 193*993274f4SPeng Fan }; 194*993274f4SPeng Fan }; 195*993274f4SPeng Fan 196*993274f4SPeng Fan port@2 { 197*993274f4SPeng Fan reg = <0>; 198*993274f4SPeng Fan hugo_funnel_out_port0: endpoint { 199*993274f4SPeng Fan remote-endpoint = <&etf_in_port>; 200*993274f4SPeng Fan }; 201*993274f4SPeng Fan }; 202*993274f4SPeng Fan 203*993274f4SPeng Fan /* the other input ports are not connect to anything */ 204*993274f4SPeng Fan }; 205*993274f4SPeng Fan }; 206*993274f4SPeng Fan 207*993274f4SPeng Fan etf@30084000 { 208*993274f4SPeng Fan compatible = "arm,coresight-tmc", "arm,primecell"; 209*993274f4SPeng Fan reg = <0x30084000 0x1000>; 210*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 211*993274f4SPeng Fan clock-names = "apb_pclk"; 212*993274f4SPeng Fan 213*993274f4SPeng Fan ports { 214*993274f4SPeng Fan #address-cells = <1>; 215*993274f4SPeng Fan #size-cells = <0>; 216*993274f4SPeng Fan 217*993274f4SPeng Fan port@0 { 218*993274f4SPeng Fan reg = <0>; 219*993274f4SPeng Fan etf_in_port: endpoint { 220*993274f4SPeng Fan slave-mode; 221*993274f4SPeng Fan remote-endpoint = <&hugo_funnel_out_port0>; 222*993274f4SPeng Fan }; 223*993274f4SPeng Fan }; 224*993274f4SPeng Fan 225*993274f4SPeng Fan port@1 { 226*993274f4SPeng Fan reg = <0>; 227*993274f4SPeng Fan etf_out_port: endpoint { 228*993274f4SPeng Fan remote-endpoint = <&replicator_in_port0>; 229*993274f4SPeng Fan }; 230*993274f4SPeng Fan }; 231*993274f4SPeng Fan }; 232*993274f4SPeng Fan }; 233*993274f4SPeng Fan 234*993274f4SPeng Fan etr@30086000 { 235*993274f4SPeng Fan compatible = "arm,coresight-tmc", "arm,primecell"; 236*993274f4SPeng Fan reg = <0x30086000 0x1000>; 237*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 238*993274f4SPeng Fan clock-names = "apb_pclk"; 239*993274f4SPeng Fan 240*993274f4SPeng Fan port { 241*993274f4SPeng Fan etr_in_port: endpoint { 242*993274f4SPeng Fan slave-mode; 243*993274f4SPeng Fan remote-endpoint = <&replicator_out_port1>; 244*993274f4SPeng Fan }; 245*993274f4SPeng Fan }; 246*993274f4SPeng Fan }; 247*993274f4SPeng Fan 248*993274f4SPeng Fan tpiu@30087000 { 249*993274f4SPeng Fan compatible = "arm,coresight-tpiu", "arm,primecell"; 250*993274f4SPeng Fan reg = <0x30087000 0x1000>; 251*993274f4SPeng Fan clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 252*993274f4SPeng Fan clock-names = "apb_pclk"; 253*993274f4SPeng Fan 254*993274f4SPeng Fan port { 255*993274f4SPeng Fan tpiu_in_port: endpoint { 256*993274f4SPeng Fan slave-mode; 257*993274f4SPeng Fan remote-endpoint = <&replicator_out_port1>; 258*993274f4SPeng Fan }; 259*993274f4SPeng Fan }; 260*993274f4SPeng Fan }; 261*993274f4SPeng Fan 262*993274f4SPeng Fan replicator { 263*993274f4SPeng Fan /* 264*993274f4SPeng Fan * non-configurable replicators don't show up on the 265*993274f4SPeng Fan * AMBA bus. As such no need to add "arm,primecell" 266*993274f4SPeng Fan */ 267*993274f4SPeng Fan compatible = "arm,coresight-replicator"; 268*993274f4SPeng Fan 269*993274f4SPeng Fan ports { 270*993274f4SPeng Fan #address-cells = <1>; 271*993274f4SPeng Fan #size-cells = <0>; 272*993274f4SPeng Fan 273*993274f4SPeng Fan /* replicator output ports */ 274*993274f4SPeng Fan port@0 { 275*993274f4SPeng Fan reg = <0>; 276*993274f4SPeng Fan replicator_out_port0: endpoint { 277*993274f4SPeng Fan remote-endpoint = <&tpiu_in_port>; 278*993274f4SPeng Fan }; 279*993274f4SPeng Fan }; 280*993274f4SPeng Fan 281*993274f4SPeng Fan port@1 { 282*993274f4SPeng Fan reg = <1>; 283*993274f4SPeng Fan replicator_out_port1: endpoint { 284*993274f4SPeng Fan remote-endpoint = <&etr_in_port>; 285*993274f4SPeng Fan }; 286*993274f4SPeng Fan }; 287*993274f4SPeng Fan 288*993274f4SPeng Fan /* replicator input port */ 289*993274f4SPeng Fan port@2 { 290*993274f4SPeng Fan reg = <0>; 291*993274f4SPeng Fan replicator_in_port0: endpoint { 292*993274f4SPeng Fan slave-mode; 293*993274f4SPeng Fan remote-endpoint = <&etf_out_port>; 294*993274f4SPeng Fan }; 295*993274f4SPeng Fan }; 296*993274f4SPeng Fan }; 297*993274f4SPeng Fan }; 298*993274f4SPeng Fan 299*993274f4SPeng Fan intc: interrupt-controller@31001000 { 300*993274f4SPeng Fan compatible = "arm,cortex-a7-gic"; 301*993274f4SPeng Fan interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 302*993274f4SPeng Fan #interrupt-cells = <3>; 303*993274f4SPeng Fan interrupt-controller; 304*993274f4SPeng Fan reg = <0x31001000 0x1000>, 305*993274f4SPeng Fan <0x31002000 0x2000>, 306*993274f4SPeng Fan <0x31004000 0x2000>, 307*993274f4SPeng Fan <0x31006000 0x2000>; 308*993274f4SPeng Fan }; 309*993274f4SPeng Fan 310*993274f4SPeng Fan timer { 311*993274f4SPeng Fan compatible = "arm,armv7-timer"; 312*993274f4SPeng Fan interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 313*993274f4SPeng Fan <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 314*993274f4SPeng Fan <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 315*993274f4SPeng Fan <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 316*993274f4SPeng Fan }; 317*993274f4SPeng Fan 318*993274f4SPeng Fan aips1: aips-bus@30000000 { 319*993274f4SPeng Fan compatible = "fsl,aips-bus", "simple-bus"; 320*993274f4SPeng Fan #address-cells = <1>; 321*993274f4SPeng Fan #size-cells = <1>; 322*993274f4SPeng Fan reg = <0x30000000 0x400000>; 323*993274f4SPeng Fan ranges; 324*993274f4SPeng Fan 325*993274f4SPeng Fan gpio1: gpio@30200000 { 326*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 327*993274f4SPeng Fan reg = <0x30200000 0x10000>; 328*993274f4SPeng Fan interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, /* GPIO1_INT15_0 */ 329*993274f4SPeng Fan <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; /* GPIO1_INT31_16 */ 330*993274f4SPeng Fan gpio-controller; 331*993274f4SPeng Fan #gpio-cells = <2>; 332*993274f4SPeng Fan interrupt-controller; 333*993274f4SPeng Fan #interrupt-cells = <2>; 334*993274f4SPeng Fan gpio-ranges = <&iomuxc_lpsr 0 0 8>, <&iomuxc 8 5 8>; 335*993274f4SPeng Fan }; 336*993274f4SPeng Fan 337*993274f4SPeng Fan gpio2: gpio@30210000 { 338*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 339*993274f4SPeng Fan reg = <0x30210000 0x10000>; 340*993274f4SPeng Fan interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 341*993274f4SPeng Fan <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 342*993274f4SPeng Fan gpio-controller; 343*993274f4SPeng Fan #gpio-cells = <2>; 344*993274f4SPeng Fan interrupt-controller; 345*993274f4SPeng Fan #interrupt-cells = <2>; 346*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 13 32>; 347*993274f4SPeng Fan }; 348*993274f4SPeng Fan 349*993274f4SPeng Fan gpio3: gpio@30220000 { 350*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 351*993274f4SPeng Fan reg = <0x30220000 0x10000>; 352*993274f4SPeng Fan interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 353*993274f4SPeng Fan <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 354*993274f4SPeng Fan gpio-controller; 355*993274f4SPeng Fan #gpio-cells = <2>; 356*993274f4SPeng Fan interrupt-controller; 357*993274f4SPeng Fan #interrupt-cells = <2>; 358*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 45 29>; 359*993274f4SPeng Fan }; 360*993274f4SPeng Fan 361*993274f4SPeng Fan gpio4: gpio@30230000 { 362*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 363*993274f4SPeng Fan reg = <0x30230000 0x10000>; 364*993274f4SPeng Fan interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 365*993274f4SPeng Fan <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 366*993274f4SPeng Fan gpio-controller; 367*993274f4SPeng Fan #gpio-cells = <2>; 368*993274f4SPeng Fan interrupt-controller; 369*993274f4SPeng Fan #interrupt-cells = <2>; 370*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 74 24>; 371*993274f4SPeng Fan }; 372*993274f4SPeng Fan 373*993274f4SPeng Fan gpio5: gpio@30240000 { 374*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 375*993274f4SPeng Fan reg = <0x30240000 0x10000>; 376*993274f4SPeng Fan interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 377*993274f4SPeng Fan <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 378*993274f4SPeng Fan gpio-controller; 379*993274f4SPeng Fan #gpio-cells = <2>; 380*993274f4SPeng Fan interrupt-controller; 381*993274f4SPeng Fan #interrupt-cells = <2>; 382*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 98 18>; 383*993274f4SPeng Fan }; 384*993274f4SPeng Fan 385*993274f4SPeng Fan gpio6: gpio@30250000 { 386*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 387*993274f4SPeng Fan reg = <0x30250000 0x10000>; 388*993274f4SPeng Fan interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 389*993274f4SPeng Fan <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 390*993274f4SPeng Fan gpio-controller; 391*993274f4SPeng Fan #gpio-cells = <2>; 392*993274f4SPeng Fan interrupt-controller; 393*993274f4SPeng Fan #interrupt-cells = <2>; 394*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 116 23>; 395*993274f4SPeng Fan }; 396*993274f4SPeng Fan 397*993274f4SPeng Fan gpio7: gpio@30260000 { 398*993274f4SPeng Fan compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 399*993274f4SPeng Fan reg = <0x30260000 0x10000>; 400*993274f4SPeng Fan interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 401*993274f4SPeng Fan <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 402*993274f4SPeng Fan gpio-controller; 403*993274f4SPeng Fan #gpio-cells = <2>; 404*993274f4SPeng Fan interrupt-controller; 405*993274f4SPeng Fan #interrupt-cells = <2>; 406*993274f4SPeng Fan gpio-ranges = <&iomuxc 0 139 16>; 407*993274f4SPeng Fan }; 408*993274f4SPeng Fan 409*993274f4SPeng Fan wdog1: wdog@30280000 { 410*993274f4SPeng Fan compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 411*993274f4SPeng Fan reg = <0x30280000 0x10000>; 412*993274f4SPeng Fan interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 413*993274f4SPeng Fan clocks = <&clks IMX7D_WDOG1_ROOT_CLK>; 414*993274f4SPeng Fan }; 415*993274f4SPeng Fan 416*993274f4SPeng Fan wdog2: wdog@30290000 { 417*993274f4SPeng Fan compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 418*993274f4SPeng Fan reg = <0x30290000 0x10000>; 419*993274f4SPeng Fan interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 420*993274f4SPeng Fan clocks = <&clks IMX7D_WDOG2_ROOT_CLK>; 421*993274f4SPeng Fan status = "disabled"; 422*993274f4SPeng Fan }; 423*993274f4SPeng Fan 424*993274f4SPeng Fan wdog3: wdog@302a0000 { 425*993274f4SPeng Fan compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 426*993274f4SPeng Fan reg = <0x302a0000 0x10000>; 427*993274f4SPeng Fan interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 428*993274f4SPeng Fan clocks = <&clks IMX7D_WDOG3_ROOT_CLK>; 429*993274f4SPeng Fan status = "disabled"; 430*993274f4SPeng Fan }; 431*993274f4SPeng Fan 432*993274f4SPeng Fan wdog4: wdog@302b0000 { 433*993274f4SPeng Fan compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 434*993274f4SPeng Fan reg = <0x302b0000 0x10000>; 435*993274f4SPeng Fan interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 436*993274f4SPeng Fan clocks = <&clks IMX7D_WDOG4_ROOT_CLK>; 437*993274f4SPeng Fan status = "disabled"; 438*993274f4SPeng Fan }; 439*993274f4SPeng Fan 440*993274f4SPeng Fan iomuxc_lpsr: iomuxc-lpsr@302c0000 { 441*993274f4SPeng Fan compatible = "fsl,imx7d-iomuxc-lpsr"; 442*993274f4SPeng Fan reg = <0x302c0000 0x10000>; 443*993274f4SPeng Fan fsl,input-sel = <&iomuxc>; 444*993274f4SPeng Fan }; 445*993274f4SPeng Fan 446*993274f4SPeng Fan gpt1: gpt@302d0000 { 447*993274f4SPeng Fan compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 448*993274f4SPeng Fan reg = <0x302d0000 0x10000>; 449*993274f4SPeng Fan interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 450*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 451*993274f4SPeng Fan <&clks IMX7D_GPT1_ROOT_CLK>; 452*993274f4SPeng Fan clock-names = "ipg", "per"; 453*993274f4SPeng Fan }; 454*993274f4SPeng Fan 455*993274f4SPeng Fan gpt2: gpt@302e0000 { 456*993274f4SPeng Fan compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 457*993274f4SPeng Fan reg = <0x302e0000 0x10000>; 458*993274f4SPeng Fan interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 459*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 460*993274f4SPeng Fan <&clks IMX7D_GPT2_ROOT_CLK>; 461*993274f4SPeng Fan clock-names = "ipg", "per"; 462*993274f4SPeng Fan status = "disabled"; 463*993274f4SPeng Fan }; 464*993274f4SPeng Fan 465*993274f4SPeng Fan gpt3: gpt@302f0000 { 466*993274f4SPeng Fan compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 467*993274f4SPeng Fan reg = <0x302f0000 0x10000>; 468*993274f4SPeng Fan interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 469*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 470*993274f4SPeng Fan <&clks IMX7D_GPT3_ROOT_CLK>; 471*993274f4SPeng Fan clock-names = "ipg", "per"; 472*993274f4SPeng Fan status = "disabled"; 473*993274f4SPeng Fan }; 474*993274f4SPeng Fan 475*993274f4SPeng Fan gpt4: gpt@30300000 { 476*993274f4SPeng Fan compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 477*993274f4SPeng Fan reg = <0x30300000 0x10000>; 478*993274f4SPeng Fan interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 479*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 480*993274f4SPeng Fan <&clks IMX7D_GPT4_ROOT_CLK>; 481*993274f4SPeng Fan clock-names = "ipg", "per"; 482*993274f4SPeng Fan status = "disabled"; 483*993274f4SPeng Fan }; 484*993274f4SPeng Fan 485*993274f4SPeng Fan iomuxc: iomuxc@30330000 { 486*993274f4SPeng Fan compatible = "fsl,imx7d-iomuxc"; 487*993274f4SPeng Fan reg = <0x30330000 0x10000>; 488*993274f4SPeng Fan }; 489*993274f4SPeng Fan 490*993274f4SPeng Fan gpr: iomuxc-gpr@30340000 { 491*993274f4SPeng Fan compatible = "fsl,imx7d-iomuxc-gpr", "syscon"; 492*993274f4SPeng Fan reg = <0x30340000 0x10000>; 493*993274f4SPeng Fan }; 494*993274f4SPeng Fan 495*993274f4SPeng Fan ocotp: ocotp-ctrl@30350000 { 496*993274f4SPeng Fan compatible = "fsl,imx7d-ocotp", "syscon"; 497*993274f4SPeng Fan reg = <0x30350000 0x10000>; 498*993274f4SPeng Fan clocks = <&clks IMX7D_OCOTP_CLK>; 499*993274f4SPeng Fan }; 500*993274f4SPeng Fan 501*993274f4SPeng Fan anatop: anatop@30360000 { 502*993274f4SPeng Fan compatible = "fsl,imx7d-anatop", "fsl,imx6q-anatop", 503*993274f4SPeng Fan "syscon", "simple-bus"; 504*993274f4SPeng Fan reg = <0x30360000 0x10000>; 505*993274f4SPeng Fan interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 506*993274f4SPeng Fan <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 507*993274f4SPeng Fan 508*993274f4SPeng Fan reg_1p0d: regulator-vdd1p0d { 509*993274f4SPeng Fan compatible = "fsl,anatop-regulator"; 510*993274f4SPeng Fan regulator-name = "vdd1p0d"; 511*993274f4SPeng Fan regulator-min-microvolt = <800000>; 512*993274f4SPeng Fan regulator-max-microvolt = <1200000>; 513*993274f4SPeng Fan anatop-reg-offset = <0x210>; 514*993274f4SPeng Fan anatop-vol-bit-shift = <8>; 515*993274f4SPeng Fan anatop-vol-bit-width = <5>; 516*993274f4SPeng Fan anatop-min-bit-val = <8>; 517*993274f4SPeng Fan anatop-min-voltage = <800000>; 518*993274f4SPeng Fan anatop-max-voltage = <1200000>; 519*993274f4SPeng Fan }; 520*993274f4SPeng Fan }; 521*993274f4SPeng Fan 522*993274f4SPeng Fan snvs: snvs@30370000 { 523*993274f4SPeng Fan compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 524*993274f4SPeng Fan reg = <0x30370000 0x10000>; 525*993274f4SPeng Fan 526*993274f4SPeng Fan snvs_rtc: snvs-rtc-lp { 527*993274f4SPeng Fan compatible = "fsl,sec-v4.0-mon-rtc-lp"; 528*993274f4SPeng Fan regmap = <&snvs>; 529*993274f4SPeng Fan offset = <0x34>; 530*993274f4SPeng Fan interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 531*993274f4SPeng Fan <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 532*993274f4SPeng Fan }; 533*993274f4SPeng Fan 534*993274f4SPeng Fan snvs_poweroff: snvs-poweroff { 535*993274f4SPeng Fan compatible = "syscon-poweroff"; 536*993274f4SPeng Fan regmap = <&snvs>; 537*993274f4SPeng Fan offset = <0x38>; 538*993274f4SPeng Fan mask = <0x60>; 539*993274f4SPeng Fan }; 540*993274f4SPeng Fan 541*993274f4SPeng Fan snvs_pwrkey: snvs-powerkey { 542*993274f4SPeng Fan compatible = "fsl,sec-v4.0-pwrkey"; 543*993274f4SPeng Fan regmap = <&snvs>; 544*993274f4SPeng Fan interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 545*993274f4SPeng Fan linux,keycode = <KEY_POWER>; 546*993274f4SPeng Fan wakeup-source; 547*993274f4SPeng Fan }; 548*993274f4SPeng Fan }; 549*993274f4SPeng Fan 550*993274f4SPeng Fan clks: ccm@30380000 { 551*993274f4SPeng Fan compatible = "fsl,imx7d-ccm"; 552*993274f4SPeng Fan reg = <0x30380000 0x10000>; 553*993274f4SPeng Fan interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 554*993274f4SPeng Fan <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 555*993274f4SPeng Fan #clock-cells = <1>; 556*993274f4SPeng Fan clocks = <&ckil>, <&osc>; 557*993274f4SPeng Fan clock-names = "ckil", "osc"; 558*993274f4SPeng Fan }; 559*993274f4SPeng Fan 560*993274f4SPeng Fan src: src@30390000 { 561*993274f4SPeng Fan compatible = "fsl,imx7d-src", "fsl,imx51-src", "syscon"; 562*993274f4SPeng Fan reg = <0x30390000 0x10000>; 563*993274f4SPeng Fan interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 564*993274f4SPeng Fan #reset-cells = <1>; 565*993274f4SPeng Fan }; 566*993274f4SPeng Fan }; 567*993274f4SPeng Fan 568*993274f4SPeng Fan aips2: aips-bus@30400000 { 569*993274f4SPeng Fan compatible = "fsl,aips-bus", "simple-bus"; 570*993274f4SPeng Fan #address-cells = <1>; 571*993274f4SPeng Fan #size-cells = <1>; 572*993274f4SPeng Fan reg = <0x30400000 0x400000>; 573*993274f4SPeng Fan ranges; 574*993274f4SPeng Fan 575*993274f4SPeng Fan adc1: adc@30610000 { 576*993274f4SPeng Fan compatible = "fsl,imx7d-adc"; 577*993274f4SPeng Fan reg = <0x30610000 0x10000>; 578*993274f4SPeng Fan interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 579*993274f4SPeng Fan clocks = <&clks IMX7D_ADC_ROOT_CLK>; 580*993274f4SPeng Fan clock-names = "adc"; 581*993274f4SPeng Fan status = "disabled"; 582*993274f4SPeng Fan }; 583*993274f4SPeng Fan 584*993274f4SPeng Fan adc2: adc@30620000 { 585*993274f4SPeng Fan compatible = "fsl,imx7d-adc"; 586*993274f4SPeng Fan reg = <0x30620000 0x10000>; 587*993274f4SPeng Fan interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 588*993274f4SPeng Fan clocks = <&clks IMX7D_ADC_ROOT_CLK>; 589*993274f4SPeng Fan clock-names = "adc"; 590*993274f4SPeng Fan status = "disabled"; 591*993274f4SPeng Fan }; 592*993274f4SPeng Fan 593*993274f4SPeng Fan ecspi4: ecspi@30630000 { 594*993274f4SPeng Fan #address-cells = <1>; 595*993274f4SPeng Fan #size-cells = <0>; 596*993274f4SPeng Fan compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 597*993274f4SPeng Fan reg = <0x30630000 0x10000>; 598*993274f4SPeng Fan interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 599*993274f4SPeng Fan clocks = <&clks IMX7D_ECSPI4_ROOT_CLK>, 600*993274f4SPeng Fan <&clks IMX7D_ECSPI4_ROOT_CLK>; 601*993274f4SPeng Fan clock-names = "ipg", "per"; 602*993274f4SPeng Fan status = "disabled"; 603*993274f4SPeng Fan }; 604*993274f4SPeng Fan 605*993274f4SPeng Fan pwm1: pwm@30660000 { 606*993274f4SPeng Fan compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 607*993274f4SPeng Fan reg = <0x30660000 0x10000>; 608*993274f4SPeng Fan interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 609*993274f4SPeng Fan clocks = <&clks IMX7D_PWM1_ROOT_CLK>, 610*993274f4SPeng Fan <&clks IMX7D_PWM1_ROOT_CLK>; 611*993274f4SPeng Fan clock-names = "ipg", "per"; 612*993274f4SPeng Fan #pwm-cells = <2>; 613*993274f4SPeng Fan status = "disabled"; 614*993274f4SPeng Fan }; 615*993274f4SPeng Fan 616*993274f4SPeng Fan pwm2: pwm@30670000 { 617*993274f4SPeng Fan compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 618*993274f4SPeng Fan reg = <0x30670000 0x10000>; 619*993274f4SPeng Fan interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 620*993274f4SPeng Fan clocks = <&clks IMX7D_PWM2_ROOT_CLK>, 621*993274f4SPeng Fan <&clks IMX7D_PWM2_ROOT_CLK>; 622*993274f4SPeng Fan clock-names = "ipg", "per"; 623*993274f4SPeng Fan #pwm-cells = <2>; 624*993274f4SPeng Fan status = "disabled"; 625*993274f4SPeng Fan }; 626*993274f4SPeng Fan 627*993274f4SPeng Fan pwm3: pwm@30680000 { 628*993274f4SPeng Fan compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 629*993274f4SPeng Fan reg = <0x30680000 0x10000>; 630*993274f4SPeng Fan interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 631*993274f4SPeng Fan clocks = <&clks IMX7D_PWM3_ROOT_CLK>, 632*993274f4SPeng Fan <&clks IMX7D_PWM3_ROOT_CLK>; 633*993274f4SPeng Fan clock-names = "ipg", "per"; 634*993274f4SPeng Fan #pwm-cells = <2>; 635*993274f4SPeng Fan status = "disabled"; 636*993274f4SPeng Fan }; 637*993274f4SPeng Fan 638*993274f4SPeng Fan pwm4: pwm@30690000 { 639*993274f4SPeng Fan compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 640*993274f4SPeng Fan reg = <0x30690000 0x10000>; 641*993274f4SPeng Fan interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 642*993274f4SPeng Fan clocks = <&clks IMX7D_PWM4_ROOT_CLK>, 643*993274f4SPeng Fan <&clks IMX7D_PWM4_ROOT_CLK>; 644*993274f4SPeng Fan clock-names = "ipg", "per"; 645*993274f4SPeng Fan #pwm-cells = <2>; 646*993274f4SPeng Fan status = "disabled"; 647*993274f4SPeng Fan }; 648*993274f4SPeng Fan 649*993274f4SPeng Fan lcdif: lcdif@30730000 { 650*993274f4SPeng Fan compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; 651*993274f4SPeng Fan reg = <0x30730000 0x10000>; 652*993274f4SPeng Fan interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 653*993274f4SPeng Fan clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, 654*993274f4SPeng Fan <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>; 655*993274f4SPeng Fan clock-names = "pix", "axi"; 656*993274f4SPeng Fan status = "disabled"; 657*993274f4SPeng Fan }; 658*993274f4SPeng Fan }; 659*993274f4SPeng Fan 660*993274f4SPeng Fan aips3: aips-bus@30800000 { 661*993274f4SPeng Fan compatible = "fsl,aips-bus", "simple-bus"; 662*993274f4SPeng Fan #address-cells = <1>; 663*993274f4SPeng Fan #size-cells = <1>; 664*993274f4SPeng Fan reg = <0x30800000 0x400000>; 665*993274f4SPeng Fan ranges; 666*993274f4SPeng Fan 667*993274f4SPeng Fan ecspi1: ecspi@30820000 { 668*993274f4SPeng Fan #address-cells = <1>; 669*993274f4SPeng Fan #size-cells = <0>; 670*993274f4SPeng Fan compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 671*993274f4SPeng Fan reg = <0x30820000 0x10000>; 672*993274f4SPeng Fan interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 673*993274f4SPeng Fan clocks = <&clks IMX7D_ECSPI1_ROOT_CLK>, 674*993274f4SPeng Fan <&clks IMX7D_ECSPI1_ROOT_CLK>; 675*993274f4SPeng Fan clock-names = "ipg", "per"; 676*993274f4SPeng Fan status = "disabled"; 677*993274f4SPeng Fan }; 678*993274f4SPeng Fan 679*993274f4SPeng Fan ecspi2: ecspi@30830000 { 680*993274f4SPeng Fan #address-cells = <1>; 681*993274f4SPeng Fan #size-cells = <0>; 682*993274f4SPeng Fan compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 683*993274f4SPeng Fan reg = <0x30830000 0x10000>; 684*993274f4SPeng Fan interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 685*993274f4SPeng Fan clocks = <&clks IMX7D_ECSPI2_ROOT_CLK>, 686*993274f4SPeng Fan <&clks IMX7D_ECSPI2_ROOT_CLK>; 687*993274f4SPeng Fan clock-names = "ipg", "per"; 688*993274f4SPeng Fan status = "disabled"; 689*993274f4SPeng Fan }; 690*993274f4SPeng Fan 691*993274f4SPeng Fan ecspi3: ecspi@30840000 { 692*993274f4SPeng Fan #address-cells = <1>; 693*993274f4SPeng Fan #size-cells = <0>; 694*993274f4SPeng Fan compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 695*993274f4SPeng Fan reg = <0x30840000 0x10000>; 696*993274f4SPeng Fan interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 697*993274f4SPeng Fan clocks = <&clks IMX7D_ECSPI3_ROOT_CLK>, 698*993274f4SPeng Fan <&clks IMX7D_ECSPI3_ROOT_CLK>; 699*993274f4SPeng Fan clock-names = "ipg", "per"; 700*993274f4SPeng Fan status = "disabled"; 701*993274f4SPeng Fan }; 702*993274f4SPeng Fan 703*993274f4SPeng Fan uart1: serial@30860000 { 704*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 705*993274f4SPeng Fan "fsl,imx6q-uart"; 706*993274f4SPeng Fan reg = <0x30860000 0x10000>; 707*993274f4SPeng Fan interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 708*993274f4SPeng Fan clocks = <&clks IMX7D_UART1_ROOT_CLK>, 709*993274f4SPeng Fan <&clks IMX7D_UART1_ROOT_CLK>; 710*993274f4SPeng Fan clock-names = "ipg", "per"; 711*993274f4SPeng Fan status = "disabled"; 712*993274f4SPeng Fan }; 713*993274f4SPeng Fan 714*993274f4SPeng Fan uart2: serial@30890000 { 715*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 716*993274f4SPeng Fan "fsl,imx6q-uart"; 717*993274f4SPeng Fan reg = <0x30890000 0x10000>; 718*993274f4SPeng Fan interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 719*993274f4SPeng Fan clocks = <&clks IMX7D_UART2_ROOT_CLK>, 720*993274f4SPeng Fan <&clks IMX7D_UART2_ROOT_CLK>; 721*993274f4SPeng Fan clock-names = "ipg", "per"; 722*993274f4SPeng Fan status = "disabled"; 723*993274f4SPeng Fan }; 724*993274f4SPeng Fan 725*993274f4SPeng Fan uart3: serial@30880000 { 726*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 727*993274f4SPeng Fan "fsl,imx6q-uart"; 728*993274f4SPeng Fan reg = <0x30880000 0x10000>; 729*993274f4SPeng Fan interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 730*993274f4SPeng Fan clocks = <&clks IMX7D_UART3_ROOT_CLK>, 731*993274f4SPeng Fan <&clks IMX7D_UART3_ROOT_CLK>; 732*993274f4SPeng Fan clock-names = "ipg", "per"; 733*993274f4SPeng Fan status = "disabled"; 734*993274f4SPeng Fan }; 735*993274f4SPeng Fan 736*993274f4SPeng Fan sai1: sai@308a0000 { 737*993274f4SPeng Fan #sound-dai-cells = <0>; 738*993274f4SPeng Fan compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 739*993274f4SPeng Fan reg = <0x308a0000 0x10000>; 740*993274f4SPeng Fan interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 741*993274f4SPeng Fan clocks = <&clks IMX7D_SAI1_IPG_CLK>, 742*993274f4SPeng Fan <&clks IMX7D_SAI1_ROOT_CLK>, 743*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 744*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>; 745*993274f4SPeng Fan clock-names = "bus", "mclk1", "mclk2", "mclk3"; 746*993274f4SPeng Fan dma-names = "rx", "tx"; 747*993274f4SPeng Fan dmas = <&sdma 8 24 0>, <&sdma 9 24 0>; 748*993274f4SPeng Fan status = "disabled"; 749*993274f4SPeng Fan }; 750*993274f4SPeng Fan 751*993274f4SPeng Fan sai2: sai@308b0000 { 752*993274f4SPeng Fan #sound-dai-cells = <0>; 753*993274f4SPeng Fan compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 754*993274f4SPeng Fan reg = <0x308b0000 0x10000>; 755*993274f4SPeng Fan interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 756*993274f4SPeng Fan clocks = <&clks IMX7D_SAI2_IPG_CLK>, 757*993274f4SPeng Fan <&clks IMX7D_SAI2_ROOT_CLK>, 758*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 759*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>; 760*993274f4SPeng Fan clock-names = "bus", "mclk1", "mclk2", "mclk3"; 761*993274f4SPeng Fan dma-names = "rx", "tx"; 762*993274f4SPeng Fan dmas = <&sdma 10 24 0>, <&sdma 11 24 0>; 763*993274f4SPeng Fan status = "disabled"; 764*993274f4SPeng Fan }; 765*993274f4SPeng Fan 766*993274f4SPeng Fan sai3: sai@308c0000 { 767*993274f4SPeng Fan #sound-dai-cells = <0>; 768*993274f4SPeng Fan compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 769*993274f4SPeng Fan reg = <0x308c0000 0x10000>; 770*993274f4SPeng Fan interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 771*993274f4SPeng Fan clocks = <&clks IMX7D_SAI3_IPG_CLK>, 772*993274f4SPeng Fan <&clks IMX7D_SAI3_ROOT_CLK>, 773*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 774*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>; 775*993274f4SPeng Fan clock-names = "bus", "mclk1", "mclk2", "mclk3"; 776*993274f4SPeng Fan dma-names = "rx", "tx"; 777*993274f4SPeng Fan dmas = <&sdma 12 24 0>, <&sdma 13 24 0>; 778*993274f4SPeng Fan status = "disabled"; 779*993274f4SPeng Fan }; 780*993274f4SPeng Fan 781*993274f4SPeng Fan flexcan1: can@30a00000 { 782*993274f4SPeng Fan compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; 783*993274f4SPeng Fan reg = <0x30a00000 0x10000>; 784*993274f4SPeng Fan interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 785*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 786*993274f4SPeng Fan <&clks IMX7D_CAN1_ROOT_CLK>; 787*993274f4SPeng Fan clock-names = "ipg", "per"; 788*993274f4SPeng Fan status = "disabled"; 789*993274f4SPeng Fan }; 790*993274f4SPeng Fan 791*993274f4SPeng Fan flexcan2: can@30a10000 { 792*993274f4SPeng Fan compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; 793*993274f4SPeng Fan reg = <0x30a10000 0x10000>; 794*993274f4SPeng Fan interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 795*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 796*993274f4SPeng Fan <&clks IMX7D_CAN2_ROOT_CLK>; 797*993274f4SPeng Fan clock-names = "ipg", "per"; 798*993274f4SPeng Fan status = "disabled"; 799*993274f4SPeng Fan }; 800*993274f4SPeng Fan 801*993274f4SPeng Fan i2c1: i2c@30a20000 { 802*993274f4SPeng Fan #address-cells = <1>; 803*993274f4SPeng Fan #size-cells = <0>; 804*993274f4SPeng Fan compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 805*993274f4SPeng Fan reg = <0x30a20000 0x10000>; 806*993274f4SPeng Fan interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 807*993274f4SPeng Fan clocks = <&clks IMX7D_I2C1_ROOT_CLK>; 808*993274f4SPeng Fan status = "disabled"; 809*993274f4SPeng Fan }; 810*993274f4SPeng Fan 811*993274f4SPeng Fan i2c2: i2c@30a30000 { 812*993274f4SPeng Fan #address-cells = <1>; 813*993274f4SPeng Fan #size-cells = <0>; 814*993274f4SPeng Fan compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 815*993274f4SPeng Fan reg = <0x30a30000 0x10000>; 816*993274f4SPeng Fan interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 817*993274f4SPeng Fan clocks = <&clks IMX7D_I2C2_ROOT_CLK>; 818*993274f4SPeng Fan status = "disabled"; 819*993274f4SPeng Fan }; 820*993274f4SPeng Fan 821*993274f4SPeng Fan i2c3: i2c@30a40000 { 822*993274f4SPeng Fan #address-cells = <1>; 823*993274f4SPeng Fan #size-cells = <0>; 824*993274f4SPeng Fan compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 825*993274f4SPeng Fan reg = <0x30a40000 0x10000>; 826*993274f4SPeng Fan interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 827*993274f4SPeng Fan clocks = <&clks IMX7D_I2C3_ROOT_CLK>; 828*993274f4SPeng Fan status = "disabled"; 829*993274f4SPeng Fan }; 830*993274f4SPeng Fan 831*993274f4SPeng Fan i2c4: i2c@30a50000 { 832*993274f4SPeng Fan #address-cells = <1>; 833*993274f4SPeng Fan #size-cells = <0>; 834*993274f4SPeng Fan compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 835*993274f4SPeng Fan reg = <0x30a50000 0x10000>; 836*993274f4SPeng Fan interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 837*993274f4SPeng Fan clocks = <&clks IMX7D_I2C4_ROOT_CLK>; 838*993274f4SPeng Fan status = "disabled"; 839*993274f4SPeng Fan }; 840*993274f4SPeng Fan 841*993274f4SPeng Fan uart4: serial@30a60000 { 842*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 843*993274f4SPeng Fan "fsl,imx6q-uart"; 844*993274f4SPeng Fan reg = <0x30a60000 0x10000>; 845*993274f4SPeng Fan interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 846*993274f4SPeng Fan clocks = <&clks IMX7D_UART4_ROOT_CLK>, 847*993274f4SPeng Fan <&clks IMX7D_UART4_ROOT_CLK>; 848*993274f4SPeng Fan clock-names = "ipg", "per"; 849*993274f4SPeng Fan status = "disabled"; 850*993274f4SPeng Fan }; 851*993274f4SPeng Fan 852*993274f4SPeng Fan uart5: serial@30a70000 { 853*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 854*993274f4SPeng Fan "fsl,imx6q-uart"; 855*993274f4SPeng Fan reg = <0x30a70000 0x10000>; 856*993274f4SPeng Fan interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 857*993274f4SPeng Fan clocks = <&clks IMX7D_UART5_ROOT_CLK>, 858*993274f4SPeng Fan <&clks IMX7D_UART5_ROOT_CLK>; 859*993274f4SPeng Fan clock-names = "ipg", "per"; 860*993274f4SPeng Fan status = "disabled"; 861*993274f4SPeng Fan }; 862*993274f4SPeng Fan 863*993274f4SPeng Fan uart6: serial@30a80000 { 864*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 865*993274f4SPeng Fan "fsl,imx6q-uart"; 866*993274f4SPeng Fan reg = <0x30a80000 0x10000>; 867*993274f4SPeng Fan interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 868*993274f4SPeng Fan clocks = <&clks IMX7D_UART6_ROOT_CLK>, 869*993274f4SPeng Fan <&clks IMX7D_UART6_ROOT_CLK>; 870*993274f4SPeng Fan clock-names = "ipg", "per"; 871*993274f4SPeng Fan status = "disabled"; 872*993274f4SPeng Fan }; 873*993274f4SPeng Fan 874*993274f4SPeng Fan uart7: serial@30a90000 { 875*993274f4SPeng Fan compatible = "fsl,imx7d-uart", 876*993274f4SPeng Fan "fsl,imx6q-uart"; 877*993274f4SPeng Fan reg = <0x30a90000 0x10000>; 878*993274f4SPeng Fan interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 879*993274f4SPeng Fan clocks = <&clks IMX7D_UART7_ROOT_CLK>, 880*993274f4SPeng Fan <&clks IMX7D_UART7_ROOT_CLK>; 881*993274f4SPeng Fan clock-names = "ipg", "per"; 882*993274f4SPeng Fan status = "disabled"; 883*993274f4SPeng Fan }; 884*993274f4SPeng Fan 885*993274f4SPeng Fan usbotg1: usb@30b10000 { 886*993274f4SPeng Fan compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; 887*993274f4SPeng Fan reg = <0x30b10000 0x200>; 888*993274f4SPeng Fan interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 889*993274f4SPeng Fan clocks = <&clks IMX7D_USB_CTRL_CLK>; 890*993274f4SPeng Fan fsl,usbphy = <&usbphynop1>; 891*993274f4SPeng Fan fsl,usbmisc = <&usbmisc1 0>; 892*993274f4SPeng Fan phy-clkgate-delay-us = <400>; 893*993274f4SPeng Fan status = "disabled"; 894*993274f4SPeng Fan }; 895*993274f4SPeng Fan 896*993274f4SPeng Fan usbh: usb@30b30000 { 897*993274f4SPeng Fan compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; 898*993274f4SPeng Fan reg = <0x30b30000 0x200>; 899*993274f4SPeng Fan interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 900*993274f4SPeng Fan clocks = <&clks IMX7D_USB_CTRL_CLK>; 901*993274f4SPeng Fan fsl,usbphy = <&usbphynop3>; 902*993274f4SPeng Fan fsl,usbmisc = <&usbmisc3 0>; 903*993274f4SPeng Fan phy_type = "hsic"; 904*993274f4SPeng Fan dr_mode = "host"; 905*993274f4SPeng Fan phy-clkgate-delay-us = <400>; 906*993274f4SPeng Fan status = "disabled"; 907*993274f4SPeng Fan }; 908*993274f4SPeng Fan 909*993274f4SPeng Fan usbmisc1: usbmisc@30b10200 { 910*993274f4SPeng Fan #index-cells = <1>; 911*993274f4SPeng Fan compatible = "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc"; 912*993274f4SPeng Fan reg = <0x30b10200 0x200>; 913*993274f4SPeng Fan }; 914*993274f4SPeng Fan 915*993274f4SPeng Fan usbmisc3: usbmisc@30b30200 { 916*993274f4SPeng Fan #index-cells = <1>; 917*993274f4SPeng Fan compatible = "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc"; 918*993274f4SPeng Fan reg = <0x30b30200 0x200>; 919*993274f4SPeng Fan }; 920*993274f4SPeng Fan 921*993274f4SPeng Fan usbphynop1: usbphynop1 { 922*993274f4SPeng Fan compatible = "usb-nop-xceiv"; 923*993274f4SPeng Fan clocks = <&clks IMX7D_USB_PHY1_CLK>; 924*993274f4SPeng Fan clock-names = "main_clk"; 925*993274f4SPeng Fan }; 926*993274f4SPeng Fan 927*993274f4SPeng Fan usbphynop3: usbphynop3 { 928*993274f4SPeng Fan compatible = "usb-nop-xceiv"; 929*993274f4SPeng Fan clocks = <&clks IMX7D_USB_HSIC_ROOT_CLK>; 930*993274f4SPeng Fan clock-names = "main_clk"; 931*993274f4SPeng Fan }; 932*993274f4SPeng Fan 933*993274f4SPeng Fan usdhc1: usdhc@30b40000 { 934*993274f4SPeng Fan compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 935*993274f4SPeng Fan reg = <0x30b40000 0x10000>; 936*993274f4SPeng Fan interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 937*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 938*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 939*993274f4SPeng Fan <&clks IMX7D_USDHC1_ROOT_CLK>; 940*993274f4SPeng Fan clock-names = "ipg", "ahb", "per"; 941*993274f4SPeng Fan bus-width = <4>; 942*993274f4SPeng Fan status = "disabled"; 943*993274f4SPeng Fan }; 944*993274f4SPeng Fan 945*993274f4SPeng Fan usdhc2: usdhc@30b50000 { 946*993274f4SPeng Fan compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 947*993274f4SPeng Fan reg = <0x30b50000 0x10000>; 948*993274f4SPeng Fan interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 949*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 950*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 951*993274f4SPeng Fan <&clks IMX7D_USDHC2_ROOT_CLK>; 952*993274f4SPeng Fan clock-names = "ipg", "ahb", "per"; 953*993274f4SPeng Fan bus-width = <4>; 954*993274f4SPeng Fan status = "disabled"; 955*993274f4SPeng Fan }; 956*993274f4SPeng Fan 957*993274f4SPeng Fan usdhc3: usdhc@30b60000 { 958*993274f4SPeng Fan compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 959*993274f4SPeng Fan reg = <0x30b60000 0x10000>; 960*993274f4SPeng Fan interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 961*993274f4SPeng Fan clocks = <&clks IMX7D_CLK_DUMMY>, 962*993274f4SPeng Fan <&clks IMX7D_CLK_DUMMY>, 963*993274f4SPeng Fan <&clks IMX7D_USDHC3_ROOT_CLK>; 964*993274f4SPeng Fan clock-names = "ipg", "ahb", "per"; 965*993274f4SPeng Fan bus-width = <4>; 966*993274f4SPeng Fan status = "disabled"; 967*993274f4SPeng Fan }; 968*993274f4SPeng Fan 969*993274f4SPeng Fan sdma: sdma@30bd0000 { 970*993274f4SPeng Fan compatible = "fsl,imx7d-sdma", "fsl,imx35-sdma"; 971*993274f4SPeng Fan reg = <0x30bd0000 0x10000>; 972*993274f4SPeng Fan interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 973*993274f4SPeng Fan clocks = <&clks IMX7D_SDMA_CORE_CLK>, 974*993274f4SPeng Fan <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>; 975*993274f4SPeng Fan clock-names = "ipg", "ahb"; 976*993274f4SPeng Fan #dma-cells = <3>; 977*993274f4SPeng Fan fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 978*993274f4SPeng Fan }; 979*993274f4SPeng Fan 980*993274f4SPeng Fan fec1: ethernet@30be0000 { 981*993274f4SPeng Fan compatible = "fsl,imx7d-fec", "fsl,imx6sx-fec"; 982*993274f4SPeng Fan reg = <0x30be0000 0x10000>; 983*993274f4SPeng Fan interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 984*993274f4SPeng Fan <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 985*993274f4SPeng Fan <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 986*993274f4SPeng Fan clocks = <&clks IMX7D_ENET_AXI_ROOT_CLK>, 987*993274f4SPeng Fan <&clks IMX7D_ENET_AXI_ROOT_CLK>, 988*993274f4SPeng Fan <&clks IMX7D_ENET1_TIME_ROOT_CLK>, 989*993274f4SPeng Fan <&clks IMX7D_PLL_ENET_MAIN_125M_CLK>, 990*993274f4SPeng Fan <&clks IMX7D_ENET_PHY_REF_ROOT_CLK>; 991*993274f4SPeng Fan clock-names = "ipg", "ahb", "ptp", 992*993274f4SPeng Fan "enet_clk_ref", "enet_out"; 993*993274f4SPeng Fan fsl,num-tx-queues=<3>; 994*993274f4SPeng Fan fsl,num-rx-queues=<3>; 995*993274f4SPeng Fan status = "disabled"; 996*993274f4SPeng Fan }; 997*993274f4SPeng Fan }; 998*993274f4SPeng Fan }; 999*993274f4SPeng Fan}; 1000