1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring// 3*724ba675SRob Herring// Copyright 2012 Steffen Trumtrar, Pengutronix 4*724ba675SRob Herring// 5*724ba675SRob Herring// based on imx27.dtsi 6*724ba675SRob Herring 7*724ba675SRob Herring#include "imx35-pinfunc.h" 8*724ba675SRob Herring 9*724ba675SRob Herring/ { 10*724ba675SRob Herring #address-cells = <1>; 11*724ba675SRob Herring #size-cells = <1>; 12*724ba675SRob Herring /* 13*724ba675SRob Herring * The decompressor and also some bootloaders rely on a 14*724ba675SRob Herring * pre-existing /chosen node to be available to insert the 15*724ba675SRob Herring * command line and merge other ATAGS info. 16*724ba675SRob Herring */ 17*724ba675SRob Herring chosen {}; 18*724ba675SRob Herring 19*724ba675SRob Herring aliases { 20*724ba675SRob Herring ethernet0 = &fec; 21*724ba675SRob Herring gpio0 = &gpio1; 22*724ba675SRob Herring gpio1 = &gpio2; 23*724ba675SRob Herring gpio2 = &gpio3; 24*724ba675SRob Herring i2c0 = &i2c1; 25*724ba675SRob Herring i2c1 = &i2c2; 26*724ba675SRob Herring i2c2 = &i2c3; 27*724ba675SRob Herring mmc0 = &esdhc1; 28*724ba675SRob Herring mmc1 = &esdhc2; 29*724ba675SRob Herring mmc2 = &esdhc3; 30*724ba675SRob Herring serial0 = &uart1; 31*724ba675SRob Herring serial1 = &uart2; 32*724ba675SRob Herring serial2 = &uart3; 33*724ba675SRob Herring spi0 = &spi1; 34*724ba675SRob Herring spi1 = &spi2; 35*724ba675SRob Herring }; 36*724ba675SRob Herring 37*724ba675SRob Herring cpus { 38*724ba675SRob Herring #address-cells = <1>; 39*724ba675SRob Herring #size-cells = <0>; 40*724ba675SRob Herring 41*724ba675SRob Herring cpu@0 { 42*724ba675SRob Herring compatible = "arm,arm1136jf-s"; 43*724ba675SRob Herring device_type = "cpu"; 44*724ba675SRob Herring reg = <0>; 45*724ba675SRob Herring }; 46*724ba675SRob Herring }; 47*724ba675SRob Herring 48*724ba675SRob Herring avic: avic-interrupt-controller@68000000 { 49*724ba675SRob Herring compatible = "fsl,imx35-avic", "fsl,avic"; 50*724ba675SRob Herring interrupt-controller; 51*724ba675SRob Herring #interrupt-cells = <1>; 52*724ba675SRob Herring reg = <0x68000000 0x10000000>; 53*724ba675SRob Herring }; 54*724ba675SRob Herring 55*724ba675SRob Herring soc { 56*724ba675SRob Herring #address-cells = <1>; 57*724ba675SRob Herring #size-cells = <1>; 58*724ba675SRob Herring compatible = "simple-bus"; 59*724ba675SRob Herring interrupt-parent = <&avic>; 60*724ba675SRob Herring ranges; 61*724ba675SRob Herring 62*724ba675SRob Herring L2: cache-controller@30000000 { 63*724ba675SRob Herring compatible = "arm,l210-cache"; 64*724ba675SRob Herring reg = <0x30000000 0x1000>; 65*724ba675SRob Herring cache-unified; 66*724ba675SRob Herring cache-level = <2>; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring aips1: bus@43f00000 { 70*724ba675SRob Herring compatible = "fsl,aips", "simple-bus"; 71*724ba675SRob Herring #address-cells = <1>; 72*724ba675SRob Herring #size-cells = <1>; 73*724ba675SRob Herring reg = <0x43f00000 0x100000>; 74*724ba675SRob Herring ranges; 75*724ba675SRob Herring 76*724ba675SRob Herring i2c1: i2c@43f80000 { 77*724ba675SRob Herring #address-cells = <1>; 78*724ba675SRob Herring #size-cells = <0>; 79*724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 80*724ba675SRob Herring reg = <0x43f80000 0x4000>; 81*724ba675SRob Herring clocks = <&clks 51>; 82*724ba675SRob Herring clock-names = "ipg_per"; 83*724ba675SRob Herring interrupts = <10>; 84*724ba675SRob Herring status = "disabled"; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring i2c3: i2c@43f84000 { 88*724ba675SRob Herring #address-cells = <1>; 89*724ba675SRob Herring #size-cells = <0>; 90*724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 91*724ba675SRob Herring reg = <0x43f84000 0x4000>; 92*724ba675SRob Herring clocks = <&clks 53>; 93*724ba675SRob Herring clock-names = "ipg_per"; 94*724ba675SRob Herring interrupts = <3>; 95*724ba675SRob Herring status = "disabled"; 96*724ba675SRob Herring }; 97*724ba675SRob Herring 98*724ba675SRob Herring uart1: serial@43f90000 { 99*724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 100*724ba675SRob Herring reg = <0x43f90000 0x4000>; 101*724ba675SRob Herring clocks = <&clks 9>, <&clks 70>; 102*724ba675SRob Herring clock-names = "ipg", "per"; 103*724ba675SRob Herring interrupts = <45>; 104*724ba675SRob Herring status = "disabled"; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring uart2: serial@43f94000 { 108*724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 109*724ba675SRob Herring reg = <0x43f94000 0x4000>; 110*724ba675SRob Herring clocks = <&clks 9>, <&clks 71>; 111*724ba675SRob Herring clock-names = "ipg", "per"; 112*724ba675SRob Herring interrupts = <32>; 113*724ba675SRob Herring status = "disabled"; 114*724ba675SRob Herring }; 115*724ba675SRob Herring 116*724ba675SRob Herring i2c2: i2c@43f98000 { 117*724ba675SRob Herring #address-cells = <1>; 118*724ba675SRob Herring #size-cells = <0>; 119*724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 120*724ba675SRob Herring reg = <0x43f98000 0x4000>; 121*724ba675SRob Herring clocks = <&clks 52>; 122*724ba675SRob Herring clock-names = "ipg_per"; 123*724ba675SRob Herring interrupts = <4>; 124*724ba675SRob Herring status = "disabled"; 125*724ba675SRob Herring }; 126*724ba675SRob Herring 127*724ba675SRob Herring ssi1: ssi@43fa0000 { 128*724ba675SRob Herring #sound-dai-cells = <0>; 129*724ba675SRob Herring compatible = "fsl,imx35-ssi", "fsl,imx21-ssi"; 130*724ba675SRob Herring reg = <0x43fa0000 0x4000>; 131*724ba675SRob Herring interrupts = <11>; 132*724ba675SRob Herring clocks = <&clks 68>; 133*724ba675SRob Herring dmas = <&sdma 28 0 0>, 134*724ba675SRob Herring <&sdma 29 0 0>; 135*724ba675SRob Herring dma-names = "rx", "tx"; 136*724ba675SRob Herring fsl,fifo-depth = <15>; 137*724ba675SRob Herring status = "disabled"; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring spi1: spi@43fa4000 { 141*724ba675SRob Herring #address-cells = <1>; 142*724ba675SRob Herring #size-cells = <0>; 143*724ba675SRob Herring compatible = "fsl,imx35-cspi"; 144*724ba675SRob Herring reg = <0x43fa4000 0x4000>; 145*724ba675SRob Herring clocks = <&clks 35 &clks 35>; 146*724ba675SRob Herring clock-names = "ipg", "per"; 147*724ba675SRob Herring interrupts = <14>; 148*724ba675SRob Herring status = "disabled"; 149*724ba675SRob Herring }; 150*724ba675SRob Herring 151*724ba675SRob Herring kpp: kpp@43fa8000 { 152*724ba675SRob Herring compatible = "fsl,imx35-kpp", "fsl,imx21-kpp"; 153*724ba675SRob Herring reg = <0x43fa8000 0x4000>; 154*724ba675SRob Herring interrupts = <24>; 155*724ba675SRob Herring clocks = <&clks 56>; 156*724ba675SRob Herring status = "disabled"; 157*724ba675SRob Herring }; 158*724ba675SRob Herring 159*724ba675SRob Herring iomuxc: iomuxc@43fac000 { 160*724ba675SRob Herring compatible = "fsl,imx35-iomuxc"; 161*724ba675SRob Herring reg = <0x43fac000 0x4000>; 162*724ba675SRob Herring }; 163*724ba675SRob Herring }; 164*724ba675SRob Herring 165*724ba675SRob Herring spba: spba-bus@50000000 { 166*724ba675SRob Herring compatible = "fsl,spba-bus", "simple-bus"; 167*724ba675SRob Herring #address-cells = <1>; 168*724ba675SRob Herring #size-cells = <1>; 169*724ba675SRob Herring reg = <0x50000000 0x100000>; 170*724ba675SRob Herring ranges; 171*724ba675SRob Herring 172*724ba675SRob Herring uart3: serial@5000c000 { 173*724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 174*724ba675SRob Herring reg = <0x5000c000 0x4000>; 175*724ba675SRob Herring clocks = <&clks 9>, <&clks 72>; 176*724ba675SRob Herring clock-names = "ipg", "per"; 177*724ba675SRob Herring interrupts = <18>; 178*724ba675SRob Herring status = "disabled"; 179*724ba675SRob Herring }; 180*724ba675SRob Herring 181*724ba675SRob Herring spi2: spi@50010000 { 182*724ba675SRob Herring #address-cells = <1>; 183*724ba675SRob Herring #size-cells = <0>; 184*724ba675SRob Herring compatible = "fsl,imx35-cspi"; 185*724ba675SRob Herring reg = <0x50010000 0x4000>; 186*724ba675SRob Herring interrupts = <13>; 187*724ba675SRob Herring clocks = <&clks 36 &clks 36>; 188*724ba675SRob Herring clock-names = "ipg", "per"; 189*724ba675SRob Herring status = "disabled"; 190*724ba675SRob Herring }; 191*724ba675SRob Herring 192*724ba675SRob Herring fec: ethernet@50038000 { 193*724ba675SRob Herring compatible = "fsl,imx35-fec", "fsl,imx27-fec"; 194*724ba675SRob Herring reg = <0x50038000 0x4000>; 195*724ba675SRob Herring clocks = <&clks 46>, <&clks 8>; 196*724ba675SRob Herring clock-names = "ipg", "ahb"; 197*724ba675SRob Herring interrupts = <57>; 198*724ba675SRob Herring status = "disabled"; 199*724ba675SRob Herring }; 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring aips2: bus@53f00000 { 203*724ba675SRob Herring compatible = "fsl,aips", "simple-bus"; 204*724ba675SRob Herring #address-cells = <1>; 205*724ba675SRob Herring #size-cells = <1>; 206*724ba675SRob Herring reg = <0x53f00000 0x100000>; 207*724ba675SRob Herring ranges; 208*724ba675SRob Herring 209*724ba675SRob Herring clks: ccm@53f80000 { 210*724ba675SRob Herring compatible = "fsl,imx35-ccm"; 211*724ba675SRob Herring reg = <0x53f80000 0x4000>; 212*724ba675SRob Herring interrupts = <31>; 213*724ba675SRob Herring #clock-cells = <1>; 214*724ba675SRob Herring }; 215*724ba675SRob Herring 216*724ba675SRob Herring gpt: timer@53f90000 { 217*724ba675SRob Herring compatible = "fsl,imx35-gpt", "fsl,imx31-gpt"; 218*724ba675SRob Herring reg = <0x53f90000 0x4000>; 219*724ba675SRob Herring interrupts = <29>; 220*724ba675SRob Herring clocks = <&clks 9>, <&clks 50>; 221*724ba675SRob Herring clock-names = "ipg", "per"; 222*724ba675SRob Herring }; 223*724ba675SRob Herring 224*724ba675SRob Herring gpio3: gpio@53fa4000 { 225*724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 226*724ba675SRob Herring reg = <0x53fa4000 0x4000>; 227*724ba675SRob Herring interrupts = <56>; 228*724ba675SRob Herring gpio-controller; 229*724ba675SRob Herring #gpio-cells = <2>; 230*724ba675SRob Herring interrupt-controller; 231*724ba675SRob Herring #interrupt-cells = <2>; 232*724ba675SRob Herring }; 233*724ba675SRob Herring 234*724ba675SRob Herring esdhc1: mmc@53fb4000 { 235*724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 236*724ba675SRob Herring reg = <0x53fb4000 0x4000>; 237*724ba675SRob Herring interrupts = <7>; 238*724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 43>; 239*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 240*724ba675SRob Herring status = "disabled"; 241*724ba675SRob Herring }; 242*724ba675SRob Herring 243*724ba675SRob Herring esdhc2: mmc@53fb8000 { 244*724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 245*724ba675SRob Herring reg = <0x53fb8000 0x4000>; 246*724ba675SRob Herring interrupts = <8>; 247*724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 44>; 248*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 249*724ba675SRob Herring status = "disabled"; 250*724ba675SRob Herring }; 251*724ba675SRob Herring 252*724ba675SRob Herring esdhc3: mmc@53fbc000 { 253*724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 254*724ba675SRob Herring reg = <0x53fbc000 0x4000>; 255*724ba675SRob Herring interrupts = <9>; 256*724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 45>; 257*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 258*724ba675SRob Herring status = "disabled"; 259*724ba675SRob Herring }; 260*724ba675SRob Herring 261*724ba675SRob Herring audmux: audmux@53fc4000 { 262*724ba675SRob Herring compatible = "fsl,imx35-audmux", "fsl,imx31-audmux"; 263*724ba675SRob Herring reg = <0x53fc4000 0x4000>; 264*724ba675SRob Herring status = "disabled"; 265*724ba675SRob Herring }; 266*724ba675SRob Herring 267*724ba675SRob Herring gpio1: gpio@53fcc000 { 268*724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 269*724ba675SRob Herring reg = <0x53fcc000 0x4000>; 270*724ba675SRob Herring interrupts = <52>; 271*724ba675SRob Herring gpio-controller; 272*724ba675SRob Herring #gpio-cells = <2>; 273*724ba675SRob Herring interrupt-controller; 274*724ba675SRob Herring #interrupt-cells = <2>; 275*724ba675SRob Herring }; 276*724ba675SRob Herring 277*724ba675SRob Herring gpio2: gpio@53fd0000 { 278*724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 279*724ba675SRob Herring reg = <0x53fd0000 0x4000>; 280*724ba675SRob Herring interrupts = <51>; 281*724ba675SRob Herring gpio-controller; 282*724ba675SRob Herring #gpio-cells = <2>; 283*724ba675SRob Herring interrupt-controller; 284*724ba675SRob Herring #interrupt-cells = <2>; 285*724ba675SRob Herring }; 286*724ba675SRob Herring 287*724ba675SRob Herring sdma: dma-controller@53fd4000 { 288*724ba675SRob Herring compatible = "fsl,imx35-sdma"; 289*724ba675SRob Herring reg = <0x53fd4000 0x4000>; 290*724ba675SRob Herring clocks = <&clks 9>, <&clks 65>; 291*724ba675SRob Herring clock-names = "ipg", "ahb"; 292*724ba675SRob Herring #dma-cells = <3>; 293*724ba675SRob Herring interrupts = <34>; 294*724ba675SRob Herring fsl,sdma-ram-script-name = "imx/sdma/sdma-imx35.bin"; 295*724ba675SRob Herring }; 296*724ba675SRob Herring 297*724ba675SRob Herring wdog: watchdog@53fdc000 { 298*724ba675SRob Herring compatible = "fsl,imx35-wdt", "fsl,imx21-wdt"; 299*724ba675SRob Herring reg = <0x53fdc000 0x4000>; 300*724ba675SRob Herring clocks = <&clks 74>; 301*724ba675SRob Herring interrupts = <55>; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring can1: can@53fe4000 { 305*724ba675SRob Herring compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan"; 306*724ba675SRob Herring reg = <0x53fe4000 0x1000>; 307*724ba675SRob Herring clocks = <&clks 33>, <&clks 33>; 308*724ba675SRob Herring clock-names = "ipg", "per"; 309*724ba675SRob Herring interrupts = <43>; 310*724ba675SRob Herring status = "disabled"; 311*724ba675SRob Herring }; 312*724ba675SRob Herring 313*724ba675SRob Herring can2: can@53fe8000 { 314*724ba675SRob Herring compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan"; 315*724ba675SRob Herring reg = <0x53fe8000 0x1000>; 316*724ba675SRob Herring clocks = <&clks 34>, <&clks 34>; 317*724ba675SRob Herring clock-names = "ipg", "per"; 318*724ba675SRob Herring interrupts = <44>; 319*724ba675SRob Herring status = "disabled"; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring efuse@53ff0000 { 323*724ba675SRob Herring compatible = "fsl,imx35-iim"; 324*724ba675SRob Herring reg = <0x53ff0000 0x4000>; 325*724ba675SRob Herring interrupts = <19>; 326*724ba675SRob Herring clocks = <&clks 80>; 327*724ba675SRob Herring }; 328*724ba675SRob Herring 329*724ba675SRob Herring usbotg: usb@53ff4000 { 330*724ba675SRob Herring compatible = "fsl,imx35-usb", "fsl,imx27-usb"; 331*724ba675SRob Herring reg = <0x53ff4000 0x0200>; 332*724ba675SRob Herring interrupts = <37>; 333*724ba675SRob Herring clocks = <&clks 9>, <&clks 73>, <&clks 28>; 334*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 335*724ba675SRob Herring fsl,usbmisc = <&usbmisc 0>; 336*724ba675SRob Herring fsl,usbphy = <&usbphy0>; 337*724ba675SRob Herring status = "disabled"; 338*724ba675SRob Herring }; 339*724ba675SRob Herring 340*724ba675SRob Herring usbhost1: usb@53ff4400 { 341*724ba675SRob Herring compatible = "fsl,imx35-usb", "fsl,imx27-usb"; 342*724ba675SRob Herring reg = <0x53ff4400 0x0200>; 343*724ba675SRob Herring interrupts = <35>; 344*724ba675SRob Herring clocks = <&clks 9>, <&clks 73>, <&clks 28>; 345*724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 346*724ba675SRob Herring fsl,usbmisc = <&usbmisc 1>; 347*724ba675SRob Herring fsl,usbphy = <&usbphy1>; 348*724ba675SRob Herring dr_mode = "host"; 349*724ba675SRob Herring status = "disabled"; 350*724ba675SRob Herring }; 351*724ba675SRob Herring 352*724ba675SRob Herring usbmisc: usbmisc@53ff4600 { 353*724ba675SRob Herring #index-cells = <1>; 354*724ba675SRob Herring compatible = "fsl,imx35-usbmisc"; 355*724ba675SRob Herring reg = <0x53ff4600 0x00f>; 356*724ba675SRob Herring }; 357*724ba675SRob Herring }; 358*724ba675SRob Herring 359*724ba675SRob Herring emi@80000000 { /* External Memory Interface */ 360*724ba675SRob Herring compatible = "fsl,emi", "simple-bus"; 361*724ba675SRob Herring #address-cells = <1>; 362*724ba675SRob Herring #size-cells = <1>; 363*724ba675SRob Herring reg = <0x80000000 0x40000000>; 364*724ba675SRob Herring ranges; 365*724ba675SRob Herring 366*724ba675SRob Herring nfc: nand@bb000000 { 367*724ba675SRob Herring #address-cells = <1>; 368*724ba675SRob Herring #size-cells = <1>; 369*724ba675SRob Herring compatible = "fsl,imx35-nand", "fsl,imx25-nand"; 370*724ba675SRob Herring reg = <0xbb000000 0x2000>; 371*724ba675SRob Herring clocks = <&clks 29>; 372*724ba675SRob Herring clock-names = ""; 373*724ba675SRob Herring interrupts = <33>; 374*724ba675SRob Herring status = "disabled"; 375*724ba675SRob Herring }; 376*724ba675SRob Herring 377*724ba675SRob Herring weim: weim@b8002000 { 378*724ba675SRob Herring #address-cells = <2>; 379*724ba675SRob Herring #size-cells = <1>; 380*724ba675SRob Herring clocks = <&clks 0>; 381*724ba675SRob Herring compatible = "fsl,imx35-weim", "fsl,imx27-weim"; 382*724ba675SRob Herring reg = <0xb8002000 0x1000>; 383*724ba675SRob Herring ranges = < 384*724ba675SRob Herring 0 0 0xa0000000 0x8000000 385*724ba675SRob Herring 1 0 0xa8000000 0x8000000 386*724ba675SRob Herring 2 0 0xb0000000 0x2000000 387*724ba675SRob Herring 3 0 0xb2000000 0x2000000 388*724ba675SRob Herring 4 0 0xb4000000 0x2000000 389*724ba675SRob Herring 5 0 0xb6000000 0x2000000 390*724ba675SRob Herring >; 391*724ba675SRob Herring status = "disabled"; 392*724ba675SRob Herring }; 393*724ba675SRob Herring }; 394*724ba675SRob Herring }; 395*724ba675SRob Herring 396*724ba675SRob Herring usbphy { 397*724ba675SRob Herring compatible = "simple-bus"; 398*724ba675SRob Herring #address-cells = <1>; 399*724ba675SRob Herring #size-cells = <0>; 400*724ba675SRob Herring 401*724ba675SRob Herring usbphy0: usb-phy@0 { 402*724ba675SRob Herring reg = <0>; 403*724ba675SRob Herring compatible = "usb-nop-xceiv"; 404*724ba675SRob Herring #phy-cells = <0>; 405*724ba675SRob Herring }; 406*724ba675SRob Herring 407*724ba675SRob Herring usbphy1: usb-phy@1 { 408*724ba675SRob Herring reg = <1>; 409*724ba675SRob Herring compatible = "usb-nop-xceiv"; 410*724ba675SRob Herring #phy-cells = <0>; 411*724ba675SRob Herring }; 412*724ba675SRob Herring }; 413*724ba675SRob Herring}; 414