1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR MIT 2*724ba675SRob Herring// 3*724ba675SRob Herring// Copyright 2015 Freescale Semiconductor, Inc. 4*724ba675SRob Herring// Copyright 2016 Toradex AG 5*724ba675SRob Herring 6*724ba675SRob Herring#include <dt-bindings/clock/imx7d-clock.h> 7*724ba675SRob Herring#include <dt-bindings/power/imx7-power.h> 8*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 9*724ba675SRob Herring#include <dt-bindings/input/input.h> 10*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 11*724ba675SRob Herring#include <dt-bindings/reset/imx7-reset.h> 12*724ba675SRob Herring#include "imx7d-pinfunc.h" 13*724ba675SRob Herring 14*724ba675SRob Herring/ { 15*724ba675SRob Herring #address-cells = <1>; 16*724ba675SRob Herring #size-cells = <1>; 17*724ba675SRob Herring /* 18*724ba675SRob Herring * The decompressor and also some bootloaders rely on a 19*724ba675SRob Herring * pre-existing /chosen node to be available to insert the 20*724ba675SRob Herring * command line and merge other ATAGS info. 21*724ba675SRob Herring */ 22*724ba675SRob Herring chosen {}; 23*724ba675SRob Herring 24*724ba675SRob Herring aliases { 25*724ba675SRob Herring gpio0 = &gpio1; 26*724ba675SRob Herring gpio1 = &gpio2; 27*724ba675SRob Herring gpio2 = &gpio3; 28*724ba675SRob Herring gpio3 = &gpio4; 29*724ba675SRob Herring gpio4 = &gpio5; 30*724ba675SRob Herring gpio5 = &gpio6; 31*724ba675SRob Herring gpio6 = &gpio7; 32*724ba675SRob Herring i2c0 = &i2c1; 33*724ba675SRob Herring i2c1 = &i2c2; 34*724ba675SRob Herring i2c2 = &i2c3; 35*724ba675SRob Herring i2c3 = &i2c4; 36*724ba675SRob Herring mmc0 = &usdhc1; 37*724ba675SRob Herring mmc1 = &usdhc2; 38*724ba675SRob Herring mmc2 = &usdhc3; 39*724ba675SRob Herring serial0 = &uart1; 40*724ba675SRob Herring serial1 = &uart2; 41*724ba675SRob Herring serial2 = &uart3; 42*724ba675SRob Herring serial3 = &uart4; 43*724ba675SRob Herring serial4 = &uart5; 44*724ba675SRob Herring serial5 = &uart6; 45*724ba675SRob Herring serial6 = &uart7; 46*724ba675SRob Herring spi0 = &ecspi1; 47*724ba675SRob Herring spi1 = &ecspi2; 48*724ba675SRob Herring spi2 = &ecspi3; 49*724ba675SRob Herring spi3 = &ecspi4; 50*724ba675SRob Herring usb0 = &usbotg1; 51*724ba675SRob Herring usb1 = &usbh; 52*724ba675SRob Herring }; 53*724ba675SRob Herring 54*724ba675SRob Herring cpus { 55*724ba675SRob Herring #address-cells = <1>; 56*724ba675SRob Herring #size-cells = <0>; 57*724ba675SRob Herring 58*724ba675SRob Herring idle-states { 59*724ba675SRob Herring entry-method = "psci"; 60*724ba675SRob Herring 61*724ba675SRob Herring cpu_sleep_wait: cpu-sleep-wait { 62*724ba675SRob Herring compatible = "arm,idle-state"; 63*724ba675SRob Herring arm,psci-suspend-param = <0x0010000>; 64*724ba675SRob Herring local-timer-stop; 65*724ba675SRob Herring entry-latency-us = <100>; 66*724ba675SRob Herring exit-latency-us = <50>; 67*724ba675SRob Herring min-residency-us = <1000>; 68*724ba675SRob Herring }; 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring cpu0: cpu@0 { 72*724ba675SRob Herring compatible = "arm,cortex-a7"; 73*724ba675SRob Herring device_type = "cpu"; 74*724ba675SRob Herring reg = <0>; 75*724ba675SRob Herring clock-frequency = <792000000>; 76*724ba675SRob Herring clock-latency = <61036>; /* two CLK32 periods */ 77*724ba675SRob Herring clocks = <&clks IMX7D_CLK_ARM>; 78*724ba675SRob Herring cpu-idle-states = <&cpu_sleep_wait>; 79*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 80*724ba675SRob Herring #cooling-cells = <2>; 81*724ba675SRob Herring nvmem-cells = <&fuse_grade>; 82*724ba675SRob Herring nvmem-cell-names = "speed_grade"; 83*724ba675SRob Herring }; 84*724ba675SRob Herring }; 85*724ba675SRob Herring 86*724ba675SRob Herring cpu0_opp_table: opp-table { 87*724ba675SRob Herring compatible = "operating-points-v2"; 88*724ba675SRob Herring opp-shared; 89*724ba675SRob Herring 90*724ba675SRob Herring opp-792000000 { 91*724ba675SRob Herring opp-hz = /bits/ 64 <792000000>; 92*724ba675SRob Herring opp-microvolt = <1000000>; 93*724ba675SRob Herring clock-latency-ns = <150000>; 94*724ba675SRob Herring opp-supported-hw = <0xf>, <0xf>; 95*724ba675SRob Herring }; 96*724ba675SRob Herring }; 97*724ba675SRob Herring 98*724ba675SRob Herring ckil: clock-cki { 99*724ba675SRob Herring compatible = "fixed-clock"; 100*724ba675SRob Herring #clock-cells = <0>; 101*724ba675SRob Herring clock-frequency = <32768>; 102*724ba675SRob Herring clock-output-names = "ckil"; 103*724ba675SRob Herring }; 104*724ba675SRob Herring 105*724ba675SRob Herring osc: clock-osc { 106*724ba675SRob Herring compatible = "fixed-clock"; 107*724ba675SRob Herring #clock-cells = <0>; 108*724ba675SRob Herring clock-frequency = <24000000>; 109*724ba675SRob Herring clock-output-names = "osc"; 110*724ba675SRob Herring }; 111*724ba675SRob Herring 112*724ba675SRob Herring usbphynop1: usbphynop1 { 113*724ba675SRob Herring compatible = "usb-nop-xceiv"; 114*724ba675SRob Herring clocks = <&clks IMX7D_USB_PHY1_CLK>; 115*724ba675SRob Herring clock-names = "main_clk"; 116*724ba675SRob Herring #phy-cells = <0>; 117*724ba675SRob Herring }; 118*724ba675SRob Herring 119*724ba675SRob Herring usbphynop3: usbphynop3 { 120*724ba675SRob Herring compatible = "usb-nop-xceiv"; 121*724ba675SRob Herring clocks = <&clks IMX7D_USB_HSIC_ROOT_CLK>; 122*724ba675SRob Herring clock-names = "main_clk"; 123*724ba675SRob Herring power-domains = <&pgc_hsic_phy>; 124*724ba675SRob Herring #phy-cells = <0>; 125*724ba675SRob Herring }; 126*724ba675SRob Herring 127*724ba675SRob Herring pmu { 128*724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 129*724ba675SRob Herring interrupt-parent = <&gpc>; 130*724ba675SRob Herring interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 131*724ba675SRob Herring interrupt-affinity = <&cpu0>; 132*724ba675SRob Herring }; 133*724ba675SRob Herring 134*724ba675SRob Herring replicator { 135*724ba675SRob Herring /* 136*724ba675SRob Herring * non-configurable replicators don't show up on the 137*724ba675SRob Herring * AMBA bus. As such no need to add "arm,primecell" 138*724ba675SRob Herring */ 139*724ba675SRob Herring compatible = "arm,coresight-static-replicator"; 140*724ba675SRob Herring 141*724ba675SRob Herring out-ports { 142*724ba675SRob Herring #address-cells = <1>; 143*724ba675SRob Herring #size-cells = <0>; 144*724ba675SRob Herring /* replicator output ports */ 145*724ba675SRob Herring port@0 { 146*724ba675SRob Herring reg = <0>; 147*724ba675SRob Herring replicator_out_port0: endpoint { 148*724ba675SRob Herring remote-endpoint = <&tpiu_in_port>; 149*724ba675SRob Herring }; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring port@1 { 153*724ba675SRob Herring reg = <1>; 154*724ba675SRob Herring replicator_out_port1: endpoint { 155*724ba675SRob Herring remote-endpoint = <&etr_in_port>; 156*724ba675SRob Herring }; 157*724ba675SRob Herring }; 158*724ba675SRob Herring }; 159*724ba675SRob Herring 160*724ba675SRob Herring in-ports { 161*724ba675SRob Herring port { 162*724ba675SRob Herring replicator_in_port0: endpoint { 163*724ba675SRob Herring remote-endpoint = <&etf_out_port>; 164*724ba675SRob Herring }; 165*724ba675SRob Herring }; 166*724ba675SRob Herring }; 167*724ba675SRob Herring }; 168*724ba675SRob Herring 169*724ba675SRob Herring timer { 170*724ba675SRob Herring compatible = "arm,armv7-timer"; 171*724ba675SRob Herring arm,cpu-registers-not-fw-configured; 172*724ba675SRob Herring interrupt-parent = <&intc>; 173*724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 174*724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 175*724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 176*724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 177*724ba675SRob Herring }; 178*724ba675SRob Herring 179*724ba675SRob Herring soc: soc { 180*724ba675SRob Herring #address-cells = <1>; 181*724ba675SRob Herring #size-cells = <1>; 182*724ba675SRob Herring compatible = "simple-bus"; 183*724ba675SRob Herring interrupt-parent = <&gpc>; 184*724ba675SRob Herring ranges; 185*724ba675SRob Herring 186*724ba675SRob Herring funnel@30041000 { 187*724ba675SRob Herring compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 188*724ba675SRob Herring reg = <0x30041000 0x1000>; 189*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 190*724ba675SRob Herring clock-names = "apb_pclk"; 191*724ba675SRob Herring 192*724ba675SRob Herring ca_funnel_in_ports: in-ports { 193*724ba675SRob Herring port { 194*724ba675SRob Herring ca_funnel_in_port0: endpoint { 195*724ba675SRob Herring remote-endpoint = <&etm0_out_port>; 196*724ba675SRob Herring }; 197*724ba675SRob Herring }; 198*724ba675SRob Herring 199*724ba675SRob Herring /* the other input ports are not connect to anything */ 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring out-ports { 203*724ba675SRob Herring port { 204*724ba675SRob Herring ca_funnel_out_port0: endpoint { 205*724ba675SRob Herring remote-endpoint = <&hugo_funnel_in_port0>; 206*724ba675SRob Herring }; 207*724ba675SRob Herring }; 208*724ba675SRob Herring 209*724ba675SRob Herring }; 210*724ba675SRob Herring }; 211*724ba675SRob Herring 212*724ba675SRob Herring etm@3007c000 { 213*724ba675SRob Herring compatible = "arm,coresight-etm3x", "arm,primecell"; 214*724ba675SRob Herring reg = <0x3007c000 0x1000>; 215*724ba675SRob Herring cpu = <&cpu0>; 216*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 217*724ba675SRob Herring clock-names = "apb_pclk"; 218*724ba675SRob Herring 219*724ba675SRob Herring out-ports { 220*724ba675SRob Herring port { 221*724ba675SRob Herring etm0_out_port: endpoint { 222*724ba675SRob Herring remote-endpoint = <&ca_funnel_in_port0>; 223*724ba675SRob Herring }; 224*724ba675SRob Herring }; 225*724ba675SRob Herring }; 226*724ba675SRob Herring }; 227*724ba675SRob Herring 228*724ba675SRob Herring funnel@30083000 { 229*724ba675SRob Herring compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 230*724ba675SRob Herring reg = <0x30083000 0x1000>; 231*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 232*724ba675SRob Herring clock-names = "apb_pclk"; 233*724ba675SRob Herring 234*724ba675SRob Herring in-ports { 235*724ba675SRob Herring #address-cells = <1>; 236*724ba675SRob Herring #size-cells = <0>; 237*724ba675SRob Herring 238*724ba675SRob Herring port@0 { 239*724ba675SRob Herring reg = <0>; 240*724ba675SRob Herring hugo_funnel_in_port0: endpoint { 241*724ba675SRob Herring remote-endpoint = <&ca_funnel_out_port0>; 242*724ba675SRob Herring }; 243*724ba675SRob Herring }; 244*724ba675SRob Herring 245*724ba675SRob Herring port@1 { 246*724ba675SRob Herring reg = <1>; 247*724ba675SRob Herring hugo_funnel_in_port1: endpoint { 248*724ba675SRob Herring /* M4 input */ 249*724ba675SRob Herring }; 250*724ba675SRob Herring }; 251*724ba675SRob Herring /* the other input ports are not connect to anything */ 252*724ba675SRob Herring }; 253*724ba675SRob Herring 254*724ba675SRob Herring out-ports { 255*724ba675SRob Herring port { 256*724ba675SRob Herring hugo_funnel_out_port0: endpoint { 257*724ba675SRob Herring remote-endpoint = <&etf_in_port>; 258*724ba675SRob Herring }; 259*724ba675SRob Herring }; 260*724ba675SRob Herring }; 261*724ba675SRob Herring }; 262*724ba675SRob Herring 263*724ba675SRob Herring etf@30084000 { 264*724ba675SRob Herring compatible = "arm,coresight-tmc", "arm,primecell"; 265*724ba675SRob Herring reg = <0x30084000 0x1000>; 266*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 267*724ba675SRob Herring clock-names = "apb_pclk"; 268*724ba675SRob Herring 269*724ba675SRob Herring in-ports { 270*724ba675SRob Herring port { 271*724ba675SRob Herring etf_in_port: endpoint { 272*724ba675SRob Herring remote-endpoint = <&hugo_funnel_out_port0>; 273*724ba675SRob Herring }; 274*724ba675SRob Herring }; 275*724ba675SRob Herring }; 276*724ba675SRob Herring 277*724ba675SRob Herring out-ports { 278*724ba675SRob Herring port { 279*724ba675SRob Herring etf_out_port: endpoint { 280*724ba675SRob Herring remote-endpoint = <&replicator_in_port0>; 281*724ba675SRob Herring }; 282*724ba675SRob Herring }; 283*724ba675SRob Herring }; 284*724ba675SRob Herring }; 285*724ba675SRob Herring 286*724ba675SRob Herring etr@30086000 { 287*724ba675SRob Herring compatible = "arm,coresight-tmc", "arm,primecell"; 288*724ba675SRob Herring reg = <0x30086000 0x1000>; 289*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 290*724ba675SRob Herring clock-names = "apb_pclk"; 291*724ba675SRob Herring 292*724ba675SRob Herring in-ports { 293*724ba675SRob Herring port { 294*724ba675SRob Herring etr_in_port: endpoint { 295*724ba675SRob Herring remote-endpoint = <&replicator_out_port1>; 296*724ba675SRob Herring }; 297*724ba675SRob Herring }; 298*724ba675SRob Herring }; 299*724ba675SRob Herring }; 300*724ba675SRob Herring 301*724ba675SRob Herring tpiu@30087000 { 302*724ba675SRob Herring compatible = "arm,coresight-tpiu", "arm,primecell"; 303*724ba675SRob Herring reg = <0x30087000 0x1000>; 304*724ba675SRob Herring clocks = <&clks IMX7D_MAIN_AXI_ROOT_CLK>; 305*724ba675SRob Herring clock-names = "apb_pclk"; 306*724ba675SRob Herring 307*724ba675SRob Herring in-ports { 308*724ba675SRob Herring port { 309*724ba675SRob Herring tpiu_in_port: endpoint { 310*724ba675SRob Herring remote-endpoint = <&replicator_out_port0>; 311*724ba675SRob Herring }; 312*724ba675SRob Herring }; 313*724ba675SRob Herring }; 314*724ba675SRob Herring }; 315*724ba675SRob Herring 316*724ba675SRob Herring intc: interrupt-controller@31001000 { 317*724ba675SRob Herring compatible = "arm,cortex-a7-gic"; 318*724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 319*724ba675SRob Herring #interrupt-cells = <3>; 320*724ba675SRob Herring interrupt-controller; 321*724ba675SRob Herring interrupt-parent = <&intc>; 322*724ba675SRob Herring reg = <0x31001000 0x1000>, 323*724ba675SRob Herring <0x31002000 0x2000>, 324*724ba675SRob Herring <0x31004000 0x2000>, 325*724ba675SRob Herring <0x31006000 0x2000>; 326*724ba675SRob Herring }; 327*724ba675SRob Herring 328*724ba675SRob Herring aips1: bus@30000000 { 329*724ba675SRob Herring compatible = "fsl,aips-bus", "simple-bus"; 330*724ba675SRob Herring #address-cells = <1>; 331*724ba675SRob Herring #size-cells = <1>; 332*724ba675SRob Herring reg = <0x30000000 0x400000>; 333*724ba675SRob Herring ranges; 334*724ba675SRob Herring 335*724ba675SRob Herring gpio1: gpio@30200000 { 336*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 337*724ba675SRob Herring reg = <0x30200000 0x10000>; 338*724ba675SRob Herring interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, /* GPIO1_INT15_0 */ 339*724ba675SRob Herring <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; /* GPIO1_INT31_16 */ 340*724ba675SRob Herring gpio-controller; 341*724ba675SRob Herring #gpio-cells = <2>; 342*724ba675SRob Herring interrupt-controller; 343*724ba675SRob Herring #interrupt-cells = <2>; 344*724ba675SRob Herring gpio-ranges = <&iomuxc_lpsr 0 0 8>, <&iomuxc 8 5 8>; 345*724ba675SRob Herring }; 346*724ba675SRob Herring 347*724ba675SRob Herring gpio2: gpio@30210000 { 348*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 349*724ba675SRob Herring reg = <0x30210000 0x10000>; 350*724ba675SRob Herring interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 351*724ba675SRob Herring <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 352*724ba675SRob Herring gpio-controller; 353*724ba675SRob Herring #gpio-cells = <2>; 354*724ba675SRob Herring interrupt-controller; 355*724ba675SRob Herring #interrupt-cells = <2>; 356*724ba675SRob Herring gpio-ranges = <&iomuxc 0 13 32>; 357*724ba675SRob Herring }; 358*724ba675SRob Herring 359*724ba675SRob Herring gpio3: gpio@30220000 { 360*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 361*724ba675SRob Herring reg = <0x30220000 0x10000>; 362*724ba675SRob Herring interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 363*724ba675SRob Herring <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 364*724ba675SRob Herring gpio-controller; 365*724ba675SRob Herring #gpio-cells = <2>; 366*724ba675SRob Herring interrupt-controller; 367*724ba675SRob Herring #interrupt-cells = <2>; 368*724ba675SRob Herring gpio-ranges = <&iomuxc 0 45 29>; 369*724ba675SRob Herring }; 370*724ba675SRob Herring 371*724ba675SRob Herring gpio4: gpio@30230000 { 372*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 373*724ba675SRob Herring reg = <0x30230000 0x10000>; 374*724ba675SRob Herring interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 375*724ba675SRob Herring <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 376*724ba675SRob Herring gpio-controller; 377*724ba675SRob Herring #gpio-cells = <2>; 378*724ba675SRob Herring interrupt-controller; 379*724ba675SRob Herring #interrupt-cells = <2>; 380*724ba675SRob Herring gpio-ranges = <&iomuxc 0 74 24>; 381*724ba675SRob Herring }; 382*724ba675SRob Herring 383*724ba675SRob Herring gpio5: gpio@30240000 { 384*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 385*724ba675SRob Herring reg = <0x30240000 0x10000>; 386*724ba675SRob Herring interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 387*724ba675SRob Herring <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 388*724ba675SRob Herring gpio-controller; 389*724ba675SRob Herring #gpio-cells = <2>; 390*724ba675SRob Herring interrupt-controller; 391*724ba675SRob Herring #interrupt-cells = <2>; 392*724ba675SRob Herring gpio-ranges = <&iomuxc 0 98 18>; 393*724ba675SRob Herring }; 394*724ba675SRob Herring 395*724ba675SRob Herring gpio6: gpio@30250000 { 396*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 397*724ba675SRob Herring reg = <0x30250000 0x10000>; 398*724ba675SRob Herring interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 399*724ba675SRob Herring <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 400*724ba675SRob Herring gpio-controller; 401*724ba675SRob Herring #gpio-cells = <2>; 402*724ba675SRob Herring interrupt-controller; 403*724ba675SRob Herring #interrupt-cells = <2>; 404*724ba675SRob Herring gpio-ranges = <&iomuxc 0 116 23>; 405*724ba675SRob Herring }; 406*724ba675SRob Herring 407*724ba675SRob Herring gpio7: gpio@30260000 { 408*724ba675SRob Herring compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio"; 409*724ba675SRob Herring reg = <0x30260000 0x10000>; 410*724ba675SRob Herring interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 411*724ba675SRob Herring <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 412*724ba675SRob Herring gpio-controller; 413*724ba675SRob Herring #gpio-cells = <2>; 414*724ba675SRob Herring interrupt-controller; 415*724ba675SRob Herring #interrupt-cells = <2>; 416*724ba675SRob Herring gpio-ranges = <&iomuxc 0 139 16>; 417*724ba675SRob Herring }; 418*724ba675SRob Herring 419*724ba675SRob Herring wdog1: watchdog@30280000 { 420*724ba675SRob Herring compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 421*724ba675SRob Herring reg = <0x30280000 0x10000>; 422*724ba675SRob Herring interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 423*724ba675SRob Herring clocks = <&clks IMX7D_WDOG1_ROOT_CLK>; 424*724ba675SRob Herring }; 425*724ba675SRob Herring 426*724ba675SRob Herring wdog2: watchdog@30290000 { 427*724ba675SRob Herring compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 428*724ba675SRob Herring reg = <0x30290000 0x10000>; 429*724ba675SRob Herring interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 430*724ba675SRob Herring clocks = <&clks IMX7D_WDOG2_ROOT_CLK>; 431*724ba675SRob Herring status = "disabled"; 432*724ba675SRob Herring }; 433*724ba675SRob Herring 434*724ba675SRob Herring wdog3: watchdog@302a0000 { 435*724ba675SRob Herring compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 436*724ba675SRob Herring reg = <0x302a0000 0x10000>; 437*724ba675SRob Herring interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 438*724ba675SRob Herring clocks = <&clks IMX7D_WDOG3_ROOT_CLK>; 439*724ba675SRob Herring status = "disabled"; 440*724ba675SRob Herring }; 441*724ba675SRob Herring 442*724ba675SRob Herring wdog4: watchdog@302b0000 { 443*724ba675SRob Herring compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 444*724ba675SRob Herring reg = <0x302b0000 0x10000>; 445*724ba675SRob Herring interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 446*724ba675SRob Herring clocks = <&clks IMX7D_WDOG4_ROOT_CLK>; 447*724ba675SRob Herring status = "disabled"; 448*724ba675SRob Herring }; 449*724ba675SRob Herring 450*724ba675SRob Herring iomuxc_lpsr: pinctrl@302c0000 { 451*724ba675SRob Herring compatible = "fsl,imx7d-iomuxc-lpsr"; 452*724ba675SRob Herring reg = <0x302c0000 0x10000>; 453*724ba675SRob Herring fsl,input-sel = <&iomuxc>; 454*724ba675SRob Herring }; 455*724ba675SRob Herring 456*724ba675SRob Herring gpt1: timer@302d0000 { 457*724ba675SRob Herring compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 458*724ba675SRob Herring reg = <0x302d0000 0x10000>; 459*724ba675SRob Herring interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 460*724ba675SRob Herring clocks = <&clks IMX7D_GPT1_ROOT_CLK>, 461*724ba675SRob Herring <&clks IMX7D_GPT1_ROOT_CLK>; 462*724ba675SRob Herring clock-names = "ipg", "per"; 463*724ba675SRob Herring }; 464*724ba675SRob Herring 465*724ba675SRob Herring gpt2: timer@302e0000 { 466*724ba675SRob Herring compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 467*724ba675SRob Herring reg = <0x302e0000 0x10000>; 468*724ba675SRob Herring interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 469*724ba675SRob Herring clocks = <&clks IMX7D_GPT2_ROOT_CLK>, 470*724ba675SRob Herring <&clks IMX7D_GPT2_ROOT_CLK>; 471*724ba675SRob Herring clock-names = "ipg", "per"; 472*724ba675SRob Herring status = "disabled"; 473*724ba675SRob Herring }; 474*724ba675SRob Herring 475*724ba675SRob Herring gpt3: timer@302f0000 { 476*724ba675SRob Herring compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 477*724ba675SRob Herring reg = <0x302f0000 0x10000>; 478*724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 479*724ba675SRob Herring clocks = <&clks IMX7D_GPT3_ROOT_CLK>, 480*724ba675SRob Herring <&clks IMX7D_GPT3_ROOT_CLK>; 481*724ba675SRob Herring clock-names = "ipg", "per"; 482*724ba675SRob Herring status = "disabled"; 483*724ba675SRob Herring }; 484*724ba675SRob Herring 485*724ba675SRob Herring gpt4: timer@30300000 { 486*724ba675SRob Herring compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 487*724ba675SRob Herring reg = <0x30300000 0x10000>; 488*724ba675SRob Herring interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 489*724ba675SRob Herring clocks = <&clks IMX7D_GPT4_ROOT_CLK>, 490*724ba675SRob Herring <&clks IMX7D_GPT4_ROOT_CLK>; 491*724ba675SRob Herring clock-names = "ipg", "per"; 492*724ba675SRob Herring status = "disabled"; 493*724ba675SRob Herring }; 494*724ba675SRob Herring 495*724ba675SRob Herring kpp: keypad@30320000 { 496*724ba675SRob Herring compatible = "fsl,imx7d-kpp", "fsl,imx21-kpp"; 497*724ba675SRob Herring reg = <0x30320000 0x10000>; 498*724ba675SRob Herring interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 499*724ba675SRob Herring clocks = <&clks IMX7D_KPP_ROOT_CLK>; 500*724ba675SRob Herring status = "disabled"; 501*724ba675SRob Herring }; 502*724ba675SRob Herring 503*724ba675SRob Herring iomuxc: pinctrl@30330000 { 504*724ba675SRob Herring compatible = "fsl,imx7d-iomuxc"; 505*724ba675SRob Herring reg = <0x30330000 0x10000>; 506*724ba675SRob Herring }; 507*724ba675SRob Herring 508*724ba675SRob Herring gpr: iomuxc-gpr@30340000 { 509*724ba675SRob Herring compatible = "fsl,imx7d-iomuxc-gpr", 510*724ba675SRob Herring "fsl,imx6q-iomuxc-gpr", "syscon", 511*724ba675SRob Herring "simple-mfd"; 512*724ba675SRob Herring reg = <0x30340000 0x10000>; 513*724ba675SRob Herring 514*724ba675SRob Herring mux: mux-controller { 515*724ba675SRob Herring compatible = "mmio-mux"; 516*724ba675SRob Herring #mux-control-cells = <1>; 517*724ba675SRob Herring mux-reg-masks = <0x14 0x00000010>; 518*724ba675SRob Herring }; 519*724ba675SRob Herring 520*724ba675SRob Herring video_mux: csi-mux { 521*724ba675SRob Herring compatible = "video-mux"; 522*724ba675SRob Herring mux-controls = <&mux 0>; 523*724ba675SRob Herring #address-cells = <1>; 524*724ba675SRob Herring #size-cells = <0>; 525*724ba675SRob Herring status = "disabled"; 526*724ba675SRob Herring 527*724ba675SRob Herring port@0 { 528*724ba675SRob Herring reg = <0>; 529*724ba675SRob Herring }; 530*724ba675SRob Herring 531*724ba675SRob Herring port@1 { 532*724ba675SRob Herring reg = <1>; 533*724ba675SRob Herring 534*724ba675SRob Herring csi_mux_from_mipi_vc0: endpoint { 535*724ba675SRob Herring remote-endpoint = <&mipi_vc0_to_csi_mux>; 536*724ba675SRob Herring }; 537*724ba675SRob Herring }; 538*724ba675SRob Herring 539*724ba675SRob Herring port@2 { 540*724ba675SRob Herring reg = <2>; 541*724ba675SRob Herring 542*724ba675SRob Herring csi_mux_to_csi: endpoint { 543*724ba675SRob Herring remote-endpoint = <&csi_from_csi_mux>; 544*724ba675SRob Herring }; 545*724ba675SRob Herring }; 546*724ba675SRob Herring }; 547*724ba675SRob Herring }; 548*724ba675SRob Herring 549*724ba675SRob Herring ocotp: efuse@30350000 { 550*724ba675SRob Herring #address-cells = <1>; 551*724ba675SRob Herring #size-cells = <1>; 552*724ba675SRob Herring compatible = "fsl,imx7d-ocotp", "syscon"; 553*724ba675SRob Herring reg = <0x30350000 0x10000>; 554*724ba675SRob Herring clocks = <&clks IMX7D_OCOTP_CLK>; 555*724ba675SRob Herring 556*724ba675SRob Herring tempmon_calib: calib@3c { 557*724ba675SRob Herring reg = <0x3c 0x4>; 558*724ba675SRob Herring }; 559*724ba675SRob Herring 560*724ba675SRob Herring fuse_grade: fuse-grade@10 { 561*724ba675SRob Herring reg = <0x10 0x4>; 562*724ba675SRob Herring }; 563*724ba675SRob Herring }; 564*724ba675SRob Herring 565*724ba675SRob Herring anatop: anatop@30360000 { 566*724ba675SRob Herring compatible = "fsl,imx7d-anatop", "fsl,imx6q-anatop", 567*724ba675SRob Herring "syscon", "simple-mfd"; 568*724ba675SRob Herring reg = <0x30360000 0x10000>; 569*724ba675SRob Herring interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 570*724ba675SRob Herring <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 571*724ba675SRob Herring 572*724ba675SRob Herring reg_1p0d: regulator-vdd1p0d { 573*724ba675SRob Herring compatible = "fsl,anatop-regulator"; 574*724ba675SRob Herring regulator-name = "vdd1p0d"; 575*724ba675SRob Herring regulator-min-microvolt = <800000>; 576*724ba675SRob Herring regulator-max-microvolt = <1200000>; 577*724ba675SRob Herring anatop-reg-offset = <0x210>; 578*724ba675SRob Herring anatop-vol-bit-shift = <8>; 579*724ba675SRob Herring anatop-vol-bit-width = <5>; 580*724ba675SRob Herring anatop-min-bit-val = <8>; 581*724ba675SRob Herring anatop-min-voltage = <800000>; 582*724ba675SRob Herring anatop-max-voltage = <1200000>; 583*724ba675SRob Herring anatop-enable-bit = <0>; 584*724ba675SRob Herring }; 585*724ba675SRob Herring 586*724ba675SRob Herring reg_1p2: regulator-vdd1p2 { 587*724ba675SRob Herring compatible = "fsl,anatop-regulator"; 588*724ba675SRob Herring regulator-name = "vdd1p2"; 589*724ba675SRob Herring regulator-min-microvolt = <1100000>; 590*724ba675SRob Herring regulator-max-microvolt = <1300000>; 591*724ba675SRob Herring anatop-reg-offset = <0x220>; 592*724ba675SRob Herring anatop-vol-bit-shift = <8>; 593*724ba675SRob Herring anatop-vol-bit-width = <5>; 594*724ba675SRob Herring anatop-min-bit-val = <0x14>; 595*724ba675SRob Herring anatop-min-voltage = <1100000>; 596*724ba675SRob Herring anatop-max-voltage = <1300000>; 597*724ba675SRob Herring anatop-enable-bit = <0>; 598*724ba675SRob Herring }; 599*724ba675SRob Herring 600*724ba675SRob Herring tempmon: tempmon { 601*724ba675SRob Herring compatible = "fsl,imx7d-tempmon"; 602*724ba675SRob Herring interrupt-parent = <&gpc>; 603*724ba675SRob Herring interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 604*724ba675SRob Herring fsl,tempmon = <&anatop>; 605*724ba675SRob Herring nvmem-cells = <&tempmon_calib>, <&fuse_grade>; 606*724ba675SRob Herring nvmem-cell-names = "calib", "temp_grade"; 607*724ba675SRob Herring clocks = <&clks IMX7D_PLL_SYS_MAIN_CLK>; 608*724ba675SRob Herring }; 609*724ba675SRob Herring }; 610*724ba675SRob Herring 611*724ba675SRob Herring snvs: snvs@30370000 { 612*724ba675SRob Herring compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 613*724ba675SRob Herring reg = <0x30370000 0x10000>; 614*724ba675SRob Herring 615*724ba675SRob Herring snvs_rtc: snvs-rtc-lp { 616*724ba675SRob Herring compatible = "fsl,sec-v4.0-mon-rtc-lp"; 617*724ba675SRob Herring regmap = <&snvs>; 618*724ba675SRob Herring offset = <0x34>; 619*724ba675SRob Herring interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 620*724ba675SRob Herring <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 621*724ba675SRob Herring clocks = <&clks IMX7D_SNVS_CLK>; 622*724ba675SRob Herring clock-names = "snvs-rtc"; 623*724ba675SRob Herring }; 624*724ba675SRob Herring 625*724ba675SRob Herring snvs_pwrkey: snvs-powerkey { 626*724ba675SRob Herring compatible = "fsl,sec-v4.0-pwrkey"; 627*724ba675SRob Herring regmap = <&snvs>; 628*724ba675SRob Herring interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 629*724ba675SRob Herring clocks = <&clks IMX7D_SNVS_CLK>; 630*724ba675SRob Herring clock-names = "snvs-pwrkey"; 631*724ba675SRob Herring linux,keycode = <KEY_POWER>; 632*724ba675SRob Herring wakeup-source; 633*724ba675SRob Herring status = "disabled"; 634*724ba675SRob Herring }; 635*724ba675SRob Herring }; 636*724ba675SRob Herring 637*724ba675SRob Herring clks: clock-controller@30380000 { 638*724ba675SRob Herring compatible = "fsl,imx7d-ccm"; 639*724ba675SRob Herring reg = <0x30380000 0x10000>; 640*724ba675SRob Herring interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 641*724ba675SRob Herring <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 642*724ba675SRob Herring #clock-cells = <1>; 643*724ba675SRob Herring clocks = <&ckil>, <&osc>; 644*724ba675SRob Herring clock-names = "ckil", "osc"; 645*724ba675SRob Herring }; 646*724ba675SRob Herring 647*724ba675SRob Herring src: reset-controller@30390000 { 648*724ba675SRob Herring compatible = "fsl,imx7d-src", "syscon"; 649*724ba675SRob Herring reg = <0x30390000 0x10000>; 650*724ba675SRob Herring interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 651*724ba675SRob Herring #reset-cells = <1>; 652*724ba675SRob Herring }; 653*724ba675SRob Herring 654*724ba675SRob Herring gpc: gpc@303a0000 { 655*724ba675SRob Herring compatible = "fsl,imx7d-gpc"; 656*724ba675SRob Herring reg = <0x303a0000 0x10000>; 657*724ba675SRob Herring interrupt-controller; 658*724ba675SRob Herring interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 659*724ba675SRob Herring #interrupt-cells = <3>; 660*724ba675SRob Herring interrupt-parent = <&intc>; 661*724ba675SRob Herring #power-domain-cells = <1>; 662*724ba675SRob Herring 663*724ba675SRob Herring pgc { 664*724ba675SRob Herring #address-cells = <1>; 665*724ba675SRob Herring #size-cells = <0>; 666*724ba675SRob Herring 667*724ba675SRob Herring pgc_mipi_phy: power-domain@0 { 668*724ba675SRob Herring #power-domain-cells = <0>; 669*724ba675SRob Herring reg = <0>; 670*724ba675SRob Herring power-supply = <®_1p0d>; 671*724ba675SRob Herring }; 672*724ba675SRob Herring 673*724ba675SRob Herring pgc_pcie_phy: power-domain@1 { 674*724ba675SRob Herring #power-domain-cells = <0>; 675*724ba675SRob Herring reg = <1>; 676*724ba675SRob Herring power-supply = <®_1p0d>; 677*724ba675SRob Herring }; 678*724ba675SRob Herring 679*724ba675SRob Herring pgc_hsic_phy: power-domain@2 { 680*724ba675SRob Herring #power-domain-cells = <0>; 681*724ba675SRob Herring reg = <2>; 682*724ba675SRob Herring power-supply = <®_1p2>; 683*724ba675SRob Herring }; 684*724ba675SRob Herring }; 685*724ba675SRob Herring }; 686*724ba675SRob Herring }; 687*724ba675SRob Herring 688*724ba675SRob Herring aips2: bus@30400000 { 689*724ba675SRob Herring compatible = "fsl,aips-bus", "simple-bus"; 690*724ba675SRob Herring #address-cells = <1>; 691*724ba675SRob Herring #size-cells = <1>; 692*724ba675SRob Herring reg = <0x30400000 0x400000>; 693*724ba675SRob Herring ranges; 694*724ba675SRob Herring 695*724ba675SRob Herring adc1: adc@30610000 { 696*724ba675SRob Herring compatible = "fsl,imx7d-adc"; 697*724ba675SRob Herring reg = <0x30610000 0x10000>; 698*724ba675SRob Herring interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 699*724ba675SRob Herring clocks = <&clks IMX7D_ADC_ROOT_CLK>; 700*724ba675SRob Herring clock-names = "adc"; 701*724ba675SRob Herring #io-channel-cells = <1>; 702*724ba675SRob Herring status = "disabled"; 703*724ba675SRob Herring }; 704*724ba675SRob Herring 705*724ba675SRob Herring adc2: adc@30620000 { 706*724ba675SRob Herring compatible = "fsl,imx7d-adc"; 707*724ba675SRob Herring reg = <0x30620000 0x10000>; 708*724ba675SRob Herring interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 709*724ba675SRob Herring clocks = <&clks IMX7D_ADC_ROOT_CLK>; 710*724ba675SRob Herring clock-names = "adc"; 711*724ba675SRob Herring #io-channel-cells = <1>; 712*724ba675SRob Herring status = "disabled"; 713*724ba675SRob Herring }; 714*724ba675SRob Herring 715*724ba675SRob Herring ecspi4: spi@30630000 { 716*724ba675SRob Herring #address-cells = <1>; 717*724ba675SRob Herring #size-cells = <0>; 718*724ba675SRob Herring compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 719*724ba675SRob Herring reg = <0x30630000 0x10000>; 720*724ba675SRob Herring interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 721*724ba675SRob Herring clocks = <&clks IMX7D_ECSPI4_ROOT_CLK>, 722*724ba675SRob Herring <&clks IMX7D_ECSPI4_ROOT_CLK>; 723*724ba675SRob Herring clock-names = "ipg", "per"; 724*724ba675SRob Herring status = "disabled"; 725*724ba675SRob Herring }; 726*724ba675SRob Herring 727*724ba675SRob Herring ftm1: pwm@30640000 { 728*724ba675SRob Herring compatible = "fsl,vf610-ftm-pwm"; 729*724ba675SRob Herring reg = <0x30640000 0x10000>; 730*724ba675SRob Herring #pwm-cells = <3>; 731*724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 732*724ba675SRob Herring clock-names = "ftm_sys", "ftm_ext", 733*724ba675SRob Herring "ftm_fix", "ftm_cnt_clk_en"; 734*724ba675SRob Herring clocks = <&clks IMX7D_FLEXTIMER1_ROOT_CLK>, 735*724ba675SRob Herring <&clks IMX7D_FLEXTIMER1_ROOT_CLK>, 736*724ba675SRob Herring <&clks IMX7D_FLEXTIMER1_ROOT_CLK>, 737*724ba675SRob Herring <&clks IMX7D_FLEXTIMER1_ROOT_CLK>; 738*724ba675SRob Herring status = "disabled"; 739*724ba675SRob Herring }; 740*724ba675SRob Herring 741*724ba675SRob Herring ftm2: pwm@30650000 { 742*724ba675SRob Herring compatible = "fsl,vf610-ftm-pwm"; 743*724ba675SRob Herring reg = <0x30650000 0x10000>; 744*724ba675SRob Herring #pwm-cells = <3>; 745*724ba675SRob Herring interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 746*724ba675SRob Herring clock-names = "ftm_sys", "ftm_ext", 747*724ba675SRob Herring "ftm_fix", "ftm_cnt_clk_en"; 748*724ba675SRob Herring clocks = <&clks IMX7D_FLEXTIMER2_ROOT_CLK>, 749*724ba675SRob Herring <&clks IMX7D_FLEXTIMER2_ROOT_CLK>, 750*724ba675SRob Herring <&clks IMX7D_FLEXTIMER2_ROOT_CLK>, 751*724ba675SRob Herring <&clks IMX7D_FLEXTIMER2_ROOT_CLK>; 752*724ba675SRob Herring status = "disabled"; 753*724ba675SRob Herring }; 754*724ba675SRob Herring 755*724ba675SRob Herring pwm1: pwm@30660000 { 756*724ba675SRob Herring compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 757*724ba675SRob Herring reg = <0x30660000 0x10000>; 758*724ba675SRob Herring interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 759*724ba675SRob Herring clocks = <&clks IMX7D_PWM1_ROOT_CLK>, 760*724ba675SRob Herring <&clks IMX7D_PWM1_ROOT_CLK>; 761*724ba675SRob Herring clock-names = "ipg", "per"; 762*724ba675SRob Herring #pwm-cells = <3>; 763*724ba675SRob Herring status = "disabled"; 764*724ba675SRob Herring }; 765*724ba675SRob Herring 766*724ba675SRob Herring pwm2: pwm@30670000 { 767*724ba675SRob Herring compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 768*724ba675SRob Herring reg = <0x30670000 0x10000>; 769*724ba675SRob Herring interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 770*724ba675SRob Herring clocks = <&clks IMX7D_PWM2_ROOT_CLK>, 771*724ba675SRob Herring <&clks IMX7D_PWM2_ROOT_CLK>; 772*724ba675SRob Herring clock-names = "ipg", "per"; 773*724ba675SRob Herring #pwm-cells = <3>; 774*724ba675SRob Herring status = "disabled"; 775*724ba675SRob Herring }; 776*724ba675SRob Herring 777*724ba675SRob Herring pwm3: pwm@30680000 { 778*724ba675SRob Herring compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 779*724ba675SRob Herring reg = <0x30680000 0x10000>; 780*724ba675SRob Herring interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 781*724ba675SRob Herring clocks = <&clks IMX7D_PWM3_ROOT_CLK>, 782*724ba675SRob Herring <&clks IMX7D_PWM3_ROOT_CLK>; 783*724ba675SRob Herring clock-names = "ipg", "per"; 784*724ba675SRob Herring #pwm-cells = <3>; 785*724ba675SRob Herring status = "disabled"; 786*724ba675SRob Herring }; 787*724ba675SRob Herring 788*724ba675SRob Herring pwm4: pwm@30690000 { 789*724ba675SRob Herring compatible = "fsl,imx7d-pwm", "fsl,imx27-pwm"; 790*724ba675SRob Herring reg = <0x30690000 0x10000>; 791*724ba675SRob Herring interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 792*724ba675SRob Herring clocks = <&clks IMX7D_PWM4_ROOT_CLK>, 793*724ba675SRob Herring <&clks IMX7D_PWM4_ROOT_CLK>; 794*724ba675SRob Herring clock-names = "ipg", "per"; 795*724ba675SRob Herring #pwm-cells = <3>; 796*724ba675SRob Herring status = "disabled"; 797*724ba675SRob Herring }; 798*724ba675SRob Herring 799*724ba675SRob Herring csi: csi@30710000 { 800*724ba675SRob Herring compatible = "fsl,imx7-csi"; 801*724ba675SRob Herring reg = <0x30710000 0x10000>; 802*724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 803*724ba675SRob Herring clocks = <&clks IMX7D_CLK_DUMMY>, 804*724ba675SRob Herring <&clks IMX7D_CSI_MCLK_ROOT_CLK>, 805*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>; 806*724ba675SRob Herring clock-names = "axi", "mclk", "dcic"; 807*724ba675SRob Herring status = "disabled"; 808*724ba675SRob Herring 809*724ba675SRob Herring port { 810*724ba675SRob Herring csi_from_csi_mux: endpoint { 811*724ba675SRob Herring remote-endpoint = <&csi_mux_to_csi>; 812*724ba675SRob Herring }; 813*724ba675SRob Herring }; 814*724ba675SRob Herring }; 815*724ba675SRob Herring 816*724ba675SRob Herring lcdif: lcdif@30730000 { 817*724ba675SRob Herring compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif"; 818*724ba675SRob Herring reg = <0x30730000 0x10000>; 819*724ba675SRob Herring interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 820*724ba675SRob Herring clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>, 821*724ba675SRob Herring <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>; 822*724ba675SRob Herring clock-names = "pix", "axi"; 823*724ba675SRob Herring status = "disabled"; 824*724ba675SRob Herring }; 825*724ba675SRob Herring 826*724ba675SRob Herring mipi_csi: mipi-csi@30750000 { 827*724ba675SRob Herring compatible = "fsl,imx7-mipi-csi2"; 828*724ba675SRob Herring reg = <0x30750000 0x10000>; 829*724ba675SRob Herring interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 830*724ba675SRob Herring clocks = <&clks IMX7D_IPG_ROOT_CLK>, 831*724ba675SRob Herring <&clks IMX7D_MIPI_CSI_ROOT_CLK>, 832*724ba675SRob Herring <&clks IMX7D_MIPI_DPHY_ROOT_CLK>; 833*724ba675SRob Herring clock-names = "pclk", "wrap", "phy"; 834*724ba675SRob Herring power-domains = <&pgc_mipi_phy>; 835*724ba675SRob Herring phy-supply = <®_1p0d>; 836*724ba675SRob Herring resets = <&src IMX7_RESET_MIPI_PHY_MRST>; 837*724ba675SRob Herring status = "disabled"; 838*724ba675SRob Herring 839*724ba675SRob Herring ports { 840*724ba675SRob Herring #address-cells = <1>; 841*724ba675SRob Herring #size-cells = <0>; 842*724ba675SRob Herring 843*724ba675SRob Herring port@0 { 844*724ba675SRob Herring reg = <0>; 845*724ba675SRob Herring }; 846*724ba675SRob Herring 847*724ba675SRob Herring port@1 { 848*724ba675SRob Herring reg = <1>; 849*724ba675SRob Herring 850*724ba675SRob Herring mipi_vc0_to_csi_mux: endpoint { 851*724ba675SRob Herring remote-endpoint = <&csi_mux_from_mipi_vc0>; 852*724ba675SRob Herring }; 853*724ba675SRob Herring }; 854*724ba675SRob Herring }; 855*724ba675SRob Herring }; 856*724ba675SRob Herring }; 857*724ba675SRob Herring 858*724ba675SRob Herring aips3: bus@30800000 { 859*724ba675SRob Herring compatible = "fsl,aips-bus", "simple-bus"; 860*724ba675SRob Herring #address-cells = <1>; 861*724ba675SRob Herring #size-cells = <1>; 862*724ba675SRob Herring reg = <0x30800000 0x400000>; 863*724ba675SRob Herring ranges; 864*724ba675SRob Herring 865*724ba675SRob Herring spba-bus@30800000 { 866*724ba675SRob Herring compatible = "fsl,spba-bus", "simple-bus"; 867*724ba675SRob Herring #address-cells = <1>; 868*724ba675SRob Herring #size-cells = <1>; 869*724ba675SRob Herring reg = <0x30800000 0x100000>; 870*724ba675SRob Herring ranges; 871*724ba675SRob Herring 872*724ba675SRob Herring ecspi1: spi@30820000 { 873*724ba675SRob Herring #address-cells = <1>; 874*724ba675SRob Herring #size-cells = <0>; 875*724ba675SRob Herring compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 876*724ba675SRob Herring reg = <0x30820000 0x10000>; 877*724ba675SRob Herring interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 878*724ba675SRob Herring clocks = <&clks IMX7D_ECSPI1_ROOT_CLK>, 879*724ba675SRob Herring <&clks IMX7D_ECSPI1_ROOT_CLK>; 880*724ba675SRob Herring clock-names = "ipg", "per"; 881*724ba675SRob Herring status = "disabled"; 882*724ba675SRob Herring }; 883*724ba675SRob Herring 884*724ba675SRob Herring ecspi2: spi@30830000 { 885*724ba675SRob Herring #address-cells = <1>; 886*724ba675SRob Herring #size-cells = <0>; 887*724ba675SRob Herring compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 888*724ba675SRob Herring reg = <0x30830000 0x10000>; 889*724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 890*724ba675SRob Herring clocks = <&clks IMX7D_ECSPI2_ROOT_CLK>, 891*724ba675SRob Herring <&clks IMX7D_ECSPI2_ROOT_CLK>; 892*724ba675SRob Herring clock-names = "ipg", "per"; 893*724ba675SRob Herring status = "disabled"; 894*724ba675SRob Herring }; 895*724ba675SRob Herring 896*724ba675SRob Herring ecspi3: spi@30840000 { 897*724ba675SRob Herring #address-cells = <1>; 898*724ba675SRob Herring #size-cells = <0>; 899*724ba675SRob Herring compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 900*724ba675SRob Herring reg = <0x30840000 0x10000>; 901*724ba675SRob Herring interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 902*724ba675SRob Herring clocks = <&clks IMX7D_ECSPI3_ROOT_CLK>, 903*724ba675SRob Herring <&clks IMX7D_ECSPI3_ROOT_CLK>; 904*724ba675SRob Herring clock-names = "ipg", "per"; 905*724ba675SRob Herring status = "disabled"; 906*724ba675SRob Herring }; 907*724ba675SRob Herring 908*724ba675SRob Herring uart1: serial@30860000 { 909*724ba675SRob Herring compatible = "fsl,imx7d-uart", 910*724ba675SRob Herring "fsl,imx6q-uart"; 911*724ba675SRob Herring reg = <0x30860000 0x10000>; 912*724ba675SRob Herring interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 913*724ba675SRob Herring clocks = <&clks IMX7D_UART1_ROOT_CLK>, 914*724ba675SRob Herring <&clks IMX7D_UART1_ROOT_CLK>; 915*724ba675SRob Herring clock-names = "ipg", "per"; 916*724ba675SRob Herring status = "disabled"; 917*724ba675SRob Herring }; 918*724ba675SRob Herring 919*724ba675SRob Herring uart2: serial@30890000 { 920*724ba675SRob Herring compatible = "fsl,imx7d-uart", 921*724ba675SRob Herring "fsl,imx6q-uart"; 922*724ba675SRob Herring reg = <0x30890000 0x10000>; 923*724ba675SRob Herring interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 924*724ba675SRob Herring clocks = <&clks IMX7D_UART2_ROOT_CLK>, 925*724ba675SRob Herring <&clks IMX7D_UART2_ROOT_CLK>; 926*724ba675SRob Herring clock-names = "ipg", "per"; 927*724ba675SRob Herring status = "disabled"; 928*724ba675SRob Herring }; 929*724ba675SRob Herring 930*724ba675SRob Herring uart3: serial@30880000 { 931*724ba675SRob Herring compatible = "fsl,imx7d-uart", 932*724ba675SRob Herring "fsl,imx6q-uart"; 933*724ba675SRob Herring reg = <0x30880000 0x10000>; 934*724ba675SRob Herring interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 935*724ba675SRob Herring clocks = <&clks IMX7D_UART3_ROOT_CLK>, 936*724ba675SRob Herring <&clks IMX7D_UART3_ROOT_CLK>; 937*724ba675SRob Herring clock-names = "ipg", "per"; 938*724ba675SRob Herring status = "disabled"; 939*724ba675SRob Herring }; 940*724ba675SRob Herring 941*724ba675SRob Herring sai1: sai@308a0000 { 942*724ba675SRob Herring #sound-dai-cells = <0>; 943*724ba675SRob Herring compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 944*724ba675SRob Herring reg = <0x308a0000 0x10000>; 945*724ba675SRob Herring interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 946*724ba675SRob Herring clocks = <&clks IMX7D_SAI1_IPG_CLK>, 947*724ba675SRob Herring <&clks IMX7D_SAI1_ROOT_CLK>, 948*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>, 949*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>; 950*724ba675SRob Herring clock-names = "bus", "mclk1", "mclk2", "mclk3"; 951*724ba675SRob Herring dma-names = "rx", "tx"; 952*724ba675SRob Herring dmas = <&sdma 8 24 0>, <&sdma 9 24 0>; 953*724ba675SRob Herring status = "disabled"; 954*724ba675SRob Herring }; 955*724ba675SRob Herring 956*724ba675SRob Herring sai2: sai@308b0000 { 957*724ba675SRob Herring #sound-dai-cells = <0>; 958*724ba675SRob Herring compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 959*724ba675SRob Herring reg = <0x308b0000 0x10000>; 960*724ba675SRob Herring interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 961*724ba675SRob Herring clocks = <&clks IMX7D_SAI2_IPG_CLK>, 962*724ba675SRob Herring <&clks IMX7D_SAI2_ROOT_CLK>, 963*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>, 964*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>; 965*724ba675SRob Herring clock-names = "bus", "mclk1", "mclk2", "mclk3"; 966*724ba675SRob Herring dma-names = "rx", "tx"; 967*724ba675SRob Herring dmas = <&sdma 10 24 0>, <&sdma 11 24 0>; 968*724ba675SRob Herring status = "disabled"; 969*724ba675SRob Herring }; 970*724ba675SRob Herring 971*724ba675SRob Herring sai3: sai@308c0000 { 972*724ba675SRob Herring #sound-dai-cells = <0>; 973*724ba675SRob Herring compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 974*724ba675SRob Herring reg = <0x308c0000 0x10000>; 975*724ba675SRob Herring interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 976*724ba675SRob Herring clocks = <&clks IMX7D_SAI3_IPG_CLK>, 977*724ba675SRob Herring <&clks IMX7D_SAI3_ROOT_CLK>, 978*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>, 979*724ba675SRob Herring <&clks IMX7D_CLK_DUMMY>; 980*724ba675SRob Herring clock-names = "bus", "mclk1", "mclk2", "mclk3"; 981*724ba675SRob Herring dma-names = "rx", "tx"; 982*724ba675SRob Herring dmas = <&sdma 12 24 0>, <&sdma 13 24 0>; 983*724ba675SRob Herring status = "disabled"; 984*724ba675SRob Herring }; 985*724ba675SRob Herring }; 986*724ba675SRob Herring 987*724ba675SRob Herring crypto: crypto@30900000 { 988*724ba675SRob Herring compatible = "fsl,sec-v4.0"; 989*724ba675SRob Herring #address-cells = <1>; 990*724ba675SRob Herring #size-cells = <1>; 991*724ba675SRob Herring reg = <0x30900000 0x40000>; 992*724ba675SRob Herring ranges = <0 0x30900000 0x40000>; 993*724ba675SRob Herring interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 994*724ba675SRob Herring clocks = <&clks IMX7D_CAAM_CLK>, 995*724ba675SRob Herring <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>; 996*724ba675SRob Herring clock-names = "ipg", "aclk"; 997*724ba675SRob Herring 998*724ba675SRob Herring sec_jr0: jr@1000 { 999*724ba675SRob Herring compatible = "fsl,sec-v4.0-job-ring"; 1000*724ba675SRob Herring reg = <0x1000 0x1000>; 1001*724ba675SRob Herring interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 1002*724ba675SRob Herring }; 1003*724ba675SRob Herring 1004*724ba675SRob Herring sec_jr1: jr@2000 { 1005*724ba675SRob Herring compatible = "fsl,sec-v4.0-job-ring"; 1006*724ba675SRob Herring reg = <0x2000 0x1000>; 1007*724ba675SRob Herring interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1008*724ba675SRob Herring }; 1009*724ba675SRob Herring 1010*724ba675SRob Herring sec_jr2: jr@3000 { 1011*724ba675SRob Herring compatible = "fsl,sec-v4.0-job-ring"; 1012*724ba675SRob Herring reg = <0x3000 0x1000>; 1013*724ba675SRob Herring interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1014*724ba675SRob Herring }; 1015*724ba675SRob Herring }; 1016*724ba675SRob Herring 1017*724ba675SRob Herring flexcan1: can@30a00000 { 1018*724ba675SRob Herring compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; 1019*724ba675SRob Herring reg = <0x30a00000 0x10000>; 1020*724ba675SRob Herring interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 1021*724ba675SRob Herring clocks = <&clks IMX7D_CLK_DUMMY>, 1022*724ba675SRob Herring <&clks IMX7D_CAN1_ROOT_CLK>; 1023*724ba675SRob Herring clock-names = "ipg", "per"; 1024*724ba675SRob Herring fsl,stop-mode = <&gpr 0x10 1>; 1025*724ba675SRob Herring status = "disabled"; 1026*724ba675SRob Herring }; 1027*724ba675SRob Herring 1028*724ba675SRob Herring flexcan2: can@30a10000 { 1029*724ba675SRob Herring compatible = "fsl,imx7d-flexcan", "fsl,imx6q-flexcan"; 1030*724ba675SRob Herring reg = <0x30a10000 0x10000>; 1031*724ba675SRob Herring interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1032*724ba675SRob Herring clocks = <&clks IMX7D_CLK_DUMMY>, 1033*724ba675SRob Herring <&clks IMX7D_CAN2_ROOT_CLK>; 1034*724ba675SRob Herring clock-names = "ipg", "per"; 1035*724ba675SRob Herring fsl,stop-mode = <&gpr 0x10 2>; 1036*724ba675SRob Herring status = "disabled"; 1037*724ba675SRob Herring }; 1038*724ba675SRob Herring 1039*724ba675SRob Herring i2c1: i2c@30a20000 { 1040*724ba675SRob Herring #address-cells = <1>; 1041*724ba675SRob Herring #size-cells = <0>; 1042*724ba675SRob Herring compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 1043*724ba675SRob Herring reg = <0x30a20000 0x10000>; 1044*724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 1045*724ba675SRob Herring clocks = <&clks IMX7D_I2C1_ROOT_CLK>; 1046*724ba675SRob Herring status = "disabled"; 1047*724ba675SRob Herring }; 1048*724ba675SRob Herring 1049*724ba675SRob Herring i2c2: i2c@30a30000 { 1050*724ba675SRob Herring #address-cells = <1>; 1051*724ba675SRob Herring #size-cells = <0>; 1052*724ba675SRob Herring compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 1053*724ba675SRob Herring reg = <0x30a30000 0x10000>; 1054*724ba675SRob Herring interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1055*724ba675SRob Herring clocks = <&clks IMX7D_I2C2_ROOT_CLK>; 1056*724ba675SRob Herring status = "disabled"; 1057*724ba675SRob Herring }; 1058*724ba675SRob Herring 1059*724ba675SRob Herring i2c3: i2c@30a40000 { 1060*724ba675SRob Herring #address-cells = <1>; 1061*724ba675SRob Herring #size-cells = <0>; 1062*724ba675SRob Herring compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 1063*724ba675SRob Herring reg = <0x30a40000 0x10000>; 1064*724ba675SRob Herring interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1065*724ba675SRob Herring clocks = <&clks IMX7D_I2C3_ROOT_CLK>; 1066*724ba675SRob Herring status = "disabled"; 1067*724ba675SRob Herring }; 1068*724ba675SRob Herring 1069*724ba675SRob Herring i2c4: i2c@30a50000 { 1070*724ba675SRob Herring #address-cells = <1>; 1071*724ba675SRob Herring #size-cells = <0>; 1072*724ba675SRob Herring compatible = "fsl,imx7d-i2c", "fsl,imx21-i2c"; 1073*724ba675SRob Herring reg = <0x30a50000 0x10000>; 1074*724ba675SRob Herring interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 1075*724ba675SRob Herring clocks = <&clks IMX7D_I2C4_ROOT_CLK>; 1076*724ba675SRob Herring status = "disabled"; 1077*724ba675SRob Herring }; 1078*724ba675SRob Herring 1079*724ba675SRob Herring uart4: serial@30a60000 { 1080*724ba675SRob Herring compatible = "fsl,imx7d-uart", 1081*724ba675SRob Herring "fsl,imx6q-uart"; 1082*724ba675SRob Herring reg = <0x30a60000 0x10000>; 1083*724ba675SRob Herring interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1084*724ba675SRob Herring clocks = <&clks IMX7D_UART4_ROOT_CLK>, 1085*724ba675SRob Herring <&clks IMX7D_UART4_ROOT_CLK>; 1086*724ba675SRob Herring clock-names = "ipg", "per"; 1087*724ba675SRob Herring status = "disabled"; 1088*724ba675SRob Herring }; 1089*724ba675SRob Herring 1090*724ba675SRob Herring uart5: serial@30a70000 { 1091*724ba675SRob Herring compatible = "fsl,imx7d-uart", 1092*724ba675SRob Herring "fsl,imx6q-uart"; 1093*724ba675SRob Herring reg = <0x30a70000 0x10000>; 1094*724ba675SRob Herring interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1095*724ba675SRob Herring clocks = <&clks IMX7D_UART5_ROOT_CLK>, 1096*724ba675SRob Herring <&clks IMX7D_UART5_ROOT_CLK>; 1097*724ba675SRob Herring clock-names = "ipg", "per"; 1098*724ba675SRob Herring status = "disabled"; 1099*724ba675SRob Herring }; 1100*724ba675SRob Herring 1101*724ba675SRob Herring uart6: serial@30a80000 { 1102*724ba675SRob Herring compatible = "fsl,imx7d-uart", 1103*724ba675SRob Herring "fsl,imx6q-uart"; 1104*724ba675SRob Herring reg = <0x30a80000 0x10000>; 1105*724ba675SRob Herring interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1106*724ba675SRob Herring clocks = <&clks IMX7D_UART6_ROOT_CLK>, 1107*724ba675SRob Herring <&clks IMX7D_UART6_ROOT_CLK>; 1108*724ba675SRob Herring clock-names = "ipg", "per"; 1109*724ba675SRob Herring status = "disabled"; 1110*724ba675SRob Herring }; 1111*724ba675SRob Herring 1112*724ba675SRob Herring uart7: serial@30a90000 { 1113*724ba675SRob Herring compatible = "fsl,imx7d-uart", 1114*724ba675SRob Herring "fsl,imx6q-uart"; 1115*724ba675SRob Herring reg = <0x30a90000 0x10000>; 1116*724ba675SRob Herring interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 1117*724ba675SRob Herring clocks = <&clks IMX7D_UART7_ROOT_CLK>, 1118*724ba675SRob Herring <&clks IMX7D_UART7_ROOT_CLK>; 1119*724ba675SRob Herring clock-names = "ipg", "per"; 1120*724ba675SRob Herring status = "disabled"; 1121*724ba675SRob Herring }; 1122*724ba675SRob Herring 1123*724ba675SRob Herring mu0a: mailbox@30aa0000 { 1124*724ba675SRob Herring compatible = "fsl,imx7s-mu", "fsl,imx6sx-mu"; 1125*724ba675SRob Herring reg = <0x30aa0000 0x10000>; 1126*724ba675SRob Herring interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1127*724ba675SRob Herring clocks = <&clks IMX7D_MU_ROOT_CLK>; 1128*724ba675SRob Herring #mbox-cells = <2>; 1129*724ba675SRob Herring status = "disabled"; 1130*724ba675SRob Herring }; 1131*724ba675SRob Herring 1132*724ba675SRob Herring mu0b: mailbox@30ab0000 { 1133*724ba675SRob Herring compatible = "fsl,imx7s-mu", "fsl,imx6sx-mu"; 1134*724ba675SRob Herring reg = <0x30ab0000 0x10000>; 1135*724ba675SRob Herring interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1136*724ba675SRob Herring clocks = <&clks IMX7D_MU_ROOT_CLK>; 1137*724ba675SRob Herring #mbox-cells = <2>; 1138*724ba675SRob Herring fsl,mu-side-b; 1139*724ba675SRob Herring status = "disabled"; 1140*724ba675SRob Herring }; 1141*724ba675SRob Herring 1142*724ba675SRob Herring usbotg1: usb@30b10000 { 1143*724ba675SRob Herring compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; 1144*724ba675SRob Herring reg = <0x30b10000 0x200>; 1145*724ba675SRob Herring interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 1146*724ba675SRob Herring clocks = <&clks IMX7D_USB_CTRL_CLK>; 1147*724ba675SRob Herring fsl,usbphy = <&usbphynop1>; 1148*724ba675SRob Herring fsl,usbmisc = <&usbmisc1 0>; 1149*724ba675SRob Herring phy-clkgate-delay-us = <400>; 1150*724ba675SRob Herring status = "disabled"; 1151*724ba675SRob Herring }; 1152*724ba675SRob Herring 1153*724ba675SRob Herring usbh: usb@30b30000 { 1154*724ba675SRob Herring compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; 1155*724ba675SRob Herring reg = <0x30b30000 0x200>; 1156*724ba675SRob Herring interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1157*724ba675SRob Herring clocks = <&clks IMX7D_USB_CTRL_CLK>; 1158*724ba675SRob Herring fsl,usbphy = <&usbphynop3>; 1159*724ba675SRob Herring fsl,usbmisc = <&usbmisc3 0>; 1160*724ba675SRob Herring phy_type = "hsic"; 1161*724ba675SRob Herring dr_mode = "host"; 1162*724ba675SRob Herring phy-clkgate-delay-us = <400>; 1163*724ba675SRob Herring status = "disabled"; 1164*724ba675SRob Herring }; 1165*724ba675SRob Herring 1166*724ba675SRob Herring usbmisc1: usbmisc@30b10200 { 1167*724ba675SRob Herring #index-cells = <1>; 1168*724ba675SRob Herring compatible = "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc"; 1169*724ba675SRob Herring reg = <0x30b10200 0x200>; 1170*724ba675SRob Herring }; 1171*724ba675SRob Herring 1172*724ba675SRob Herring usbmisc3: usbmisc@30b30200 { 1173*724ba675SRob Herring #index-cells = <1>; 1174*724ba675SRob Herring compatible = "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc"; 1175*724ba675SRob Herring reg = <0x30b30200 0x200>; 1176*724ba675SRob Herring }; 1177*724ba675SRob Herring 1178*724ba675SRob Herring usdhc1: mmc@30b40000 { 1179*724ba675SRob Herring compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 1180*724ba675SRob Herring reg = <0x30b40000 0x10000>; 1181*724ba675SRob Herring interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1182*724ba675SRob Herring clocks = <&clks IMX7D_IPG_ROOT_CLK>, 1183*724ba675SRob Herring <&clks IMX7D_NAND_USDHC_BUS_ROOT_CLK>, 1184*724ba675SRob Herring <&clks IMX7D_USDHC1_ROOT_CLK>; 1185*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 1186*724ba675SRob Herring bus-width = <4>; 1187*724ba675SRob Herring status = "disabled"; 1188*724ba675SRob Herring }; 1189*724ba675SRob Herring 1190*724ba675SRob Herring usdhc2: mmc@30b50000 { 1191*724ba675SRob Herring compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 1192*724ba675SRob Herring reg = <0x30b50000 0x10000>; 1193*724ba675SRob Herring interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1194*724ba675SRob Herring clocks = <&clks IMX7D_IPG_ROOT_CLK>, 1195*724ba675SRob Herring <&clks IMX7D_NAND_USDHC_BUS_ROOT_CLK>, 1196*724ba675SRob Herring <&clks IMX7D_USDHC2_ROOT_CLK>; 1197*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 1198*724ba675SRob Herring bus-width = <4>; 1199*724ba675SRob Herring status = "disabled"; 1200*724ba675SRob Herring }; 1201*724ba675SRob Herring 1202*724ba675SRob Herring usdhc3: mmc@30b60000 { 1203*724ba675SRob Herring compatible = "fsl,imx7d-usdhc", "fsl,imx6sl-usdhc"; 1204*724ba675SRob Herring reg = <0x30b60000 0x10000>; 1205*724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1206*724ba675SRob Herring clocks = <&clks IMX7D_IPG_ROOT_CLK>, 1207*724ba675SRob Herring <&clks IMX7D_NAND_USDHC_BUS_ROOT_CLK>, 1208*724ba675SRob Herring <&clks IMX7D_USDHC3_ROOT_CLK>; 1209*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 1210*724ba675SRob Herring bus-width = <4>; 1211*724ba675SRob Herring status = "disabled"; 1212*724ba675SRob Herring }; 1213*724ba675SRob Herring 1214*724ba675SRob Herring qspi: spi@30bb0000 { 1215*724ba675SRob Herring compatible = "fsl,imx7d-qspi"; 1216*724ba675SRob Herring reg = <0x30bb0000 0x10000>, <0x60000000 0x10000000>; 1217*724ba675SRob Herring reg-names = "QuadSPI", "QuadSPI-memory"; 1218*724ba675SRob Herring #address-cells = <1>; 1219*724ba675SRob Herring #size-cells = <0>; 1220*724ba675SRob Herring interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1221*724ba675SRob Herring clocks = <&clks IMX7D_QSPI_ROOT_CLK>, 1222*724ba675SRob Herring <&clks IMX7D_QSPI_ROOT_CLK>; 1223*724ba675SRob Herring clock-names = "qspi_en", "qspi"; 1224*724ba675SRob Herring status = "disabled"; 1225*724ba675SRob Herring }; 1226*724ba675SRob Herring 1227*724ba675SRob Herring sdma: dma-controller@30bd0000 { 1228*724ba675SRob Herring compatible = "fsl,imx7d-sdma", "fsl,imx35-sdma"; 1229*724ba675SRob Herring reg = <0x30bd0000 0x10000>; 1230*724ba675SRob Herring interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1231*724ba675SRob Herring clocks = <&clks IMX7D_IPG_ROOT_CLK>, 1232*724ba675SRob Herring <&clks IMX7D_SDMA_CORE_CLK>; 1233*724ba675SRob Herring clock-names = "ipg", "ahb"; 1234*724ba675SRob Herring #dma-cells = <3>; 1235*724ba675SRob Herring fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 1236*724ba675SRob Herring }; 1237*724ba675SRob Herring 1238*724ba675SRob Herring fec1: ethernet@30be0000 { 1239*724ba675SRob Herring compatible = "fsl,imx7d-fec", "fsl,imx6sx-fec"; 1240*724ba675SRob Herring reg = <0x30be0000 0x10000>; 1241*724ba675SRob Herring interrupt-names = "int0", "int1", "int2", "pps"; 1242*724ba675SRob Herring interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 1243*724ba675SRob Herring <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1244*724ba675SRob Herring <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 1245*724ba675SRob Herring <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 1246*724ba675SRob Herring clocks = <&clks IMX7D_ENET1_IPG_ROOT_CLK>, 1247*724ba675SRob Herring <&clks IMX7D_ENET_AXI_ROOT_CLK>, 1248*724ba675SRob Herring <&clks IMX7D_ENET1_TIME_ROOT_CLK>, 1249*724ba675SRob Herring <&clks IMX7D_PLL_ENET_MAIN_125M_CLK>, 1250*724ba675SRob Herring <&clks IMX7D_ENET_PHY_REF_ROOT_CLK>; 1251*724ba675SRob Herring clock-names = "ipg", "ahb", "ptp", 1252*724ba675SRob Herring "enet_clk_ref", "enet_out"; 1253*724ba675SRob Herring fsl,num-tx-queues = <3>; 1254*724ba675SRob Herring fsl,num-rx-queues = <3>; 1255*724ba675SRob Herring fsl,stop-mode = <&gpr 0x10 3>; 1256*724ba675SRob Herring status = "disabled"; 1257*724ba675SRob Herring }; 1258*724ba675SRob Herring }; 1259*724ba675SRob Herring 1260*724ba675SRob Herring dma_apbh: dma-controller@33000000 { 1261*724ba675SRob Herring compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh"; 1262*724ba675SRob Herring reg = <0x33000000 0x2000>; 1263*724ba675SRob Herring interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1264*724ba675SRob Herring <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1265*724ba675SRob Herring <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1266*724ba675SRob Herring <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1267*724ba675SRob Herring #dma-cells = <1>; 1268*724ba675SRob Herring dma-channels = <4>; 1269*724ba675SRob Herring clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>; 1270*724ba675SRob Herring }; 1271*724ba675SRob Herring 1272*724ba675SRob Herring gpmi: nand-controller@33002000{ 1273*724ba675SRob Herring compatible = "fsl,imx7d-gpmi-nand"; 1274*724ba675SRob Herring #address-cells = <1>; 1275*724ba675SRob Herring #size-cells = <1>; 1276*724ba675SRob Herring reg = <0x33002000 0x2000>, <0x33004000 0x4000>; 1277*724ba675SRob Herring reg-names = "gpmi-nand", "bch"; 1278*724ba675SRob Herring interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1279*724ba675SRob Herring interrupt-names = "bch"; 1280*724ba675SRob Herring clocks = <&clks IMX7D_NAND_RAWNAND_CLK>, 1281*724ba675SRob Herring <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>; 1282*724ba675SRob Herring clock-names = "gpmi_io", "gpmi_bch_apb"; 1283*724ba675SRob Herring dmas = <&dma_apbh 0>; 1284*724ba675SRob Herring dma-names = "rx-tx"; 1285*724ba675SRob Herring status = "disabled"; 1286*724ba675SRob Herring assigned-clocks = <&clks IMX7D_NAND_ROOT_SRC>; 1287*724ba675SRob Herring assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_500M_CLK>; 1288*724ba675SRob Herring }; 1289*724ba675SRob Herring }; 1290*724ba675SRob Herring}; 1291