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