imx27.dtsi 9.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
/*
 * Copyright 2012 Sascha Hauer, Pengutronix
 *
 * 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
 */

12
#include "skeleton.dtsi"
13 14 15

/ {
	aliases {
S
Shawn Guo 已提交
16 17 18 19 20 21
		gpio0 = &gpio1;
		gpio1 = &gpio2;
		gpio2 = &gpio3;
		gpio3 = &gpio4;
		gpio4 = &gpio5;
		gpio5 = &gpio6;
S
Sascha Hauer 已提交
22 23 24 25 26 27 28 29
		i2c0 = &i2c1;
		i2c1 = &i2c2;
		serial0 = &uart1;
		serial1 = &uart2;
		serial2 = &uart3;
		serial3 = &uart4;
		serial4 = &uart5;
		serial5 = &uart6;
30 31 32
		spi0 = &cspi1;
		spi1 = &cspi2;
		spi2 = &cspi3;
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
	};

	avic: avic-interrupt-controller@e0000000 {
		compatible = "fsl,imx27-avic", "fsl,avic";
		interrupt-controller;
		#interrupt-cells = <1>;
		reg = <0x10040000 0x1000>;
	};

	clocks {
		#address-cells = <1>;
		#size-cells = <0>;

		osc26m {
			compatible = "fsl,imx-osc26m", "fixed-clock";
			clock-frequency = <26000000>;
		};
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		interrupt-parent = <&avic>;
		ranges;

		aipi@10000000 { /* AIPI1 */
			compatible = "fsl,aipi-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
63
			reg = <0x10000000 0x20000>;
64 65
			ranges;

66 67 68 69 70 71 72 73 74 75
			dma: dma@10001000 {
				compatible = "fsl,imx27-dma";
				reg = <0x10001000 0x1000>;
				interrupts = <32>;
				clocks = <&clks 50>, <&clks 70>;
				clock-names = "ipg", "ahb";
				#dma-cells = <1>;
				#dma-channels = <16>;
			};

76
			wdog: wdog@10002000 {
77
				compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
78
				reg = <0x10002000 0x1000>;
79
				interrupts = <27>;
80
				clocks = <&clks 0>;
81 82
			};

83 84 85 86
			gpt1: timer@10003000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x10003000 0x1000>;
				interrupts = <26>;
87 88
				clocks = <&clks 46>, <&clks 61>;
				clock-names = "ipg", "per";
89 90 91 92 93 94
			};

			gpt2: timer@10004000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x10004000 0x1000>;
				interrupts = <25>;
95 96
				clocks = <&clks 45>, <&clks 61>;
				clock-names = "ipg", "per";
97 98 99 100 101 102
			};

			gpt3: timer@10005000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x10005000 0x1000>;
				interrupts = <24>;
103 104
				clocks = <&clks 44>, <&clks 61>;
				clock-names = "ipg", "per";
105 106
			};

107
			pwm: pwm@10006000 {
108 109 110 111 112 113 114
				compatible = "fsl,imx27-pwm";
				reg = <0x10006000 0x1000>;
				interrupts = <23>;
				clocks = <&clks 34>, <&clks 61>;
				clock-names = "ipg", "per";
			};

115 116 117 118 119 120 121 122
			kpp: kpp@10008000 {
				compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
				reg = <0x10008000 0x1000>;
				interrupts = <21>;
				clocks = <&clks 37>;
				status = "disabled";
			};

123
			uart1: serial@1000a000 {
124 125 126
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1000a000 0x1000>;
				interrupts = <20>;
127 128
				clocks = <&clks 81>, <&clks 61>;
				clock-names = "ipg", "per";
129 130 131
				status = "disabled";
			};

132
			uart2: serial@1000b000 {
133 134 135
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1000b000 0x1000>;
				interrupts = <19>;
136 137
				clocks = <&clks 80>, <&clks 61>;
				clock-names = "ipg", "per";
138 139 140
				status = "disabled";
			};

141
			uart3: serial@1000c000 {
142 143 144
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1000c000 0x1000>;
				interrupts = <18>;
145 146
				clocks = <&clks 79>, <&clks 61>;
				clock-names = "ipg", "per";
147 148 149
				status = "disabled";
			};

150
			uart4: serial@1000d000 {
151 152 153
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1000d000 0x1000>;
				interrupts = <17>;
154 155
				clocks = <&clks 78>, <&clks 61>;
				clock-names = "ipg", "per";
156 157 158 159 160 161 162 163 164
				status = "disabled";
			};

			cspi1: cspi@1000e000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx27-cspi";
				reg = <0x1000e000 0x1000>;
				interrupts = <16>;
165
				clocks = <&clks 53>, <&clks 53>;
166
				clock-names = "ipg", "per";
167 168 169 170 171 172 173 174 175
				status = "disabled";
			};

			cspi2: cspi@1000f000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx27-cspi";
				reg = <0x1000f000 0x1000>;
				interrupts = <15>;
176
				clocks = <&clks 52>, <&clks 52>;
177
				clock-names = "ipg", "per";
178 179 180 181 182 183
				status = "disabled";
			};

			i2c1: i2c@10012000 {
				#address-cells = <1>;
				#size-cells = <0>;
184
				compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
185 186
				reg = <0x10012000 0x1000>;
				interrupts = <12>;
187
				clocks = <&clks 40>;
188 189 190
				status = "disabled";
			};

191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
			sdhci1: sdhci@10013000 {
				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
				reg = <0x10013000 0x1000>;
				interrupts = <11>;
				clocks = <&clks 30>, <&clks 60>;
				clock-names = "ipg", "per";
				dmas = <&dma 7>;
				dma-names = "rx-tx";
				status = "disabled";
			};

			sdhci2: sdhci@10014000 {
				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
				reg = <0x10014000 0x1000>;
				interrupts = <10>;
				clocks = <&clks 29>, <&clks 60>;
				clock-names = "ipg", "per";
				dmas = <&dma 6>;
				dma-names = "rx-tx";
				status = "disabled";
			};

213 214 215 216 217 218 219
			gpio1: gpio@10015000 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015000 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
220
				#interrupt-cells = <2>;
221 222 223 224 225 226 227 228 229
			};

			gpio2: gpio@10015100 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015100 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
230
				#interrupt-cells = <2>;
231 232 233 234 235 236 237 238 239
			};

			gpio3: gpio@10015200 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015200 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
240
				#interrupt-cells = <2>;
241 242 243 244 245 246 247 248 249
			};

			gpio4: gpio@10015300 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015300 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
250
				#interrupt-cells = <2>;
251 252 253 254 255 256 257 258 259
			};

			gpio5: gpio@10015400 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015400 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
260
				#interrupt-cells = <2>;
261 262 263 264 265 266 267 268 269
			};

			gpio6: gpio@10015500 {
				compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
				reg = <0x10015500 0x100>;
				interrupts = <8>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
270
				#interrupt-cells = <2>;
271 272
			};

273 274 275 276 277 278 279
			audmux: audmux@10016000 {
				compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
				reg = <0x10016000 0x1000>;
				clocks = <&clks 0>;
				clock-names = "audmux";
			};

280 281 282 283 284 285
			cspi3: cspi@10017000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx27-cspi";
				reg = <0x10017000 0x1000>;
				interrupts = <6>;
286
				clocks = <&clks 51>, <&clks 51>;
287
				clock-names = "ipg", "per";
288 289 290
				status = "disabled";
			};

291 292 293 294
			gpt4: timer@10019000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x10019000 0x1000>;
				interrupts = <4>;
295 296
				clocks = <&clks 43>, <&clks 61>;
				clock-names = "ipg", "per";
297 298 299 300 301 302
			};

			gpt5: timer@1001a000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x1001a000 0x1000>;
				interrupts = <3>;
303 304
				clocks = <&clks 42>, <&clks 61>;
				clock-names = "ipg", "per";
305 306
			};

307
			uart5: serial@1001b000 {
308 309 310
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1001b000 0x1000>;
				interrupts = <49>;
311 312
				clocks = <&clks 77>, <&clks 61>;
				clock-names = "ipg", "per";
313 314 315
				status = "disabled";
			};

316
			uart6: serial@1001c000 {
317 318 319
				compatible = "fsl,imx27-uart", "fsl,imx21-uart";
				reg = <0x1001c000 0x1000>;
				interrupts = <48>;
320 321
				clocks = <&clks 78>, <&clks 61>;
				clock-names = "ipg", "per";
322 323 324 325 326 327
				status = "disabled";
			};

			i2c2: i2c@1001d000 {
				#address-cells = <1>;
				#size-cells = <0>;
328
				compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
329 330
				reg = <0x1001d000 0x1000>;
				interrupts = <1>;
331
				clocks = <&clks 39>;
332 333 334
				status = "disabled";
			};

335 336 337 338 339 340 341 342 343 344 345
			sdhci3: sdhci@1001e000 {
				compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
				reg = <0x1001e000 0x1000>;
				interrupts = <9>;
				clocks = <&clks 28>, <&clks 60>;
				clock-names = "ipg", "per";
				dmas = <&dma 36>;
				dma-names = "rx-tx";
				status = "disabled";
			};

346 347 348 349
			gpt6: timer@1001f000 {
				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
				reg = <0x1001f000 0x1000>;
				interrupts = <2>;
350 351
				clocks = <&clks 41>, <&clks 61>;
				clock-names = "ipg", "per";
352
			};
S
Sascha Hauer 已提交
353 354 355 356 357 358 359

			iim: iim@10028000 {
				compatible = "fsl,imx27-iim";
				reg = <0x10028000 0x1000>;
				interrupts = <62>;
				clocks = <&clks 38>;
			};
360 361 362 363 364 365 366 367 368
		};

		aipi@10020000 { /* AIPI2 */
			compatible = "fsl,aipi-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x10020000 0x20000>;
			ranges;

369 370 371 372 373 374 375 376 377
			coda: coda@10023000 {
				compatible = "fsl,imx27-vpu";
				reg = <0x10023000 0x0200>;
				interrupts = <53>;
				clocks = <&clks 57>, <&clks 66>;
				clock-names = "per", "ahb";
				iram = <&iram>;
			};

378 379 380 381 382 383 384 385
			sahara2: sahara@10025000 {
				compatible = "fsl,imx27-sahara";
				reg = <0x10025000 0x1000>;
				interrupts = <59>;
				clocks = <&clks 32>, <&clks 64>;
				clock-names = "ipg", "ahb";
			};

386 387 388 389 390 391
			clks: ccm@10027000{
				compatible = "fsl,imx27-ccm";
				reg = <0x10027000 0x1000>;
				#clock-cells = <1>;
			};

392
			fec: ethernet@1002b000 {
393 394 395
				compatible = "fsl,imx27-fec";
				reg = <0x1002b000 0x4000>;
				interrupts = <50>;
396 397
				clocks = <&clks 48>, <&clks 67>, <&clks 0>;
				clock-names = "ipg", "ahb", "ptp";
398 399 400
				status = "disabled";
			};
		};
401 402

		nfc: nand@d8000000 {
403 404 405 406 407
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,imx27-nand";
			reg = <0xd8000000 0x1000>;
			interrupts = <29>;
408
			clocks = <&clks 54>;
409 410
			status = "disabled";
		};
411 412 413 414 415

		iram: iram@ffff4c00 {
			compatible = "mmio-sram";
			reg = <0xffff4c00 0xb400>;
		};
416 417
	};
};