2 * Copyright 2012 Freescale Semiconductor, Inc.
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:
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
12 #include <dt-bindings/gpio/gpio.h>
13 #include "imx28-pinfunc.h"
19 interrupt-parent = <&icoll>;
21 * The decompressor and also some bootloaders rely on a
22 * pre-existing /chosen node to be available to insert the
23 * command line and merge other ATAGS info.
24 * Also for U-Boot there must be a pre-existing /memory node.
27 memory { device_type = "memory"; reg = <0 0>; };
55 compatible = "arm,arm926ej-s";
61 compatible = "simple-bus";
64 reg = <0x80000000 0x80000>;
68 compatible = "simple-bus";
71 reg = <0x80000000 0x3c900>;
74 icoll: interrupt-controller@80000000 {
75 compatible = "fsl,imx28-icoll", "fsl,icoll";
77 #interrupt-cells = <1>;
78 reg = <0x80000000 0x2000>;
81 hsadc: hsadc@80002000 {
82 reg = <0x80002000 0x2000>;
84 dmas = <&dma_apbh 12>;
89 dma_apbh: dma-apbh@80004000 {
90 compatible = "fsl,imx28-dma-apbh";
91 reg = <0x80004000 0x2000>;
92 interrupts = <82 83 84 85
96 interrupt-names = "ssp0", "ssp1", "ssp2", "ssp3",
97 "gpmi0", "gmpi1", "gpmi2", "gmpi3",
98 "gpmi4", "gmpi5", "gpmi6", "gmpi7",
99 "hsadc", "lcdif", "empty", "empty";
105 perfmon: perfmon@80006000 {
106 reg = <0x80006000 0x800>;
111 gpmi: gpmi-nand@8000c000 {
112 compatible = "fsl,imx28-gpmi-nand";
113 #address-cells = <1>;
115 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
116 reg-names = "gpmi-nand", "bch";
118 interrupt-names = "bch";
120 clock-names = "gpmi_io";
121 dmas = <&dma_apbh 4>;
127 #address-cells = <1>;
129 reg = <0x80010000 0x2000>;
132 dmas = <&dma_apbh 0>;
138 #address-cells = <1>;
140 reg = <0x80012000 0x2000>;
143 dmas = <&dma_apbh 1>;
149 #address-cells = <1>;
151 reg = <0x80014000 0x2000>;
154 dmas = <&dma_apbh 2>;
160 #address-cells = <1>;
162 reg = <0x80016000 0x2000>;
165 dmas = <&dma_apbh 3>;
170 pinctrl: pinctrl@80018000 {
171 #address-cells = <1>;
173 compatible = "fsl,imx28-pinctrl", "simple-bus";
174 reg = <0x80018000 0x2000>;
177 compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
182 interrupt-controller;
183 #interrupt-cells = <2>;
187 compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
192 interrupt-controller;
193 #interrupt-cells = <2>;
197 compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
202 interrupt-controller;
203 #interrupt-cells = <2>;
207 compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
212 interrupt-controller;
213 #interrupt-cells = <2>;
217 compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
222 interrupt-controller;
223 #interrupt-cells = <2>;
226 duart_pins_a: duart@0 {
229 MX28_PAD_PWM0__DUART_RX
230 MX28_PAD_PWM1__DUART_TX
232 fsl,drive-strength = <MXS_DRIVE_4mA>;
233 fsl,voltage = <MXS_VOLTAGE_HIGH>;
234 fsl,pull-up = <MXS_PULL_DISABLE>;
237 duart_pins_b: duart@1 {
240 MX28_PAD_AUART0_CTS__DUART_RX
241 MX28_PAD_AUART0_RTS__DUART_TX
243 fsl,drive-strength = <MXS_DRIVE_4mA>;
244 fsl,voltage = <MXS_VOLTAGE_HIGH>;
245 fsl,pull-up = <MXS_PULL_DISABLE>;
248 duart_4pins_a: duart-4pins@0 {
251 MX28_PAD_AUART0_CTS__DUART_RX
252 MX28_PAD_AUART0_RTS__DUART_TX
253 MX28_PAD_AUART0_RX__DUART_CTS
254 MX28_PAD_AUART0_TX__DUART_RTS
256 fsl,drive-strength = <MXS_DRIVE_4mA>;
257 fsl,voltage = <MXS_VOLTAGE_HIGH>;
258 fsl,pull-up = <MXS_PULL_DISABLE>;
261 gpmi_pins_a: gpmi-nand@0 {
264 MX28_PAD_GPMI_D00__GPMI_D0
265 MX28_PAD_GPMI_D01__GPMI_D1
266 MX28_PAD_GPMI_D02__GPMI_D2
267 MX28_PAD_GPMI_D03__GPMI_D3
268 MX28_PAD_GPMI_D04__GPMI_D4
269 MX28_PAD_GPMI_D05__GPMI_D5
270 MX28_PAD_GPMI_D06__GPMI_D6
271 MX28_PAD_GPMI_D07__GPMI_D7
272 MX28_PAD_GPMI_CE0N__GPMI_CE0N
273 MX28_PAD_GPMI_RDY0__GPMI_READY0
274 MX28_PAD_GPMI_RDN__GPMI_RDN
275 MX28_PAD_GPMI_WRN__GPMI_WRN
276 MX28_PAD_GPMI_ALE__GPMI_ALE
277 MX28_PAD_GPMI_CLE__GPMI_CLE
278 MX28_PAD_GPMI_RESETN__GPMI_RESETN
280 fsl,drive-strength = <MXS_DRIVE_4mA>;
281 fsl,voltage = <MXS_VOLTAGE_HIGH>;
282 fsl,pull-up = <MXS_PULL_DISABLE>;
285 gpmi_status_cfg: gpmi-status-cfg {
287 MX28_PAD_GPMI_RDN__GPMI_RDN
288 MX28_PAD_GPMI_WRN__GPMI_WRN
289 MX28_PAD_GPMI_RESETN__GPMI_RESETN
291 fsl,drive-strength = <MXS_DRIVE_12mA>;
294 auart0_pins_a: auart0@0 {
297 MX28_PAD_AUART0_RX__AUART0_RX
298 MX28_PAD_AUART0_TX__AUART0_TX
299 MX28_PAD_AUART0_CTS__AUART0_CTS
300 MX28_PAD_AUART0_RTS__AUART0_RTS
302 fsl,drive-strength = <MXS_DRIVE_4mA>;
303 fsl,voltage = <MXS_VOLTAGE_HIGH>;
304 fsl,pull-up = <MXS_PULL_DISABLE>;
307 auart0_2pins_a: auart0-2pins@0 {
310 MX28_PAD_AUART0_RX__AUART0_RX
311 MX28_PAD_AUART0_TX__AUART0_TX
313 fsl,drive-strength = <MXS_DRIVE_4mA>;
314 fsl,voltage = <MXS_VOLTAGE_HIGH>;
315 fsl,pull-up = <MXS_PULL_DISABLE>;
318 auart1_pins_a: auart1@0 {
321 MX28_PAD_AUART1_RX__AUART1_RX
322 MX28_PAD_AUART1_TX__AUART1_TX
323 MX28_PAD_AUART1_CTS__AUART1_CTS
324 MX28_PAD_AUART1_RTS__AUART1_RTS
326 fsl,drive-strength = <MXS_DRIVE_4mA>;
327 fsl,voltage = <MXS_VOLTAGE_HIGH>;
328 fsl,pull-up = <MXS_PULL_DISABLE>;
331 auart1_2pins_a: auart1-2pins@0 {
334 MX28_PAD_AUART1_RX__AUART1_RX
335 MX28_PAD_AUART1_TX__AUART1_TX
337 fsl,drive-strength = <MXS_DRIVE_4mA>;
338 fsl,voltage = <MXS_VOLTAGE_HIGH>;
339 fsl,pull-up = <MXS_PULL_DISABLE>;
342 auart2_2pins_a: auart2-2pins@0 {
345 MX28_PAD_SSP2_SCK__AUART2_RX
346 MX28_PAD_SSP2_MOSI__AUART2_TX
348 fsl,drive-strength = <MXS_DRIVE_4mA>;
349 fsl,voltage = <MXS_VOLTAGE_HIGH>;
350 fsl,pull-up = <MXS_PULL_DISABLE>;
353 auart2_2pins_b: auart2-2pins@1 {
356 MX28_PAD_AUART2_RX__AUART2_RX
357 MX28_PAD_AUART2_TX__AUART2_TX
359 fsl,drive-strength = <MXS_DRIVE_4mA>;
360 fsl,voltage = <MXS_VOLTAGE_HIGH>;
361 fsl,pull-up = <MXS_PULL_DISABLE>;
364 auart2_pins_a: auart2-pins@0 {
367 MX28_PAD_AUART2_RX__AUART2_RX
368 MX28_PAD_AUART2_TX__AUART2_TX
369 MX28_PAD_AUART2_CTS__AUART2_CTS
370 MX28_PAD_AUART2_RTS__AUART2_RTS
372 fsl,drive-strength = <MXS_DRIVE_4mA>;
373 fsl,voltage = <MXS_VOLTAGE_HIGH>;
374 fsl,pull-up = <MXS_PULL_DISABLE>;
377 auart3_pins_a: auart3@0 {
380 MX28_PAD_AUART3_RX__AUART3_RX
381 MX28_PAD_AUART3_TX__AUART3_TX
382 MX28_PAD_AUART3_CTS__AUART3_CTS
383 MX28_PAD_AUART3_RTS__AUART3_RTS
385 fsl,drive-strength = <MXS_DRIVE_4mA>;
386 fsl,voltage = <MXS_VOLTAGE_HIGH>;
387 fsl,pull-up = <MXS_PULL_DISABLE>;
390 auart3_2pins_a: auart3-2pins@0 {
393 MX28_PAD_SSP2_MISO__AUART3_RX
394 MX28_PAD_SSP2_SS0__AUART3_TX
396 fsl,drive-strength = <MXS_DRIVE_4mA>;
397 fsl,voltage = <MXS_VOLTAGE_HIGH>;
398 fsl,pull-up = <MXS_PULL_DISABLE>;
401 auart3_2pins_b: auart3-2pins@1 {
404 MX28_PAD_AUART3_RX__AUART3_RX
405 MX28_PAD_AUART3_TX__AUART3_TX
407 fsl,drive-strength = <MXS_DRIVE_4mA>;
408 fsl,voltage = <MXS_VOLTAGE_HIGH>;
409 fsl,pull-up = <MXS_PULL_DISABLE>;
412 auart4_2pins_a: auart4@0 {
415 MX28_PAD_SSP3_SCK__AUART4_TX
416 MX28_PAD_SSP3_MOSI__AUART4_RX
418 fsl,drive-strength = <MXS_DRIVE_4mA>;
419 fsl,voltage = <MXS_VOLTAGE_HIGH>;
420 fsl,pull-up = <MXS_PULL_DISABLE>;
423 auart4_2pins_b: auart4@1 {
426 MX28_PAD_AUART0_CTS__AUART4_RX
427 MX28_PAD_AUART0_RTS__AUART4_TX
429 fsl,drive-strength = <MXS_DRIVE_4mA>;
430 fsl,voltage = <MXS_VOLTAGE_HIGH>;
431 fsl,pull-up = <MXS_PULL_DISABLE>;
434 mac0_pins_a: mac0@0 {
437 MX28_PAD_ENET0_MDC__ENET0_MDC
438 MX28_PAD_ENET0_MDIO__ENET0_MDIO
439 MX28_PAD_ENET0_RX_EN__ENET0_RX_EN
440 MX28_PAD_ENET0_RXD0__ENET0_RXD0
441 MX28_PAD_ENET0_RXD1__ENET0_RXD1
442 MX28_PAD_ENET0_TX_EN__ENET0_TX_EN
443 MX28_PAD_ENET0_TXD0__ENET0_TXD0
444 MX28_PAD_ENET0_TXD1__ENET0_TXD1
445 MX28_PAD_ENET_CLK__CLKCTRL_ENET
447 fsl,drive-strength = <MXS_DRIVE_8mA>;
448 fsl,voltage = <MXS_VOLTAGE_HIGH>;
449 fsl,pull-up = <MXS_PULL_ENABLE>;
452 mac0_pins_b: mac0@1 {
455 MX28_PAD_ENET0_MDC__ENET0_MDC
456 MX28_PAD_ENET0_MDIO__ENET0_MDIO
457 MX28_PAD_ENET0_RX_EN__ENET0_RX_EN
458 MX28_PAD_ENET0_RXD0__ENET0_RXD0
459 MX28_PAD_ENET0_RXD1__ENET0_RXD1
460 MX28_PAD_ENET0_RXD2__ENET0_RXD2
461 MX28_PAD_ENET0_RXD3__ENET0_RXD3
462 MX28_PAD_ENET0_TX_EN__ENET0_TX_EN
463 MX28_PAD_ENET0_TXD0__ENET0_TXD0
464 MX28_PAD_ENET0_TXD1__ENET0_TXD1
465 MX28_PAD_ENET0_TXD2__ENET0_TXD2
466 MX28_PAD_ENET0_TXD3__ENET0_TXD3
467 MX28_PAD_ENET_CLK__CLKCTRL_ENET
468 MX28_PAD_ENET0_COL__ENET0_COL
469 MX28_PAD_ENET0_CRS__ENET0_CRS
470 MX28_PAD_ENET0_TX_CLK__ENET0_TX_CLK
471 MX28_PAD_ENET0_RX_CLK__ENET0_RX_CLK
473 fsl,drive-strength = <MXS_DRIVE_8mA>;
474 fsl,voltage = <MXS_VOLTAGE_HIGH>;
475 fsl,pull-up = <MXS_PULL_ENABLE>;
478 mac1_pins_a: mac1@0 {
481 MX28_PAD_ENET0_CRS__ENET1_RX_EN
482 MX28_PAD_ENET0_RXD2__ENET1_RXD0
483 MX28_PAD_ENET0_RXD3__ENET1_RXD1
484 MX28_PAD_ENET0_COL__ENET1_TX_EN
485 MX28_PAD_ENET0_TXD2__ENET1_TXD0
486 MX28_PAD_ENET0_TXD3__ENET1_TXD1
488 fsl,drive-strength = <MXS_DRIVE_8mA>;
489 fsl,voltage = <MXS_VOLTAGE_HIGH>;
490 fsl,pull-up = <MXS_PULL_ENABLE>;
493 mmc0_8bit_pins_a: mmc0-8bit@0 {
496 MX28_PAD_SSP0_DATA0__SSP0_D0
497 MX28_PAD_SSP0_DATA1__SSP0_D1
498 MX28_PAD_SSP0_DATA2__SSP0_D2
499 MX28_PAD_SSP0_DATA3__SSP0_D3
500 MX28_PAD_SSP0_DATA4__SSP0_D4
501 MX28_PAD_SSP0_DATA5__SSP0_D5
502 MX28_PAD_SSP0_DATA6__SSP0_D6
503 MX28_PAD_SSP0_DATA7__SSP0_D7
504 MX28_PAD_SSP0_CMD__SSP0_CMD
505 MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
506 MX28_PAD_SSP0_SCK__SSP0_SCK
508 fsl,drive-strength = <MXS_DRIVE_8mA>;
509 fsl,voltage = <MXS_VOLTAGE_HIGH>;
510 fsl,pull-up = <MXS_PULL_ENABLE>;
513 mmc0_4bit_pins_a: mmc0-4bit@0 {
516 MX28_PAD_SSP0_DATA0__SSP0_D0
517 MX28_PAD_SSP0_DATA1__SSP0_D1
518 MX28_PAD_SSP0_DATA2__SSP0_D2
519 MX28_PAD_SSP0_DATA3__SSP0_D3
520 MX28_PAD_SSP0_CMD__SSP0_CMD
521 MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
522 MX28_PAD_SSP0_SCK__SSP0_SCK
524 fsl,drive-strength = <MXS_DRIVE_8mA>;
525 fsl,voltage = <MXS_VOLTAGE_HIGH>;
526 fsl,pull-up = <MXS_PULL_ENABLE>;
529 mmc0_cd_cfg: mmc0-cd-cfg {
531 MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
533 fsl,pull-up = <MXS_PULL_DISABLE>;
536 mmc0_sck_cfg: mmc0-sck-cfg {
538 MX28_PAD_SSP0_SCK__SSP0_SCK
540 fsl,drive-strength = <MXS_DRIVE_12mA>;
541 fsl,pull-up = <MXS_PULL_DISABLE>;
544 mmc1_4bit_pins_a: mmc1-4bit@0 {
547 MX28_PAD_GPMI_D00__SSP1_D0
548 MX28_PAD_GPMI_D01__SSP1_D1
549 MX28_PAD_GPMI_D02__SSP1_D2
550 MX28_PAD_GPMI_D03__SSP1_D3
551 MX28_PAD_GPMI_RDY1__SSP1_CMD
552 MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT
553 MX28_PAD_GPMI_WRN__SSP1_SCK
555 fsl,drive-strength = <MXS_DRIVE_8mA>;
556 fsl,voltage = <MXS_VOLTAGE_HIGH>;
557 fsl,pull-up = <MXS_PULL_ENABLE>;
560 mmc1_cd_cfg: mmc1-cd-cfg {
562 MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT
564 fsl,pull-up = <MXS_PULL_DISABLE>;
567 mmc1_sck_cfg: mmc1-sck-cfg {
569 MX28_PAD_GPMI_WRN__SSP1_SCK
571 fsl,drive-strength = <MXS_DRIVE_12mA>;
572 fsl,pull-up = <MXS_PULL_DISABLE>;
576 mmc2_4bit_pins_a: mmc2-4bit@0 {
579 MX28_PAD_SSP0_DATA4__SSP2_D0
580 MX28_PAD_SSP1_SCK__SSP2_D1
581 MX28_PAD_SSP1_CMD__SSP2_D2
582 MX28_PAD_SSP0_DATA5__SSP2_D3
583 MX28_PAD_SSP0_DATA6__SSP2_CMD
584 MX28_PAD_AUART1_RX__SSP2_CARD_DETECT
585 MX28_PAD_SSP0_DATA7__SSP2_SCK
587 fsl,drive-strength = <MXS_DRIVE_8mA>;
588 fsl,voltage = <MXS_VOLTAGE_HIGH>;
589 fsl,pull-up = <MXS_PULL_ENABLE>;
592 mmc2_cd_cfg: mmc2-cd-cfg {
594 MX28_PAD_AUART1_RX__SSP2_CARD_DETECT
596 fsl,pull-up = <MXS_PULL_DISABLE>;
599 mmc2_sck_cfg: mmc2-sck-cfg {
601 MX28_PAD_SSP0_DATA7__SSP2_SCK
603 fsl,drive-strength = <MXS_DRIVE_12mA>;
604 fsl,pull-up = <MXS_PULL_DISABLE>;
607 i2c0_pins_a: i2c0@0 {
610 MX28_PAD_I2C0_SCL__I2C0_SCL
611 MX28_PAD_I2C0_SDA__I2C0_SDA
613 fsl,drive-strength = <MXS_DRIVE_8mA>;
614 fsl,voltage = <MXS_VOLTAGE_HIGH>;
615 fsl,pull-up = <MXS_PULL_ENABLE>;
618 i2c0_pins_b: i2c0@1 {
621 MX28_PAD_AUART0_RX__I2C0_SCL
622 MX28_PAD_AUART0_TX__I2C0_SDA
624 fsl,drive-strength = <MXS_DRIVE_8mA>;
625 fsl,voltage = <MXS_VOLTAGE_HIGH>;
626 fsl,pull-up = <MXS_PULL_ENABLE>;
629 i2c1_pins_a: i2c1@0 {
632 MX28_PAD_PWM0__I2C1_SCL
633 MX28_PAD_PWM1__I2C1_SDA
635 fsl,drive-strength = <MXS_DRIVE_8mA>;
636 fsl,voltage = <MXS_VOLTAGE_HIGH>;
637 fsl,pull-up = <MXS_PULL_ENABLE>;
640 i2c1_pins_b: i2c1@1 {
643 MX28_PAD_AUART2_CTS__I2C1_SCL
644 MX28_PAD_AUART2_RTS__I2C1_SDA
646 fsl,drive-strength = <MXS_DRIVE_8mA>;
647 fsl,voltage = <MXS_VOLTAGE_HIGH>;
648 fsl,pull-up = <MXS_PULL_ENABLE>;
651 saif0_pins_a: saif0@0 {
654 MX28_PAD_SAIF0_MCLK__SAIF0_MCLK
655 MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK
656 MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK
657 MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0
659 fsl,drive-strength = <MXS_DRIVE_12mA>;
660 fsl,voltage = <MXS_VOLTAGE_HIGH>;
661 fsl,pull-up = <MXS_PULL_ENABLE>;
664 saif0_pins_b: saif0@1 {
667 MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK
668 MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK
669 MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0
671 fsl,drive-strength = <MXS_DRIVE_12mA>;
672 fsl,voltage = <MXS_VOLTAGE_HIGH>;
673 fsl,pull-up = <MXS_PULL_ENABLE>;
676 saif1_pins_a: saif1@0 {
679 MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0
681 fsl,drive-strength = <MXS_DRIVE_12mA>;
682 fsl,voltage = <MXS_VOLTAGE_HIGH>;
683 fsl,pull-up = <MXS_PULL_ENABLE>;
686 pwm0_pins_a: pwm0@0 {
691 fsl,drive-strength = <MXS_DRIVE_4mA>;
692 fsl,voltage = <MXS_VOLTAGE_HIGH>;
693 fsl,pull-up = <MXS_PULL_DISABLE>;
696 pwm2_pins_a: pwm2@0 {
701 fsl,drive-strength = <MXS_DRIVE_4mA>;
702 fsl,voltage = <MXS_VOLTAGE_HIGH>;
703 fsl,pull-up = <MXS_PULL_DISABLE>;
706 pwm3_pins_a: pwm3@0 {
711 fsl,drive-strength = <MXS_DRIVE_4mA>;
712 fsl,voltage = <MXS_VOLTAGE_HIGH>;
713 fsl,pull-up = <MXS_PULL_DISABLE>;
716 pwm3_pins_b: pwm3@1 {
719 MX28_PAD_SAIF0_MCLK__PWM_3
721 fsl,drive-strength = <MXS_DRIVE_4mA>;
722 fsl,voltage = <MXS_VOLTAGE_HIGH>;
723 fsl,pull-up = <MXS_PULL_DISABLE>;
726 pwm4_pins_a: pwm4@0 {
731 fsl,drive-strength = <MXS_DRIVE_4mA>;
732 fsl,voltage = <MXS_VOLTAGE_HIGH>;
733 fsl,pull-up = <MXS_PULL_DISABLE>;
736 lcdif_24bit_pins_a: lcdif-24bit@0 {
739 MX28_PAD_LCD_D00__LCD_D0
740 MX28_PAD_LCD_D01__LCD_D1
741 MX28_PAD_LCD_D02__LCD_D2
742 MX28_PAD_LCD_D03__LCD_D3
743 MX28_PAD_LCD_D04__LCD_D4
744 MX28_PAD_LCD_D05__LCD_D5
745 MX28_PAD_LCD_D06__LCD_D6
746 MX28_PAD_LCD_D07__LCD_D7
747 MX28_PAD_LCD_D08__LCD_D8
748 MX28_PAD_LCD_D09__LCD_D9
749 MX28_PAD_LCD_D10__LCD_D10
750 MX28_PAD_LCD_D11__LCD_D11
751 MX28_PAD_LCD_D12__LCD_D12
752 MX28_PAD_LCD_D13__LCD_D13
753 MX28_PAD_LCD_D14__LCD_D14
754 MX28_PAD_LCD_D15__LCD_D15
755 MX28_PAD_LCD_D16__LCD_D16
756 MX28_PAD_LCD_D17__LCD_D17
757 MX28_PAD_LCD_D18__LCD_D18
758 MX28_PAD_LCD_D19__LCD_D19
759 MX28_PAD_LCD_D20__LCD_D20
760 MX28_PAD_LCD_D21__LCD_D21
761 MX28_PAD_LCD_D22__LCD_D22
762 MX28_PAD_LCD_D23__LCD_D23
764 fsl,drive-strength = <MXS_DRIVE_4mA>;
765 fsl,voltage = <MXS_VOLTAGE_HIGH>;
766 fsl,pull-up = <MXS_PULL_DISABLE>;
769 lcdif_18bit_pins_a: lcdif-18bit@0 {
772 MX28_PAD_LCD_D00__LCD_D0
773 MX28_PAD_LCD_D01__LCD_D1
774 MX28_PAD_LCD_D02__LCD_D2
775 MX28_PAD_LCD_D03__LCD_D3
776 MX28_PAD_LCD_D04__LCD_D4
777 MX28_PAD_LCD_D05__LCD_D5
778 MX28_PAD_LCD_D06__LCD_D6
779 MX28_PAD_LCD_D07__LCD_D7
780 MX28_PAD_LCD_D08__LCD_D8
781 MX28_PAD_LCD_D09__LCD_D9
782 MX28_PAD_LCD_D10__LCD_D10
783 MX28_PAD_LCD_D11__LCD_D11
784 MX28_PAD_LCD_D12__LCD_D12
785 MX28_PAD_LCD_D13__LCD_D13
786 MX28_PAD_LCD_D14__LCD_D14
787 MX28_PAD_LCD_D15__LCD_D15
788 MX28_PAD_LCD_D16__LCD_D16
789 MX28_PAD_LCD_D17__LCD_D17
791 fsl,drive-strength = <MXS_DRIVE_4mA>;
792 fsl,voltage = <MXS_VOLTAGE_HIGH>;
793 fsl,pull-up = <MXS_PULL_DISABLE>;
796 lcdif_16bit_pins_a: lcdif-16bit@0 {
799 MX28_PAD_LCD_D00__LCD_D0
800 MX28_PAD_LCD_D01__LCD_D1
801 MX28_PAD_LCD_D02__LCD_D2
802 MX28_PAD_LCD_D03__LCD_D3
803 MX28_PAD_LCD_D04__LCD_D4
804 MX28_PAD_LCD_D05__LCD_D5
805 MX28_PAD_LCD_D06__LCD_D6
806 MX28_PAD_LCD_D07__LCD_D7
807 MX28_PAD_LCD_D08__LCD_D8
808 MX28_PAD_LCD_D09__LCD_D9
809 MX28_PAD_LCD_D10__LCD_D10
810 MX28_PAD_LCD_D11__LCD_D11
811 MX28_PAD_LCD_D12__LCD_D12
812 MX28_PAD_LCD_D13__LCD_D13
813 MX28_PAD_LCD_D14__LCD_D14
814 MX28_PAD_LCD_D15__LCD_D15
816 fsl,drive-strength = <MXS_DRIVE_4mA>;
817 fsl,voltage = <MXS_VOLTAGE_HIGH>;
818 fsl,pull-up = <MXS_PULL_DISABLE>;
821 lcdif_sync_pins_a: lcdif-sync@0 {
824 MX28_PAD_LCD_RS__LCD_DOTCLK
825 MX28_PAD_LCD_CS__LCD_ENABLE
826 MX28_PAD_LCD_RD_E__LCD_VSYNC
827 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
829 fsl,drive-strength = <MXS_DRIVE_4mA>;
830 fsl,voltage = <MXS_VOLTAGE_HIGH>;
831 fsl,pull-up = <MXS_PULL_DISABLE>;
834 can0_pins_a: can0@0 {
837 MX28_PAD_GPMI_RDY2__CAN0_TX
838 MX28_PAD_GPMI_RDY3__CAN0_RX
840 fsl,drive-strength = <MXS_DRIVE_4mA>;
841 fsl,voltage = <MXS_VOLTAGE_HIGH>;
842 fsl,pull-up = <MXS_PULL_DISABLE>;
845 can1_pins_a: can1@0 {
848 MX28_PAD_GPMI_CE2N__CAN1_TX
849 MX28_PAD_GPMI_CE3N__CAN1_RX
851 fsl,drive-strength = <MXS_DRIVE_4mA>;
852 fsl,voltage = <MXS_VOLTAGE_HIGH>;
853 fsl,pull-up = <MXS_PULL_DISABLE>;
856 spi2_pins_a: spi2@0 {
859 MX28_PAD_SSP2_SCK__SSP2_SCK
860 MX28_PAD_SSP2_MOSI__SSP2_CMD
861 MX28_PAD_SSP2_MISO__SSP2_D0
862 MX28_PAD_SSP2_SS0__SSP2_D3
864 fsl,drive-strength = <MXS_DRIVE_8mA>;
865 fsl,voltage = <MXS_VOLTAGE_HIGH>;
866 fsl,pull-up = <MXS_PULL_ENABLE>;
869 spi3_pins_a: spi3@0 {
872 MX28_PAD_AUART2_RX__SSP3_D4
873 MX28_PAD_AUART2_TX__SSP3_D5
874 MX28_PAD_SSP3_SCK__SSP3_SCK
875 MX28_PAD_SSP3_MOSI__SSP3_CMD
876 MX28_PAD_SSP3_MISO__SSP3_D0
877 MX28_PAD_SSP3_SS0__SSP3_D3
879 fsl,drive-strength = <MXS_DRIVE_8mA>;
880 fsl,voltage = <MXS_VOLTAGE_HIGH>;
881 fsl,pull-up = <MXS_PULL_DISABLE>;
884 spi3_pins_b: spi3@1 {
887 MX28_PAD_SSP3_SCK__SSP3_SCK
888 MX28_PAD_SSP3_MOSI__SSP3_CMD
889 MX28_PAD_SSP3_MISO__SSP3_D0
890 MX28_PAD_SSP3_SS0__SSP3_D3
892 fsl,drive-strength = <MXS_DRIVE_8mA>;
893 fsl,voltage = <MXS_VOLTAGE_HIGH>;
894 fsl,pull-up = <MXS_PULL_ENABLE>;
897 usb0_pins_a: usb0@0 {
900 MX28_PAD_SSP2_SS2__USB0_OVERCURRENT
902 fsl,drive-strength = <MXS_DRIVE_12mA>;
903 fsl,voltage = <MXS_VOLTAGE_HIGH>;
904 fsl,pull-up = <MXS_PULL_DISABLE>;
907 usb0_pins_b: usb0@1 {
910 MX28_PAD_AUART1_CTS__USB0_OVERCURRENT
912 fsl,drive-strength = <MXS_DRIVE_12mA>;
913 fsl,voltage = <MXS_VOLTAGE_HIGH>;
914 fsl,pull-up = <MXS_PULL_DISABLE>;
917 usb1_pins_a: usb1@0 {
920 MX28_PAD_SSP2_SS1__USB1_OVERCURRENT
922 fsl,drive-strength = <MXS_DRIVE_12mA>;
923 fsl,voltage = <MXS_VOLTAGE_HIGH>;
924 fsl,pull-up = <MXS_PULL_DISABLE>;
927 usb0_id_pins_a: usb0id@0 {
930 MX28_PAD_AUART1_RTS__USB0_ID
932 fsl,drive-strength = <MXS_DRIVE_12mA>;
933 fsl,voltage = <MXS_VOLTAGE_HIGH>;
934 fsl,pull-up = <MXS_PULL_ENABLE>;
937 usb0_id_pins_b: usb0id1@0 {
940 MX28_PAD_PWM2__USB0_ID
942 fsl,drive-strength = <MXS_DRIVE_12mA>;
943 fsl,voltage = <MXS_VOLTAGE_HIGH>;
944 fsl,pull-up = <MXS_PULL_ENABLE>;
949 digctl: digctl@8001c000 {
950 compatible = "fsl,imx28-digctl", "fsl,imx23-digctl";
951 reg = <0x8001c000 0x2000>;
957 reg = <0x80022000 0x2000>;
961 dma_apbx: dma-apbx@80024000 {
962 compatible = "fsl,imx28-dma-apbx";
963 reg = <0x80024000 0x2000>;
964 interrupts = <78 79 66 0
968 interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
969 "saif0", "saif1", "i2c0", "i2c1",
970 "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
971 "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
978 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp";
979 reg = <0x80028000 0x2000>;
980 interrupts = <52 53 54>;
985 reg = <0x8002a000 0x2000>;
990 ocotp: ocotp@8002c000 {
991 compatible = "fsl,imx28-ocotp", "fsl,ocotp";
992 #address-cells = <1>;
994 reg = <0x8002c000 0x2000>;
999 reg = <0x8002e000 0x2000>;
1000 status = "disabled";
1003 lcdif: lcdif@80030000 {
1004 compatible = "fsl,imx28-lcdif";
1005 reg = <0x80030000 0x2000>;
1007 clocks = <&clks 55>;
1008 dmas = <&dma_apbh 13>;
1010 status = "disabled";
1013 can0: can@80032000 {
1014 compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
1015 reg = <0x80032000 0x2000>;
1017 clocks = <&clks 58>, <&clks 58>;
1018 clock-names = "ipg", "per";
1019 status = "disabled";
1022 can1: can@80034000 {
1023 compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
1024 reg = <0x80034000 0x2000>;
1026 clocks = <&clks 59>, <&clks 59>;
1027 clock-names = "ipg", "per";
1028 status = "disabled";
1031 simdbg: simdbg@8003c000 {
1032 reg = <0x8003c000 0x200>;
1033 status = "disabled";
1036 simgpmisel: simgpmisel@8003c200 {
1037 reg = <0x8003c200 0x100>;
1038 status = "disabled";
1041 simsspsel: simsspsel@8003c300 {
1042 reg = <0x8003c300 0x100>;
1043 status = "disabled";
1046 simmemsel: simmemsel@8003c400 {
1047 reg = <0x8003c400 0x100>;
1048 status = "disabled";
1051 gpiomon: gpiomon@8003c500 {
1052 reg = <0x8003c500 0x100>;
1053 status = "disabled";
1056 simenet: simenet@8003c700 {
1057 reg = <0x8003c700 0x100>;
1058 status = "disabled";
1061 armjtag: armjtag@8003c800 {
1062 reg = <0x8003c800 0x100>;
1063 status = "disabled";
1068 compatible = "simple-bus";
1069 #address-cells = <1>;
1071 reg = <0x80040000 0x40000>;
1074 clks: clkctrl@80040000 {
1075 compatible = "fsl,imx28-clkctrl", "fsl,clkctrl";
1076 reg = <0x80040000 0x2000>;
1080 saif0: saif@80042000 {
1081 compatible = "fsl,imx28-saif";
1082 reg = <0x80042000 0x2000>;
1085 clocks = <&clks 53>;
1086 dmas = <&dma_apbx 4>;
1087 dma-names = "rx-tx";
1088 status = "disabled";
1091 power: power@80044000 {
1092 reg = <0x80044000 0x2000>;
1093 status = "disabled";
1096 saif1: saif@80046000 {
1097 compatible = "fsl,imx28-saif";
1098 reg = <0x80046000 0x2000>;
1100 clocks = <&clks 54>;
1101 dmas = <&dma_apbx 5>;
1102 dma-names = "rx-tx";
1103 status = "disabled";
1106 lradc: lradc@80050000 {
1107 compatible = "fsl,imx28-lradc";
1108 reg = <0x80050000 0x2000>;
1109 interrupts = <10 14 15 16 17 18 19
1111 status = "disabled";
1112 clocks = <&clks 41>;
1113 #io-channel-cells = <1>;
1116 spdif: spdif@80054000 {
1117 reg = <0x80054000 0x2000>;
1119 dmas = <&dma_apbx 2>;
1121 status = "disabled";
1124 mxs_rtc: rtc@80056000 {
1125 compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
1126 reg = <0x80056000 0x2000>;
1130 i2c0: i2c@80058000 {
1131 #address-cells = <1>;
1133 compatible = "fsl,imx28-i2c";
1134 reg = <0x80058000 0x2000>;
1136 clock-frequency = <100000>;
1137 dmas = <&dma_apbx 6>;
1138 dma-names = "rx-tx";
1139 status = "disabled";
1142 i2c1: i2c@8005a000 {
1143 #address-cells = <1>;
1145 compatible = "fsl,imx28-i2c";
1146 reg = <0x8005a000 0x2000>;
1148 clock-frequency = <100000>;
1149 dmas = <&dma_apbx 7>;
1150 dma-names = "rx-tx";
1151 status = "disabled";
1155 compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
1156 reg = <0x80064000 0x2000>;
1157 clocks = <&clks 44>;
1159 fsl,pwm-number = <8>;
1160 status = "disabled";
1163 timer: timrot@80068000 {
1164 compatible = "fsl,imx28-timrot", "fsl,timrot";
1165 reg = <0x80068000 0x2000>;
1166 interrupts = <48 49 50 51>;
1167 clocks = <&clks 26>;
1170 auart0: serial@8006a000 {
1171 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
1172 reg = <0x8006a000 0x2000>;
1174 dmas = <&dma_apbx 8>, <&dma_apbx 9>;
1175 dma-names = "rx", "tx";
1176 clocks = <&clks 45>;
1177 status = "disabled";
1180 auart1: serial@8006c000 {
1181 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
1182 reg = <0x8006c000 0x2000>;
1184 dmas = <&dma_apbx 10>, <&dma_apbx 11>;
1185 dma-names = "rx", "tx";
1186 clocks = <&clks 45>;
1187 status = "disabled";
1190 auart2: serial@8006e000 {
1191 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
1192 reg = <0x8006e000 0x2000>;
1194 dmas = <&dma_apbx 12>, <&dma_apbx 13>;
1195 dma-names = "rx", "tx";
1196 clocks = <&clks 45>;
1197 status = "disabled";
1200 auart3: serial@80070000 {
1201 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
1202 reg = <0x80070000 0x2000>;
1204 dmas = <&dma_apbx 14>, <&dma_apbx 15>;
1205 dma-names = "rx", "tx";
1206 clocks = <&clks 45>;
1207 status = "disabled";
1210 auart4: serial@80072000 {
1211 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
1212 reg = <0x80072000 0x2000>;
1214 dmas = <&dma_apbx 0>, <&dma_apbx 1>;
1215 dma-names = "rx", "tx";
1216 clocks = <&clks 45>;
1217 status = "disabled";
1220 duart: serial@80074000 {
1221 compatible = "arm,pl011", "arm,primecell";
1222 reg = <0x80074000 0x1000>;
1224 clocks = <&clks 45>, <&clks 26>;
1225 clock-names = "uart", "apb_pclk";
1226 status = "disabled";
1229 usbphy0: usbphy@8007c000 {
1230 compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
1231 reg = <0x8007c000 0x2000>;
1232 clocks = <&clks 62>;
1233 status = "disabled";
1236 usbphy1: usbphy@8007e000 {
1237 compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
1238 reg = <0x8007e000 0x2000>;
1239 clocks = <&clks 63>;
1240 status = "disabled";
1246 compatible = "simple-bus";
1247 #address-cells = <1>;
1249 reg = <0x80080000 0x80000>;
1252 usb0: usb@80080000 {
1253 compatible = "fsl,imx28-usb", "fsl,imx27-usb";
1254 reg = <0x80080000 0x10000>;
1256 clocks = <&clks 60>;
1257 fsl,usbphy = <&usbphy0>;
1258 status = "disabled";
1261 usb1: usb@80090000 {
1262 compatible = "fsl,imx28-usb", "fsl,imx27-usb";
1263 reg = <0x80090000 0x10000>;
1265 clocks = <&clks 61>;
1266 fsl,usbphy = <&usbphy1>;
1268 status = "disabled";
1271 dflpt: dflpt@800c0000 {
1272 reg = <0x800c0000 0x10000>;
1273 status = "disabled";
1276 mac0: ethernet@800f0000 {
1277 compatible = "fsl,imx28-fec";
1278 reg = <0x800f0000 0x4000>;
1280 clocks = <&clks 57>, <&clks 57>, <&clks 64>;
1281 clock-names = "ipg", "ahb", "enet_out";
1282 status = "disabled";
1285 mac1: ethernet@800f4000 {
1286 compatible = "fsl,imx28-fec";
1287 reg = <0x800f4000 0x4000>;
1289 clocks = <&clks 57>, <&clks 57>;
1290 clock-names = "ipg", "ahb";
1291 status = "disabled";
1294 etn_switch: switch@800f8000 {
1295 reg = <0x800f8000 0x8000>;
1296 status = "disabled";
1301 compatible = "iio-hwmon";
1302 io-channels = <&lradc 8>;