1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2724ba675SRob Herring// 3724ba675SRob Herring// Copyright 2012 Steffen Trumtrar, Pengutronix 4724ba675SRob Herring// 5724ba675SRob Herring// based on imx27.dtsi 6724ba675SRob Herring 7724ba675SRob Herring#include "imx35-pinfunc.h" 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring #address-cells = <1>; 11724ba675SRob Herring #size-cells = <1>; 12724ba675SRob Herring /* 13724ba675SRob Herring * The decompressor and also some bootloaders rely on a 14724ba675SRob Herring * pre-existing /chosen node to be available to insert the 15724ba675SRob Herring * command line and merge other ATAGS info. 16724ba675SRob Herring */ 17724ba675SRob Herring chosen {}; 18724ba675SRob Herring 19724ba675SRob Herring aliases { 20724ba675SRob Herring ethernet0 = &fec; 21724ba675SRob Herring gpio0 = &gpio1; 22724ba675SRob Herring gpio1 = &gpio2; 23724ba675SRob Herring gpio2 = &gpio3; 24724ba675SRob Herring i2c0 = &i2c1; 25724ba675SRob Herring i2c1 = &i2c2; 26724ba675SRob Herring i2c2 = &i2c3; 27724ba675SRob Herring mmc0 = &esdhc1; 28724ba675SRob Herring mmc1 = &esdhc2; 29724ba675SRob Herring mmc2 = &esdhc3; 30724ba675SRob Herring serial0 = &uart1; 31724ba675SRob Herring serial1 = &uart2; 32724ba675SRob Herring serial2 = &uart3; 33724ba675SRob Herring spi0 = &spi1; 34724ba675SRob Herring spi1 = &spi2; 35724ba675SRob Herring }; 36724ba675SRob Herring 37724ba675SRob Herring cpus { 38724ba675SRob Herring #address-cells = <1>; 39724ba675SRob Herring #size-cells = <0>; 40724ba675SRob Herring 41724ba675SRob Herring cpu@0 { 42724ba675SRob Herring compatible = "arm,arm1136jf-s"; 43724ba675SRob Herring device_type = "cpu"; 44724ba675SRob Herring reg = <0>; 45724ba675SRob Herring }; 46724ba675SRob Herring }; 47724ba675SRob Herring 48724ba675SRob Herring avic: avic-interrupt-controller@68000000 { 49724ba675SRob Herring compatible = "fsl,imx35-avic", "fsl,avic"; 50724ba675SRob Herring interrupt-controller; 51724ba675SRob Herring #interrupt-cells = <1>; 52724ba675SRob Herring reg = <0x68000000 0x10000000>; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring soc { 56724ba675SRob Herring #address-cells = <1>; 57724ba675SRob Herring #size-cells = <1>; 58724ba675SRob Herring compatible = "simple-bus"; 59724ba675SRob Herring interrupt-parent = <&avic>; 60724ba675SRob Herring ranges; 61724ba675SRob Herring 62724ba675SRob Herring L2: cache-controller@30000000 { 63724ba675SRob Herring compatible = "arm,l210-cache"; 64724ba675SRob Herring reg = <0x30000000 0x1000>; 65724ba675SRob Herring cache-unified; 66724ba675SRob Herring cache-level = <2>; 67724ba675SRob Herring }; 68724ba675SRob Herring 69724ba675SRob Herring aips1: bus@43f00000 { 70724ba675SRob Herring compatible = "fsl,aips", "simple-bus"; 71724ba675SRob Herring #address-cells = <1>; 72724ba675SRob Herring #size-cells = <1>; 73724ba675SRob Herring reg = <0x43f00000 0x100000>; 74724ba675SRob Herring ranges; 75724ba675SRob Herring 76724ba675SRob Herring i2c1: i2c@43f80000 { 77724ba675SRob Herring #address-cells = <1>; 78724ba675SRob Herring #size-cells = <0>; 79724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 80724ba675SRob Herring reg = <0x43f80000 0x4000>; 81724ba675SRob Herring clocks = <&clks 51>; 82724ba675SRob Herring clock-names = "ipg_per"; 83724ba675SRob Herring interrupts = <10>; 84724ba675SRob Herring status = "disabled"; 85724ba675SRob Herring }; 86724ba675SRob Herring 87724ba675SRob Herring i2c3: i2c@43f84000 { 88724ba675SRob Herring #address-cells = <1>; 89724ba675SRob Herring #size-cells = <0>; 90724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 91724ba675SRob Herring reg = <0x43f84000 0x4000>; 92724ba675SRob Herring clocks = <&clks 53>; 93724ba675SRob Herring clock-names = "ipg_per"; 94724ba675SRob Herring interrupts = <3>; 95724ba675SRob Herring status = "disabled"; 96724ba675SRob Herring }; 97724ba675SRob Herring 98724ba675SRob Herring uart1: serial@43f90000 { 99724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 100724ba675SRob Herring reg = <0x43f90000 0x4000>; 101724ba675SRob Herring clocks = <&clks 9>, <&clks 70>; 102724ba675SRob Herring clock-names = "ipg", "per"; 103724ba675SRob Herring interrupts = <45>; 104724ba675SRob Herring status = "disabled"; 105724ba675SRob Herring }; 106724ba675SRob Herring 107724ba675SRob Herring uart2: serial@43f94000 { 108724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 109724ba675SRob Herring reg = <0x43f94000 0x4000>; 110724ba675SRob Herring clocks = <&clks 9>, <&clks 71>; 111724ba675SRob Herring clock-names = "ipg", "per"; 112724ba675SRob Herring interrupts = <32>; 113724ba675SRob Herring status = "disabled"; 114724ba675SRob Herring }; 115724ba675SRob Herring 116724ba675SRob Herring i2c2: i2c@43f98000 { 117724ba675SRob Herring #address-cells = <1>; 118724ba675SRob Herring #size-cells = <0>; 119724ba675SRob Herring compatible = "fsl,imx35-i2c", "fsl,imx1-i2c"; 120724ba675SRob Herring reg = <0x43f98000 0x4000>; 121724ba675SRob Herring clocks = <&clks 52>; 122724ba675SRob Herring clock-names = "ipg_per"; 123724ba675SRob Herring interrupts = <4>; 124724ba675SRob Herring status = "disabled"; 125724ba675SRob Herring }; 126724ba675SRob Herring 127724ba675SRob Herring ssi1: ssi@43fa0000 { 128724ba675SRob Herring #sound-dai-cells = <0>; 129724ba675SRob Herring compatible = "fsl,imx35-ssi", "fsl,imx21-ssi"; 130724ba675SRob Herring reg = <0x43fa0000 0x4000>; 131724ba675SRob Herring interrupts = <11>; 132724ba675SRob Herring clocks = <&clks 68>; 133724ba675SRob Herring dmas = <&sdma 28 0 0>, 134724ba675SRob Herring <&sdma 29 0 0>; 135724ba675SRob Herring dma-names = "rx", "tx"; 136724ba675SRob Herring fsl,fifo-depth = <15>; 137724ba675SRob Herring status = "disabled"; 138724ba675SRob Herring }; 139724ba675SRob Herring 140724ba675SRob Herring spi1: spi@43fa4000 { 141724ba675SRob Herring #address-cells = <1>; 142724ba675SRob Herring #size-cells = <0>; 143724ba675SRob Herring compatible = "fsl,imx35-cspi"; 144724ba675SRob Herring reg = <0x43fa4000 0x4000>; 145724ba675SRob Herring clocks = <&clks 35 &clks 35>; 146724ba675SRob Herring clock-names = "ipg", "per"; 147724ba675SRob Herring interrupts = <14>; 148724ba675SRob Herring status = "disabled"; 149724ba675SRob Herring }; 150724ba675SRob Herring 151724ba675SRob Herring kpp: kpp@43fa8000 { 152724ba675SRob Herring compatible = "fsl,imx35-kpp", "fsl,imx21-kpp"; 153724ba675SRob Herring reg = <0x43fa8000 0x4000>; 154724ba675SRob Herring interrupts = <24>; 155724ba675SRob Herring clocks = <&clks 56>; 156724ba675SRob Herring status = "disabled"; 157724ba675SRob Herring }; 158724ba675SRob Herring 1594f3a5cbcSMarek Vasut iomuxc: pinctrl@43fac000 { 160724ba675SRob Herring compatible = "fsl,imx35-iomuxc"; 161724ba675SRob Herring reg = <0x43fac000 0x4000>; 162724ba675SRob Herring }; 163724ba675SRob Herring }; 164724ba675SRob Herring 165724ba675SRob Herring spba: spba-bus@50000000 { 166724ba675SRob Herring compatible = "fsl,spba-bus", "simple-bus"; 167724ba675SRob Herring #address-cells = <1>; 168724ba675SRob Herring #size-cells = <1>; 169724ba675SRob Herring reg = <0x50000000 0x100000>; 170724ba675SRob Herring ranges; 171724ba675SRob Herring 172724ba675SRob Herring uart3: serial@5000c000 { 173724ba675SRob Herring compatible = "fsl,imx35-uart", "fsl,imx21-uart"; 174724ba675SRob Herring reg = <0x5000c000 0x4000>; 175724ba675SRob Herring clocks = <&clks 9>, <&clks 72>; 176724ba675SRob Herring clock-names = "ipg", "per"; 177724ba675SRob Herring interrupts = <18>; 178724ba675SRob Herring status = "disabled"; 179724ba675SRob Herring }; 180724ba675SRob Herring 181724ba675SRob Herring spi2: spi@50010000 { 182724ba675SRob Herring #address-cells = <1>; 183724ba675SRob Herring #size-cells = <0>; 184724ba675SRob Herring compatible = "fsl,imx35-cspi"; 185724ba675SRob Herring reg = <0x50010000 0x4000>; 186724ba675SRob Herring interrupts = <13>; 187724ba675SRob Herring clocks = <&clks 36 &clks 36>; 188724ba675SRob Herring clock-names = "ipg", "per"; 189724ba675SRob Herring status = "disabled"; 190724ba675SRob Herring }; 191724ba675SRob Herring 192724ba675SRob Herring fec: ethernet@50038000 { 193724ba675SRob Herring compatible = "fsl,imx35-fec", "fsl,imx27-fec"; 194724ba675SRob Herring reg = <0x50038000 0x4000>; 195724ba675SRob Herring clocks = <&clks 46>, <&clks 8>; 196724ba675SRob Herring clock-names = "ipg", "ahb"; 197724ba675SRob Herring interrupts = <57>; 198724ba675SRob Herring status = "disabled"; 199724ba675SRob Herring }; 200724ba675SRob Herring }; 201724ba675SRob Herring 202724ba675SRob Herring aips2: bus@53f00000 { 203724ba675SRob Herring compatible = "fsl,aips", "simple-bus"; 204724ba675SRob Herring #address-cells = <1>; 205724ba675SRob Herring #size-cells = <1>; 206724ba675SRob Herring reg = <0x53f00000 0x100000>; 207724ba675SRob Herring ranges; 208724ba675SRob Herring 209724ba675SRob Herring clks: ccm@53f80000 { 210724ba675SRob Herring compatible = "fsl,imx35-ccm"; 211724ba675SRob Herring reg = <0x53f80000 0x4000>; 212724ba675SRob Herring interrupts = <31>; 213724ba675SRob Herring #clock-cells = <1>; 214724ba675SRob Herring }; 215724ba675SRob Herring 216724ba675SRob Herring gpt: timer@53f90000 { 217724ba675SRob Herring compatible = "fsl,imx35-gpt", "fsl,imx31-gpt"; 218724ba675SRob Herring reg = <0x53f90000 0x4000>; 219724ba675SRob Herring interrupts = <29>; 220724ba675SRob Herring clocks = <&clks 9>, <&clks 50>; 221724ba675SRob Herring clock-names = "ipg", "per"; 222724ba675SRob Herring }; 223724ba675SRob Herring 224724ba675SRob Herring gpio3: gpio@53fa4000 { 225724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 226724ba675SRob Herring reg = <0x53fa4000 0x4000>; 227724ba675SRob Herring interrupts = <56>; 228724ba675SRob Herring gpio-controller; 229724ba675SRob Herring #gpio-cells = <2>; 230724ba675SRob Herring interrupt-controller; 231724ba675SRob Herring #interrupt-cells = <2>; 232724ba675SRob Herring }; 233724ba675SRob Herring 234724ba675SRob Herring esdhc1: mmc@53fb4000 { 235724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 236724ba675SRob Herring reg = <0x53fb4000 0x4000>; 237724ba675SRob Herring interrupts = <7>; 238724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 43>; 239724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 240724ba675SRob Herring status = "disabled"; 241724ba675SRob Herring }; 242724ba675SRob Herring 243724ba675SRob Herring esdhc2: mmc@53fb8000 { 244724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 245724ba675SRob Herring reg = <0x53fb8000 0x4000>; 246724ba675SRob Herring interrupts = <8>; 247724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 44>; 248724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 249724ba675SRob Herring status = "disabled"; 250724ba675SRob Herring }; 251724ba675SRob Herring 252724ba675SRob Herring esdhc3: mmc@53fbc000 { 253724ba675SRob Herring compatible = "fsl,imx35-esdhc"; 254724ba675SRob Herring reg = <0x53fbc000 0x4000>; 255724ba675SRob Herring interrupts = <9>; 256724ba675SRob Herring clocks = <&clks 9>, <&clks 8>, <&clks 45>; 257724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 258724ba675SRob Herring status = "disabled"; 259724ba675SRob Herring }; 260724ba675SRob Herring 261724ba675SRob Herring audmux: audmux@53fc4000 { 262724ba675SRob Herring compatible = "fsl,imx35-audmux", "fsl,imx31-audmux"; 263724ba675SRob Herring reg = <0x53fc4000 0x4000>; 264724ba675SRob Herring status = "disabled"; 265724ba675SRob Herring }; 266724ba675SRob Herring 267724ba675SRob Herring gpio1: gpio@53fcc000 { 268724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 269724ba675SRob Herring reg = <0x53fcc000 0x4000>; 270724ba675SRob Herring interrupts = <52>; 271724ba675SRob Herring gpio-controller; 272724ba675SRob Herring #gpio-cells = <2>; 273724ba675SRob Herring interrupt-controller; 274724ba675SRob Herring #interrupt-cells = <2>; 275724ba675SRob Herring }; 276724ba675SRob Herring 277724ba675SRob Herring gpio2: gpio@53fd0000 { 278724ba675SRob Herring compatible = "fsl,imx35-gpio", "fsl,imx31-gpio"; 279724ba675SRob Herring reg = <0x53fd0000 0x4000>; 280724ba675SRob Herring interrupts = <51>; 281724ba675SRob Herring gpio-controller; 282724ba675SRob Herring #gpio-cells = <2>; 283724ba675SRob Herring interrupt-controller; 284724ba675SRob Herring #interrupt-cells = <2>; 285724ba675SRob Herring }; 286724ba675SRob Herring 287724ba675SRob Herring sdma: dma-controller@53fd4000 { 288724ba675SRob Herring compatible = "fsl,imx35-sdma"; 289724ba675SRob Herring reg = <0x53fd4000 0x4000>; 290724ba675SRob Herring clocks = <&clks 9>, <&clks 65>; 291724ba675SRob Herring clock-names = "ipg", "ahb"; 292724ba675SRob Herring #dma-cells = <3>; 293724ba675SRob Herring interrupts = <34>; 294724ba675SRob Herring fsl,sdma-ram-script-name = "imx/sdma/sdma-imx35.bin"; 295724ba675SRob Herring }; 296724ba675SRob Herring 297724ba675SRob Herring wdog: watchdog@53fdc000 { 298724ba675SRob Herring compatible = "fsl,imx35-wdt", "fsl,imx21-wdt"; 299724ba675SRob Herring reg = <0x53fdc000 0x4000>; 300724ba675SRob Herring clocks = <&clks 74>; 301724ba675SRob Herring interrupts = <55>; 302724ba675SRob Herring }; 303724ba675SRob Herring 304724ba675SRob Herring can1: can@53fe4000 { 305724ba675SRob Herring compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan"; 306724ba675SRob Herring reg = <0x53fe4000 0x1000>; 307724ba675SRob Herring clocks = <&clks 33>, <&clks 33>; 308724ba675SRob Herring clock-names = "ipg", "per"; 309724ba675SRob Herring interrupts = <43>; 310724ba675SRob Herring status = "disabled"; 311724ba675SRob Herring }; 312724ba675SRob Herring 313724ba675SRob Herring can2: can@53fe8000 { 314724ba675SRob Herring compatible = "fsl,imx35-flexcan", "fsl,imx25-flexcan"; 315724ba675SRob Herring reg = <0x53fe8000 0x1000>; 316724ba675SRob Herring clocks = <&clks 34>, <&clks 34>; 317724ba675SRob Herring clock-names = "ipg", "per"; 318724ba675SRob Herring interrupts = <44>; 319724ba675SRob Herring status = "disabled"; 320724ba675SRob Herring }; 321724ba675SRob Herring 322724ba675SRob Herring efuse@53ff0000 { 323724ba675SRob Herring compatible = "fsl,imx35-iim"; 324724ba675SRob Herring reg = <0x53ff0000 0x4000>; 325724ba675SRob Herring interrupts = <19>; 326724ba675SRob Herring clocks = <&clks 80>; 327724ba675SRob Herring }; 328724ba675SRob Herring 329724ba675SRob Herring usbotg: usb@53ff4000 { 330724ba675SRob Herring compatible = "fsl,imx35-usb", "fsl,imx27-usb"; 331724ba675SRob Herring reg = <0x53ff4000 0x0200>; 332724ba675SRob Herring interrupts = <37>; 333724ba675SRob Herring clocks = <&clks 9>, <&clks 73>, <&clks 28>; 334724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 335724ba675SRob Herring fsl,usbmisc = <&usbmisc 0>; 336724ba675SRob Herring fsl,usbphy = <&usbphy0>; 337724ba675SRob Herring status = "disabled"; 338724ba675SRob Herring }; 339724ba675SRob Herring 340724ba675SRob Herring usbhost1: usb@53ff4400 { 341724ba675SRob Herring compatible = "fsl,imx35-usb", "fsl,imx27-usb"; 342724ba675SRob Herring reg = <0x53ff4400 0x0200>; 343724ba675SRob Herring interrupts = <35>; 344724ba675SRob Herring clocks = <&clks 9>, <&clks 73>, <&clks 28>; 345724ba675SRob Herring clock-names = "ipg", "ahb", "per"; 346724ba675SRob Herring fsl,usbmisc = <&usbmisc 1>; 347724ba675SRob Herring fsl,usbphy = <&usbphy1>; 348724ba675SRob Herring dr_mode = "host"; 349724ba675SRob Herring status = "disabled"; 350724ba675SRob Herring }; 351724ba675SRob Herring 352724ba675SRob Herring usbmisc: usbmisc@53ff4600 { 353724ba675SRob Herring #index-cells = <1>; 354724ba675SRob Herring compatible = "fsl,imx35-usbmisc"; 355724ba675SRob Herring reg = <0x53ff4600 0x00f>; 356724ba675SRob Herring }; 357724ba675SRob Herring }; 358724ba675SRob Herring 359724ba675SRob Herring emi@80000000 { /* External Memory Interface */ 360724ba675SRob Herring compatible = "fsl,emi", "simple-bus"; 361724ba675SRob Herring #address-cells = <1>; 362724ba675SRob Herring #size-cells = <1>; 363724ba675SRob Herring reg = <0x80000000 0x40000000>; 364724ba675SRob Herring ranges; 365724ba675SRob Herring 366*89cedb33SKrzysztof Kozlowski nfc: nand-controller@bb000000 { 367724ba675SRob Herring #address-cells = <1>; 368724ba675SRob Herring #size-cells = <1>; 369724ba675SRob Herring compatible = "fsl,imx35-nand", "fsl,imx25-nand"; 370724ba675SRob Herring reg = <0xbb000000 0x2000>; 371724ba675SRob Herring clocks = <&clks 29>; 372724ba675SRob Herring clock-names = ""; 373724ba675SRob Herring interrupts = <33>; 374724ba675SRob Herring status = "disabled"; 375724ba675SRob Herring }; 376724ba675SRob Herring 377ccda9e5cSSebastian Reichel weim: memory-controller@b8002000 { 378724ba675SRob Herring #address-cells = <2>; 379724ba675SRob Herring #size-cells = <1>; 380724ba675SRob Herring clocks = <&clks 0>; 381724ba675SRob Herring compatible = "fsl,imx35-weim", "fsl,imx27-weim"; 382724ba675SRob Herring reg = <0xb8002000 0x1000>; 383724ba675SRob Herring ranges = < 384724ba675SRob Herring 0 0 0xa0000000 0x8000000 385724ba675SRob Herring 1 0 0xa8000000 0x8000000 386724ba675SRob Herring 2 0 0xb0000000 0x2000000 387724ba675SRob Herring 3 0 0xb2000000 0x2000000 388724ba675SRob Herring 4 0 0xb4000000 0x2000000 389724ba675SRob Herring 5 0 0xb6000000 0x2000000 390724ba675SRob Herring >; 391724ba675SRob Herring status = "disabled"; 392724ba675SRob Herring }; 393724ba675SRob Herring }; 394724ba675SRob Herring }; 395724ba675SRob Herring 396724ba675SRob Herring usbphy { 397724ba675SRob Herring compatible = "simple-bus"; 398724ba675SRob Herring #address-cells = <1>; 399724ba675SRob Herring #size-cells = <0>; 400724ba675SRob Herring 401724ba675SRob Herring usbphy0: usb-phy@0 { 402724ba675SRob Herring reg = <0>; 403724ba675SRob Herring compatible = "usb-nop-xceiv"; 404724ba675SRob Herring #phy-cells = <0>; 405724ba675SRob Herring }; 406724ba675SRob Herring 407724ba675SRob Herring usbphy1: usb-phy@1 { 408724ba675SRob Herring reg = <1>; 409724ba675SRob Herring compatible = "usb-nop-xceiv"; 410724ba675SRob Herring #phy-cells = <0>; 411724ba675SRob Herring }; 412724ba675SRob Herring }; 413724ba675SRob Herring}; 414