1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * Copyright 2015 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify 5*4882a593Smuzhiyun * it under the terms of the GNU General Public License version 2 as 6*4882a593Smuzhiyun * published by the Free Software Foundation. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include <dt-bindings/clock/imx6ul-clock.h> 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 13*4882a593Smuzhiyun#include "imx6ul-pinfunc.h" 14*4882a593Smuzhiyun#include "skeleton.dtsi" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun/ { 17*4882a593Smuzhiyun aliases { 18*4882a593Smuzhiyun ethernet0 = &fec1; 19*4882a593Smuzhiyun ethernet1 = &fec2; 20*4882a593Smuzhiyun gpio0 = &gpio1; 21*4882a593Smuzhiyun gpio1 = &gpio2; 22*4882a593Smuzhiyun gpio2 = &gpio3; 23*4882a593Smuzhiyun gpio3 = &gpio4; 24*4882a593Smuzhiyun gpio4 = &gpio5; 25*4882a593Smuzhiyun i2c0 = &i2c1; 26*4882a593Smuzhiyun i2c1 = &i2c2; 27*4882a593Smuzhiyun i2c2 = &i2c3; 28*4882a593Smuzhiyun i2c3 = &i2c4; 29*4882a593Smuzhiyun mmc0 = &usdhc1; 30*4882a593Smuzhiyun mmc1 = &usdhc2; 31*4882a593Smuzhiyun serial0 = &uart1; 32*4882a593Smuzhiyun serial1 = &uart2; 33*4882a593Smuzhiyun serial2 = &uart3; 34*4882a593Smuzhiyun serial3 = &uart4; 35*4882a593Smuzhiyun serial4 = &uart5; 36*4882a593Smuzhiyun serial5 = &uart6; 37*4882a593Smuzhiyun serial6 = &uart7; 38*4882a593Smuzhiyun serial7 = &uart8; 39*4882a593Smuzhiyun sai1 = &sai1; 40*4882a593Smuzhiyun sai2 = &sai2; 41*4882a593Smuzhiyun sai3 = &sai3; 42*4882a593Smuzhiyun spi0 = &ecspi1; 43*4882a593Smuzhiyun spi1 = &ecspi2; 44*4882a593Smuzhiyun spi2 = &ecspi3; 45*4882a593Smuzhiyun spi3 = &ecspi4; 46*4882a593Smuzhiyun usbotg0 = &usbotg1; 47*4882a593Smuzhiyun usbotg1 = &usbotg2; 48*4882a593Smuzhiyun usbphy0 = &usbphy1; 49*4882a593Smuzhiyun usbphy1 = &usbphy2; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun cpus { 53*4882a593Smuzhiyun #address-cells = <1>; 54*4882a593Smuzhiyun #size-cells = <0>; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun cpu0: cpu@0 { 57*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 58*4882a593Smuzhiyun device_type = "cpu"; 59*4882a593Smuzhiyun reg = <0>; 60*4882a593Smuzhiyun clock-latency = <61036>; /* two CLK32 periods */ 61*4882a593Smuzhiyun operating-points = < 62*4882a593Smuzhiyun /* kHz uV */ 63*4882a593Smuzhiyun 528000 1175000 64*4882a593Smuzhiyun 396000 1025000 65*4882a593Smuzhiyun 198000 950000 66*4882a593Smuzhiyun >; 67*4882a593Smuzhiyun fsl,soc-operating-points = < 68*4882a593Smuzhiyun /* KHz uV */ 69*4882a593Smuzhiyun 528000 1175000 70*4882a593Smuzhiyun 396000 1175000 71*4882a593Smuzhiyun 198000 1175000 72*4882a593Smuzhiyun >; 73*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ARM>, 74*4882a593Smuzhiyun <&clks IMX6UL_CLK_PLL2_BUS>, 75*4882a593Smuzhiyun <&clks IMX6UL_CLK_PLL2_PFD2>, 76*4882a593Smuzhiyun <&clks IMX6UL_CA7_SECONDARY_SEL>, 77*4882a593Smuzhiyun <&clks IMX6UL_CLK_STEP>, 78*4882a593Smuzhiyun <&clks IMX6UL_CLK_PLL1_SW>, 79*4882a593Smuzhiyun <&clks IMX6UL_CLK_PLL1_SYS>, 80*4882a593Smuzhiyun <&clks IMX6UL_PLL1_BYPASS>, 81*4882a593Smuzhiyun <&clks IMX6UL_CLK_PLL1>, 82*4882a593Smuzhiyun <&clks IMX6UL_PLL1_BYPASS_SRC>, 83*4882a593Smuzhiyun <&clks IMX6UL_CLK_OSC>; 84*4882a593Smuzhiyun clock-names = "arm", "pll2_bus", "pll2_pfd2_396m", 85*4882a593Smuzhiyun "secondary_sel", "step", "pll1_sw", 86*4882a593Smuzhiyun "pll1_sys", "pll1_bypass", "pll1", 87*4882a593Smuzhiyun "pll1_bypass_src", "osc"; 88*4882a593Smuzhiyun arm-supply = <®_arm>; 89*4882a593Smuzhiyun soc-supply = <®_soc>; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun intc: interrupt-controller@00a01000 { 94*4882a593Smuzhiyun compatible = "arm,cortex-a7-gic"; 95*4882a593Smuzhiyun #interrupt-cells = <3>; 96*4882a593Smuzhiyun interrupt-controller; 97*4882a593Smuzhiyun reg = <0x00a01000 0x1000>, 98*4882a593Smuzhiyun <0x00a02000 0x1000>, 99*4882a593Smuzhiyun <0x00a04000 0x2000>, 100*4882a593Smuzhiyun <0x00a06000 0x2000>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun ckil: clock-cli { 104*4882a593Smuzhiyun compatible = "fixed-clock"; 105*4882a593Smuzhiyun #clock-cells = <0>; 106*4882a593Smuzhiyun clock-frequency = <32768>; 107*4882a593Smuzhiyun clock-output-names = "ckil"; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun osc: clock-osc { 111*4882a593Smuzhiyun compatible = "fixed-clock"; 112*4882a593Smuzhiyun #clock-cells = <0>; 113*4882a593Smuzhiyun clock-frequency = <24000000>; 114*4882a593Smuzhiyun clock-output-names = "osc"; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun ipp_di0: clock-di0 { 118*4882a593Smuzhiyun compatible = "fixed-clock"; 119*4882a593Smuzhiyun #clock-cells = <0>; 120*4882a593Smuzhiyun clock-frequency = <0>; 121*4882a593Smuzhiyun clock-output-names = "ipp_di0"; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun ipp_di1: clock-di1 { 125*4882a593Smuzhiyun compatible = "fixed-clock"; 126*4882a593Smuzhiyun #clock-cells = <0>; 127*4882a593Smuzhiyun clock-frequency = <0>; 128*4882a593Smuzhiyun clock-output-names = "ipp_di1"; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun soc { 132*4882a593Smuzhiyun #address-cells = <1>; 133*4882a593Smuzhiyun #size-cells = <1>; 134*4882a593Smuzhiyun compatible = "simple-bus"; 135*4882a593Smuzhiyun interrupt-parent = <&gpc>; 136*4882a593Smuzhiyun ranges; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun pmu { 139*4882a593Smuzhiyun compatible = "arm,cortex-a7-pmu"; 140*4882a593Smuzhiyun interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 141*4882a593Smuzhiyun status = "disabled"; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun ocram: sram@00900000 { 145*4882a593Smuzhiyun compatible = "mmio-sram"; 146*4882a593Smuzhiyun reg = <0x00900000 0x20000>; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun dma_apbh: dma-apbh@01804000 { 150*4882a593Smuzhiyun compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh"; 151*4882a593Smuzhiyun reg = <0x01804000 0x2000>; 152*4882a593Smuzhiyun interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>, 153*4882a593Smuzhiyun <0 13 IRQ_TYPE_LEVEL_HIGH>, 154*4882a593Smuzhiyun <0 13 IRQ_TYPE_LEVEL_HIGH>, 155*4882a593Smuzhiyun <0 13 IRQ_TYPE_LEVEL_HIGH>; 156*4882a593Smuzhiyun interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; 157*4882a593Smuzhiyun #dma-cells = <1>; 158*4882a593Smuzhiyun dma-channels = <4>; 159*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_APBHDMA>; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun gpmi: gpmi-nand@01806000 { 163*4882a593Smuzhiyun compatible = "fsl,imx6q-gpmi-nand"; 164*4882a593Smuzhiyun #address-cells = <1>; 165*4882a593Smuzhiyun #size-cells = <1>; 166*4882a593Smuzhiyun reg = <0x01806000 0x2000>, <0x01808000 0x2000>; 167*4882a593Smuzhiyun reg-names = "gpmi-nand", "bch"; 168*4882a593Smuzhiyun interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; 169*4882a593Smuzhiyun interrupt-names = "bch"; 170*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_GPMI_IO>, 171*4882a593Smuzhiyun <&clks IMX6UL_CLK_GPMI_APB>, 172*4882a593Smuzhiyun <&clks IMX6UL_CLK_GPMI_BCH>, 173*4882a593Smuzhiyun <&clks IMX6UL_CLK_GPMI_BCH_APB>, 174*4882a593Smuzhiyun <&clks IMX6UL_CLK_PER_BCH>; 175*4882a593Smuzhiyun clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", 176*4882a593Smuzhiyun "gpmi_bch_apb", "per1_bch"; 177*4882a593Smuzhiyun dmas = <&dma_apbh 0>; 178*4882a593Smuzhiyun dma-names = "rx-tx"; 179*4882a593Smuzhiyun status = "disabled"; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun aips1: aips-bus@02000000 { 183*4882a593Smuzhiyun compatible = "fsl,aips-bus", "simple-bus"; 184*4882a593Smuzhiyun #address-cells = <1>; 185*4882a593Smuzhiyun #size-cells = <1>; 186*4882a593Smuzhiyun reg = <0x02000000 0x100000>; 187*4882a593Smuzhiyun ranges; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun spba-bus@02000000 { 190*4882a593Smuzhiyun compatible = "fsl,spba-bus", "simple-bus"; 191*4882a593Smuzhiyun #address-cells = <1>; 192*4882a593Smuzhiyun #size-cells = <1>; 193*4882a593Smuzhiyun reg = <0x02000000 0x40000>; 194*4882a593Smuzhiyun ranges; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun ecspi1: ecspi@02008000 { 197*4882a593Smuzhiyun #address-cells = <1>; 198*4882a593Smuzhiyun #size-cells = <0>; 199*4882a593Smuzhiyun compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi"; 200*4882a593Smuzhiyun reg = <0x02008000 0x4000>; 201*4882a593Smuzhiyun interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 202*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ECSPI1>, 203*4882a593Smuzhiyun <&clks IMX6UL_CLK_ECSPI1>; 204*4882a593Smuzhiyun clock-names = "ipg", "per"; 205*4882a593Smuzhiyun status = "disabled"; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun ecspi2: ecspi@0200c000 { 209*4882a593Smuzhiyun #address-cells = <1>; 210*4882a593Smuzhiyun #size-cells = <0>; 211*4882a593Smuzhiyun compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi"; 212*4882a593Smuzhiyun reg = <0x0200c000 0x4000>; 213*4882a593Smuzhiyun interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 214*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ECSPI2>, 215*4882a593Smuzhiyun <&clks IMX6UL_CLK_ECSPI2>; 216*4882a593Smuzhiyun clock-names = "ipg", "per"; 217*4882a593Smuzhiyun status = "disabled"; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun ecspi3: ecspi@02010000 { 221*4882a593Smuzhiyun #address-cells = <1>; 222*4882a593Smuzhiyun #size-cells = <0>; 223*4882a593Smuzhiyun compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi"; 224*4882a593Smuzhiyun reg = <0x02010000 0x4000>; 225*4882a593Smuzhiyun interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 226*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ECSPI3>, 227*4882a593Smuzhiyun <&clks IMX6UL_CLK_ECSPI3>; 228*4882a593Smuzhiyun clock-names = "ipg", "per"; 229*4882a593Smuzhiyun status = "disabled"; 230*4882a593Smuzhiyun }; 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun ecspi4: ecspi@02014000 { 233*4882a593Smuzhiyun #address-cells = <1>; 234*4882a593Smuzhiyun #size-cells = <0>; 235*4882a593Smuzhiyun compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi"; 236*4882a593Smuzhiyun reg = <0x02014000 0x4000>; 237*4882a593Smuzhiyun interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 238*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ECSPI4>, 239*4882a593Smuzhiyun <&clks IMX6UL_CLK_ECSPI4>; 240*4882a593Smuzhiyun clock-names = "ipg", "per"; 241*4882a593Smuzhiyun status = "disabled"; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun uart7: serial@02018000 { 245*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 246*4882a593Smuzhiyun "fsl,imx6q-uart"; 247*4882a593Smuzhiyun reg = <0x02018000 0x4000>; 248*4882a593Smuzhiyun interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 249*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART7_IPG>, 250*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART7_SERIAL>; 251*4882a593Smuzhiyun clock-names = "ipg", "per"; 252*4882a593Smuzhiyun status = "disabled"; 253*4882a593Smuzhiyun }; 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun uart1: serial@02020000 { 256*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 257*4882a593Smuzhiyun "fsl,imx6q-uart"; 258*4882a593Smuzhiyun reg = <0x02020000 0x4000>; 259*4882a593Smuzhiyun interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 260*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART1_IPG>, 261*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART1_SERIAL>; 262*4882a593Smuzhiyun clock-names = "ipg", "per"; 263*4882a593Smuzhiyun status = "disabled"; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun uart8: serial@02024000 { 267*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 268*4882a593Smuzhiyun "fsl,imx6q-uart"; 269*4882a593Smuzhiyun reg = <0x02024000 0x4000>; 270*4882a593Smuzhiyun interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 271*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART8_IPG>, 272*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART8_SERIAL>; 273*4882a593Smuzhiyun clock-names = "ipg", "per"; 274*4882a593Smuzhiyun status = "disabled"; 275*4882a593Smuzhiyun }; 276*4882a593Smuzhiyun 277*4882a593Smuzhiyun sai1: sai@02028000 { 278*4882a593Smuzhiyun #sound-dai-cells = <0>; 279*4882a593Smuzhiyun compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai"; 280*4882a593Smuzhiyun reg = <0x02028000 0x4000>; 281*4882a593Smuzhiyun interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 282*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_SAI1_IPG>, 283*4882a593Smuzhiyun <&clks IMX6UL_CLK_SAI1>, 284*4882a593Smuzhiyun <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; 285*4882a593Smuzhiyun clock-names = "bus", "mclk1", "mclk2", "mclk3"; 286*4882a593Smuzhiyun dmas = <&sdma 35 24 0>, 287*4882a593Smuzhiyun <&sdma 36 24 0>; 288*4882a593Smuzhiyun dma-names = "rx", "tx"; 289*4882a593Smuzhiyun status = "disabled"; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun sai2: sai@0202c000 { 293*4882a593Smuzhiyun #sound-dai-cells = <0>; 294*4882a593Smuzhiyun compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai"; 295*4882a593Smuzhiyun reg = <0x0202c000 0x4000>; 296*4882a593Smuzhiyun interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 297*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_SAI2_IPG>, 298*4882a593Smuzhiyun <&clks IMX6UL_CLK_SAI2>, 299*4882a593Smuzhiyun <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; 300*4882a593Smuzhiyun clock-names = "bus", "mclk1", "mclk2", "mclk3"; 301*4882a593Smuzhiyun dmas = <&sdma 37 24 0>, 302*4882a593Smuzhiyun <&sdma 38 24 0>; 303*4882a593Smuzhiyun dma-names = "rx", "tx"; 304*4882a593Smuzhiyun status = "disabled"; 305*4882a593Smuzhiyun }; 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun sai3: sai@02030000 { 308*4882a593Smuzhiyun #sound-dai-cells = <0>; 309*4882a593Smuzhiyun compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai"; 310*4882a593Smuzhiyun reg = <0x02030000 0x4000>; 311*4882a593Smuzhiyun interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 312*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_SAI3_IPG>, 313*4882a593Smuzhiyun <&clks IMX6UL_CLK_SAI3>, 314*4882a593Smuzhiyun <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; 315*4882a593Smuzhiyun clock-names = "bus", "mclk1", "mclk2", "mclk3"; 316*4882a593Smuzhiyun dmas = <&sdma 39 24 0>, 317*4882a593Smuzhiyun <&sdma 40 24 0>; 318*4882a593Smuzhiyun dma-names = "rx", "tx"; 319*4882a593Smuzhiyun status = "disabled"; 320*4882a593Smuzhiyun }; 321*4882a593Smuzhiyun }; 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun tsc: tsc@02040000 { 324*4882a593Smuzhiyun compatible = "fsl,imx6ul-tsc"; 325*4882a593Smuzhiyun reg = <0x02040000 0x4000>, <0x0219c000 0x4000>; 326*4882a593Smuzhiyun interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 327*4882a593Smuzhiyun <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 328*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_IPG>, 329*4882a593Smuzhiyun <&clks IMX6UL_CLK_ADC2>; 330*4882a593Smuzhiyun clock-names = "tsc", "adc"; 331*4882a593Smuzhiyun status = "disabled"; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun pwm1: pwm@02080000 { 335*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 336*4882a593Smuzhiyun reg = <0x02080000 0x4000>; 337*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 338*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM1>, 339*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM1>; 340*4882a593Smuzhiyun clock-names = "ipg", "per"; 341*4882a593Smuzhiyun #pwm-cells = <2>; 342*4882a593Smuzhiyun status = "disabled"; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun pwm2: pwm@02084000 { 346*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 347*4882a593Smuzhiyun reg = <0x02084000 0x4000>; 348*4882a593Smuzhiyun interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 349*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM2>, 350*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM2>; 351*4882a593Smuzhiyun clock-names = "ipg", "per"; 352*4882a593Smuzhiyun #pwm-cells = <2>; 353*4882a593Smuzhiyun status = "disabled"; 354*4882a593Smuzhiyun }; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun pwm3: pwm@02088000 { 357*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 358*4882a593Smuzhiyun reg = <0x02088000 0x4000>; 359*4882a593Smuzhiyun interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 360*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM3>, 361*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM3>; 362*4882a593Smuzhiyun clock-names = "ipg", "per"; 363*4882a593Smuzhiyun #pwm-cells = <2>; 364*4882a593Smuzhiyun status = "disabled"; 365*4882a593Smuzhiyun }; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun pwm4: pwm@0208c000 { 368*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 369*4882a593Smuzhiyun reg = <0x0208c000 0x4000>; 370*4882a593Smuzhiyun interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 371*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM4>, 372*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM4>; 373*4882a593Smuzhiyun clock-names = "ipg", "per"; 374*4882a593Smuzhiyun #pwm-cells = <2>; 375*4882a593Smuzhiyun status = "disabled"; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun can1: flexcan@02090000 { 379*4882a593Smuzhiyun compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan"; 380*4882a593Smuzhiyun reg = <0x02090000 0x4000>; 381*4882a593Smuzhiyun interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 382*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_CAN1_IPG>, 383*4882a593Smuzhiyun <&clks IMX6UL_CLK_CAN1_SERIAL>; 384*4882a593Smuzhiyun clock-names = "ipg", "per"; 385*4882a593Smuzhiyun status = "disabled"; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun can2: flexcan@02094000 { 389*4882a593Smuzhiyun compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan"; 390*4882a593Smuzhiyun reg = <0x02094000 0x4000>; 391*4882a593Smuzhiyun interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 392*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_CAN2_IPG>, 393*4882a593Smuzhiyun <&clks IMX6UL_CLK_CAN2_SERIAL>; 394*4882a593Smuzhiyun clock-names = "ipg", "per"; 395*4882a593Smuzhiyun status = "disabled"; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun gpt1: gpt@02098000 { 399*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt"; 400*4882a593Smuzhiyun reg = <0x02098000 0x4000>; 401*4882a593Smuzhiyun interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 402*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_GPT1_BUS>, 403*4882a593Smuzhiyun <&clks IMX6UL_CLK_GPT1_SERIAL>; 404*4882a593Smuzhiyun clock-names = "ipg", "per"; 405*4882a593Smuzhiyun }; 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun gpio1: gpio@0209c000 { 408*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio"; 409*4882a593Smuzhiyun reg = <0x0209c000 0x4000>; 410*4882a593Smuzhiyun interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 411*4882a593Smuzhiyun <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 412*4882a593Smuzhiyun gpio-controller; 413*4882a593Smuzhiyun #gpio-cells = <2>; 414*4882a593Smuzhiyun interrupt-controller; 415*4882a593Smuzhiyun #interrupt-cells = <2>; 416*4882a593Smuzhiyun gpio-ranges = <&iomuxc 0 23 10>, <&iomuxc 10 17 6>, 417*4882a593Smuzhiyun <&iomuxc 16 33 16>; 418*4882a593Smuzhiyun }; 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun gpio2: gpio@020a0000 { 421*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio"; 422*4882a593Smuzhiyun reg = <0x020a0000 0x4000>; 423*4882a593Smuzhiyun interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 424*4882a593Smuzhiyun <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 425*4882a593Smuzhiyun gpio-controller; 426*4882a593Smuzhiyun #gpio-cells = <2>; 427*4882a593Smuzhiyun interrupt-controller; 428*4882a593Smuzhiyun #interrupt-cells = <2>; 429*4882a593Smuzhiyun gpio-ranges = <&iomuxc 0 49 16>, <&iomuxc 16 111 6>; 430*4882a593Smuzhiyun }; 431*4882a593Smuzhiyun 432*4882a593Smuzhiyun gpio3: gpio@020a4000 { 433*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio"; 434*4882a593Smuzhiyun reg = <0x020a4000 0x4000>; 435*4882a593Smuzhiyun interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 436*4882a593Smuzhiyun <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 437*4882a593Smuzhiyun gpio-controller; 438*4882a593Smuzhiyun #gpio-cells = <2>; 439*4882a593Smuzhiyun interrupt-controller; 440*4882a593Smuzhiyun #interrupt-cells = <2>; 441*4882a593Smuzhiyun gpio-ranges = <&iomuxc 0 65 29>; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun gpio4: gpio@020a8000 { 445*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio"; 446*4882a593Smuzhiyun reg = <0x020a8000 0x4000>; 447*4882a593Smuzhiyun interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 448*4882a593Smuzhiyun <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 449*4882a593Smuzhiyun gpio-controller; 450*4882a593Smuzhiyun #gpio-cells = <2>; 451*4882a593Smuzhiyun interrupt-controller; 452*4882a593Smuzhiyun #interrupt-cells = <2>; 453*4882a593Smuzhiyun gpio-ranges = <&iomuxc 0 94 17>, <&iomuxc 17 117 12>; 454*4882a593Smuzhiyun }; 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun gpio5: gpio@020ac000 { 457*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio"; 458*4882a593Smuzhiyun reg = <0x020ac000 0x4000>; 459*4882a593Smuzhiyun interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 460*4882a593Smuzhiyun <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 461*4882a593Smuzhiyun gpio-controller; 462*4882a593Smuzhiyun #gpio-cells = <2>; 463*4882a593Smuzhiyun interrupt-controller; 464*4882a593Smuzhiyun #interrupt-cells = <2>; 465*4882a593Smuzhiyun gpio-ranges = <&iomuxc 0 7 10>, <&iomuxc 10 5 2>; 466*4882a593Smuzhiyun }; 467*4882a593Smuzhiyun 468*4882a593Smuzhiyun fec2: ethernet@020b4000 { 469*4882a593Smuzhiyun compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec"; 470*4882a593Smuzhiyun reg = <0x020b4000 0x4000>; 471*4882a593Smuzhiyun interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 472*4882a593Smuzhiyun <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 473*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ENET>, 474*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_AHB>, 475*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_PTP>, 476*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET2_REF_125M>, 477*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET2_REF_125M>; 478*4882a593Smuzhiyun clock-names = "ipg", "ahb", "ptp", 479*4882a593Smuzhiyun "enet_clk_ref", "enet_out"; 480*4882a593Smuzhiyun fsl,num-tx-queues=<1>; 481*4882a593Smuzhiyun fsl,num-rx-queues=<1>; 482*4882a593Smuzhiyun status = "disabled"; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun kpp: kpp@020b8000 { 486*4882a593Smuzhiyun compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp"; 487*4882a593Smuzhiyun reg = <0x020b8000 0x4000>; 488*4882a593Smuzhiyun interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 489*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_KPP>; 490*4882a593Smuzhiyun status = "disabled"; 491*4882a593Smuzhiyun }; 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun wdog1: wdog@020bc000 { 494*4882a593Smuzhiyun compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt"; 495*4882a593Smuzhiyun reg = <0x020bc000 0x4000>; 496*4882a593Smuzhiyun interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 497*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_WDOG1>; 498*4882a593Smuzhiyun }; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun wdog2: wdog@020c0000 { 501*4882a593Smuzhiyun compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt"; 502*4882a593Smuzhiyun reg = <0x020c0000 0x4000>; 503*4882a593Smuzhiyun interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 504*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_WDOG2>; 505*4882a593Smuzhiyun status = "disabled"; 506*4882a593Smuzhiyun }; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun clks: ccm@020c4000 { 509*4882a593Smuzhiyun compatible = "fsl,imx6ul-ccm"; 510*4882a593Smuzhiyun reg = <0x020c4000 0x4000>; 511*4882a593Smuzhiyun interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 512*4882a593Smuzhiyun <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 513*4882a593Smuzhiyun #clock-cells = <1>; 514*4882a593Smuzhiyun clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>; 515*4882a593Smuzhiyun clock-names = "ckil", "osc", "ipp_di0", "ipp_di1"; 516*4882a593Smuzhiyun }; 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun anatop: anatop@020c8000 { 519*4882a593Smuzhiyun compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop", 520*4882a593Smuzhiyun "syscon", "simple-bus"; 521*4882a593Smuzhiyun reg = <0x020c8000 0x1000>; 522*4882a593Smuzhiyun interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 523*4882a593Smuzhiyun <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 524*4882a593Smuzhiyun <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 525*4882a593Smuzhiyun 526*4882a593Smuzhiyun reg_3p0: regulator-3p0 { 527*4882a593Smuzhiyun compatible = "fsl,anatop-regulator"; 528*4882a593Smuzhiyun regulator-name = "vdd3p0"; 529*4882a593Smuzhiyun regulator-min-microvolt = <2625000>; 530*4882a593Smuzhiyun regulator-max-microvolt = <3400000>; 531*4882a593Smuzhiyun anatop-reg-offset = <0x120>; 532*4882a593Smuzhiyun anatop-vol-bit-shift = <8>; 533*4882a593Smuzhiyun anatop-vol-bit-width = <5>; 534*4882a593Smuzhiyun anatop-min-bit-val = <0>; 535*4882a593Smuzhiyun anatop-min-voltage = <2625000>; 536*4882a593Smuzhiyun anatop-max-voltage = <3400000>; 537*4882a593Smuzhiyun anatop-enable-bit = <0>; 538*4882a593Smuzhiyun }; 539*4882a593Smuzhiyun 540*4882a593Smuzhiyun reg_arm: regulator-vddcore { 541*4882a593Smuzhiyun compatible = "fsl,anatop-regulator"; 542*4882a593Smuzhiyun regulator-name = "cpu"; 543*4882a593Smuzhiyun regulator-min-microvolt = <725000>; 544*4882a593Smuzhiyun regulator-max-microvolt = <1450000>; 545*4882a593Smuzhiyun regulator-always-on; 546*4882a593Smuzhiyun anatop-reg-offset = <0x140>; 547*4882a593Smuzhiyun anatop-vol-bit-shift = <0>; 548*4882a593Smuzhiyun anatop-vol-bit-width = <5>; 549*4882a593Smuzhiyun anatop-delay-reg-offset = <0x170>; 550*4882a593Smuzhiyun anatop-delay-bit-shift = <24>; 551*4882a593Smuzhiyun anatop-delay-bit-width = <2>; 552*4882a593Smuzhiyun anatop-min-bit-val = <1>; 553*4882a593Smuzhiyun anatop-min-voltage = <725000>; 554*4882a593Smuzhiyun anatop-max-voltage = <1450000>; 555*4882a593Smuzhiyun }; 556*4882a593Smuzhiyun 557*4882a593Smuzhiyun reg_soc: regulator-vddsoc { 558*4882a593Smuzhiyun compatible = "fsl,anatop-regulator"; 559*4882a593Smuzhiyun regulator-name = "vddsoc"; 560*4882a593Smuzhiyun regulator-min-microvolt = <725000>; 561*4882a593Smuzhiyun regulator-max-microvolt = <1450000>; 562*4882a593Smuzhiyun regulator-always-on; 563*4882a593Smuzhiyun anatop-reg-offset = <0x140>; 564*4882a593Smuzhiyun anatop-vol-bit-shift = <18>; 565*4882a593Smuzhiyun anatop-vol-bit-width = <5>; 566*4882a593Smuzhiyun anatop-delay-reg-offset = <0x170>; 567*4882a593Smuzhiyun anatop-delay-bit-shift = <28>; 568*4882a593Smuzhiyun anatop-delay-bit-width = <2>; 569*4882a593Smuzhiyun anatop-min-bit-val = <1>; 570*4882a593Smuzhiyun anatop-min-voltage = <725000>; 571*4882a593Smuzhiyun anatop-max-voltage = <1450000>; 572*4882a593Smuzhiyun }; 573*4882a593Smuzhiyun }; 574*4882a593Smuzhiyun 575*4882a593Smuzhiyun usbphy1: usbphy@020c9000 { 576*4882a593Smuzhiyun compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy"; 577*4882a593Smuzhiyun reg = <0x020c9000 0x1000>; 578*4882a593Smuzhiyun interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 579*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USBPHY1>; 580*4882a593Smuzhiyun phy-3p0-supply = <®_3p0>; 581*4882a593Smuzhiyun fsl,anatop = <&anatop>; 582*4882a593Smuzhiyun }; 583*4882a593Smuzhiyun 584*4882a593Smuzhiyun usbphy2: usbphy@020ca000 { 585*4882a593Smuzhiyun compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy"; 586*4882a593Smuzhiyun reg = <0x020ca000 0x1000>; 587*4882a593Smuzhiyun interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 588*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USBPHY2>; 589*4882a593Smuzhiyun phy-3p0-supply = <®_3p0>; 590*4882a593Smuzhiyun fsl,anatop = <&anatop>; 591*4882a593Smuzhiyun }; 592*4882a593Smuzhiyun 593*4882a593Smuzhiyun snvs: snvs@020cc000 { 594*4882a593Smuzhiyun compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 595*4882a593Smuzhiyun reg = <0x020cc000 0x4000>; 596*4882a593Smuzhiyun 597*4882a593Smuzhiyun snvs_rtc: snvs-rtc-lp { 598*4882a593Smuzhiyun compatible = "fsl,sec-v4.0-mon-rtc-lp"; 599*4882a593Smuzhiyun regmap = <&snvs>; 600*4882a593Smuzhiyun offset = <0x34>; 601*4882a593Smuzhiyun interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 602*4882a593Smuzhiyun <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 603*4882a593Smuzhiyun }; 604*4882a593Smuzhiyun 605*4882a593Smuzhiyun snvs_poweroff: snvs-poweroff { 606*4882a593Smuzhiyun compatible = "syscon-poweroff"; 607*4882a593Smuzhiyun regmap = <&snvs>; 608*4882a593Smuzhiyun offset = <0x38>; 609*4882a593Smuzhiyun mask = <0x60>; 610*4882a593Smuzhiyun status = "disabled"; 611*4882a593Smuzhiyun }; 612*4882a593Smuzhiyun 613*4882a593Smuzhiyun snvs_pwrkey: snvs-powerkey { 614*4882a593Smuzhiyun compatible = "fsl,sec-v4.0-pwrkey"; 615*4882a593Smuzhiyun regmap = <&snvs>; 616*4882a593Smuzhiyun interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 617*4882a593Smuzhiyun linux,keycode = <KEY_POWER>; 618*4882a593Smuzhiyun wakeup-source; 619*4882a593Smuzhiyun }; 620*4882a593Smuzhiyun }; 621*4882a593Smuzhiyun 622*4882a593Smuzhiyun epit1: epit@020d0000 { 623*4882a593Smuzhiyun reg = <0x020d0000 0x4000>; 624*4882a593Smuzhiyun interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 625*4882a593Smuzhiyun }; 626*4882a593Smuzhiyun 627*4882a593Smuzhiyun epit2: epit@020d4000 { 628*4882a593Smuzhiyun reg = <0x020d4000 0x4000>; 629*4882a593Smuzhiyun interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 630*4882a593Smuzhiyun }; 631*4882a593Smuzhiyun 632*4882a593Smuzhiyun src: src@020d8000 { 633*4882a593Smuzhiyun compatible = "fsl,imx6ul-src", "fsl,imx51-src"; 634*4882a593Smuzhiyun reg = <0x020d8000 0x4000>; 635*4882a593Smuzhiyun interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 636*4882a593Smuzhiyun <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 637*4882a593Smuzhiyun #reset-cells = <1>; 638*4882a593Smuzhiyun }; 639*4882a593Smuzhiyun 640*4882a593Smuzhiyun gpc: gpc@020dc000 { 641*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpc", "fsl,imx6q-gpc"; 642*4882a593Smuzhiyun reg = <0x020dc000 0x4000>; 643*4882a593Smuzhiyun interrupt-controller; 644*4882a593Smuzhiyun #interrupt-cells = <3>; 645*4882a593Smuzhiyun interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 646*4882a593Smuzhiyun interrupt-parent = <&intc>; 647*4882a593Smuzhiyun }; 648*4882a593Smuzhiyun 649*4882a593Smuzhiyun iomuxc: iomuxc@020e0000 { 650*4882a593Smuzhiyun compatible = "fsl,imx6ul-iomuxc"; 651*4882a593Smuzhiyun reg = <0x020e0000 0x4000>; 652*4882a593Smuzhiyun }; 653*4882a593Smuzhiyun 654*4882a593Smuzhiyun gpr: iomuxc-gpr@020e4000 { 655*4882a593Smuzhiyun compatible = "fsl,imx6ul-iomuxc-gpr", 656*4882a593Smuzhiyun "fsl,imx6q-iomuxc-gpr", "syscon"; 657*4882a593Smuzhiyun reg = <0x020e4000 0x4000>; 658*4882a593Smuzhiyun }; 659*4882a593Smuzhiyun 660*4882a593Smuzhiyun gpt2: gpt@020e8000 { 661*4882a593Smuzhiyun compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt"; 662*4882a593Smuzhiyun reg = <0x020e8000 0x4000>; 663*4882a593Smuzhiyun interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 664*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_GPT2_BUS>, 665*4882a593Smuzhiyun <&clks IMX6UL_CLK_GPT2_SERIAL>; 666*4882a593Smuzhiyun clock-names = "ipg", "per"; 667*4882a593Smuzhiyun }; 668*4882a593Smuzhiyun 669*4882a593Smuzhiyun sdma: sdma@020ec000 { 670*4882a593Smuzhiyun compatible = "fsl,imx6ul-sdma", "fsl,imx6q-sdma", 671*4882a593Smuzhiyun "fsl,imx35-sdma"; 672*4882a593Smuzhiyun reg = <0x020ec000 0x4000>; 673*4882a593Smuzhiyun interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 674*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_SDMA>, 675*4882a593Smuzhiyun <&clks IMX6UL_CLK_SDMA>; 676*4882a593Smuzhiyun clock-names = "ipg", "ahb"; 677*4882a593Smuzhiyun #dma-cells = <3>; 678*4882a593Smuzhiyun fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin"; 679*4882a593Smuzhiyun }; 680*4882a593Smuzhiyun 681*4882a593Smuzhiyun pwm5: pwm@020f0000 { 682*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 683*4882a593Smuzhiyun reg = <0x020f0000 0x4000>; 684*4882a593Smuzhiyun interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 685*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM5>, 686*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM5>; 687*4882a593Smuzhiyun clock-names = "ipg", "per"; 688*4882a593Smuzhiyun #pwm-cells = <2>; 689*4882a593Smuzhiyun status = "disabled"; 690*4882a593Smuzhiyun }; 691*4882a593Smuzhiyun 692*4882a593Smuzhiyun pwm6: pwm@020f4000 { 693*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 694*4882a593Smuzhiyun reg = <0x020f4000 0x4000>; 695*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 696*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM6>, 697*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM6>; 698*4882a593Smuzhiyun clock-names = "ipg", "per"; 699*4882a593Smuzhiyun #pwm-cells = <2>; 700*4882a593Smuzhiyun status = "disabled"; 701*4882a593Smuzhiyun }; 702*4882a593Smuzhiyun 703*4882a593Smuzhiyun pwm7: pwm@020f8000 { 704*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 705*4882a593Smuzhiyun reg = <0x020f8000 0x4000>; 706*4882a593Smuzhiyun interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 707*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM7>, 708*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM7>; 709*4882a593Smuzhiyun clock-names = "ipg", "per"; 710*4882a593Smuzhiyun #pwm-cells = <2>; 711*4882a593Smuzhiyun status = "disabled"; 712*4882a593Smuzhiyun }; 713*4882a593Smuzhiyun 714*4882a593Smuzhiyun pwm8: pwm@020fc000 { 715*4882a593Smuzhiyun compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; 716*4882a593Smuzhiyun reg = <0x020fc000 0x4000>; 717*4882a593Smuzhiyun interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 718*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_PWM8>, 719*4882a593Smuzhiyun <&clks IMX6UL_CLK_PWM8>; 720*4882a593Smuzhiyun clock-names = "ipg", "per"; 721*4882a593Smuzhiyun #pwm-cells = <2>; 722*4882a593Smuzhiyun status = "disabled"; 723*4882a593Smuzhiyun }; 724*4882a593Smuzhiyun }; 725*4882a593Smuzhiyun 726*4882a593Smuzhiyun aips2: aips-bus@02100000 { 727*4882a593Smuzhiyun compatible = "fsl,aips-bus", "simple-bus"; 728*4882a593Smuzhiyun #address-cells = <1>; 729*4882a593Smuzhiyun #size-cells = <1>; 730*4882a593Smuzhiyun reg = <0x02100000 0x100000>; 731*4882a593Smuzhiyun ranges; 732*4882a593Smuzhiyun 733*4882a593Smuzhiyun usbotg1: usb@02184000 { 734*4882a593Smuzhiyun compatible = "fsl,imx6ul-usb", "fsl,imx27-usb"; 735*4882a593Smuzhiyun reg = <0x02184000 0x200>; 736*4882a593Smuzhiyun interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 737*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USBOH3>; 738*4882a593Smuzhiyun fsl,usbphy = <&usbphy1>; 739*4882a593Smuzhiyun fsl,usbmisc = <&usbmisc 0>; 740*4882a593Smuzhiyun fsl,anatop = <&anatop>; 741*4882a593Smuzhiyun ahb-burst-config = <0x0>; 742*4882a593Smuzhiyun tx-burst-size-dword = <0x10>; 743*4882a593Smuzhiyun rx-burst-size-dword = <0x10>; 744*4882a593Smuzhiyun status = "disabled"; 745*4882a593Smuzhiyun }; 746*4882a593Smuzhiyun 747*4882a593Smuzhiyun usbotg2: usb@02184200 { 748*4882a593Smuzhiyun compatible = "fsl,imx6ul-usb", "fsl,imx27-usb"; 749*4882a593Smuzhiyun reg = <0x02184200 0x200>; 750*4882a593Smuzhiyun interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 751*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USBOH3>; 752*4882a593Smuzhiyun fsl,usbphy = <&usbphy2>; 753*4882a593Smuzhiyun fsl,usbmisc = <&usbmisc 1>; 754*4882a593Smuzhiyun ahb-burst-config = <0x0>; 755*4882a593Smuzhiyun tx-burst-size-dword = <0x10>; 756*4882a593Smuzhiyun rx-burst-size-dword = <0x10>; 757*4882a593Smuzhiyun status = "disabled"; 758*4882a593Smuzhiyun }; 759*4882a593Smuzhiyun 760*4882a593Smuzhiyun usbmisc: usbmisc@02184800 { 761*4882a593Smuzhiyun #index-cells = <1>; 762*4882a593Smuzhiyun compatible = "fsl,imx6ul-usbmisc", "fsl,imx6q-usbmisc"; 763*4882a593Smuzhiyun reg = <0x02184800 0x200>; 764*4882a593Smuzhiyun }; 765*4882a593Smuzhiyun 766*4882a593Smuzhiyun fec1: ethernet@02188000 { 767*4882a593Smuzhiyun compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec"; 768*4882a593Smuzhiyun reg = <0x02188000 0x4000>; 769*4882a593Smuzhiyun interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 770*4882a593Smuzhiyun <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 771*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ENET>, 772*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_AHB>, 773*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_PTP>, 774*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_REF>, 775*4882a593Smuzhiyun <&clks IMX6UL_CLK_ENET_REF>; 776*4882a593Smuzhiyun clock-names = "ipg", "ahb", "ptp", 777*4882a593Smuzhiyun "enet_clk_ref", "enet_out"; 778*4882a593Smuzhiyun fsl,num-tx-queues=<1>; 779*4882a593Smuzhiyun fsl,num-rx-queues=<1>; 780*4882a593Smuzhiyun status = "disabled"; 781*4882a593Smuzhiyun }; 782*4882a593Smuzhiyun 783*4882a593Smuzhiyun usdhc1: usdhc@02190000 { 784*4882a593Smuzhiyun compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc"; 785*4882a593Smuzhiyun reg = <0x02190000 0x4000>; 786*4882a593Smuzhiyun interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 787*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USDHC1>, 788*4882a593Smuzhiyun <&clks IMX6UL_CLK_USDHC1>, 789*4882a593Smuzhiyun <&clks IMX6UL_CLK_USDHC1>; 790*4882a593Smuzhiyun clock-names = "ipg", "ahb", "per"; 791*4882a593Smuzhiyun bus-width = <4>; 792*4882a593Smuzhiyun status = "disabled"; 793*4882a593Smuzhiyun }; 794*4882a593Smuzhiyun 795*4882a593Smuzhiyun usdhc2: usdhc@02194000 { 796*4882a593Smuzhiyun compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc"; 797*4882a593Smuzhiyun reg = <0x02194000 0x4000>; 798*4882a593Smuzhiyun interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 799*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_USDHC2>, 800*4882a593Smuzhiyun <&clks IMX6UL_CLK_USDHC2>, 801*4882a593Smuzhiyun <&clks IMX6UL_CLK_USDHC2>; 802*4882a593Smuzhiyun clock-names = "ipg", "ahb", "per"; 803*4882a593Smuzhiyun bus-width = <4>; 804*4882a593Smuzhiyun status = "disabled"; 805*4882a593Smuzhiyun }; 806*4882a593Smuzhiyun 807*4882a593Smuzhiyun adc1: adc@02198000 { 808*4882a593Smuzhiyun compatible = "fsl,imx6ul-adc", "fsl,vf610-adc"; 809*4882a593Smuzhiyun reg = <0x02198000 0x4000>; 810*4882a593Smuzhiyun interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 811*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_ADC1>; 812*4882a593Smuzhiyun num-channels = <2>; 813*4882a593Smuzhiyun clock-names = "adc"; 814*4882a593Smuzhiyun fsl,adck-max-frequency = <30000000>, <40000000>, 815*4882a593Smuzhiyun <20000000>; 816*4882a593Smuzhiyun status = "disabled"; 817*4882a593Smuzhiyun }; 818*4882a593Smuzhiyun 819*4882a593Smuzhiyun i2c1: i2c@021a0000 { 820*4882a593Smuzhiyun #address-cells = <1>; 821*4882a593Smuzhiyun #size-cells = <0>; 822*4882a593Smuzhiyun compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c"; 823*4882a593Smuzhiyun reg = <0x021a0000 0x4000>; 824*4882a593Smuzhiyun interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 825*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_I2C1>; 826*4882a593Smuzhiyun status = "disabled"; 827*4882a593Smuzhiyun }; 828*4882a593Smuzhiyun 829*4882a593Smuzhiyun i2c2: i2c@021a4000 { 830*4882a593Smuzhiyun #address-cells = <1>; 831*4882a593Smuzhiyun #size-cells = <0>; 832*4882a593Smuzhiyun compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c"; 833*4882a593Smuzhiyun reg = <0x021a4000 0x4000>; 834*4882a593Smuzhiyun interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 835*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_I2C2>; 836*4882a593Smuzhiyun status = "disabled"; 837*4882a593Smuzhiyun }; 838*4882a593Smuzhiyun 839*4882a593Smuzhiyun i2c3: i2c@021a8000 { 840*4882a593Smuzhiyun #address-cells = <1>; 841*4882a593Smuzhiyun #size-cells = <0>; 842*4882a593Smuzhiyun compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c"; 843*4882a593Smuzhiyun reg = <0x021a8000 0x4000>; 844*4882a593Smuzhiyun interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 845*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_I2C3>; 846*4882a593Smuzhiyun status = "disabled"; 847*4882a593Smuzhiyun }; 848*4882a593Smuzhiyun 849*4882a593Smuzhiyun mmdc: mmdc@021b0000 { 850*4882a593Smuzhiyun compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc"; 851*4882a593Smuzhiyun reg = <0x021b0000 0x4000>; 852*4882a593Smuzhiyun }; 853*4882a593Smuzhiyun 854*4882a593Smuzhiyun lcdif: lcdif@021c8000 { 855*4882a593Smuzhiyun compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif"; 856*4882a593Smuzhiyun reg = <0x021c8000 0x4000>; 857*4882a593Smuzhiyun interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 858*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_LCDIF_PIX>, 859*4882a593Smuzhiyun <&clks IMX6UL_CLK_LCDIF_APB>, 860*4882a593Smuzhiyun <&clks IMX6UL_CLK_DUMMY>; 861*4882a593Smuzhiyun clock-names = "pix", "axi", "disp_axi"; 862*4882a593Smuzhiyun status = "disabled"; 863*4882a593Smuzhiyun }; 864*4882a593Smuzhiyun 865*4882a593Smuzhiyun qspi: qspi@021e0000 { 866*4882a593Smuzhiyun #address-cells = <1>; 867*4882a593Smuzhiyun #size-cells = <0>; 868*4882a593Smuzhiyun compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi"; 869*4882a593Smuzhiyun reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>; 870*4882a593Smuzhiyun reg-names = "QuadSPI", "QuadSPI-memory"; 871*4882a593Smuzhiyun interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 872*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_QSPI>, 873*4882a593Smuzhiyun <&clks IMX6UL_CLK_QSPI>; 874*4882a593Smuzhiyun clock-names = "qspi_en", "qspi"; 875*4882a593Smuzhiyun status = "disabled"; 876*4882a593Smuzhiyun }; 877*4882a593Smuzhiyun 878*4882a593Smuzhiyun uart2: serial@021e8000 { 879*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 880*4882a593Smuzhiyun "fsl,imx6q-uart"; 881*4882a593Smuzhiyun reg = <0x021e8000 0x4000>; 882*4882a593Smuzhiyun interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 883*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART2_IPG>, 884*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART2_SERIAL>; 885*4882a593Smuzhiyun clock-names = "ipg", "per"; 886*4882a593Smuzhiyun status = "disabled"; 887*4882a593Smuzhiyun }; 888*4882a593Smuzhiyun 889*4882a593Smuzhiyun uart3: serial@021ec000 { 890*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 891*4882a593Smuzhiyun "fsl,imx6q-uart"; 892*4882a593Smuzhiyun reg = <0x021ec000 0x4000>; 893*4882a593Smuzhiyun interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 894*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART3_IPG>, 895*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART3_SERIAL>; 896*4882a593Smuzhiyun clock-names = "ipg", "per"; 897*4882a593Smuzhiyun status = "disabled"; 898*4882a593Smuzhiyun }; 899*4882a593Smuzhiyun 900*4882a593Smuzhiyun uart4: serial@021f0000 { 901*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 902*4882a593Smuzhiyun "fsl,imx6q-uart"; 903*4882a593Smuzhiyun reg = <0x021f0000 0x4000>; 904*4882a593Smuzhiyun interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 905*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART4_IPG>, 906*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART4_SERIAL>; 907*4882a593Smuzhiyun clock-names = "ipg", "per"; 908*4882a593Smuzhiyun status = "disabled"; 909*4882a593Smuzhiyun }; 910*4882a593Smuzhiyun 911*4882a593Smuzhiyun uart5: serial@021f4000 { 912*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 913*4882a593Smuzhiyun "fsl,imx6q-uart"; 914*4882a593Smuzhiyun reg = <0x021f4000 0x4000>; 915*4882a593Smuzhiyun interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 916*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART5_IPG>, 917*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART5_SERIAL>; 918*4882a593Smuzhiyun clock-names = "ipg", "per"; 919*4882a593Smuzhiyun status = "disabled"; 920*4882a593Smuzhiyun }; 921*4882a593Smuzhiyun 922*4882a593Smuzhiyun i2c4: i2c@021f8000 { 923*4882a593Smuzhiyun #address-cells = <1>; 924*4882a593Smuzhiyun #size-cells = <0>; 925*4882a593Smuzhiyun compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c"; 926*4882a593Smuzhiyun reg = <0x021f8000 0x4000>; 927*4882a593Smuzhiyun interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 928*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_I2C4>; 929*4882a593Smuzhiyun status = "disabled"; 930*4882a593Smuzhiyun }; 931*4882a593Smuzhiyun 932*4882a593Smuzhiyun uart6: serial@021fc000 { 933*4882a593Smuzhiyun compatible = "fsl,imx6ul-uart", 934*4882a593Smuzhiyun "fsl,imx6q-uart"; 935*4882a593Smuzhiyun reg = <0x021fc000 0x4000>; 936*4882a593Smuzhiyun interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 937*4882a593Smuzhiyun clocks = <&clks IMX6UL_CLK_UART6_IPG>, 938*4882a593Smuzhiyun <&clks IMX6UL_CLK_UART6_SERIAL>; 939*4882a593Smuzhiyun clock-names = "ipg", "per"; 940*4882a593Smuzhiyun status = "disabled"; 941*4882a593Smuzhiyun }; 942*4882a593Smuzhiyun }; 943*4882a593Smuzhiyun }; 944*4882a593Smuzhiyun}; 945