imx6sl.dtsi 23.0 KB
Newer Older
1 2 3 4 5 6 7 8 9
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 */

10
#include <dt-bindings/interrupt-controller/irq.h>
11 12 13 14 15 16
#include "skeleton.dtsi"
#include "imx6sl-pinfunc.h"
#include <dt-bindings/clock/imx6sl-clock.h>

/ {
	aliases {
17
		ethernet0 = &fec;
18 19 20 21 22
		gpio0 = &gpio1;
		gpio1 = &gpio2;
		gpio2 = &gpio3;
		gpio3 = &gpio4;
		gpio4 = &gpio5;
23 24 25 26 27 28 29 30 31
		serial0 = &uart1;
		serial1 = &uart2;
		serial2 = &uart3;
		serial3 = &uart4;
		serial4 = &uart5;
		spi0 = &ecspi1;
		spi1 = &ecspi2;
		spi2 = &ecspi3;
		spi3 = &ecspi4;
32 33
		usbphy0 = &usbphy1;
		usbphy1 = &usbphy2;
34 35 36 37 38 39 40 41 42 43 44
	};

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

		cpu@0 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <0x0>;
			next-level-cache = <&L2>;
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
			operating-points = <
				/* kHz    uV */
				996000  1275000
				792000  1175000
				396000  975000
			>;
			fsl,soc-operating-points = <
				/* ARM kHz      SOC-PU uV */
				996000          1225000
				792000          1175000
				396000          1175000
			>;
			clock-latency = <61036>; /* two CLK32 periods */
			clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>,
					<&clks IMX6SL_CLK_STEP>, <&clks IMX6SL_CLK_PLL1_SW>,
					<&clks IMX6SL_CLK_PLL1_SYS>;
			clock-names = "arm", "pll2_pfd2_396m", "step",
				      "pll1_sw", "pll1_sys";
			arm-supply = <&reg_arm>;
			pu-supply = <&reg_pu>;
			soc-supply = <&reg_soc>;
66 67 68 69 70 71 72 73 74
		};
	};

	intc: interrupt-controller@00a01000 {
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
		reg = <0x00a01000 0x1000>,
		      <0x00a00100 0x100>;
75
		interrupt-parent = <&intc>;
76 77 78 79 80 81 82 83
	};

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

		ckil {
			compatible = "fixed-clock";
84
			#clock-cells = <0>;
85 86 87 88 89
			clock-frequency = <32768>;
		};

		osc {
			compatible = "fixed-clock";
90
			#clock-cells = <0>;
91 92 93 94 95 96 97 98
			clock-frequency = <24000000>;
		};
	};

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

102 103 104 105 106 107
		ocram: sram@00900000 {
			compatible = "mmio-sram";
			reg = <0x00900000 0x20000>;
			clocks = <&clks IMX6SL_CLK_OCRAM>;
		};

108 109 110
		L2: l2-cache@00a02000 {
			compatible = "arm,pl310-cache";
			reg = <0x00a02000 0x1000>;
111
			interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
112 113 114 115 116 117 118 119
			cache-unified;
			cache-level = <2>;
			arm,tag-latency = <4 2 3>;
			arm,data-latency = <4 2 3>;
		};

		pmu {
			compatible = "arm,cortex-a9-pmu";
120
			interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
		};

		aips1: aips-bus@02000000 {
			compatible = "fsl,aips-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x02000000 0x100000>;
			ranges;

			spba: spba-bus@02000000 {
				compatible = "fsl,spba-bus", "simple-bus";
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0x02000000 0x40000>;
				ranges;

				spdif: spdif@02004000 {
138 139
					compatible = "fsl,imx6sl-spdif",
						"fsl,imx35-spdif";
140
					reg = <0x02004000 0x4000>;
141
					interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
142 143 144 145 146 147 148 149 150 151 152 153 154 155
					dmas = <&sdma 14 18 0>,
						<&sdma 15 18 0>;
					dma-names = "rx", "tx";
					clocks = <&clks IMX6SL_CLK_SPDIF_GCLK>, <&clks IMX6SL_CLK_OSC>,
						 <&clks IMX6SL_CLK_SPDIF>, <&clks IMX6SL_CLK_DUMMY>,
						 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_DUMMY>,
						 <&clks IMX6SL_CLK_IPG>, <&clks IMX6SL_CLK_DUMMY>,
						 <&clks IMX6SL_CLK_DUMMY>, <&clks IMX6SL_CLK_SPBA>;
					clock-names = "core", "rxtx0",
						"rxtx1", "rxtx2",
						"rxtx3", "rxtx4",
						"rxtx5", "rxtx6",
						"rxtx7", "dma";
					status = "disabled";
156 157 158 159 160 161 162
				};

				ecspi1: ecspi@02008000 {
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02008000 0x4000>;
163
					interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
164 165 166 167 168 169 170 171 172 173 174
					clocks = <&clks IMX6SL_CLK_ECSPI1>,
						 <&clks IMX6SL_CLK_ECSPI1>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

				ecspi2: ecspi@0200c000 {
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x0200c000 0x4000>;
175
					interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
176 177 178 179 180 181 182 183 184 185 186
					clocks = <&clks IMX6SL_CLK_ECSPI2>,
						 <&clks IMX6SL_CLK_ECSPI2>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

				ecspi3: ecspi@02010000 {
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02010000 0x4000>;
187
					interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
188 189 190 191 192 193 194 195 196 197 198
					clocks = <&clks IMX6SL_CLK_ECSPI3>,
						 <&clks IMX6SL_CLK_ECSPI3>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

				ecspi4: ecspi@02014000 {
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02014000 0x4000>;
199
					interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
200 201 202 203 204 205 206
					clocks = <&clks IMX6SL_CLK_ECSPI4>,
						 <&clks IMX6SL_CLK_ECSPI4>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

				uart5: serial@02018000 {
207 208
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
209
					reg = <0x02018000 0x4000>;
210
					interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
211 212 213
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
214 215
					dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
					dma-names = "rx", "tx";
216 217 218 219
					status = "disabled";
				};

				uart1: serial@02020000 {
220 221
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
222
					reg = <0x02020000 0x4000>;
223
					interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
224 225 226
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
227 228
					dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
					dma-names = "rx", "tx";
229 230 231 232
					status = "disabled";
				};

				uart2: serial@02024000 {
233 234
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
235
					reg = <0x02024000 0x4000>;
236
					interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
237 238 239
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
240 241
					dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
					dma-names = "rx", "tx";
242 243 244 245
					status = "disabled";
				};

				ssi1: ssi@02028000 {
246
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
247
					compatible = "fsl,imx6sl-ssi",
248
							"fsl,imx51-ssi";
249
					reg = <0x02028000 0x4000>;
250
					interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
251 252 253
					clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
						 <&clks IMX6SL_CLK_SSI1>;
					clock-names = "ipg", "baud";
254 255 256
					dmas = <&sdma 37 1 0>,
					       <&sdma 38 1 0>;
					dma-names = "rx", "tx";
257 258 259 260 261
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

				ssi2: ssi@0202c000 {
262
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
263
					compatible = "fsl,imx6sl-ssi",
264
							"fsl,imx51-ssi";
265
					reg = <0x0202c000 0x4000>;
266
					interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
267 268 269
					clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
						 <&clks IMX6SL_CLK_SSI2>;
					clock-names = "ipg", "baud";
270 271 272
					dmas = <&sdma 41 1 0>,
					       <&sdma 42 1 0>;
					dma-names = "rx", "tx";
273 274 275 276 277
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

				ssi3: ssi@02030000 {
278
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
279
					compatible = "fsl,imx6sl-ssi",
280
							"fsl,imx51-ssi";
281
					reg = <0x02030000 0x4000>;
282
					interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
283 284 285
					clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
						 <&clks IMX6SL_CLK_SSI3>;
					clock-names = "ipg", "baud";
286 287 288
					dmas = <&sdma 45 1 0>,
					       <&sdma 46 1 0>;
					dma-names = "rx", "tx";
289 290 291 292 293
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

				uart3: serial@02034000 {
294 295
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
296
					reg = <0x02034000 0x4000>;
297
					interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
298 299 300
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
301 302
					dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
					dma-names = "rx", "tx";
303 304 305 306
					status = "disabled";
				};

				uart4: serial@02038000 {
307 308
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
309
					reg = <0x02038000 0x4000>;
310
					interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
311 312 313
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
314 315
					dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
					dma-names = "rx", "tx";
316 317 318 319 320 321 322 323
					status = "disabled";
				};
			};

			pwm1: pwm@02080000 {
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02080000 0x4000>;
324
				interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
325 326 327 328 329 330 331 332 333
				clocks = <&clks IMX6SL_CLK_PWM1>,
					 <&clks IMX6SL_CLK_PWM1>;
				clock-names = "ipg", "per";
			};

			pwm2: pwm@02084000 {
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02084000 0x4000>;
334
				interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
335 336 337 338 339 340 341 342 343
				clocks = <&clks IMX6SL_CLK_PWM2>,
					 <&clks IMX6SL_CLK_PWM2>;
				clock-names = "ipg", "per";
			};

			pwm3: pwm@02088000 {
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02088000 0x4000>;
344
				interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
345 346 347 348 349 350 351 352 353
				clocks = <&clks IMX6SL_CLK_PWM3>,
					 <&clks IMX6SL_CLK_PWM3>;
				clock-names = "ipg", "per";
			};

			pwm4: pwm@0208c000 {
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x0208c000 0x4000>;
354
				interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
355 356 357 358 359 360 361 362
				clocks = <&clks IMX6SL_CLK_PWM4>,
					 <&clks IMX6SL_CLK_PWM4>;
				clock-names = "ipg", "per";
			};

			gpt: gpt@02098000 {
				compatible = "fsl,imx6sl-gpt";
				reg = <0x02098000 0x4000>;
363
				interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
364 365 366 367 368 369 370 371
				clocks = <&clks IMX6SL_CLK_GPT>,
					 <&clks IMX6SL_CLK_GPT_SERIAL>;
				clock-names = "ipg", "per";
			};

			gpio1: gpio@0209c000 {
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x0209c000 0x4000>;
372 373
				interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
					     <0 67 IRQ_TYPE_LEVEL_HIGH>;
374 375 376 377 378 379 380 381 382
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};

			gpio2: gpio@020a0000 {
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a0000 0x4000>;
383 384
				interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
					     <0 69 IRQ_TYPE_LEVEL_HIGH>;
385 386 387 388 389 390 391 392 393
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};

			gpio3: gpio@020a4000 {
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a4000 0x4000>;
394 395
				interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
					     <0 71 IRQ_TYPE_LEVEL_HIGH>;
396 397 398 399 400 401 402 403 404
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};

			gpio4: gpio@020a8000 {
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a8000 0x4000>;
405 406
				interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
					     <0 73 IRQ_TYPE_LEVEL_HIGH>;
407 408 409 410 411 412 413 414 415
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};

			gpio5: gpio@020ac000 {
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020ac000 0x4000>;
416 417
				interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
					     <0 75 IRQ_TYPE_LEVEL_HIGH>;
418 419 420 421 422 423 424
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};

			kpp: kpp@020b8000 {
425
				compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
426
				reg = <0x020b8000 0x4000>;
427
				interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
428
				clocks = <&clks IMX6SL_CLK_DUMMY>;
429
				status = "disabled";
430 431 432 433 434
			};

			wdog1: wdog@020bc000 {
				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
				reg = <0x020bc000 0x4000>;
435
				interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
436 437 438 439 440 441
				clocks = <&clks IMX6SL_CLK_DUMMY>;
			};

			wdog2: wdog@020c0000 {
				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
				reg = <0x020c0000 0x4000>;
442
				interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
443 444 445 446 447 448 449
				clocks = <&clks IMX6SL_CLK_DUMMY>;
				status = "disabled";
			};

			clks: ccm@020c4000 {
				compatible = "fsl,imx6sl-ccm";
				reg = <0x020c4000 0x4000>;
450 451
				interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
					     <0 88 IRQ_TYPE_LEVEL_HIGH>;
452 453 454 455
				#clock-cells = <1>;
			};

			anatop: anatop@020c8000 {
456 457 458
				compatible = "fsl,imx6sl-anatop",
					     "fsl,imx6q-anatop",
					     "syscon", "simple-bus";
459
				reg = <0x020c8000 0x1000>;
460 461 462
				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
					     <0 54 IRQ_TYPE_LEVEL_HIGH>,
					     <0 127 IRQ_TYPE_LEVEL_HIGH>;
463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507

				regulator-1p1@110 {
					compatible = "fsl,anatop-regulator";
					regulator-name = "vdd1p1";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1375000>;
					regulator-always-on;
					anatop-reg-offset = <0x110>;
					anatop-vol-bit-shift = <8>;
					anatop-vol-bit-width = <5>;
					anatop-min-bit-val = <4>;
					anatop-min-voltage = <800000>;
					anatop-max-voltage = <1375000>;
				};

				regulator-3p0@120 {
					compatible = "fsl,anatop-regulator";
					regulator-name = "vdd3p0";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <3150000>;
					regulator-always-on;
					anatop-reg-offset = <0x120>;
					anatop-vol-bit-shift = <8>;
					anatop-vol-bit-width = <5>;
					anatop-min-bit-val = <0>;
					anatop-min-voltage = <2625000>;
					anatop-max-voltage = <3400000>;
				};

				regulator-2p5@130 {
					compatible = "fsl,anatop-regulator";
					regulator-name = "vdd2p5";
					regulator-min-microvolt = <2100000>;
					regulator-max-microvolt = <2850000>;
					regulator-always-on;
					anatop-reg-offset = <0x130>;
					anatop-vol-bit-shift = <8>;
					anatop-vol-bit-width = <5>;
					anatop-min-bit-val = <0>;
					anatop-min-voltage = <2100000>;
					anatop-max-voltage = <2850000>;
				};

				reg_arm: regulator-vddcore@140 {
					compatible = "fsl,anatop-regulator";
508
					regulator-name = "vddarm";
509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557
					regulator-min-microvolt = <725000>;
					regulator-max-microvolt = <1450000>;
					regulator-always-on;
					anatop-reg-offset = <0x140>;
					anatop-vol-bit-shift = <0>;
					anatop-vol-bit-width = <5>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-shift = <24>;
					anatop-delay-bit-width = <2>;
					anatop-min-bit-val = <1>;
					anatop-min-voltage = <725000>;
					anatop-max-voltage = <1450000>;
				};

				reg_pu: regulator-vddpu@140 {
					compatible = "fsl,anatop-regulator";
					regulator-name = "vddpu";
					regulator-min-microvolt = <725000>;
					regulator-max-microvolt = <1450000>;
					regulator-always-on;
					anatop-reg-offset = <0x140>;
					anatop-vol-bit-shift = <9>;
					anatop-vol-bit-width = <5>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-shift = <26>;
					anatop-delay-bit-width = <2>;
					anatop-min-bit-val = <1>;
					anatop-min-voltage = <725000>;
					anatop-max-voltage = <1450000>;
				};

				reg_soc: regulator-vddsoc@140 {
					compatible = "fsl,anatop-regulator";
					regulator-name = "vddsoc";
					regulator-min-microvolt = <725000>;
					regulator-max-microvolt = <1450000>;
					regulator-always-on;
					anatop-reg-offset = <0x140>;
					anatop-vol-bit-shift = <18>;
					anatop-vol-bit-width = <5>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-shift = <28>;
					anatop-delay-bit-width = <2>;
					anatop-min-bit-val = <1>;
					anatop-min-voltage = <725000>;
					anatop-max-voltage = <1450000>;
				};
			};

558 559 560 561 562 563 564 565
			tempmon: tempmon {
				compatible = "fsl,imx6q-tempmon";
				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
				fsl,tempmon = <&anatop>;
				fsl,tempmon-data = <&ocotp>;
				clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
			};

566 567 568
			usbphy1: usbphy@020c9000 {
				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
				reg = <0x020c9000 0x1000>;
569
				interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
570
				clocks = <&clks IMX6SL_CLK_USBPHY1>;
571
				fsl,anatop = <&anatop>;
572 573 574 575 576
			};

			usbphy2: usbphy@020ca000 {
				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
				reg = <0x020ca000 0x1000>;
577
				interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
578
				clocks = <&clks IMX6SL_CLK_USBPHY2>;
579
				fsl,anatop = <&anatop>;
580 581
			};

582 583 584
			snvs: snvs@020cc000 {
				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
				reg = <0x020cc000 0x4000>;
585

586
				snvs_rtc: snvs-rtc-lp {
587
					compatible = "fsl,sec-v4.0-mon-rtc-lp";
588 589
					regmap = <&snvs>;
					offset = <0x34>;
590 591
					interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
						     <0 20 IRQ_TYPE_LEVEL_HIGH>;
592
				};
593

594 595 596 597 598
				snvs_poweroff: snvs-poweroff {
					compatible = "syscon-poweroff";
					regmap = <&snvs>;
					offset = <0x38>;
					mask = <0x60>;
599 600
					status = "disabled";
				};
601 602 603 604
			};

			epit1: epit@020d0000 {
				reg = <0x020d0000 0x4000>;
605
				interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
606 607 608 609
			};

			epit2: epit@020d4000 {
				reg = <0x020d4000 0x4000>;
610
				interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
611 612 613 614 615
			};

			src: src@020d8000 {
				compatible = "fsl,imx6sl-src", "fsl,imx51-src";
				reg = <0x020d8000 0x4000>;
616 617
				interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
					     <0 96 IRQ_TYPE_LEVEL_HIGH>;
618 619 620 621 622 623
				#reset-cells = <1>;
			};

			gpc: gpc@020dc000 {
				compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
				reg = <0x020dc000 0x4000>;
624 625
				interrupt-controller;
				#interrupt-cells = <3>;
626
				interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
627
				interrupt-parent = <&intc>;
628 629 630 631
				pu-supply = <&reg_pu>;
				clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
					 <&clks IMX6SL_CLK_GPU2D_PODF>;
				#power-domain-cells = <1>;
632 633
			};

634
			gpr: iomuxc-gpr@020e0000 {
635 636
				compatible = "fsl,imx6sl-iomuxc-gpr",
					     "fsl,imx6q-iomuxc-gpr", "syscon";
637 638
				reg = <0x020e0000 0x38>;
			};
639 640 641 642 643 644 645 646

			iomuxc: iomuxc@020e0000 {
				compatible = "fsl,imx6sl-iomuxc";
				reg = <0x020e0000 0x4000>;
			};

			csi: csi@020e4000 {
				reg = <0x020e4000 0x4000>;
647
				interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
648 649 650 651
			};

			spdc: spdc@020e8000 {
				reg = <0x020e8000 0x4000>;
652
				interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
653 654 655
			};

			sdma: sdma@020ec000 {
656
				compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma";
657
				reg = <0x020ec000 0x4000>;
658
				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
659 660 661
				clocks = <&clks IMX6SL_CLK_SDMA>,
					 <&clks IMX6SL_CLK_SDMA>;
				clock-names = "ipg", "ahb";
662
				#dma-cells = <3>;
663 664
				/* imx6sl reuses imx6q sdma firmware */
				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
665 666 667 668
			};

			pxp: pxp@020f0000 {
				reg = <0x020f0000 0x4000>;
669
				interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
670 671 672 673
			};

			epdc: epdc@020f4000 {
				reg = <0x020f4000 0x4000>;
674
				interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
675 676 677
			};

			lcdif: lcdif@020f8000 {
678
				compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
679
				reg = <0x020f8000 0x4000>;
680
				interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
681 682 683 684 685
				clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
					 <&clks IMX6SL_CLK_LCDIF_AXI>,
					 <&clks IMX6SL_CLK_DUMMY>;
				clock-names = "pix", "axi", "disp_axi";
				status = "disabled";
686 687 688
			};

			dcp: dcp@020fc000 {
689
				compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
690
				reg = <0x020fc000 0x4000>;
691 692 693
				interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>,
					     <0 100 IRQ_TYPE_LEVEL_HIGH>,
					     <0 101 IRQ_TYPE_LEVEL_HIGH>;
694 695 696 697 698 699 700 701 702 703 704 705 706
			};
		};

		aips2: aips-bus@02100000 {
			compatible = "fsl,aips-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x02100000 0x100000>;
			ranges;

			usbotg1: usb@02184000 {
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184000 0x200>;
707
				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
708 709 710
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbphy = <&usbphy1>;
				fsl,usbmisc = <&usbmisc 0>;
711
				ahb-burst-config = <0x0>;
712 713 714 715 716 717
				status = "disabled";
			};

			usbotg2: usb@02184200 {
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184200 0x200>;
718
				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
719 720 721
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbphy = <&usbphy2>;
				fsl,usbmisc = <&usbmisc 1>;
722
				ahb-burst-config = <0x0>;
723 724 725 726 727 728
				status = "disabled";
			};

			usbh: usb@02184400 {
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184400 0x200>;
729
				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
730 731
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbmisc = <&usbmisc 2>;
732
				dr_mode = "host";
733
				ahb-burst-config = <0x0>;
734 735 736 737 738 739 740 741 742 743 744 745 746
				status = "disabled";
			};

			usbmisc: usbmisc@02184800 {
				#index-cells = <1>;
				compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
				reg = <0x02184800 0x200>;
				clocks = <&clks IMX6SL_CLK_USBOH3>;
			};

			fec: ethernet@02188000 {
				compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
				reg = <0x02188000 0x4000>;
747
				interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
748
				clocks = <&clks IMX6SL_CLK_ENET>,
749 750 751 752 753 754 755 756
					 <&clks IMX6SL_CLK_ENET_REF>;
				clock-names = "ipg", "ahb";
				status = "disabled";
			};

			usdhc1: usdhc@02190000 {
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02190000 0x4000>;
757
				interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
758 759 760 761 762 763 764 765 766 767 768
				clocks = <&clks IMX6SL_CLK_USDHC1>,
					 <&clks IMX6SL_CLK_USDHC1>,
					 <&clks IMX6SL_CLK_USDHC1>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

			usdhc2: usdhc@02194000 {
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02194000 0x4000>;
769
				interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
770 771 772 773 774 775 776 777 778 779 780
				clocks = <&clks IMX6SL_CLK_USDHC2>,
					 <&clks IMX6SL_CLK_USDHC2>,
					 <&clks IMX6SL_CLK_USDHC2>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

			usdhc3: usdhc@02198000 {
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02198000 0x4000>;
781
				interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
782 783 784 785 786 787 788 789 790 791 792
				clocks = <&clks IMX6SL_CLK_USDHC3>,
					 <&clks IMX6SL_CLK_USDHC3>,
					 <&clks IMX6SL_CLK_USDHC3>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

			usdhc4: usdhc@0219c000 {
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x0219c000 0x4000>;
793
				interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
794 795 796 797 798 799 800 801 802 803 804 805 806
				clocks = <&clks IMX6SL_CLK_USDHC4>,
					 <&clks IMX6SL_CLK_USDHC4>,
					 <&clks IMX6SL_CLK_USDHC4>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

			i2c1: i2c@021a0000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a0000 0x4000>;
807
				interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
808 809 810 811 812 813 814 815 816
				clocks = <&clks IMX6SL_CLK_I2C1>;
				status = "disabled";
			};

			i2c2: i2c@021a4000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a4000 0x4000>;
817
				interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
818 819 820 821 822 823 824 825 826
				clocks = <&clks IMX6SL_CLK_I2C2>;
				status = "disabled";
			};

			i2c3: i2c@021a8000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a8000 0x4000>;
827
				interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
828 829 830 831 832 833 834 835 836 837 838
				clocks = <&clks IMX6SL_CLK_I2C3>;
				status = "disabled";
			};

			mmdc: mmdc@021b0000 {
				compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
				reg = <0x021b0000 0x4000>;
			};

			rngb: rngb@021b4000 {
				reg = <0x021b4000 0x4000>;
839
				interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
840 841 842 843
			};

			weim: weim@021b8000 {
				reg = <0x021b8000 0x4000>;
844
				interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
845 846 847
			};

			ocotp: ocotp@021bc000 {
848
				compatible = "fsl,imx6sl-ocotp", "syscon";
849 850 851 852 853 854 855 856 857 858 859
				reg = <0x021bc000 0x4000>;
			};

			audmux: audmux@021d8000 {
				compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
				reg = <0x021d8000 0x4000>;
				status = "disabled";
			};
		};
	};
};