imx28.dtsi 25.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/*
 * Copyright 2012 Freescale Semiconductor, Inc.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/include/ "skeleton.dtsi"

/ {
	interrupt-parent = <&icoll>;

17
	aliases {
F
Fabio Estevam 已提交
18 19
		ethernet0 = &mac0;
		ethernet1 = &mac1;
20 21 22 23 24
		gpio0 = &gpio0;
		gpio1 = &gpio1;
		gpio2 = &gpio2;
		gpio3 = &gpio3;
		gpio4 = &gpio4;
25 26
		saif0 = &saif0;
		saif1 = &saif1;
27 28 29 30 31
		serial0 = &auart0;
		serial1 = &auart1;
		serial2 = &auart2;
		serial3 = &auart3;
		serial4 = &auart4;
F
Fabio Estevam 已提交
32 33
		spi0 = &ssp1;
		spi1 = &ssp2;
34 35
	};

36
	cpus {
37 38 39 40 41 42
		#address-cells = <0>;
		#size-cells = <0>;

		cpu {
			compatible = "arm,arm926ej-s";
			device_type = "cpu";
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
		};
	};

	apb@80000000 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x80000000 0x80000>;
		ranges;

		apbh@80000000 {
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x80000000 0x3c900>;
			ranges;

			icoll: interrupt-controller@80000000 {
61
				compatible = "fsl,imx28-icoll", "fsl,icoll";
62 63 64 65 66
				interrupt-controller;
				#interrupt-cells = <1>;
				reg = <0x80000000 0x2000>;
			};

67
			hsadc: hsadc@80002000 {
F
Fabio Estevam 已提交
68
				reg = <0x80002000 0x2000>;
69
				interrupts = <13>;
70 71
				dmas = <&dma_apbh 12>;
				dma-names = "rx";
72 73 74
				status = "disabled";
			};

75
			dma_apbh: dma-apbh@80004000 {
D
Dong Aisheng 已提交
76
				compatible = "fsl,imx28-dma-apbh";
F
Fabio Estevam 已提交
77
				reg = <0x80004000 0x2000>;
78 79 80 81 82 83 84 85 86 87
				interrupts = <82 83 84 85
					      88 88 88 88
					      88 88 88 88
					      87 86 0 0>;
				interrupt-names = "ssp0", "ssp1", "ssp2", "ssp3",
						  "gpmi0", "gmpi1", "gpmi2", "gmpi3",
						  "gpmi4", "gmpi5", "gpmi6", "gmpi7",
						  "hsadc", "lcdif", "empty", "empty";
				#dma-cells = <1>;
				dma-channels = <16>;
88
				clocks = <&clks 25>;
89 90
			};

91
			perfmon: perfmon@80006000 {
F
Fabio Estevam 已提交
92
				reg = <0x80006000 0x800>;
93 94 95 96
				interrupts = <27>;
				status = "disabled";
			};

97
			gpmi: gpmi-nand@8000c000 {
H
Huang Shijie 已提交
98 99 100
				compatible = "fsl,imx28-gpmi-nand";
				#address-cells = <1>;
				#size-cells = <1>;
F
Fabio Estevam 已提交
101
				reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
H
Huang Shijie 已提交
102
				reg-names = "gpmi-nand", "bch";
103 104
				interrupts = <41>;
				interrupt-names = "bch";
105
				clocks = <&clks 50>;
106
				clock-names = "gpmi_io";
107 108
				dmas = <&dma_apbh 4>;
				dma-names = "rx-tx";
109 110 111 112
				status = "disabled";
			};

			ssp0: ssp@80010000 {
113 114
				#address-cells = <1>;
				#size-cells = <0>;
F
Fabio Estevam 已提交
115
				reg = <0x80010000 0x2000>;
116
				interrupts = <96>;
117
				clocks = <&clks 46>;
118 119
				dmas = <&dma_apbh 0>;
				dma-names = "rx-tx";
120 121 122 123
				status = "disabled";
			};

			ssp1: ssp@80012000 {
124 125
				#address-cells = <1>;
				#size-cells = <0>;
F
Fabio Estevam 已提交
126
				reg = <0x80012000 0x2000>;
127
				interrupts = <97>;
128
				clocks = <&clks 47>;
129 130
				dmas = <&dma_apbh 1>;
				dma-names = "rx-tx";
131 132 133 134
				status = "disabled";
			};

			ssp2: ssp@80014000 {
135 136
				#address-cells = <1>;
				#size-cells = <0>;
F
Fabio Estevam 已提交
137
				reg = <0x80014000 0x2000>;
138
				interrupts = <98>;
139
				clocks = <&clks 48>;
140 141
				dmas = <&dma_apbh 2>;
				dma-names = "rx-tx";
142 143 144 145
				status = "disabled";
			};

			ssp3: ssp@80016000 {
146 147
				#address-cells = <1>;
				#size-cells = <0>;
F
Fabio Estevam 已提交
148
				reg = <0x80016000 0x2000>;
149
				interrupts = <99>;
150
				clocks = <&clks 49>;
151 152
				dmas = <&dma_apbh 3>;
				dma-names = "rx-tx";
153 154 155
				status = "disabled";
			};

156
			pinctrl: pinctrl@80018000 {
157 158
				#address-cells = <1>;
				#size-cells = <0>;
159
				compatible = "fsl,imx28-pinctrl", "simple-bus";
F
Fabio Estevam 已提交
160
				reg = <0x80018000 0x2000>;
161

162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
				gpio0: gpio@0 {
					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
					interrupts = <127>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupt-controller;
					#interrupt-cells = <2>;
				};

				gpio1: gpio@1 {
					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
					interrupts = <126>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupt-controller;
					#interrupt-cells = <2>;
				};

				gpio2: gpio@2 {
					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
					interrupts = <125>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupt-controller;
					#interrupt-cells = <2>;
				};

				gpio3: gpio@3 {
					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
					interrupts = <124>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupt-controller;
					#interrupt-cells = <2>;
				};

				gpio4: gpio@4 {
					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
					interrupts = <123>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupt-controller;
					#interrupt-cells = <2>;
				};

207 208
				duart_pins_a: duart@0 {
					reg = <0>;
209 210 211 212
					fsl,pinmux-ids = <
						0x3102 /* MX28_PAD_PWM0__DUART_RX */
						0x3112 /* MX28_PAD_PWM1__DUART_TX */
					>;
213 214 215 216 217
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

218 219
				duart_pins_b: duart@1 {
					reg = <1>;
220 221 222 223
					fsl,pinmux-ids = <
						0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
						0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
					>;
224 225 226 227 228
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

229 230 231 232 233 234 235 236 237 238 239 240 241
				duart_4pins_a: duart-4pins@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
						0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
						0x3002 /* MX28_PAD_AUART0_RX__DUART_CTS */
						0x3012 /* MX28_PAD_AUART0_TX__DUART_RTS */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

H
Huang Shijie 已提交
242 243
				gpmi_pins_a: gpmi-nand@0 {
					reg = <0>;
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
					fsl,pinmux-ids = <
						0x0000 /* MX28_PAD_GPMI_D00__GPMI_D0 */
						0x0010 /* MX28_PAD_GPMI_D01__GPMI_D1 */
						0x0020 /* MX28_PAD_GPMI_D02__GPMI_D2 */
						0x0030 /* MX28_PAD_GPMI_D03__GPMI_D3 */
						0x0040 /* MX28_PAD_GPMI_D04__GPMI_D4 */
						0x0050 /* MX28_PAD_GPMI_D05__GPMI_D5 */
						0x0060 /* MX28_PAD_GPMI_D06__GPMI_D6 */
						0x0070 /* MX28_PAD_GPMI_D07__GPMI_D7 */
						0x0100 /* MX28_PAD_GPMI_CE0N__GPMI_CE0N */
						0x0140 /* MX28_PAD_GPMI_RDY0__GPMI_READY0 */
						0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
						0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
						0x01a0 /* MX28_PAD_GPMI_ALE__GPMI_ALE */
						0x01b0 /* MX28_PAD_GPMI_CLE__GPMI_CLE */
						0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
					>;
H
Huang Shijie 已提交
261 262 263 264 265 266
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				gpmi_status_cfg: gpmi-status-cfg {
267 268 269 270 271
					fsl,pinmux-ids = <
						0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
						0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
						0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
					>;
H
Huang Shijie 已提交
272 273 274
					fsl,drive-strength = <2>;
				};

275 276
				auart0_pins_a: auart0@0 {
					reg = <0>;
277 278 279 280 281 282
					fsl,pinmux-ids = <
						0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
						0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
						0x3020 /* MX28_PAD_AUART0_CTS__AUART0_CTS */
						0x3030 /* MX28_PAD_AUART0_RTS__AUART0_RTS */
					>;
283
					fsl,drive-strength = <0>;
284 285 286 287 288 289 290 291 292 293 294
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				auart0_2pins_a: auart0-2pins@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
						0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
					>;
					fsl,drive-strength = <0>;
295 296 297 298
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

299 300 301 302 303 304 305 306 307 308 309 310 311
				auart1_pins_a: auart1@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
						0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
						0x3060 /* MX28_PAD_AUART1_CTS__AUART1_CTS */
						0x3070 /* MX28_PAD_AUART1_RTS__AUART1_RTS */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
				auart1_2pins_a: auart1-2pins@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
						0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				auart2_2pins_a: auart2-2pins@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2101 /* MX28_PAD_SSP2_SCK__AUART2_RX */
						0x2111 /* MX28_PAD_SSP2_MOSI__AUART2_TX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

334 335 336 337 338 339 340 341 342 343 344
				auart2_2pins_b: auart2-2pins@1 {
					reg = <1>;
					fsl,pinmux-ids = <
						0x3080 /* MX28_PAD_AUART2_RX__AUART2_RX */
						0x3090 /* MX28_PAD_AUART2_TX__AUART2_TX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

345 346
				auart3_pins_a: auart3@0 {
					reg = <0>;
347 348 349 350 351 352
					fsl,pinmux-ids = <
						0x30c0 /* MX28_PAD_AUART3_RX__AUART3_RX */
						0x30d0 /* MX28_PAD_AUART3_TX__AUART3_TX */
						0x30e0 /* MX28_PAD_AUART3_CTS__AUART3_CTS */
						0x30f0 /* MX28_PAD_AUART3_RTS__AUART3_RTS */
					>;
353 354 355 356 357
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

358 359 360 361 362 363 364 365 366 367 368
				auart3_2pins_a: auart3-2pins@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2121 /* MX28_PAD_SSP2_MISO__AUART3_RX */
						0x2131 /* MX28_PAD_SSP2_SS0__AUART3_TX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

369 370 371 372 373 374 375 376 377 378 379
				auart3_2pins_b: auart3-2pins@1 {
					reg = <1>;
					fsl,pinmux-ids = <
						0x30c0 /* MX28_PAD_AUART3_RX__AUART3_RX */
						0x30d0 /* MX28_PAD_AUART3_TX__AUART3_TX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

380 381 382 383 384 385 386 387 388 389 390
				auart4_2pins_a: auart4@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2181 /* MX28_PAD_SSP3_SCK__AUART4_TX */
						0x2191 /* MX28_PAD_SSP3_MOSI__AUART4_RX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

391 392
				mac0_pins_a: mac0@0 {
					reg = <0>;
393 394 395 396 397 398 399 400 401 402 403
					fsl,pinmux-ids = <
						0x4000 /* MX28_PAD_ENET0_MDC__ENET0_MDC */
						0x4010 /* MX28_PAD_ENET0_MDIO__ENET0_MDIO */
						0x4020 /* MX28_PAD_ENET0_RX_EN__ENET0_RX_EN */
						0x4030 /* MX28_PAD_ENET0_RXD0__ENET0_RXD0 */
						0x4040 /* MX28_PAD_ENET0_RXD1__ENET0_RXD1 */
						0x4060 /* MX28_PAD_ENET0_TX_EN__ENET0_TX_EN */
						0x4070 /* MX28_PAD_ENET0_TXD0__ENET0_TXD0 */
						0x4080 /* MX28_PAD_ENET0_TXD1__ENET0_TXD1 */
						0x4100 /* MX28_PAD_ENET_CLK__CLKCTRL_ENET */
					>;
404 405 406 407 408 409 410
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

				mac1_pins_a: mac1@0 {
					reg = <0>;
411 412 413 414 415 416 417 418
					fsl,pinmux-ids = <
						0x40f1 /* MX28_PAD_ENET0_CRS__ENET1_RX_EN */
						0x4091 /* MX28_PAD_ENET0_RXD2__ENET1_RXD0 */
						0x40a1 /* MX28_PAD_ENET0_RXD3__ENET1_RXD1 */
						0x40e1 /* MX28_PAD_ENET0_COL__ENET1_TX_EN */
						0x40b1 /* MX28_PAD_ENET0_TXD2__ENET1_TXD0 */
						0x40c1 /* MX28_PAD_ENET0_TXD3__ENET1_TXD1 */
					>;
419 420 421 422
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};
S
Shawn Guo 已提交
423 424 425

				mmc0_8bit_pins_a: mmc0-8bit@0 {
					reg = <0>;
426 427 428 429 430 431 432 433 434 435 436 437 438
					fsl,pinmux-ids = <
						0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
						0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
						0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
						0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
						0x2040 /* MX28_PAD_SSP0_DATA4__SSP0_D4 */
						0x2050 /* MX28_PAD_SSP0_DATA5__SSP0_D5 */
						0x2060 /* MX28_PAD_SSP0_DATA6__SSP0_D6 */
						0x2070 /* MX28_PAD_SSP0_DATA7__SSP0_D7 */
						0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
						0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
						0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
					>;
S
Shawn Guo 已提交
439 440 441 442 443
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

444 445
				mmc0_4bit_pins_a: mmc0-4bit@0 {
					reg = <0>;
446 447 448 449 450 451 452 453 454
					fsl,pinmux-ids = <
						0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
						0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
						0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
						0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
						0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
						0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
						0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
					>;
455 456 457 458 459
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

S
Shawn Guo 已提交
460
				mmc0_cd_cfg: mmc0-cd-cfg {
461 462 463
					fsl,pinmux-ids = <
						0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
					>;
S
Shawn Guo 已提交
464 465 466 467
					fsl,pull-up = <0>;
				};

				mmc0_sck_cfg: mmc0-sck-cfg {
468 469 470
					fsl,pinmux-ids = <
						0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
					>;
S
Shawn Guo 已提交
471 472 473
					fsl,drive-strength = <2>;
					fsl,pull-up = <0>;
				};
474 475 476

				i2c0_pins_a: i2c0@0 {
					reg = <0>;
477 478 479 480
					fsl,pinmux-ids = <
						0x3180 /* MX28_PAD_I2C0_SCL__I2C0_SCL */
						0x3190 /* MX28_PAD_I2C0_SDA__I2C0_SDA */
					>;
481 482 483 484
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};
485

486 487 488 489 490 491 492 493 494 495 496
				i2c0_pins_b: i2c0@1 {
					reg = <1>;
					fsl,pinmux-ids = <
						0x3001 /* MX28_PAD_AUART0_RX__I2C0_SCL */
						0x3011 /* MX28_PAD_AUART0_TX__I2C0_SDA */
					>;
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

497 498 499 500 501 502 503 504 505 506 507
				i2c1_pins_a: i2c1@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3101 /* MX28_PAD_PWM0__I2C1_SCL */
						0x3111 /* MX28_PAD_PWM1__I2C1_SDA */
					>;
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

508 509
				saif0_pins_a: saif0@0 {
					reg = <0>;
510 511 512 513 514 515
					fsl,pinmux-ids = <
						0x3140 /* MX28_PAD_SAIF0_MCLK__SAIF0_MCLK */
						0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
						0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
						0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
					>;
516 517 518 519 520 521 522
					fsl,drive-strength = <2>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};

				saif1_pins_a: saif1@0 {
					reg = <0>;
523 524 525
					fsl,pinmux-ids = <
						0x31a0 /* MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 */
					>;
526 527 528 529
					fsl,drive-strength = <2>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};
530

531 532 533 534 535 536 537 538 539 540
				pwm0_pins_a: pwm0@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3100 /* MX28_PAD_PWM0__PWM_0 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

541 542 543 544 545 546 547 548 549
				pwm2_pins_a: pwm2@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x3120 /* MX28_PAD_PWM2__PWM_2 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};
550

551 552 553 554 555 556 557 558 559 560
				pwm3_pins_a: pwm3@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x31c0 /* MX28_PAD_PWM3__PWM_3 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

561 562 563 564 565 566 567 568 569 570
				pwm3_pins_b: pwm3@1 {
					reg = <1>;
					fsl,pinmux-ids = <
						0x3141 /* MX28_PAD_SAIF0_MCLK__PWM3 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

571 572 573 574 575 576 577 578 579 580
				pwm4_pins_a: pwm4@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x31d0 /* MX28_PAD_PWM4__PWM_4 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612
				lcdif_24bit_pins_a: lcdif-24bit@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
						0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
						0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
						0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
						0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
						0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
						0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
						0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
						0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
						0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
						0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
						0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
						0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
						0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
						0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
						0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
						0x1100 /* MX28_PAD_LCD_D16__LCD_D16 */
						0x1110 /* MX28_PAD_LCD_D17__LCD_D17 */
						0x1120 /* MX28_PAD_LCD_D18__LCD_D18 */
						0x1130 /* MX28_PAD_LCD_D19__LCD_D19 */
						0x1140 /* MX28_PAD_LCD_D20__LCD_D20 */
						0x1150 /* MX28_PAD_LCD_D21__LCD_D21 */
						0x1160 /* MX28_PAD_LCD_D22__LCD_D22 */
						0x1170 /* MX28_PAD_LCD_D23__LCD_D23 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};
613

614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
				lcdif_16bit_pins_a: lcdif-16bit@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
						0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
						0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
						0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
						0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
						0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
						0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
						0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
						0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
						0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
						0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
						0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
						0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
						0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
						0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
						0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659
				can0_pins_a: can0@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x0161 /* MX28_PAD_GPMI_RDY2__CAN0_TX */
						0x0171 /* MX28_PAD_GPMI_RDY3__CAN0_RX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				can1_pins_a: can1@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x0121 /* MX28_PAD_GPMI_CE2N__CAN1_TX */
						0x0131 /* MX28_PAD_GPMI_CE3N__CAN1_RX */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};
660 661 662 663 664 665 666 667 668 669 670 671 672

				spi2_pins_a: spi2@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2100 /* MX28_PAD_SSP2_SCK__SSP2_SCK */
						0x2110 /* MX28_PAD_SSP2_MOSI__SSP2_CMD */
						0x2120 /* MX28_PAD_SSP2_MISO__SSP2_D0 */
						0x2130 /* MX28_PAD_SSP2_SS0__SSP2_D3 */
					>;
					fsl,drive-strength = <1>;
					fsl,voltage = <1>;
					fsl,pull-up = <1>;
				};
673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702

				usbphy0_pins_a: usbphy0@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2152 /* MX28_PAD_SSP2_SS2__USB0_OVERCURRENT */
					>;
					fsl,drive-strength = <2>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				usbphy0_pins_b: usbphy0@1 {
					reg = <1>;
					fsl,pinmux-ids = <
						0x3061 /* MX28_PAD_AUART1_CTS__USB0_OVERCURRENT */
					>;
					fsl,drive-strength = <2>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				usbphy1_pins_a: usbphy1@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x2142 /* MX28_PAD_SSP2_SS1__USB1_OVERCURRENT */
					>;
					fsl,drive-strength = <2>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};
703 704
			};

705
			digctl: digctl@8001c000 {
706
				compatible = "fsl,imx28-digctl", "fsl,imx23-digctl";
F
Fabio Estevam 已提交
707
				reg = <0x8001c000 0x2000>;
708 709 710 711
				interrupts = <89>;
				status = "disabled";
			};

712
			etm: etm@80022000 {
F
Fabio Estevam 已提交
713
				reg = <0x80022000 0x2000>;
714 715 716
				status = "disabled";
			};

717
			dma_apbx: dma-apbx@80024000 {
D
Dong Aisheng 已提交
718
				compatible = "fsl,imx28-dma-apbx";
F
Fabio Estevam 已提交
719
				reg = <0x80024000 0x2000>;
720 721 722 723 724 725 726 727 728 729
				interrupts = <78 79 66 0
					      80 81 68 69
					      70 71 72 73
					      74 75 76 77>;
				interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
						  "saif0", "saif1", "i2c0", "i2c1",
						  "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
						  "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
				#dma-cells = <1>;
				dma-channels = <16>;
730
				clocks = <&clks 26>;
731 732
			};

733
			dcp: dcp@80028000 {
F
Fabio Estevam 已提交
734
				reg = <0x80028000 0x2000>;
735
				interrupts = <52 53 54>;
736
				compatible = "fsl-dcp";
737 738
			};

739
			pxp: pxp@8002a000 {
F
Fabio Estevam 已提交
740
				reg = <0x8002a000 0x2000>;
741 742 743 744
				interrupts = <39>;
				status = "disabled";
			};

745
			ocotp: ocotp@8002c000 {
746
				compatible = "fsl,ocotp";
F
Fabio Estevam 已提交
747
				reg = <0x8002c000 0x2000>;
748 749 750 751
				status = "disabled";
			};

			axi-ahb@8002e000 {
F
Fabio Estevam 已提交
752
				reg = <0x8002e000 0x2000>;
753 754 755
				status = "disabled";
			};

756
			lcdif: lcdif@80030000 {
757
				compatible = "fsl,imx28-lcdif";
F
Fabio Estevam 已提交
758
				reg = <0x80030000 0x2000>;
759
				interrupts = <38>;
760
				clocks = <&clks 55>;
761 762
				dmas = <&dma_apbh 13>;
				dma-names = "rx";
763 764 765 766
				status = "disabled";
			};

			can0: can@80032000 {
767
				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
F
Fabio Estevam 已提交
768
				reg = <0x80032000 0x2000>;
769
				interrupts = <8>;
770 771
				clocks = <&clks 58>, <&clks 58>;
				clock-names = "ipg", "per";
772 773 774 775
				status = "disabled";
			};

			can1: can@80034000 {
776
				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
F
Fabio Estevam 已提交
777
				reg = <0x80034000 0x2000>;
778
				interrupts = <9>;
779 780
				clocks = <&clks 59>, <&clks 59>;
				clock-names = "ipg", "per";
781 782 783
				status = "disabled";
			};

784
			simdbg: simdbg@8003c000 {
F
Fabio Estevam 已提交
785
				reg = <0x8003c000 0x200>;
786 787 788
				status = "disabled";
			};

789
			simgpmisel: simgpmisel@8003c200 {
F
Fabio Estevam 已提交
790
				reg = <0x8003c200 0x100>;
791 792 793
				status = "disabled";
			};

794
			simsspsel: simsspsel@8003c300 {
F
Fabio Estevam 已提交
795
				reg = <0x8003c300 0x100>;
796 797 798
				status = "disabled";
			};

799
			simmemsel: simmemsel@8003c400 {
F
Fabio Estevam 已提交
800
				reg = <0x8003c400 0x100>;
801 802 803
				status = "disabled";
			};

804
			gpiomon: gpiomon@8003c500 {
F
Fabio Estevam 已提交
805
				reg = <0x8003c500 0x100>;
806 807 808
				status = "disabled";
			};

809
			simenet: simenet@8003c700 {
F
Fabio Estevam 已提交
810
				reg = <0x8003c700 0x100>;
811 812 813
				status = "disabled";
			};

814
			armjtag: armjtag@8003c800 {
F
Fabio Estevam 已提交
815
				reg = <0x8003c800 0x100>;
816 817
				status = "disabled";
			};
818
		};
819 820 821 822 823 824 825 826

		apbx@80040000 {
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x80040000 0x40000>;
			ranges;

827
			clks: clkctrl@80040000 {
828
				compatible = "fsl,imx28-clkctrl", "fsl,clkctrl";
F
Fabio Estevam 已提交
829
				reg = <0x80040000 0x2000>;
830
				#clock-cells = <1>;
831 832 833
			};

			saif0: saif@80042000 {
834
				compatible = "fsl,imx28-saif";
F
Fabio Estevam 已提交
835
				reg = <0x80042000 0x2000>;
836
				interrupts = <59>;
837
				#clock-cells = <0>;
838
				clocks = <&clks 53>;
839 840
				dmas = <&dma_apbx 4>;
				dma-names = "rx-tx";
841 842 843
				status = "disabled";
			};

844
			power: power@80044000 {
F
Fabio Estevam 已提交
845
				reg = <0x80044000 0x2000>;
846 847 848 849
				status = "disabled";
			};

			saif1: saif@80046000 {
850
				compatible = "fsl,imx28-saif";
F
Fabio Estevam 已提交
851
				reg = <0x80046000 0x2000>;
852
				interrupts = <58>;
853
				clocks = <&clks 54>;
854 855
				dmas = <&dma_apbx 5>;
				dma-names = "rx-tx";
856 857 858
				status = "disabled";
			};

859
			lradc: lradc@80050000 {
860
				compatible = "fsl,imx28-lradc";
F
Fabio Estevam 已提交
861
				reg = <0x80050000 0x2000>;
862 863
				interrupts = <10 14 15 16 17 18 19
						20 21 22 23 24 25>;
864 865 866
				status = "disabled";
			};

867
			spdif: spdif@80054000 {
F
Fabio Estevam 已提交
868
				reg = <0x80054000 0x2000>;
869
				interrupts = <45>;
870 871
				dmas = <&dma_apbx 2>;
				dma-names = "tx";
872 873 874
				status = "disabled";
			};

875
			mxs_rtc: rtc@80056000 {
876
				compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
F
Fabio Estevam 已提交
877
				reg = <0x80056000 0x2000>;
878
				interrupts = <29>;
879 880 881
			};

			i2c0: i2c@80058000 {
882 883 884
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx28-i2c";
F
Fabio Estevam 已提交
885
				reg = <0x80058000 0x2000>;
886
				interrupts = <111>;
887
				clock-frequency = <100000>;
888 889
				dmas = <&dma_apbx 6>;
				dma-names = "rx-tx";
890 891 892 893
				status = "disabled";
			};

			i2c1: i2c@8005a000 {
894 895 896
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx28-i2c";
F
Fabio Estevam 已提交
897
				reg = <0x8005a000 0x2000>;
898
				interrupts = <110>;
899
				clock-frequency = <100000>;
900 901
				dmas = <&dma_apbx 7>;
				dma-names = "rx-tx";
902 903 904
				status = "disabled";
			};

905 906
			pwm: pwm@80064000 {
				compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
F
Fabio Estevam 已提交
907
				reg = <0x80064000 0x2000>;
908
				clocks = <&clks 44>;
909 910
				#pwm-cells = <2>;
				fsl,pwm-number = <8>;
911 912 913
				status = "disabled";
			};

914
			timer: timrot@80068000 {
915
				compatible = "fsl,imx28-timrot", "fsl,timrot";
F
Fabio Estevam 已提交
916
				reg = <0x80068000 0x2000>;
917
				interrupts = <48 49 50 51>;
918
				clocks = <&clks 26>;
919 920 921
			};

			auart0: serial@8006a000 {
922
				compatible = "fsl,imx28-auart", "fsl,imx23-auart";
923
				reg = <0x8006a000 0x2000>;
924
				interrupts = <112>;
925 926
				dmas = <&dma_apbx 8>, <&dma_apbx 9>;
				dma-names = "rx", "tx";
927
				clocks = <&clks 45>;
928 929 930 931
				status = "disabled";
			};

			auart1: serial@8006c000 {
932
				compatible = "fsl,imx28-auart", "fsl,imx23-auart";
933
				reg = <0x8006c000 0x2000>;
934
				interrupts = <113>;
935 936
				dmas = <&dma_apbx 10>, <&dma_apbx 11>;
				dma-names = "rx", "tx";
937
				clocks = <&clks 45>;
938 939 940 941
				status = "disabled";
			};

			auart2: serial@8006e000 {
942
				compatible = "fsl,imx28-auart", "fsl,imx23-auart";
943
				reg = <0x8006e000 0x2000>;
944
				interrupts = <114>;
945 946
				dmas = <&dma_apbx 12>, <&dma_apbx 13>;
				dma-names = "rx", "tx";
947
				clocks = <&clks 45>;
948 949 950 951
				status = "disabled";
			};

			auart3: serial@80070000 {
952
				compatible = "fsl,imx28-auart", "fsl,imx23-auart";
953
				reg = <0x80070000 0x2000>;
954
				interrupts = <115>;
955 956
				dmas = <&dma_apbx 14>, <&dma_apbx 15>;
				dma-names = "rx", "tx";
957
				clocks = <&clks 45>;
958 959 960 961
				status = "disabled";
			};

			auart4: serial@80072000 {
962
				compatible = "fsl,imx28-auart", "fsl,imx23-auart";
963
				reg = <0x80072000 0x2000>;
964
				interrupts = <116>;
965 966
				dmas = <&dma_apbx 0>, <&dma_apbx 1>;
				dma-names = "rx", "tx";
967
				clocks = <&clks 45>;
968 969 970 971 972 973 974
				status = "disabled";
			};

			duart: serial@80074000 {
				compatible = "arm,pl011", "arm,primecell";
				reg = <0x80074000 0x1000>;
				interrupts = <47>;
975 976
				clocks = <&clks 45>, <&clks 26>;
				clock-names = "uart", "apb_pclk";
977 978 979 980
				status = "disabled";
			};

			usbphy0: usbphy@8007c000 {
981
				compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
982
				reg = <0x8007c000 0x2000>;
983
				clocks = <&clks 62>;
984 985 986 987
				status = "disabled";
			};

			usbphy1: usbphy@8007e000 {
988
				compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
989
				reg = <0x8007e000 0x2000>;
990
				clocks = <&clks 63>;
991 992 993 994 995 996 997 998 999 1000 1001 1002
				status = "disabled";
			};
		};
	};

	ahb@80080000 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x80080000 0x80000>;
		ranges;

1003 1004
		usb0: usb@80080000 {
			compatible = "fsl,imx28-usb", "fsl,imx27-usb";
1005
			reg = <0x80080000 0x10000>;
1006
			interrupts = <93>;
1007
			clocks = <&clks 60>;
1008
			fsl,usbphy = <&usbphy0>;
1009 1010 1011
			status = "disabled";
		};

1012 1013
		usb1: usb@80090000 {
			compatible = "fsl,imx28-usb", "fsl,imx27-usb";
1014
			reg = <0x80090000 0x10000>;
1015
			interrupts = <92>;
1016
			clocks = <&clks 61>;
1017
			fsl,usbphy = <&usbphy1>;
1018 1019 1020
			status = "disabled";
		};

1021
		dflpt: dflpt@800c0000 {
1022 1023 1024 1025 1026 1027 1028 1029
			reg = <0x800c0000 0x10000>;
			status = "disabled";
		};

		mac0: ethernet@800f0000 {
			compatible = "fsl,imx28-fec";
			reg = <0x800f0000 0x4000>;
			interrupts = <101>;
1030 1031
			clocks = <&clks 57>, <&clks 57>, <&clks 64>;
			clock-names = "ipg", "ahb", "enet_out";
1032 1033 1034 1035 1036 1037 1038
			status = "disabled";
		};

		mac1: ethernet@800f4000 {
			compatible = "fsl,imx28-fec";
			reg = <0x800f4000 0x4000>;
			interrupts = <102>;
1039 1040
			clocks = <&clks 57>, <&clks 57>;
			clock-names = "ipg", "ahb";
1041 1042 1043
			status = "disabled";
		};

1044
		etn_switch: switch@800f8000 {
1045 1046 1047 1048 1049
			reg = <0x800f8000 0x8000>;
			status = "disabled";
		};
	};
};