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