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