1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*f126890aSEmmanuel Vadot// 3*f126890aSEmmanuel Vadot// Copyright 2012 Sascha Hauer, Pengutronix 4*f126890aSEmmanuel Vadot 5*f126890aSEmmanuel Vadot#include "imx27-pinfunc.h" 6*f126890aSEmmanuel Vadot 7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/imx27-clock.h> 8*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 10*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 11*f126890aSEmmanuel Vadot 12*f126890aSEmmanuel Vadot/ { 13*f126890aSEmmanuel Vadot #address-cells = <1>; 14*f126890aSEmmanuel Vadot #size-cells = <1>; 15*f126890aSEmmanuel Vadot /* 16*f126890aSEmmanuel Vadot * The decompressor and also some bootloaders rely on a 17*f126890aSEmmanuel Vadot * pre-existing /chosen node to be available to insert the 18*f126890aSEmmanuel Vadot * command line and merge other ATAGS info. 19*f126890aSEmmanuel Vadot */ 20*f126890aSEmmanuel Vadot chosen {}; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot aliases { 23*f126890aSEmmanuel Vadot ethernet0 = &fec; 24*f126890aSEmmanuel Vadot gpio0 = &gpio1; 25*f126890aSEmmanuel Vadot gpio1 = &gpio2; 26*f126890aSEmmanuel Vadot gpio2 = &gpio3; 27*f126890aSEmmanuel Vadot gpio3 = &gpio4; 28*f126890aSEmmanuel Vadot gpio4 = &gpio5; 29*f126890aSEmmanuel Vadot gpio5 = &gpio6; 30*f126890aSEmmanuel Vadot i2c0 = &i2c1; 31*f126890aSEmmanuel Vadot i2c1 = &i2c2; 32*f126890aSEmmanuel Vadot serial0 = &uart1; 33*f126890aSEmmanuel Vadot serial1 = &uart2; 34*f126890aSEmmanuel Vadot serial2 = &uart3; 35*f126890aSEmmanuel Vadot serial3 = &uart4; 36*f126890aSEmmanuel Vadot serial4 = &uart5; 37*f126890aSEmmanuel Vadot serial5 = &uart6; 38*f126890aSEmmanuel Vadot spi0 = &cspi1; 39*f126890aSEmmanuel Vadot spi1 = &cspi2; 40*f126890aSEmmanuel Vadot spi2 = &cspi3; 41*f126890aSEmmanuel Vadot }; 42*f126890aSEmmanuel Vadot 43*f126890aSEmmanuel Vadot aitc: aitc-interrupt-controller@10040000 { 44*f126890aSEmmanuel Vadot compatible = "fsl,imx27-aitc", "fsl,avic"; 45*f126890aSEmmanuel Vadot interrupt-controller; 46*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 47*f126890aSEmmanuel Vadot reg = <0x10040000 0x1000>; 48*f126890aSEmmanuel Vadot }; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot clocks { 51*f126890aSEmmanuel Vadot clk_osc26m: osc26m { 52*f126890aSEmmanuel Vadot compatible = "fsl,imx-osc26m", "fixed-clock"; 53*f126890aSEmmanuel Vadot #clock-cells = <0>; 54*f126890aSEmmanuel Vadot clock-frequency = <26000000>; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot cpus { 59*f126890aSEmmanuel Vadot #size-cells = <0>; 60*f126890aSEmmanuel Vadot #address-cells = <1>; 61*f126890aSEmmanuel Vadot 62*f126890aSEmmanuel Vadot cpu: cpu@0 { 63*f126890aSEmmanuel Vadot device_type = "cpu"; 64*f126890aSEmmanuel Vadot reg = <0>; 65*f126890aSEmmanuel Vadot compatible = "arm,arm926ej-s"; 66*f126890aSEmmanuel Vadot operating-points = < 67*f126890aSEmmanuel Vadot /* kHz uV */ 68*f126890aSEmmanuel Vadot 266000 1300000 69*f126890aSEmmanuel Vadot 399000 1450000 70*f126890aSEmmanuel Vadot >; 71*f126890aSEmmanuel Vadot clock-latency = <62500>; 72*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_CPU_DIV>; 73*f126890aSEmmanuel Vadot voltage-tolerance = <5>; 74*f126890aSEmmanuel Vadot }; 75*f126890aSEmmanuel Vadot }; 76*f126890aSEmmanuel Vadot 77*f126890aSEmmanuel Vadot soc: soc { 78*f126890aSEmmanuel Vadot #address-cells = <1>; 79*f126890aSEmmanuel Vadot #size-cells = <1>; 80*f126890aSEmmanuel Vadot compatible = "simple-bus"; 81*f126890aSEmmanuel Vadot interrupt-parent = <&aitc>; 82*f126890aSEmmanuel Vadot ranges; 83*f126890aSEmmanuel Vadot 84*f126890aSEmmanuel Vadot aipi1: aipi@10000000 { /* AIPI1 */ 85*f126890aSEmmanuel Vadot compatible = "fsl,aipi-bus", "simple-bus"; 86*f126890aSEmmanuel Vadot #address-cells = <1>; 87*f126890aSEmmanuel Vadot #size-cells = <1>; 88*f126890aSEmmanuel Vadot reg = <0x10000000 0x20000>; 89*f126890aSEmmanuel Vadot ranges; 90*f126890aSEmmanuel Vadot 91*f126890aSEmmanuel Vadot dma: dma@10001000 { 92*f126890aSEmmanuel Vadot compatible = "fsl,imx27-dma"; 93*f126890aSEmmanuel Vadot reg = <0x10001000 0x1000>; 94*f126890aSEmmanuel Vadot interrupts = <32>; 95*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_DMA_IPG_GATE>, 96*f126890aSEmmanuel Vadot <&clks IMX27_CLK_DMA_AHB_GATE>; 97*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb"; 98*f126890aSEmmanuel Vadot #dma-cells = <1>; 99*f126890aSEmmanuel Vadot dma-channels = <16>; 100*f126890aSEmmanuel Vadot }; 101*f126890aSEmmanuel Vadot 102*f126890aSEmmanuel Vadot wdog: watchdog@10002000 { 103*f126890aSEmmanuel Vadot compatible = "fsl,imx27-wdt", "fsl,imx21-wdt"; 104*f126890aSEmmanuel Vadot reg = <0x10002000 0x1000>; 105*f126890aSEmmanuel Vadot interrupts = <27>; 106*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_WDOG_IPG_GATE>; 107*f126890aSEmmanuel Vadot }; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot gpt1: timer@10003000 { 110*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 111*f126890aSEmmanuel Vadot reg = <0x10003000 0x1000>; 112*f126890aSEmmanuel Vadot interrupts = <26>; 113*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>, 114*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 115*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 116*f126890aSEmmanuel Vadot }; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot gpt2: timer@10004000 { 119*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 120*f126890aSEmmanuel Vadot reg = <0x10004000 0x1000>; 121*f126890aSEmmanuel Vadot interrupts = <25>; 122*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>, 123*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 124*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 125*f126890aSEmmanuel Vadot }; 126*f126890aSEmmanuel Vadot 127*f126890aSEmmanuel Vadot gpt3: timer@10005000 { 128*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 129*f126890aSEmmanuel Vadot reg = <0x10005000 0x1000>; 130*f126890aSEmmanuel Vadot interrupts = <24>; 131*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>, 132*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 133*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 134*f126890aSEmmanuel Vadot }; 135*f126890aSEmmanuel Vadot 136*f126890aSEmmanuel Vadot pwm: pwm@10006000 { 137*f126890aSEmmanuel Vadot #pwm-cells = <3>; 138*f126890aSEmmanuel Vadot compatible = "fsl,imx27-pwm"; 139*f126890aSEmmanuel Vadot reg = <0x10006000 0x1000>; 140*f126890aSEmmanuel Vadot interrupts = <23>; 141*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_PWM_IPG_GATE>, 142*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 143*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 144*f126890aSEmmanuel Vadot }; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot rtc: rtc@10007000 { 147*f126890aSEmmanuel Vadot compatible = "fsl,imx21-rtc"; 148*f126890aSEmmanuel Vadot reg = <0x10007000 0x1000>; 149*f126890aSEmmanuel Vadot interrupts = <22>; 150*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_CKIL>, 151*f126890aSEmmanuel Vadot <&clks IMX27_CLK_RTC_IPG_GATE>; 152*f126890aSEmmanuel Vadot clock-names = "ref", "ipg"; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot kpp: kpp@10008000 { 156*f126890aSEmmanuel Vadot compatible = "fsl,imx27-kpp", "fsl,imx21-kpp"; 157*f126890aSEmmanuel Vadot reg = <0x10008000 0x1000>; 158*f126890aSEmmanuel Vadot interrupts = <21>; 159*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_KPP_IPG_GATE>; 160*f126890aSEmmanuel Vadot status = "disabled"; 161*f126890aSEmmanuel Vadot }; 162*f126890aSEmmanuel Vadot 163*f126890aSEmmanuel Vadot owire: owire@10009000 { 164*f126890aSEmmanuel Vadot compatible = "fsl,imx27-owire", "fsl,imx21-owire"; 165*f126890aSEmmanuel Vadot reg = <0x10009000 0x1000>; 166*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_OWIRE_IPG_GATE>; 167*f126890aSEmmanuel Vadot status = "disabled"; 168*f126890aSEmmanuel Vadot }; 169*f126890aSEmmanuel Vadot 170*f126890aSEmmanuel Vadot uart1: serial@1000a000 { 171*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 172*f126890aSEmmanuel Vadot reg = <0x1000a000 0x1000>; 173*f126890aSEmmanuel Vadot interrupts = <20>; 174*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART1_IPG_GATE>, 175*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 176*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 177*f126890aSEmmanuel Vadot status = "disabled"; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot 180*f126890aSEmmanuel Vadot uart2: serial@1000b000 { 181*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 182*f126890aSEmmanuel Vadot reg = <0x1000b000 0x1000>; 183*f126890aSEmmanuel Vadot interrupts = <19>; 184*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART2_IPG_GATE>, 185*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 186*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 187*f126890aSEmmanuel Vadot status = "disabled"; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot uart3: serial@1000c000 { 191*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 192*f126890aSEmmanuel Vadot reg = <0x1000c000 0x1000>; 193*f126890aSEmmanuel Vadot interrupts = <18>; 194*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART3_IPG_GATE>, 195*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 196*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 197*f126890aSEmmanuel Vadot status = "disabled"; 198*f126890aSEmmanuel Vadot }; 199*f126890aSEmmanuel Vadot 200*f126890aSEmmanuel Vadot uart4: serial@1000d000 { 201*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 202*f126890aSEmmanuel Vadot reg = <0x1000d000 0x1000>; 203*f126890aSEmmanuel Vadot interrupts = <17>; 204*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART4_IPG_GATE>, 205*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 206*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 207*f126890aSEmmanuel Vadot status = "disabled"; 208*f126890aSEmmanuel Vadot }; 209*f126890aSEmmanuel Vadot 210*f126890aSEmmanuel Vadot cspi1: spi@1000e000 { 211*f126890aSEmmanuel Vadot #address-cells = <1>; 212*f126890aSEmmanuel Vadot #size-cells = <0>; 213*f126890aSEmmanuel Vadot compatible = "fsl,imx27-cspi"; 214*f126890aSEmmanuel Vadot reg = <0x1000e000 0x1000>; 215*f126890aSEmmanuel Vadot interrupts = <16>; 216*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_CSPI1_IPG_GATE>, 217*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 218*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 219*f126890aSEmmanuel Vadot status = "disabled"; 220*f126890aSEmmanuel Vadot }; 221*f126890aSEmmanuel Vadot 222*f126890aSEmmanuel Vadot cspi2: spi@1000f000 { 223*f126890aSEmmanuel Vadot #address-cells = <1>; 224*f126890aSEmmanuel Vadot #size-cells = <0>; 225*f126890aSEmmanuel Vadot compatible = "fsl,imx27-cspi"; 226*f126890aSEmmanuel Vadot reg = <0x1000f000 0x1000>; 227*f126890aSEmmanuel Vadot interrupts = <15>; 228*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_CSPI2_IPG_GATE>, 229*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 230*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 231*f126890aSEmmanuel Vadot status = "disabled"; 232*f126890aSEmmanuel Vadot }; 233*f126890aSEmmanuel Vadot 234*f126890aSEmmanuel Vadot ssi1: ssi@10010000 { 235*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 236*f126890aSEmmanuel Vadot compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; 237*f126890aSEmmanuel Vadot reg = <0x10010000 0x1000>; 238*f126890aSEmmanuel Vadot interrupts = <14>; 239*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SSI1_IPG_GATE>; 240*f126890aSEmmanuel Vadot dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>; 241*f126890aSEmmanuel Vadot dma-names = "rx0", "tx0", "rx1", "tx1"; 242*f126890aSEmmanuel Vadot fsl,fifo-depth = <8>; 243*f126890aSEmmanuel Vadot status = "disabled"; 244*f126890aSEmmanuel Vadot }; 245*f126890aSEmmanuel Vadot 246*f126890aSEmmanuel Vadot ssi2: ssi@10011000 { 247*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 248*f126890aSEmmanuel Vadot compatible = "fsl,imx27-ssi", "fsl,imx21-ssi"; 249*f126890aSEmmanuel Vadot reg = <0x10011000 0x1000>; 250*f126890aSEmmanuel Vadot interrupts = <13>; 251*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SSI2_IPG_GATE>; 252*f126890aSEmmanuel Vadot dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>; 253*f126890aSEmmanuel Vadot dma-names = "rx0", "tx0", "rx1", "tx1"; 254*f126890aSEmmanuel Vadot fsl,fifo-depth = <8>; 255*f126890aSEmmanuel Vadot status = "disabled"; 256*f126890aSEmmanuel Vadot }; 257*f126890aSEmmanuel Vadot 258*f126890aSEmmanuel Vadot i2c1: i2c@10012000 { 259*f126890aSEmmanuel Vadot #address-cells = <1>; 260*f126890aSEmmanuel Vadot #size-cells = <0>; 261*f126890aSEmmanuel Vadot compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; 262*f126890aSEmmanuel Vadot reg = <0x10012000 0x1000>; 263*f126890aSEmmanuel Vadot interrupts = <12>; 264*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_I2C1_IPG_GATE>; 265*f126890aSEmmanuel Vadot status = "disabled"; 266*f126890aSEmmanuel Vadot }; 267*f126890aSEmmanuel Vadot 268*f126890aSEmmanuel Vadot sdhci1: mmc@10013000 { 269*f126890aSEmmanuel Vadot compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; 270*f126890aSEmmanuel Vadot reg = <0x10013000 0x1000>; 271*f126890aSEmmanuel Vadot interrupts = <11>; 272*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SDHC1_IPG_GATE>, 273*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 274*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 275*f126890aSEmmanuel Vadot dmas = <&dma 7>; 276*f126890aSEmmanuel Vadot dma-names = "rx-tx"; 277*f126890aSEmmanuel Vadot status = "disabled"; 278*f126890aSEmmanuel Vadot }; 279*f126890aSEmmanuel Vadot 280*f126890aSEmmanuel Vadot sdhci2: mmc@10014000 { 281*f126890aSEmmanuel Vadot compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; 282*f126890aSEmmanuel Vadot reg = <0x10014000 0x1000>; 283*f126890aSEmmanuel Vadot interrupts = <10>; 284*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SDHC2_IPG_GATE>, 285*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 286*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 287*f126890aSEmmanuel Vadot dmas = <&dma 6>; 288*f126890aSEmmanuel Vadot dma-names = "rx-tx"; 289*f126890aSEmmanuel Vadot status = "disabled"; 290*f126890aSEmmanuel Vadot }; 291*f126890aSEmmanuel Vadot 292*f126890aSEmmanuel Vadot iomuxc: iomuxc@10015000 { 293*f126890aSEmmanuel Vadot compatible = "fsl,imx27-iomuxc"; 294*f126890aSEmmanuel Vadot reg = <0x10015000 0x600>; 295*f126890aSEmmanuel Vadot #address-cells = <1>; 296*f126890aSEmmanuel Vadot #size-cells = <1>; 297*f126890aSEmmanuel Vadot ranges; 298*f126890aSEmmanuel Vadot 299*f126890aSEmmanuel Vadot gpio1: gpio@10015000 { 300*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 301*f126890aSEmmanuel Vadot reg = <0x10015000 0x100>; 302*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 303*f126890aSEmmanuel Vadot interrupts = <8>; 304*f126890aSEmmanuel Vadot gpio-controller; 305*f126890aSEmmanuel Vadot #gpio-cells = <2>; 306*f126890aSEmmanuel Vadot interrupt-controller; 307*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 308*f126890aSEmmanuel Vadot }; 309*f126890aSEmmanuel Vadot 310*f126890aSEmmanuel Vadot gpio2: gpio@10015100 { 311*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 312*f126890aSEmmanuel Vadot reg = <0x10015100 0x100>; 313*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 314*f126890aSEmmanuel Vadot interrupts = <8>; 315*f126890aSEmmanuel Vadot gpio-controller; 316*f126890aSEmmanuel Vadot #gpio-cells = <2>; 317*f126890aSEmmanuel Vadot interrupt-controller; 318*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 319*f126890aSEmmanuel Vadot }; 320*f126890aSEmmanuel Vadot 321*f126890aSEmmanuel Vadot gpio3: gpio@10015200 { 322*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 323*f126890aSEmmanuel Vadot reg = <0x10015200 0x100>; 324*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 325*f126890aSEmmanuel Vadot interrupts = <8>; 326*f126890aSEmmanuel Vadot gpio-controller; 327*f126890aSEmmanuel Vadot #gpio-cells = <2>; 328*f126890aSEmmanuel Vadot interrupt-controller; 329*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 330*f126890aSEmmanuel Vadot }; 331*f126890aSEmmanuel Vadot 332*f126890aSEmmanuel Vadot gpio4: gpio@10015300 { 333*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 334*f126890aSEmmanuel Vadot reg = <0x10015300 0x100>; 335*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 336*f126890aSEmmanuel Vadot interrupts = <8>; 337*f126890aSEmmanuel Vadot gpio-controller; 338*f126890aSEmmanuel Vadot #gpio-cells = <2>; 339*f126890aSEmmanuel Vadot interrupt-controller; 340*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 341*f126890aSEmmanuel Vadot }; 342*f126890aSEmmanuel Vadot 343*f126890aSEmmanuel Vadot gpio5: gpio@10015400 { 344*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 345*f126890aSEmmanuel Vadot reg = <0x10015400 0x100>; 346*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 347*f126890aSEmmanuel Vadot interrupts = <8>; 348*f126890aSEmmanuel Vadot gpio-controller; 349*f126890aSEmmanuel Vadot #gpio-cells = <2>; 350*f126890aSEmmanuel Vadot interrupt-controller; 351*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 352*f126890aSEmmanuel Vadot }; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot gpio6: gpio@10015500 { 355*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpio", "fsl,imx21-gpio"; 356*f126890aSEmmanuel Vadot reg = <0x10015500 0x100>; 357*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPIO_IPG_GATE>; 358*f126890aSEmmanuel Vadot interrupts = <8>; 359*f126890aSEmmanuel Vadot gpio-controller; 360*f126890aSEmmanuel Vadot #gpio-cells = <2>; 361*f126890aSEmmanuel Vadot interrupt-controller; 362*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 363*f126890aSEmmanuel Vadot }; 364*f126890aSEmmanuel Vadot }; 365*f126890aSEmmanuel Vadot 366*f126890aSEmmanuel Vadot audmux: audmux@10016000 { 367*f126890aSEmmanuel Vadot compatible = "fsl,imx27-audmux", "fsl,imx21-audmux"; 368*f126890aSEmmanuel Vadot reg = <0x10016000 0x1000>; 369*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_DUMMY>; 370*f126890aSEmmanuel Vadot clock-names = "audmux"; 371*f126890aSEmmanuel Vadot status = "disabled"; 372*f126890aSEmmanuel Vadot }; 373*f126890aSEmmanuel Vadot 374*f126890aSEmmanuel Vadot cspi3: spi@10017000 { 375*f126890aSEmmanuel Vadot #address-cells = <1>; 376*f126890aSEmmanuel Vadot #size-cells = <0>; 377*f126890aSEmmanuel Vadot compatible = "fsl,imx27-cspi"; 378*f126890aSEmmanuel Vadot reg = <0x10017000 0x1000>; 379*f126890aSEmmanuel Vadot interrupts = <6>; 380*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_CSPI3_IPG_GATE>, 381*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 382*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 383*f126890aSEmmanuel Vadot status = "disabled"; 384*f126890aSEmmanuel Vadot }; 385*f126890aSEmmanuel Vadot 386*f126890aSEmmanuel Vadot gpt4: timer@10019000 { 387*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 388*f126890aSEmmanuel Vadot reg = <0x10019000 0x1000>; 389*f126890aSEmmanuel Vadot interrupts = <4>; 390*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>, 391*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 392*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 393*f126890aSEmmanuel Vadot }; 394*f126890aSEmmanuel Vadot 395*f126890aSEmmanuel Vadot gpt5: timer@1001a000 { 396*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 397*f126890aSEmmanuel Vadot reg = <0x1001a000 0x1000>; 398*f126890aSEmmanuel Vadot interrupts = <3>; 399*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>, 400*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 401*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 402*f126890aSEmmanuel Vadot }; 403*f126890aSEmmanuel Vadot 404*f126890aSEmmanuel Vadot uart5: serial@1001b000 { 405*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 406*f126890aSEmmanuel Vadot reg = <0x1001b000 0x1000>; 407*f126890aSEmmanuel Vadot interrupts = <49>; 408*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART5_IPG_GATE>, 409*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 410*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 411*f126890aSEmmanuel Vadot status = "disabled"; 412*f126890aSEmmanuel Vadot }; 413*f126890aSEmmanuel Vadot 414*f126890aSEmmanuel Vadot uart6: serial@1001c000 { 415*f126890aSEmmanuel Vadot compatible = "fsl,imx27-uart", "fsl,imx21-uart"; 416*f126890aSEmmanuel Vadot reg = <0x1001c000 0x1000>; 417*f126890aSEmmanuel Vadot interrupts = <48>; 418*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_UART6_IPG_GATE>, 419*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 420*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 421*f126890aSEmmanuel Vadot status = "disabled"; 422*f126890aSEmmanuel Vadot }; 423*f126890aSEmmanuel Vadot 424*f126890aSEmmanuel Vadot i2c2: i2c@1001d000 { 425*f126890aSEmmanuel Vadot #address-cells = <1>; 426*f126890aSEmmanuel Vadot #size-cells = <0>; 427*f126890aSEmmanuel Vadot compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; 428*f126890aSEmmanuel Vadot reg = <0x1001d000 0x1000>; 429*f126890aSEmmanuel Vadot interrupts = <1>; 430*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_I2C2_IPG_GATE>; 431*f126890aSEmmanuel Vadot status = "disabled"; 432*f126890aSEmmanuel Vadot }; 433*f126890aSEmmanuel Vadot 434*f126890aSEmmanuel Vadot sdhci3: mmc@1001e000 { 435*f126890aSEmmanuel Vadot compatible = "fsl,imx27-mmc", "fsl,imx21-mmc"; 436*f126890aSEmmanuel Vadot reg = <0x1001e000 0x1000>; 437*f126890aSEmmanuel Vadot interrupts = <9>; 438*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SDHC3_IPG_GATE>, 439*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER2_GATE>; 440*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 441*f126890aSEmmanuel Vadot dmas = <&dma 36>; 442*f126890aSEmmanuel Vadot dma-names = "rx-tx"; 443*f126890aSEmmanuel Vadot status = "disabled"; 444*f126890aSEmmanuel Vadot }; 445*f126890aSEmmanuel Vadot 446*f126890aSEmmanuel Vadot gpt6: timer@1001f000 { 447*f126890aSEmmanuel Vadot compatible = "fsl,imx27-gpt", "fsl,imx21-gpt"; 448*f126890aSEmmanuel Vadot reg = <0x1001f000 0x1000>; 449*f126890aSEmmanuel Vadot interrupts = <2>; 450*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>, 451*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER1_GATE>; 452*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 453*f126890aSEmmanuel Vadot }; 454*f126890aSEmmanuel Vadot }; 455*f126890aSEmmanuel Vadot 456*f126890aSEmmanuel Vadot aipi2: aipi@10020000 { /* AIPI2 */ 457*f126890aSEmmanuel Vadot compatible = "fsl,aipi-bus", "simple-bus"; 458*f126890aSEmmanuel Vadot #address-cells = <1>; 459*f126890aSEmmanuel Vadot #size-cells = <1>; 460*f126890aSEmmanuel Vadot reg = <0x10020000 0x20000>; 461*f126890aSEmmanuel Vadot ranges; 462*f126890aSEmmanuel Vadot 463*f126890aSEmmanuel Vadot fb: fb@10021000 { 464*f126890aSEmmanuel Vadot compatible = "fsl,imx27-fb", "fsl,imx21-fb"; 465*f126890aSEmmanuel Vadot interrupts = <61>; 466*f126890aSEmmanuel Vadot reg = <0x10021000 0x1000>; 467*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_LCDC_IPG_GATE>, 468*f126890aSEmmanuel Vadot <&clks IMX27_CLK_LCDC_AHB_GATE>, 469*f126890aSEmmanuel Vadot <&clks IMX27_CLK_PER3_GATE>; 470*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 471*f126890aSEmmanuel Vadot status = "disabled"; 472*f126890aSEmmanuel Vadot }; 473*f126890aSEmmanuel Vadot 474*f126890aSEmmanuel Vadot coda: coda@10023000 { 475*f126890aSEmmanuel Vadot compatible = "fsl,imx27-vpu", "cnm,codadx6"; 476*f126890aSEmmanuel Vadot reg = <0x10023000 0x0200>; 477*f126890aSEmmanuel Vadot interrupts = <53>; 478*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_VPU_BAUD_GATE>, 479*f126890aSEmmanuel Vadot <&clks IMX27_CLK_VPU_AHB_GATE>; 480*f126890aSEmmanuel Vadot clock-names = "per", "ahb"; 481*f126890aSEmmanuel Vadot iram = <&iram>; 482*f126890aSEmmanuel Vadot }; 483*f126890aSEmmanuel Vadot 484*f126890aSEmmanuel Vadot usbotg: usb@10024000 { 485*f126890aSEmmanuel Vadot compatible = "fsl,imx27-usb"; 486*f126890aSEmmanuel Vadot reg = <0x10024000 0x200>; 487*f126890aSEmmanuel Vadot interrupts = <56>; 488*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_USB_IPG_GATE>, 489*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_AHB_GATE>, 490*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_DIV>; 491*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 492*f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 0>; 493*f126890aSEmmanuel Vadot status = "disabled"; 494*f126890aSEmmanuel Vadot }; 495*f126890aSEmmanuel Vadot 496*f126890aSEmmanuel Vadot usbh1: usb@10024200 { 497*f126890aSEmmanuel Vadot compatible = "fsl,imx27-usb"; 498*f126890aSEmmanuel Vadot reg = <0x10024200 0x200>; 499*f126890aSEmmanuel Vadot interrupts = <54>; 500*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_USB_IPG_GATE>, 501*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_AHB_GATE>, 502*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_DIV>; 503*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 504*f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 1>; 505*f126890aSEmmanuel Vadot dr_mode = "host"; 506*f126890aSEmmanuel Vadot status = "disabled"; 507*f126890aSEmmanuel Vadot }; 508*f126890aSEmmanuel Vadot 509*f126890aSEmmanuel Vadot usbh2: usb@10024400 { 510*f126890aSEmmanuel Vadot compatible = "fsl,imx27-usb"; 511*f126890aSEmmanuel Vadot reg = <0x10024400 0x200>; 512*f126890aSEmmanuel Vadot interrupts = <55>; 513*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_USB_IPG_GATE>, 514*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_AHB_GATE>, 515*f126890aSEmmanuel Vadot <&clks IMX27_CLK_USB_DIV>; 516*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 517*f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 2>; 518*f126890aSEmmanuel Vadot dr_mode = "host"; 519*f126890aSEmmanuel Vadot status = "disabled"; 520*f126890aSEmmanuel Vadot }; 521*f126890aSEmmanuel Vadot 522*f126890aSEmmanuel Vadot usbmisc: usbmisc@10024600 { 523*f126890aSEmmanuel Vadot #index-cells = <1>; 524*f126890aSEmmanuel Vadot compatible = "fsl,imx27-usbmisc"; 525*f126890aSEmmanuel Vadot reg = <0x10024600 0x200>; 526*f126890aSEmmanuel Vadot }; 527*f126890aSEmmanuel Vadot 528*f126890aSEmmanuel Vadot sahara2: crypto@10025000 { 529*f126890aSEmmanuel Vadot compatible = "fsl,imx27-sahara"; 530*f126890aSEmmanuel Vadot reg = <0x10025000 0x1000>; 531*f126890aSEmmanuel Vadot interrupts = <59>; 532*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_SAHARA_IPG_GATE>, 533*f126890aSEmmanuel Vadot <&clks IMX27_CLK_SAHARA_AHB_GATE>; 534*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb"; 535*f126890aSEmmanuel Vadot }; 536*f126890aSEmmanuel Vadot 537*f126890aSEmmanuel Vadot clks: ccm@10027000{ 538*f126890aSEmmanuel Vadot compatible = "fsl,imx27-ccm"; 539*f126890aSEmmanuel Vadot reg = <0x10027000 0x1000>; 540*f126890aSEmmanuel Vadot #clock-cells = <1>; 541*f126890aSEmmanuel Vadot }; 542*f126890aSEmmanuel Vadot 543*f126890aSEmmanuel Vadot iim: efuse@10028000 { 544*f126890aSEmmanuel Vadot compatible = "fsl,imx27-iim"; 545*f126890aSEmmanuel Vadot reg = <0x10028000 0x1000>; 546*f126890aSEmmanuel Vadot interrupts = <62>; 547*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_IIM_IPG_GATE>; 548*f126890aSEmmanuel Vadot }; 549*f126890aSEmmanuel Vadot 550*f126890aSEmmanuel Vadot fec: ethernet@1002b000 { 551*f126890aSEmmanuel Vadot compatible = "fsl,imx27-fec"; 552*f126890aSEmmanuel Vadot reg = <0x1002b000 0x1000>; 553*f126890aSEmmanuel Vadot interrupts = <50>; 554*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_FEC_IPG_GATE>, 555*f126890aSEmmanuel Vadot <&clks IMX27_CLK_FEC_AHB_GATE>; 556*f126890aSEmmanuel Vadot clock-names = "ipg", "ahb"; 557*f126890aSEmmanuel Vadot status = "disabled"; 558*f126890aSEmmanuel Vadot }; 559*f126890aSEmmanuel Vadot }; 560*f126890aSEmmanuel Vadot 561*f126890aSEmmanuel Vadot nfc: nand-controller@d8000000 { 562*f126890aSEmmanuel Vadot #address-cells = <1>; 563*f126890aSEmmanuel Vadot #size-cells = <1>; 564*f126890aSEmmanuel Vadot compatible = "fsl,imx27-nand"; 565*f126890aSEmmanuel Vadot reg = <0xd8000000 0x1000>; 566*f126890aSEmmanuel Vadot interrupts = <29>; 567*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_NFC_BAUD_GATE>; 568*f126890aSEmmanuel Vadot status = "disabled"; 569*f126890aSEmmanuel Vadot }; 570*f126890aSEmmanuel Vadot 571*f126890aSEmmanuel Vadot weim: weim@d8002000 { 572*f126890aSEmmanuel Vadot #address-cells = <2>; 573*f126890aSEmmanuel Vadot #size-cells = <1>; 574*f126890aSEmmanuel Vadot compatible = "fsl,imx27-weim"; 575*f126890aSEmmanuel Vadot reg = <0xd8002000 0x1000>; 576*f126890aSEmmanuel Vadot clocks = <&clks IMX27_CLK_EMI_AHB_GATE>; 577*f126890aSEmmanuel Vadot ranges = < 578*f126890aSEmmanuel Vadot 0 0 0xc0000000 0x08000000 579*f126890aSEmmanuel Vadot 1 0 0xc8000000 0x08000000 580*f126890aSEmmanuel Vadot 2 0 0xd0000000 0x02000000 581*f126890aSEmmanuel Vadot 3 0 0xd2000000 0x02000000 582*f126890aSEmmanuel Vadot 4 0 0xd4000000 0x02000000 583*f126890aSEmmanuel Vadot 5 0 0xd6000000 0x02000000 584*f126890aSEmmanuel Vadot >; 585*f126890aSEmmanuel Vadot status = "disabled"; 586*f126890aSEmmanuel Vadot }; 587*f126890aSEmmanuel Vadot 588*f126890aSEmmanuel Vadot iram: sram@ffff4c00 { 589*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 590*f126890aSEmmanuel Vadot reg = <0xffff4c00 0xb400>; 591*f126890aSEmmanuel Vadot }; 592*f126890aSEmmanuel Vadot }; 593*f126890aSEmmanuel Vadot}; 594