imx51.dtsi revision 296373
1/* 2 * Copyright 2011 Freescale Semiconductor, Inc. 3 * Copyright 2011 Linaro Ltd. 4 * 5 * The code contained herein is licensed under the GNU General Public 6 * License. You may obtain a copy of the GNU General Public License 7 * Version 2 or later at the following locations: 8 * 9 * http://www.opensource.org/licenses/gpl-license.html 10 * http://www.gnu.org/copyleft/gpl.html 11 */ 12 13#include "skeleton.dtsi" 14#include "imx51-pinfunc.h" 15#include <dt-bindings/clock/imx5-clock.h> 16#include <dt-bindings/gpio/gpio.h> 17#include <dt-bindings/input/input.h> 18#include <dt-bindings/interrupt-controller/irq.h> 19 20/ { 21 aliases { 22 ethernet0 = &fec; 23 gpio0 = &gpio1; 24 gpio1 = &gpio2; 25 gpio2 = &gpio3; 26 gpio3 = &gpio4; 27 i2c0 = &i2c1; 28 i2c1 = &i2c2; 29 mmc0 = &esdhc1; 30 mmc1 = &esdhc2; 31 mmc2 = &esdhc3; 32 mmc3 = &esdhc4; 33 serial0 = &uart1; 34 serial1 = &uart2; 35 serial2 = &uart3; 36 spi0 = &ecspi1; 37 spi1 = &ecspi2; 38 spi2 = &cspi; 39 }; 40 41 tzic: tz-interrupt-controller@e0000000 { 42 compatible = "fsl,imx51-tzic", "fsl,tzic"; 43 interrupt-controller; 44 #interrupt-cells = <1>; 45 reg = <0xe0000000 0x4000>; 46 }; 47 48 clocks { 49 #address-cells = <1>; 50 #size-cells = <0>; 51 52 ckil { 53 compatible = "fsl,imx-ckil", "fixed-clock"; 54 #clock-cells = <0>; 55 clock-frequency = <32768>; 56 }; 57 58 ckih1 { 59 compatible = "fsl,imx-ckih1", "fixed-clock"; 60 #clock-cells = <0>; 61 clock-frequency = <0>; 62 }; 63 64 ckih2 { 65 compatible = "fsl,imx-ckih2", "fixed-clock"; 66 #clock-cells = <0>; 67 clock-frequency = <0>; 68 }; 69 70 osc { 71 compatible = "fsl,imx-osc", "fixed-clock"; 72 #clock-cells = <0>; 73 clock-frequency = <24000000>; 74 }; 75 }; 76 77 cpus { 78 #address-cells = <1>; 79 #size-cells = <0>; 80 cpu: cpu@0 { 81 device_type = "cpu"; 82 compatible = "arm,cortex-a8"; 83 reg = <0>; 84 clock-latency = <62500>; 85 clocks = <&clks IMX5_CLK_CPU_PODF>; 86 clock-names = "cpu"; 87 operating-points = < 88 166000 1000000 89 600000 1050000 90 800000 1100000 91 >; 92 voltage-tolerance = <5>; 93 }; 94 }; 95 96 usbphy { 97 #address-cells = <1>; 98 #size-cells = <0>; 99 compatible = "simple-bus"; 100 101 usbphy0: usbphy@0 { 102 compatible = "usb-nop-xceiv"; 103 reg = <0>; 104 clocks = <&clks IMX5_CLK_USB_PHY_GATE>; 105 clock-names = "main_clk"; 106 }; 107 }; 108 109 display-subsystem { 110 compatible = "fsl,imx-display-subsystem"; 111 ports = <&ipu_di0>, <&ipu_di1>; 112 }; 113 114 soc { 115 #address-cells = <1>; 116 #size-cells = <1>; 117 compatible = "simple-bus"; 118 interrupt-parent = <&tzic>; 119 ranges; 120 121 iram: iram@1ffe0000 { 122 compatible = "mmio-sram"; 123 reg = <0x1ffe0000 0x20000>; 124 }; 125 126 ipu: ipu@40000000 { 127 #address-cells = <1>; 128 #size-cells = <0>; 129 compatible = "fsl,imx51-ipu"; 130 reg = <0x40000000 0x20000000>; 131 interrupts = <11 10>; 132 clocks = <&clks IMX5_CLK_IPU_GATE>, 133 <&clks IMX5_CLK_IPU_DI0_GATE>, 134 <&clks IMX5_CLK_IPU_DI1_GATE>; 135 clock-names = "bus", "di0", "di1"; 136 resets = <&src 2>; 137 138 ipu_di0: port@2 { 139 reg = <2>; 140 141 ipu_di0_disp0: endpoint { 142 }; 143 }; 144 145 ipu_di1: port@3 { 146 reg = <3>; 147 148 ipu_di1_disp1: endpoint { 149 }; 150 }; 151 }; 152 153 aips@70000000 { /* AIPS1 */ 154 compatible = "fsl,aips-bus", "simple-bus"; 155 #address-cells = <1>; 156 #size-cells = <1>; 157 reg = <0x70000000 0x10000000>; 158 ranges; 159 160 spba@70000000 { 161 compatible = "fsl,spba-bus", "simple-bus"; 162 #address-cells = <1>; 163 #size-cells = <1>; 164 reg = <0x70000000 0x40000>; 165 ranges; 166 167 esdhc1: esdhc@70004000 { 168 compatible = "fsl,imx51-esdhc"; 169 reg = <0x70004000 0x4000>; 170 interrupts = <1>; 171 clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>, 172 <&clks IMX5_CLK_DUMMY>, 173 <&clks IMX5_CLK_ESDHC1_PER_GATE>; 174 clock-names = "ipg", "ahb", "per"; 175 status = "disabled"; 176 }; 177 178 esdhc2: esdhc@70008000 { 179 compatible = "fsl,imx51-esdhc"; 180 reg = <0x70008000 0x4000>; 181 interrupts = <2>; 182 clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>, 183 <&clks IMX5_CLK_DUMMY>, 184 <&clks IMX5_CLK_ESDHC2_PER_GATE>; 185 clock-names = "ipg", "ahb", "per"; 186 bus-width = <4>; 187 status = "disabled"; 188 }; 189 190 uart3: serial@7000c000 { 191 compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 192 reg = <0x7000c000 0x4000>; 193 interrupts = <33>; 194 clocks = <&clks IMX5_CLK_UART3_IPG_GATE>, 195 <&clks IMX5_CLK_UART3_PER_GATE>; 196 clock-names = "ipg", "per"; 197 status = "disabled"; 198 }; 199 200 ecspi1: ecspi@70010000 { 201 #address-cells = <1>; 202 #size-cells = <0>; 203 compatible = "fsl,imx51-ecspi"; 204 reg = <0x70010000 0x4000>; 205 interrupts = <36>; 206 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>, 207 <&clks IMX5_CLK_ECSPI1_PER_GATE>; 208 clock-names = "ipg", "per"; 209 status = "disabled"; 210 }; 211 212 ssi2: ssi@70014000 { 213 #sound-dai-cells = <0>; 214 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 215 reg = <0x70014000 0x4000>; 216 interrupts = <30>; 217 clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>, 218 <&clks IMX5_CLK_SSI2_ROOT_GATE>; 219 clock-names = "ipg", "baud"; 220 dmas = <&sdma 24 1 0>, 221 <&sdma 25 1 0>; 222 dma-names = "rx", "tx"; 223 fsl,fifo-depth = <15>; 224 status = "disabled"; 225 }; 226 227 esdhc3: esdhc@70020000 { 228 compatible = "fsl,imx51-esdhc"; 229 reg = <0x70020000 0x4000>; 230 interrupts = <3>; 231 clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>, 232 <&clks IMX5_CLK_DUMMY>, 233 <&clks IMX5_CLK_ESDHC3_PER_GATE>; 234 clock-names = "ipg", "ahb", "per"; 235 bus-width = <4>; 236 status = "disabled"; 237 }; 238 239 esdhc4: esdhc@70024000 { 240 compatible = "fsl,imx51-esdhc"; 241 reg = <0x70024000 0x4000>; 242 interrupts = <4>; 243 clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>, 244 <&clks IMX5_CLK_DUMMY>, 245 <&clks IMX5_CLK_ESDHC4_PER_GATE>; 246 clock-names = "ipg", "ahb", "per"; 247 bus-width = <4>; 248 status = "disabled"; 249 }; 250 }; 251 252 usbotg: usb@73f80000 { 253 compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 254 reg = <0x73f80000 0x0200>; 255 interrupts = <18>; 256 clocks = <&clks IMX5_CLK_USBOH3_GATE>; 257 fsl,usbmisc = <&usbmisc 0>; 258 fsl,usbphy = <&usbphy0>; 259 status = "disabled"; 260 }; 261 262 usbh1: usb@73f80200 { 263 compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 264 reg = <0x73f80200 0x0200>; 265 interrupts = <14>; 266 clocks = <&clks IMX5_CLK_USBOH3_GATE>; 267 fsl,usbmisc = <&usbmisc 1>; 268 status = "disabled"; 269 }; 270 271 usbh2: usb@73f80400 { 272 compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 273 reg = <0x73f80400 0x0200>; 274 interrupts = <16>; 275 clocks = <&clks IMX5_CLK_USBOH3_GATE>; 276 fsl,usbmisc = <&usbmisc 2>; 277 status = "disabled"; 278 }; 279 280 usbh3: usb@73f80600 { 281 compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 282 reg = <0x73f80600 0x0200>; 283 interrupts = <17>; 284 clocks = <&clks IMX5_CLK_USBOH3_GATE>; 285 fsl,usbmisc = <&usbmisc 3>; 286 status = "disabled"; 287 }; 288 289 usbmisc: usbmisc@73f80800 { 290 #index-cells = <1>; 291 compatible = "fsl,imx51-usbmisc"; 292 reg = <0x73f80800 0x200>; 293 clocks = <&clks IMX5_CLK_USBOH3_GATE>; 294 }; 295 296 gpio1: gpio@73f84000 { 297 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 298 reg = <0x73f84000 0x4000>; 299 interrupts = <50 51>; 300 gpio-controller; 301 #gpio-cells = <2>; 302 interrupt-controller; 303 #interrupt-cells = <2>; 304 }; 305 306 gpio2: gpio@73f88000 { 307 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 308 reg = <0x73f88000 0x4000>; 309 interrupts = <52 53>; 310 gpio-controller; 311 #gpio-cells = <2>; 312 interrupt-controller; 313 #interrupt-cells = <2>; 314 }; 315 316 gpio3: gpio@73f8c000 { 317 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 318 reg = <0x73f8c000 0x4000>; 319 interrupts = <54 55>; 320 gpio-controller; 321 #gpio-cells = <2>; 322 interrupt-controller; 323 #interrupt-cells = <2>; 324 }; 325 326 gpio4: gpio@73f90000 { 327 compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 328 reg = <0x73f90000 0x4000>; 329 interrupts = <56 57>; 330 gpio-controller; 331 #gpio-cells = <2>; 332 interrupt-controller; 333 #interrupt-cells = <2>; 334 }; 335 336 kpp: kpp@73f94000 { 337 compatible = "fsl,imx51-kpp", "fsl,imx21-kpp"; 338 reg = <0x73f94000 0x4000>; 339 interrupts = <60>; 340 clocks = <&clks IMX5_CLK_DUMMY>; 341 status = "disabled"; 342 }; 343 344 wdog1: wdog@73f98000 { 345 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; 346 reg = <0x73f98000 0x4000>; 347 interrupts = <58>; 348 clocks = <&clks IMX5_CLK_DUMMY>; 349 }; 350 351 wdog2: wdog@73f9c000 { 352 compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; 353 reg = <0x73f9c000 0x4000>; 354 interrupts = <59>; 355 clocks = <&clks IMX5_CLK_DUMMY>; 356 status = "disabled"; 357 }; 358 359 gpt: timer@73fa0000 { 360 compatible = "fsl,imx51-gpt", "fsl,imx31-gpt"; 361 reg = <0x73fa0000 0x4000>; 362 interrupts = <39>; 363 clocks = <&clks IMX5_CLK_GPT_IPG_GATE>, 364 <&clks IMX5_CLK_GPT_HF_GATE>; 365 clock-names = "ipg", "per"; 366 }; 367 368 iomuxc: iomuxc@73fa8000 { 369 compatible = "fsl,imx51-iomuxc"; 370 reg = <0x73fa8000 0x4000>; 371 }; 372 373 pwm1: pwm@73fb4000 { 374 #pwm-cells = <2>; 375 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; 376 reg = <0x73fb4000 0x4000>; 377 clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>, 378 <&clks IMX5_CLK_PWM1_HF_GATE>; 379 clock-names = "ipg", "per"; 380 interrupts = <61>; 381 }; 382 383 pwm2: pwm@73fb8000 { 384 #pwm-cells = <2>; 385 compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; 386 reg = <0x73fb8000 0x4000>; 387 clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>, 388 <&clks IMX5_CLK_PWM2_HF_GATE>; 389 clock-names = "ipg", "per"; 390 interrupts = <94>; 391 }; 392 393 uart1: serial@73fbc000 { 394 compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 395 reg = <0x73fbc000 0x4000>; 396 interrupts = <31>; 397 clocks = <&clks IMX5_CLK_UART1_IPG_GATE>, 398 <&clks IMX5_CLK_UART1_PER_GATE>; 399 clock-names = "ipg", "per"; 400 status = "disabled"; 401 }; 402 403 uart2: serial@73fc0000 { 404 compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 405 reg = <0x73fc0000 0x4000>; 406 interrupts = <32>; 407 clocks = <&clks IMX5_CLK_UART2_IPG_GATE>, 408 <&clks IMX5_CLK_UART2_PER_GATE>; 409 clock-names = "ipg", "per"; 410 status = "disabled"; 411 }; 412 413 src: src@73fd0000 { 414 compatible = "fsl,imx51-src"; 415 reg = <0x73fd0000 0x4000>; 416 #reset-cells = <1>; 417 }; 418 419 clks: ccm@73fd4000{ 420 compatible = "fsl,imx51-ccm"; 421 reg = <0x73fd4000 0x4000>; 422 interrupts = <0 71 0x04 0 72 0x04>; 423 #clock-cells = <1>; 424 }; 425 }; 426 427 aips@80000000 { /* AIPS2 */ 428 compatible = "fsl,aips-bus", "simple-bus"; 429 #address-cells = <1>; 430 #size-cells = <1>; 431 reg = <0x80000000 0x10000000>; 432 ranges; 433 434 iim: iim@83f98000 { 435 compatible = "fsl,imx51-iim", "fsl,imx27-iim"; 436 reg = <0x83f98000 0x4000>; 437 interrupts = <69>; 438 clocks = <&clks IMX5_CLK_IIM_GATE>; 439 }; 440 441 owire: owire@83fa4000 { 442 compatible = "fsl,imx51-owire", "fsl,imx21-owire"; 443 reg = <0x83fa4000 0x4000>; 444 interrupts = <88>; 445 clocks = <&clks IMX5_CLK_OWIRE_GATE>; 446 status = "disabled"; 447 }; 448 449 ecspi2: ecspi@83fac000 { 450 #address-cells = <1>; 451 #size-cells = <0>; 452 compatible = "fsl,imx51-ecspi"; 453 reg = <0x83fac000 0x4000>; 454 interrupts = <37>; 455 clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>, 456 <&clks IMX5_CLK_ECSPI2_PER_GATE>; 457 clock-names = "ipg", "per"; 458 status = "disabled"; 459 }; 460 461 sdma: sdma@83fb0000 { 462 compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; 463 reg = <0x83fb0000 0x4000>; 464 interrupts = <6>; 465 clocks = <&clks IMX5_CLK_SDMA_GATE>, 466 <&clks IMX5_CLK_SDMA_GATE>; 467 clock-names = "ipg", "ahb"; 468 #dma-cells = <3>; 469 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin"; 470 }; 471 472 cspi: cspi@83fc0000 { 473 #address-cells = <1>; 474 #size-cells = <0>; 475 compatible = "fsl,imx51-cspi", "fsl,imx35-cspi"; 476 reg = <0x83fc0000 0x4000>; 477 interrupts = <38>; 478 clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>, 479 <&clks IMX5_CLK_CSPI_IPG_GATE>; 480 clock-names = "ipg", "per"; 481 status = "disabled"; 482 }; 483 484 i2c2: i2c@83fc4000 { 485 #address-cells = <1>; 486 #size-cells = <0>; 487 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 488 reg = <0x83fc4000 0x4000>; 489 interrupts = <63>; 490 clocks = <&clks IMX5_CLK_I2C2_GATE>; 491 status = "disabled"; 492 }; 493 494 i2c1: i2c@83fc8000 { 495 #address-cells = <1>; 496 #size-cells = <0>; 497 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 498 reg = <0x83fc8000 0x4000>; 499 interrupts = <62>; 500 clocks = <&clks IMX5_CLK_I2C1_GATE>; 501 status = "disabled"; 502 }; 503 504 ssi1: ssi@83fcc000 { 505 #sound-dai-cells = <0>; 506 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 507 reg = <0x83fcc000 0x4000>; 508 interrupts = <29>; 509 clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>, 510 <&clks IMX5_CLK_SSI1_ROOT_GATE>; 511 clock-names = "ipg", "baud"; 512 dmas = <&sdma 28 0 0>, 513 <&sdma 29 0 0>; 514 dma-names = "rx", "tx"; 515 fsl,fifo-depth = <15>; 516 status = "disabled"; 517 }; 518 519 audmux: audmux@83fd0000 { 520 compatible = "fsl,imx51-audmux", "fsl,imx31-audmux"; 521 reg = <0x83fd0000 0x4000>; 522 clocks = <&clks IMX5_CLK_DUMMY>; 523 clock-names = "audmux"; 524 status = "disabled"; 525 }; 526 527 weim: weim@83fda000 { 528 #address-cells = <2>; 529 #size-cells = <1>; 530 compatible = "fsl,imx51-weim"; 531 reg = <0x83fda000 0x1000>; 532 clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>; 533 ranges = < 534 0 0 0xb0000000 0x08000000 535 1 0 0xb8000000 0x08000000 536 2 0 0xc0000000 0x08000000 537 3 0 0xc8000000 0x04000000 538 4 0 0xcc000000 0x02000000 539 5 0 0xce000000 0x02000000 540 >; 541 status = "disabled"; 542 }; 543 544 nfc: nand@83fdb000 { 545 #address-cells = <1>; 546 #size-cells = <1>; 547 compatible = "fsl,imx51-nand"; 548 reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>; 549 interrupts = <8>; 550 clocks = <&clks IMX5_CLK_NFC_GATE>; 551 status = "disabled"; 552 }; 553 554 pata: pata@83fe0000 { 555 compatible = "fsl,imx51-pata", "fsl,imx27-pata"; 556 reg = <0x83fe0000 0x4000>; 557 interrupts = <70>; 558 clocks = <&clks IMX5_CLK_PATA_GATE>; 559 status = "disabled"; 560 }; 561 562 ssi3: ssi@83fe8000 { 563 #sound-dai-cells = <0>; 564 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 565 reg = <0x83fe8000 0x4000>; 566 interrupts = <96>; 567 clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>, 568 <&clks IMX5_CLK_SSI3_ROOT_GATE>; 569 clock-names = "ipg", "baud"; 570 dmas = <&sdma 46 0 0>, 571 <&sdma 47 0 0>; 572 dma-names = "rx", "tx"; 573 fsl,fifo-depth = <15>; 574 status = "disabled"; 575 }; 576 577 fec: ethernet@83fec000 { 578 compatible = "fsl,imx51-fec", "fsl,imx27-fec"; 579 reg = <0x83fec000 0x4000>; 580 interrupts = <87>; 581 clocks = <&clks IMX5_CLK_FEC_GATE>, 582 <&clks IMX5_CLK_FEC_GATE>, 583 <&clks IMX5_CLK_FEC_GATE>; 584 clock-names = "ipg", "ahb", "ptp"; 585 status = "disabled"; 586 }; 587 }; 588 }; 589}; 590