1/* 2 * Copyright 2012 Freescale Semiconductor, Inc. 3 * 4 * The code contained herein is licensed under the GNU General Public 5 * License. You may obtain a copy of the GNU General Public License 6 * Version 2 or later at the following locations: 7 * 8 * http://www.opensource.org/licenses/gpl-license.html 9 * http://www.gnu.org/copyleft/gpl.html 10 */ 11 12#include "skeleton.dtsi" 13#include "imx23-pinfunc.h" 14 15/ { 16 interrupt-parent = <&icoll>; 17 18 aliases { 19 gpio0 = &gpio0; 20 gpio1 = &gpio1; 21 gpio2 = &gpio2; 22 serial0 = &auart0; 23 serial1 = &auart1; 24 spi0 = &ssp0; 25 spi1 = &ssp1; 26 usbphy0 = &usbphy0; 27 }; 28 29 cpus { 30 #address-cells = <0>; 31 #size-cells = <0>; 32 33 cpu { 34 compatible = "arm,arm926ej-s"; 35 device_type = "cpu"; 36 }; 37 }; 38 39 apb@80000000 { 40 compatible = "simple-bus"; 41 #address-cells = <1>; 42 #size-cells = <1>; 43 reg = <0x80000000 0x80000>; 44 ranges; 45 46 apbh@80000000 { 47 compatible = "simple-bus"; 48 #address-cells = <1>; 49 #size-cells = <1>; 50 reg = <0x80000000 0x40000>; 51 ranges; 52 53 icoll: interrupt-controller@80000000 { 54 compatible = "fsl,imx23-icoll", "fsl,icoll"; 55 interrupt-controller; 56 #interrupt-cells = <1>; 57 reg = <0x80000000 0x2000>; 58 }; 59 60 dma_apbh: dma-apbh@80004000 { 61 compatible = "fsl,imx23-dma-apbh"; 62 reg = <0x80004000 0x2000>; 63 interrupts = <0 14 20 0 64 13 13 13 13>; 65 interrupt-names = "empty", "ssp0", "ssp1", "empty", 66 "gpmi0", "gpmi1", "gpmi2", "gpmi3"; 67 #dma-cells = <1>; 68 dma-channels = <8>; 69 clocks = <&clks 15>; 70 }; 71 72 ecc@80008000 { 73 reg = <0x80008000 0x2000>; 74 status = "disabled"; 75 }; 76 77 gpmi-nand@8000c000 { 78 compatible = "fsl,imx23-gpmi-nand"; 79 #address-cells = <1>; 80 #size-cells = <1>; 81 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>; 82 reg-names = "gpmi-nand", "bch"; 83 interrupts = <56>; 84 interrupt-names = "bch"; 85 clocks = <&clks 34>; 86 clock-names = "gpmi_io"; 87 dmas = <&dma_apbh 4>; 88 dma-names = "rx-tx"; 89 status = "disabled"; 90 }; 91 92 ssp0: ssp@80010000 { 93 reg = <0x80010000 0x2000>; 94 interrupts = <15>; 95 clocks = <&clks 33>; 96 dmas = <&dma_apbh 1>; 97 dma-names = "rx-tx"; 98 status = "disabled"; 99 }; 100 101 etm@80014000 { 102 reg = <0x80014000 0x2000>; 103 status = "disabled"; 104 }; 105 106 pinctrl@80018000 { 107 #address-cells = <1>; 108 #size-cells = <0>; 109 compatible = "fsl,imx23-pinctrl", "simple-bus"; 110 reg = <0x80018000 0x2000>; 111 112 gpio0: gpio@0 { 113 compatible = "fsl,imx23-gpio", "fsl,mxs-gpio"; 114 interrupts = <16>; 115 gpio-controller; 116 #gpio-cells = <2>; 117 interrupt-controller; 118 #interrupt-cells = <2>; 119 }; 120 121 gpio1: gpio@1 { 122 compatible = "fsl,imx23-gpio", "fsl,mxs-gpio"; 123 interrupts = <17>; 124 gpio-controller; 125 #gpio-cells = <2>; 126 interrupt-controller; 127 #interrupt-cells = <2>; 128 }; 129 130 gpio2: gpio@2 { 131 compatible = "fsl,imx23-gpio", "fsl,mxs-gpio"; 132 interrupts = <18>; 133 gpio-controller; 134 #gpio-cells = <2>; 135 interrupt-controller; 136 #interrupt-cells = <2>; 137 }; 138 139 duart_pins_a: duart@0 { 140 reg = <0>; 141 fsl,pinmux-ids = < 142 MX23_PAD_PWM0__DUART_RX 143 MX23_PAD_PWM1__DUART_TX 144 >; 145 fsl,drive-strength = <MXS_DRIVE_4mA>; 146 fsl,voltage = <MXS_VOLTAGE_HIGH>; 147 fsl,pull-up = <MXS_PULL_DISABLE>; 148 }; 149 150 auart0_pins_a: auart0@0 { 151 reg = <0>; 152 fsl,pinmux-ids = < 153 MX23_PAD_AUART1_RX__AUART1_RX 154 MX23_PAD_AUART1_TX__AUART1_TX 155 MX23_PAD_AUART1_CTS__AUART1_CTS 156 MX23_PAD_AUART1_RTS__AUART1_RTS 157 >; 158 fsl,drive-strength = <MXS_DRIVE_4mA>; 159 fsl,voltage = <MXS_VOLTAGE_HIGH>; 160 fsl,pull-up = <MXS_PULL_DISABLE>; 161 }; 162 163 auart0_2pins_a: auart0-2pins@0 { 164 reg = <0>; 165 fsl,pinmux-ids = < 166 MX23_PAD_I2C_SCL__AUART1_TX 167 MX23_PAD_I2C_SDA__AUART1_RX 168 >; 169 fsl,drive-strength = <MXS_DRIVE_4mA>; 170 fsl,voltage = <MXS_VOLTAGE_HIGH>; 171 fsl,pull-up = <MXS_PULL_DISABLE>; 172 }; 173 174 gpmi_pins_a: gpmi-nand@0 { 175 reg = <0>; 176 fsl,pinmux-ids = < 177 MX23_PAD_GPMI_D00__GPMI_D00 178 MX23_PAD_GPMI_D01__GPMI_D01 179 MX23_PAD_GPMI_D02__GPMI_D02 180 MX23_PAD_GPMI_D03__GPMI_D03 181 MX23_PAD_GPMI_D04__GPMI_D04 182 MX23_PAD_GPMI_D05__GPMI_D05 183 MX23_PAD_GPMI_D06__GPMI_D06 184 MX23_PAD_GPMI_D07__GPMI_D07 185 MX23_PAD_GPMI_CLE__GPMI_CLE 186 MX23_PAD_GPMI_ALE__GPMI_ALE 187 MX23_PAD_GPMI_RDY0__GPMI_RDY0 188 MX23_PAD_GPMI_RDY1__GPMI_RDY1 189 MX23_PAD_GPMI_WPN__GPMI_WPN 190 MX23_PAD_GPMI_WRN__GPMI_WRN 191 MX23_PAD_GPMI_RDN__GPMI_RDN 192 MX23_PAD_GPMI_CE1N__GPMI_CE1N 193 MX23_PAD_GPMI_CE0N__GPMI_CE0N 194 >; 195 fsl,drive-strength = <MXS_DRIVE_4mA>; 196 fsl,voltage = <MXS_VOLTAGE_HIGH>; 197 fsl,pull-up = <MXS_PULL_DISABLE>; 198 }; 199 200 gpmi_pins_fixup: gpmi-pins-fixup { 201 fsl,pinmux-ids = < 202 MX23_PAD_GPMI_WPN__GPMI_WPN 203 MX23_PAD_GPMI_WRN__GPMI_WRN 204 MX23_PAD_GPMI_RDN__GPMI_RDN 205 >; 206 fsl,drive-strength = <MXS_DRIVE_12mA>; 207 }; 208 209 mmc0_4bit_pins_a: mmc0-4bit@0 { 210 reg = <0>; 211 fsl,pinmux-ids = < 212 MX23_PAD_SSP1_DATA0__SSP1_DATA0 213 MX23_PAD_SSP1_DATA1__SSP1_DATA1 214 MX23_PAD_SSP1_DATA2__SSP1_DATA2 215 MX23_PAD_SSP1_DATA3__SSP1_DATA3 216 MX23_PAD_SSP1_CMD__SSP1_CMD 217 MX23_PAD_SSP1_SCK__SSP1_SCK 218 >; 219 fsl,drive-strength = <MXS_DRIVE_8mA>; 220 fsl,voltage = <MXS_VOLTAGE_HIGH>; 221 fsl,pull-up = <MXS_PULL_ENABLE>; 222 }; 223 224 mmc0_8bit_pins_a: mmc0-8bit@0 { 225 reg = <0>; 226 fsl,pinmux-ids = < 227 MX23_PAD_SSP1_DATA0__SSP1_DATA0 228 MX23_PAD_SSP1_DATA1__SSP1_DATA1 229 MX23_PAD_SSP1_DATA2__SSP1_DATA2 230 MX23_PAD_SSP1_DATA3__SSP1_DATA3 231 MX23_PAD_GPMI_D08__SSP1_DATA4 232 MX23_PAD_GPMI_D09__SSP1_DATA5 233 MX23_PAD_GPMI_D10__SSP1_DATA6 234 MX23_PAD_GPMI_D11__SSP1_DATA7 235 MX23_PAD_SSP1_CMD__SSP1_CMD 236 MX23_PAD_SSP1_DETECT__SSP1_DETECT 237 MX23_PAD_SSP1_SCK__SSP1_SCK 238 >; 239 fsl,drive-strength = <MXS_DRIVE_8mA>; 240 fsl,voltage = <MXS_VOLTAGE_HIGH>; 241 fsl,pull-up = <MXS_PULL_ENABLE>; 242 }; 243 244 mmc0_pins_fixup: mmc0-pins-fixup { 245 fsl,pinmux-ids = < 246 MX23_PAD_SSP1_DETECT__SSP1_DETECT 247 MX23_PAD_SSP1_SCK__SSP1_SCK 248 >; 249 fsl,pull-up = <MXS_PULL_DISABLE>; 250 }; 251 252 pwm2_pins_a: pwm2@0 { 253 reg = <0>; 254 fsl,pinmux-ids = < 255 MX23_PAD_PWM2__PWM2 256 >; 257 fsl,drive-strength = <MXS_DRIVE_4mA>; 258 fsl,voltage = <MXS_VOLTAGE_HIGH>; 259 fsl,pull-up = <MXS_PULL_DISABLE>; 260 }; 261 262 lcdif_24bit_pins_a: lcdif-24bit@0 { 263 reg = <0>; 264 fsl,pinmux-ids = < 265 MX23_PAD_LCD_D00__LCD_D00 266 MX23_PAD_LCD_D01__LCD_D01 267 MX23_PAD_LCD_D02__LCD_D02 268 MX23_PAD_LCD_D03__LCD_D03 269 MX23_PAD_LCD_D04__LCD_D04 270 MX23_PAD_LCD_D05__LCD_D05 271 MX23_PAD_LCD_D06__LCD_D06 272 MX23_PAD_LCD_D07__LCD_D07 273 MX23_PAD_LCD_D08__LCD_D08 274 MX23_PAD_LCD_D09__LCD_D09 275 MX23_PAD_LCD_D10__LCD_D10 276 MX23_PAD_LCD_D11__LCD_D11 277 MX23_PAD_LCD_D12__LCD_D12 278 MX23_PAD_LCD_D13__LCD_D13 279 MX23_PAD_LCD_D14__LCD_D14 280 MX23_PAD_LCD_D15__LCD_D15 281 MX23_PAD_LCD_D16__LCD_D16 282 MX23_PAD_LCD_D17__LCD_D17 283 MX23_PAD_GPMI_D08__LCD_D18 284 MX23_PAD_GPMI_D09__LCD_D19 285 MX23_PAD_GPMI_D10__LCD_D20 286 MX23_PAD_GPMI_D11__LCD_D21 287 MX23_PAD_GPMI_D12__LCD_D22 288 MX23_PAD_GPMI_D13__LCD_D23 289 MX23_PAD_LCD_DOTCK__LCD_DOTCK 290 MX23_PAD_LCD_ENABLE__LCD_ENABLE 291 MX23_PAD_LCD_HSYNC__LCD_HSYNC 292 MX23_PAD_LCD_VSYNC__LCD_VSYNC 293 >; 294 fsl,drive-strength = <MXS_DRIVE_4mA>; 295 fsl,voltage = <MXS_VOLTAGE_HIGH>; 296 fsl,pull-up = <MXS_PULL_DISABLE>; 297 }; 298 299 spi2_pins_a: spi2@0 { 300 reg = <0>; 301 fsl,pinmux-ids = < 302 MX23_PAD_GPMI_WRN__SSP2_SCK 303 MX23_PAD_GPMI_RDY1__SSP2_CMD 304 MX23_PAD_GPMI_D00__SSP2_DATA0 305 MX23_PAD_GPMI_D03__SSP2_DATA3 306 >; 307 fsl,drive-strength = <MXS_DRIVE_8mA>; 308 fsl,voltage = <MXS_VOLTAGE_HIGH>; 309 fsl,pull-up = <MXS_PULL_ENABLE>; 310 }; 311 }; 312 313 digctl@8001c000 { 314 compatible = "fsl,imx23-digctl"; 315 reg = <0x8001c000 2000>; 316 status = "disabled"; 317 }; 318 319 emi@80020000 { 320 reg = <0x80020000 0x2000>; 321 status = "disabled"; 322 }; 323 324 dma_apbx: dma-apbx@80024000 { 325 compatible = "fsl,imx23-dma-apbx"; 326 reg = <0x80024000 0x2000>; 327 interrupts = <7 5 9 26 328 19 0 25 23 329 60 58 9 0 330 0 0 0 0>; 331 interrupt-names = "audio-adc", "audio-dac", "spdif-tx", "i2c", 332 "saif0", "empty", "auart0-rx", "auart0-tx", 333 "auart1-rx", "auart1-tx", "saif1", "empty", 334 "empty", "empty", "empty", "empty"; 335 #dma-cells = <1>; 336 dma-channels = <16>; 337 clocks = <&clks 16>; 338 }; 339 340 dcp@80028000 { 341 compatible = "fsl,imx23-dcp"; 342 reg = <0x80028000 0x2000>; 343 interrupts = <53 54>; 344 status = "okay"; 345 }; 346 347 pxp@8002a000 { 348 reg = <0x8002a000 0x2000>; 349 status = "disabled"; 350 }; 351 352 ocotp@8002c000 { 353 compatible = "fsl,ocotp"; 354 reg = <0x8002c000 0x2000>; 355 status = "disabled"; 356 }; 357 358 axi-ahb@8002e000 { 359 reg = <0x8002e000 0x2000>; 360 status = "disabled"; 361 }; 362 363 lcdif@80030000 { 364 compatible = "fsl,imx23-lcdif"; 365 reg = <0x80030000 2000>; 366 interrupts = <46 45>; 367 clocks = <&clks 38>; 368 status = "disabled"; 369 }; 370 371 ssp1: ssp@80034000 { 372 reg = <0x80034000 0x2000>; 373 interrupts = <2>; 374 clocks = <&clks 33>; 375 dmas = <&dma_apbh 2>; 376 dma-names = "rx-tx"; 377 status = "disabled"; 378 }; 379 380 tvenc@80038000 { 381 reg = <0x80038000 0x2000>; 382 status = "disabled"; 383 }; 384 }; 385 386 apbx@80040000 { 387 compatible = "simple-bus"; 388 #address-cells = <1>; 389 #size-cells = <1>; 390 reg = <0x80040000 0x40000>; 391 ranges; 392 393 clks: clkctrl@80040000 { 394 compatible = "fsl,imx23-clkctrl", "fsl,clkctrl"; 395 reg = <0x80040000 0x2000>; 396 #clock-cells = <1>; 397 }; 398 399 saif0: saif@80042000 { 400 reg = <0x80042000 0x2000>; 401 dmas = <&dma_apbx 4>; 402 dma-names = "rx-tx"; 403 status = "disabled"; 404 }; 405 406 power@80044000 { 407 reg = <0x80044000 0x2000>; 408 status = "disabled"; 409 }; 410 411 saif1: saif@80046000 { 412 reg = <0x80046000 0x2000>; 413 dmas = <&dma_apbx 10>; 414 dma-names = "rx-tx"; 415 status = "disabled"; 416 }; 417 418 audio-out@80048000 { 419 reg = <0x80048000 0x2000>; 420 dmas = <&dma_apbx 1>; 421 dma-names = "tx"; 422 status = "disabled"; 423 }; 424 425 audio-in@8004c000 { 426 reg = <0x8004c000 0x2000>; 427 dmas = <&dma_apbx 0>; 428 dma-names = "rx"; 429 status = "disabled"; 430 }; 431 432 lradc: lradc@80050000 { 433 compatible = "fsl,imx23-lradc"; 434 reg = <0x80050000 0x2000>; 435 interrupts = <36 37 38 39 40 41 42 43 44>; 436 status = "disabled"; 437 clocks = <&clks 26>; 438 #io-channel-cells = <1>; 439 }; 440 441 spdif@80054000 { 442 reg = <0x80054000 2000>; 443 dmas = <&dma_apbx 2>; 444 dma-names = "tx"; 445 status = "disabled"; 446 }; 447 448 i2c@80058000 { 449 reg = <0x80058000 0x2000>; 450 dmas = <&dma_apbx 3>; 451 dma-names = "rx-tx"; 452 status = "disabled"; 453 }; 454 455 rtc@8005c000 { 456 compatible = "fsl,imx23-rtc", "fsl,stmp3xxx-rtc"; 457 reg = <0x8005c000 0x2000>; 458 interrupts = <22>; 459 }; 460 461 pwm: pwm@80064000 { 462 compatible = "fsl,imx23-pwm"; 463 reg = <0x80064000 0x2000>; 464 clocks = <&clks 30>; 465 #pwm-cells = <2>; 466 fsl,pwm-number = <5>; 467 status = "disabled"; 468 }; 469 470 timrot@80068000 { 471 compatible = "fsl,imx23-timrot", "fsl,timrot"; 472 reg = <0x80068000 0x2000>; 473 interrupts = <28 29 30 31>; 474 clocks = <&clks 28>; 475 }; 476 477 auart0: serial@8006c000 { 478 compatible = "fsl,imx23-auart"; 479 reg = <0x8006c000 0x2000>; 480 interrupts = <24>; 481 clocks = <&clks 32>; 482 dmas = <&dma_apbx 6>, <&dma_apbx 7>; 483 dma-names = "rx", "tx"; 484 status = "disabled"; 485 }; 486 487 auart1: serial@8006e000 { 488 compatible = "fsl,imx23-auart"; 489 reg = <0x8006e000 0x2000>; 490 interrupts = <59>; 491 clocks = <&clks 32>; 492 dmas = <&dma_apbx 8>, <&dma_apbx 9>; 493 dma-names = "rx", "tx"; 494 status = "disabled"; 495 }; 496 497 duart: serial@80070000 { 498 compatible = "arm,pl011", "arm,primecell"; 499 reg = <0x80070000 0x2000>; 500 interrupts = <0>; 501 clocks = <&clks 32>, <&clks 16>; 502 clock-names = "uart", "apb_pclk"; 503 status = "disabled"; 504 }; 505 506 usbphy0: usbphy@8007c000 { 507 compatible = "fsl,imx23-usbphy"; 508 reg = <0x8007c000 0x2000>; 509 clocks = <&clks 41>; 510 status = "disabled"; 511 }; 512 }; 513 }; 514 515 ahb@80080000 { 516 compatible = "simple-bus"; 517 #address-cells = <1>; 518 #size-cells = <1>; 519 reg = <0x80080000 0x80000>; 520 ranges; 521 522 usb0: usb@80080000 { 523 compatible = "fsl,imx23-usb", "fsl,imx27-usb"; 524 reg = <0x80080000 0x40000>; 525 interrupts = <11>; 526 fsl,usbphy = <&usbphy0>; 527 clocks = <&clks 40>; 528 status = "disabled"; 529 }; 530 }; 531 532 iio_hwmon { 533 compatible = "iio-hwmon"; 534 io-channels = <&lradc 8>; 535 }; 536}; 537