imx6sl.dtsi 25.8 KB
Newer Older
1 2 3
// SPDX-License-Identifier: GPL-2.0
//
// Copyright 2013 Freescale Semiconductor, Inc.
4

5
#include <dt-bindings/interrupt-controller/irq.h>
6 7 8 9
#include "imx6sl-pinfunc.h"
#include <dt-bindings/clock/imx6sl-clock.h>

/ {
10 11
	#address-cells = <1>;
	#size-cells = <1>;
12 13 14 15 16 17 18
	/*
	 * The decompressor and also some bootloaders rely on a
	 * pre-existing /chosen node to be available to insert the
	 * command line and merge other ATAGS info.
	 * Also for U-Boot there must be a pre-existing /memory node.
	 */
	chosen {};
19
	memory { device_type = "memory"; };
20

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

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

		cpu@0 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <0x0>;
			next-level-cache = <&L2>;
50 51 52 53 54 55 56 57 58 59 60 61 62
			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 */
63
			#cooling-cells = <2>;
64 65 66 67 68 69 70 71
			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>;
72 73 74
		};
	};

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

	clocks {
		ckil {
			compatible = "fixed-clock";
87
			#clock-cells = <0>;
88 89 90 91 92
			clock-frequency = <32768>;
		};

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

98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
	tempmon: tempmon {
		compatible = "fsl,imx6q-tempmon";
		interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-parent = <&gpc>;
		fsl,tempmon = <&anatop>;
		fsl,tempmon-data = <&ocotp>;
		clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
	};

	pmu {
		compatible = "arm,cortex-a9-pmu";
		interrupt-parent = <&gpc>;
		interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
	};

113 114 115 116
	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
117
		interrupt-parent = <&gpc>;
118 119
		ranges;

120
		ocram: sram@900000 {
121 122 123 124 125
			compatible = "mmio-sram";
			reg = <0x00900000 0x20000>;
			clocks = <&clks IMX6SL_CLK_OCRAM>;
		};

126
		L2: l2-cache@a02000 {
127 128
			compatible = "arm,pl310-cache";
			reg = <0x00a02000 0x1000>;
129
			interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
130 131 132 133 134 135
			cache-unified;
			cache-level = <2>;
			arm,tag-latency = <4 2 3>;
			arm,data-latency = <4 2 3>;
		};

136
		aips1: aips-bus@2000000 {
137 138 139 140 141 142
			compatible = "fsl,aips-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x02000000 0x100000>;
			ranges;

143
			spba: spba-bus@2000000 {
144 145 146 147 148 149
				compatible = "fsl,spba-bus", "simple-bus";
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0x02000000 0x40000>;
				ranges;

150
				spdif: spdif@2004000 {
151 152
					compatible = "fsl,imx6sl-spdif",
						"fsl,imx35-spdif";
153
					reg = <0x02004000 0x4000>;
154
					interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
155 156 157 158 159 160 161 162 163 164 165 166
					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",
167
						"rxtx7", "spba";
168
					status = "disabled";
169 170
				};

171
				ecspi1: ecspi@2008000 {
172 173 174 175
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02008000 0x4000>;
176
					interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
177 178 179 180 181 182
					clocks = <&clks IMX6SL_CLK_ECSPI1>,
						 <&clks IMX6SL_CLK_ECSPI1>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

183
				ecspi2: ecspi@200c000 {
184 185 186 187
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x0200c000 0x4000>;
188
					interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
189 190 191 192 193 194
					clocks = <&clks IMX6SL_CLK_ECSPI2>,
						 <&clks IMX6SL_CLK_ECSPI2>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

195
				ecspi3: ecspi@2010000 {
196 197 198 199
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02010000 0x4000>;
200
					interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
201 202 203 204 205 206
					clocks = <&clks IMX6SL_CLK_ECSPI3>,
						 <&clks IMX6SL_CLK_ECSPI3>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

207
				ecspi4: ecspi@2014000 {
208 209 210 211
					#address-cells = <1>;
					#size-cells = <0>;
					compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
					reg = <0x02014000 0x4000>;
212
					interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
213 214 215 216 217 218
					clocks = <&clks IMX6SL_CLK_ECSPI4>,
						 <&clks IMX6SL_CLK_ECSPI4>;
					clock-names = "ipg", "per";
					status = "disabled";
				};

219
				uart5: serial@2018000 {
220 221
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
222
					reg = <0x02018000 0x4000>;
223
					interrupts = <0 30 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 33 4 0>, <&sdma 34 4 0>;
					dma-names = "rx", "tx";
229 230 231
					status = "disabled";
				};

232
				uart1: serial@2020000 {
233 234
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
235
					reg = <0x02020000 0x4000>;
236
					interrupts = <0 26 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 25 4 0>, <&sdma 26 4 0>;
					dma-names = "rx", "tx";
242 243 244
					status = "disabled";
				};

245
				uart2: serial@2024000 {
246 247
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
248
					reg = <0x02024000 0x4000>;
249
					interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
250 251 252
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
253 254
					dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
					dma-names = "rx", "tx";
255 256 257
					status = "disabled";
				};

258
				ssi1: ssi@2028000 {
259
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
260
					compatible = "fsl,imx6sl-ssi",
261
							"fsl,imx51-ssi";
262
					reg = <0x02028000 0x4000>;
263
					interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
264 265 266
					clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
						 <&clks IMX6SL_CLK_SSI1>;
					clock-names = "ipg", "baud";
267 268 269
					dmas = <&sdma 37 1 0>,
					       <&sdma 38 1 0>;
					dma-names = "rx", "tx";
270 271 272 273
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

274
				ssi2: ssi@202c000 {
275
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
276
					compatible = "fsl,imx6sl-ssi",
277
							"fsl,imx51-ssi";
278
					reg = <0x0202c000 0x4000>;
279
					interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
280 281 282
					clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
						 <&clks IMX6SL_CLK_SSI2>;
					clock-names = "ipg", "baud";
283 284 285
					dmas = <&sdma 41 1 0>,
					       <&sdma 42 1 0>;
					dma-names = "rx", "tx";
286 287 288 289
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

290
				ssi3: ssi@2030000 {
291
					#sound-dai-cells = <0>;
M
Markus Pargmann 已提交
292
					compatible = "fsl,imx6sl-ssi",
293
							"fsl,imx51-ssi";
294
					reg = <0x02030000 0x4000>;
295
					interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
296 297 298
					clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
						 <&clks IMX6SL_CLK_SSI3>;
					clock-names = "ipg", "baud";
299 300 301
					dmas = <&sdma 45 1 0>,
					       <&sdma 46 1 0>;
					dma-names = "rx", "tx";
302 303 304 305
					fsl,fifo-depth = <15>;
					status = "disabled";
				};

306
				uart3: serial@2034000 {
307 308
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
309
					reg = <0x02034000 0x4000>;
310
					interrupts = <0 28 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 29 4 0>, <&sdma 30 4 0>;
					dma-names = "rx", "tx";
316 317 318
					status = "disabled";
				};

319
				uart4: serial@2038000 {
320 321
					compatible = "fsl,imx6sl-uart",
						   "fsl,imx6q-uart", "fsl,imx21-uart";
322
					reg = <0x02038000 0x4000>;
323
					interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
324 325 326
					clocks = <&clks IMX6SL_CLK_UART>,
						 <&clks IMX6SL_CLK_UART_SERIAL>;
					clock-names = "ipg", "per";
327 328
					dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
					dma-names = "rx", "tx";
329 330 331 332
					status = "disabled";
				};
			};

333
			pwm1: pwm@2080000 {
334 335 336
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02080000 0x4000>;
337
				interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
338 339 340 341 342
				clocks = <&clks IMX6SL_CLK_PWM1>,
					 <&clks IMX6SL_CLK_PWM1>;
				clock-names = "ipg", "per";
			};

343
			pwm2: pwm@2084000 {
344 345 346
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02084000 0x4000>;
347
				interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
348 349 350 351 352
				clocks = <&clks IMX6SL_CLK_PWM2>,
					 <&clks IMX6SL_CLK_PWM2>;
				clock-names = "ipg", "per";
			};

353
			pwm3: pwm@2088000 {
354 355 356
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x02088000 0x4000>;
357
				interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
358 359 360 361 362
				clocks = <&clks IMX6SL_CLK_PWM3>,
					 <&clks IMX6SL_CLK_PWM3>;
				clock-names = "ipg", "per";
			};

363
			pwm4: pwm@208c000 {
364 365 366
				#pwm-cells = <2>;
				compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
				reg = <0x0208c000 0x4000>;
367
				interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
368 369 370 371 372
				clocks = <&clks IMX6SL_CLK_PWM4>,
					 <&clks IMX6SL_CLK_PWM4>;
				clock-names = "ipg", "per";
			};

373
			gpt: gpt@2098000 {
374 375
				compatible = "fsl,imx6sl-gpt";
				reg = <0x02098000 0x4000>;
376
				interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
377 378 379 380 381
				clocks = <&clks IMX6SL_CLK_GPT>,
					 <&clks IMX6SL_CLK_GPT_SERIAL>;
				clock-names = "ipg", "per";
			};

382
			gpio1: gpio@209c000 {
383 384
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x0209c000 0x4000>;
385 386
				interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
					     <0 67 IRQ_TYPE_LEVEL_HIGH>;
387 388 389 390
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
391 392 393 394 395 396
				gpio-ranges = <&iomuxc  0 22 1>, <&iomuxc  1 20 2>,
					      <&iomuxc  3 23 1>, <&iomuxc  4 25 1>,
					      <&iomuxc  5 24 1>, <&iomuxc  6 19 1>,
					      <&iomuxc  7 36 2>, <&iomuxc  9 44 8>,
					      <&iomuxc 17 38 6>, <&iomuxc 23 68 4>,
					      <&iomuxc 27 64 4>, <&iomuxc 31 52 1>;
397 398
			};

399
			gpio2: gpio@20a0000 {
400 401
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a0000 0x4000>;
402 403
				interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
					     <0 69 IRQ_TYPE_LEVEL_HIGH>;
404 405 406 407
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
408 409 410 411 412 413 414
				gpio-ranges = <&iomuxc  0  53 3>, <&iomuxc  3  72 2>,
					      <&iomuxc  5  34 2>, <&iomuxc  7  57 4>,
					      <&iomuxc 11  56 1>, <&iomuxc 12  61 3>,
					      <&iomuxc 15 107 1>, <&iomuxc 16 132 2>,
					      <&iomuxc 18 135 1>, <&iomuxc 19 134 1>,
					      <&iomuxc 20 108 2>, <&iomuxc 22 120 1>,
					      <&iomuxc 23 125 7>, <&iomuxc 30 110 2>;
415 416
			};

417
			gpio3: gpio@20a4000 {
418 419
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a4000 0x4000>;
420 421
				interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
					     <0 71 IRQ_TYPE_LEVEL_HIGH>;
422 423 424 425
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
426 427 428 429 430 431 432 433
				gpio-ranges = <&iomuxc  0 112 8>, <&iomuxc  8 121 4>,
					      <&iomuxc 12  97 4>, <&iomuxc 16 166 3>,
					      <&iomuxc 19  85 2>, <&iomuxc 21 137 2>,
					      <&iomuxc 23 136 1>, <&iomuxc 24  91 1>,
					      <&iomuxc 25  99 1>, <&iomuxc 26  92 1>,
					      <&iomuxc 27 100 1>, <&iomuxc 28  93 1>,
					      <&iomuxc 29 101 1>, <&iomuxc 30  94 1>,
					      <&iomuxc 31 102 1>;
434 435
			};

436
			gpio4: gpio@20a8000 {
437 438
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020a8000 0x4000>;
439 440
				interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
					     <0 73 IRQ_TYPE_LEVEL_HIGH>;
441 442 443 444
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
				gpio-ranges = <&iomuxc  0  95 1>, <&iomuxc  1 103 1>,
					      <&iomuxc  2  96 1>, <&iomuxc  3 104 1>,
					      <&iomuxc  4  97 1>, <&iomuxc  5 105 1>,
					      <&iomuxc  6  98 1>, <&iomuxc  7 106 1>,
					      <&iomuxc  8  28 1>, <&iomuxc  9  27 1>,
					      <&iomuxc 10  26 1>, <&iomuxc 11  29 1>,
					      <&iomuxc 12  32 1>, <&iomuxc 13  31 1>,
					      <&iomuxc 14  30 1>, <&iomuxc 15  33 1>,
					      <&iomuxc 16  84 1>, <&iomuxc 17  79 2>,
					      <&iomuxc 19  78 1>, <&iomuxc 20  76 1>,
					      <&iomuxc 21  81 2>, <&iomuxc 23  75 1>,
					      <&iomuxc 24  83 1>, <&iomuxc 25  74 1>,
					      <&iomuxc 26  77 1>, <&iomuxc 27 159 1>,
					      <&iomuxc 28 154 1>, <&iomuxc 29 157 1>,
					      <&iomuxc 30 152 1>, <&iomuxc 31 156 1>;
460 461
			};

462
			gpio5: gpio@20ac000 {
463 464
				compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
				reg = <0x020ac000 0x4000>;
465 466
				interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
					     <0 75 IRQ_TYPE_LEVEL_HIGH>;
467 468 469 470
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
471 472 473 474 475 476 477 478 479 480 481
				gpio-ranges = <&iomuxc  0 158 1>, <&iomuxc  1 151 1>,
					      <&iomuxc  2 155 1>, <&iomuxc  3 153 1>,
					      <&iomuxc  4 150 1>, <&iomuxc  5 149 1>,
					      <&iomuxc  6 144 1>, <&iomuxc  7 147 1>,
					      <&iomuxc  8 142 1>, <&iomuxc  9 146 1>,
					      <&iomuxc 10 148 1>, <&iomuxc 11 141 1>,
					      <&iomuxc 12 145 1>, <&iomuxc 13 143 1>,
					      <&iomuxc 14 140 1>, <&iomuxc 15 139 1>,
					      <&iomuxc 16 164 2>, <&iomuxc 18 160 1>,
					      <&iomuxc 19 162 1>, <&iomuxc 20 163 1>,
					      <&iomuxc 21 161 1>;
482 483
			};

484
			kpp: kpp@20b8000 {
485
				compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
486
				reg = <0x020b8000 0x4000>;
487
				interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
488
				clocks = <&clks IMX6SL_CLK_DUMMY>;
489
				status = "disabled";
490 491
			};

492
			wdog1: wdog@20bc000 {
493 494
				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
				reg = <0x020bc000 0x4000>;
495
				interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
496 497 498
				clocks = <&clks IMX6SL_CLK_DUMMY>;
			};

499
			wdog2: wdog@20c0000 {
500 501
				compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
				reg = <0x020c0000 0x4000>;
502
				interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
503 504 505 506
				clocks = <&clks IMX6SL_CLK_DUMMY>;
				status = "disabled";
			};

507
			clks: ccm@20c4000 {
508 509
				compatible = "fsl,imx6sl-ccm";
				reg = <0x020c4000 0x4000>;
510 511
				interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
					     <0 88 IRQ_TYPE_LEVEL_HIGH>;
512 513 514
				#clock-cells = <1>;
			};

515
			anatop: anatop@20c8000 {
516 517 518
				compatible = "fsl,imx6sl-anatop",
					     "fsl,imx6q-anatop",
					     "syscon", "simple-bus";
519
				reg = <0x020c8000 0x1000>;
520 521 522
				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
					     <0 54 IRQ_TYPE_LEVEL_HIGH>,
					     <0 127 IRQ_TYPE_LEVEL_HIGH>;
523

524
				regulator-1p1 {
525 526
					compatible = "fsl,anatop-regulator";
					regulator-name = "vdd1p1";
527 528
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1200000>;
529 530 531 532 533 534 535
					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>;
536
					anatop-enable-bit = <0>;
537 538
				};

539
				regulator-3p0 {
540 541 542 543 544 545 546 547 548 549 550
					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>;
551
					anatop-enable-bit = <0>;
552 553
				};

554
				regulator-2p5 {
555 556
					compatible = "fsl,anatop-regulator";
					regulator-name = "vdd2p5";
557 558
					regulator-min-microvolt = <2250000>;
					regulator-max-microvolt = <2750000>;
559 560 561 562 563 564 565
					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>;
566
					anatop-enable-bit = <0>;
567 568
				};

569
				reg_arm: regulator-vddcore {
570
					compatible = "fsl,anatop-regulator";
571
					regulator-name = "vddarm";
572 573 574 575 576 577 578 579 580 581 582 583 584 585
					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>;
				};

586
				reg_pu: regulator-vddpu {
587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602
					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>;
				};

603
				reg_soc: regulator-vddsoc {
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620
					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>;
				};
			};

621
			usbphy1: usbphy@20c9000 {
622 623
				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
				reg = <0x020c9000 0x1000>;
624
				interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
625
				clocks = <&clks IMX6SL_CLK_USBPHY1>;
626
				fsl,anatop = <&anatop>;
627 628
			};

629
			usbphy2: usbphy@20ca000 {
630 631
				compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
				reg = <0x020ca000 0x1000>;
632
				interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
633
				clocks = <&clks IMX6SL_CLK_USBPHY2>;
634
				fsl,anatop = <&anatop>;
635 636
			};

637
			snvs: snvs@20cc000 {
638 639
				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
				reg = <0x020cc000 0x4000>;
640

641
				snvs_rtc: snvs-rtc-lp {
642
					compatible = "fsl,sec-v4.0-mon-rtc-lp";
643 644
					regmap = <&snvs>;
					offset = <0x34>;
645 646
					interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
						     <0 20 IRQ_TYPE_LEVEL_HIGH>;
647
				};
648

649 650 651 652
				snvs_poweroff: snvs-poweroff {
					compatible = "syscon-poweroff";
					regmap = <&snvs>;
					offset = <0x38>;
653
					value = <0x60>;
654
					mask = <0x60>;
655 656
					status = "disabled";
				};
657 658
			};

659
			epit1: epit@20d0000 {
660
				reg = <0x020d0000 0x4000>;
661
				interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
662 663
			};

664
			epit2: epit@20d4000 {
665
				reg = <0x020d4000 0x4000>;
666
				interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
667 668
			};

669
			src: src@20d8000 {
670 671
				compatible = "fsl,imx6sl-src", "fsl,imx51-src";
				reg = <0x020d8000 0x4000>;
672 673
				interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
					     <0 96 IRQ_TYPE_LEVEL_HIGH>;
674 675 676
				#reset-cells = <1>;
			};

677
			gpc: gpc@20dc000 {
678 679
				compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
				reg = <0x020dc000 0x4000>;
680 681
				interrupt-controller;
				#interrupt-cells = <3>;
682
				interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
683
				interrupt-parent = <&intc>;
684 685 686 687
				pu-supply = <&reg_pu>;
				clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
					 <&clks IMX6SL_CLK_GPU2D_PODF>;
				#power-domain-cells = <1>;
688 689
			};

690
			gpr: iomuxc-gpr@20e0000 {
691 692
				compatible = "fsl,imx6sl-iomuxc-gpr",
					     "fsl,imx6q-iomuxc-gpr", "syscon";
693 694
				reg = <0x020e0000 0x38>;
			};
695

696
			iomuxc: iomuxc@20e0000 {
697 698 699 700
				compatible = "fsl,imx6sl-iomuxc";
				reg = <0x020e0000 0x4000>;
			};

701
			csi: csi@20e4000 {
702
				reg = <0x020e4000 0x4000>;
703
				interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
704 705
			};

706
			spdc: spdc@20e8000 {
707
				reg = <0x020e8000 0x4000>;
708
				interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
709 710
			};

711
			sdma: sdma@20ec000 {
712
				compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma";
713
				reg = <0x020ec000 0x4000>;
714
				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
715 716 717
				clocks = <&clks IMX6SL_CLK_SDMA>,
					 <&clks IMX6SL_CLK_SDMA>;
				clock-names = "ipg", "ahb";
718
				#dma-cells = <3>;
719 720
				/* imx6sl reuses imx6q sdma firmware */
				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
721 722
			};

723
			pxp: pxp@20f0000 {
724
				reg = <0x020f0000 0x4000>;
725
				interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
726 727
			};

728
			epdc: epdc@20f4000 {
729
				reg = <0x020f4000 0x4000>;
730
				interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
731 732
			};

733
			lcdif: lcdif@20f8000 {
734
				compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
735
				reg = <0x020f8000 0x4000>;
736
				interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
737 738 739 740 741
				clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
					 <&clks IMX6SL_CLK_LCDIF_AXI>,
					 <&clks IMX6SL_CLK_DUMMY>;
				clock-names = "pix", "axi", "disp_axi";
				status = "disabled";
742 743
			};

744
			dcp: dcp@20fc000 {
745
				compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
746
				reg = <0x020fc000 0x4000>;
747 748 749
				interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>,
					     <0 100 IRQ_TYPE_LEVEL_HIGH>,
					     <0 101 IRQ_TYPE_LEVEL_HIGH>;
750 751 752
			};
		};

753
		aips2: aips-bus@2100000 {
754 755 756 757 758 759
			compatible = "fsl,aips-bus", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x02100000 0x100000>;
			ranges;

760
			usbotg1: usb@2184000 {
761 762
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184000 0x200>;
763
				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
764 765 766
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbphy = <&usbphy1>;
				fsl,usbmisc = <&usbmisc 0>;
767
				ahb-burst-config = <0x0>;
768 769
				tx-burst-size-dword = <0x10>;
				rx-burst-size-dword = <0x10>;
770 771 772
				status = "disabled";
			};

773
			usbotg2: usb@2184200 {
774 775
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184200 0x200>;
776
				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
777 778 779
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbphy = <&usbphy2>;
				fsl,usbmisc = <&usbmisc 1>;
780
				ahb-burst-config = <0x0>;
781 782
				tx-burst-size-dword = <0x10>;
				rx-burst-size-dword = <0x10>;
783 784 785
				status = "disabled";
			};

786
			usbh: usb@2184400 {
787 788
				compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
				reg = <0x02184400 0x200>;
789
				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
790 791
				clocks = <&clks IMX6SL_CLK_USBOH3>;
				fsl,usbmisc = <&usbmisc 2>;
792
				dr_mode = "host";
793
				ahb-burst-config = <0x0>;
794 795
				tx-burst-size-dword = <0x10>;
				rx-burst-size-dword = <0x10>;
796 797 798
				status = "disabled";
			};

799
			usbmisc: usbmisc@2184800 {
800 801 802 803 804 805
				#index-cells = <1>;
				compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
				reg = <0x02184800 0x200>;
				clocks = <&clks IMX6SL_CLK_USBOH3>;
			};

806
			fec: ethernet@2188000 {
807 808
				compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
				reg = <0x02188000 0x4000>;
809
				interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
810
				clocks = <&clks IMX6SL_CLK_ENET>,
811 812 813 814 815
					 <&clks IMX6SL_CLK_ENET_REF>;
				clock-names = "ipg", "ahb";
				status = "disabled";
			};

816
			usdhc1: usdhc@2190000 {
817 818
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02190000 0x4000>;
819
				interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
820 821 822 823 824 825 826 827
				clocks = <&clks IMX6SL_CLK_USDHC1>,
					 <&clks IMX6SL_CLK_USDHC1>,
					 <&clks IMX6SL_CLK_USDHC1>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

828
			usdhc2: usdhc@2194000 {
829 830
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02194000 0x4000>;
831
				interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
832 833 834 835 836 837 838 839
				clocks = <&clks IMX6SL_CLK_USDHC2>,
					 <&clks IMX6SL_CLK_USDHC2>,
					 <&clks IMX6SL_CLK_USDHC2>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

840
			usdhc3: usdhc@2198000 {
841 842
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x02198000 0x4000>;
843
				interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
844 845 846 847 848 849 850 851
				clocks = <&clks IMX6SL_CLK_USDHC3>,
					 <&clks IMX6SL_CLK_USDHC3>,
					 <&clks IMX6SL_CLK_USDHC3>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

852
			usdhc4: usdhc@219c000 {
853 854
				compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
				reg = <0x0219c000 0x4000>;
855
				interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
856 857 858 859 860 861 862 863
				clocks = <&clks IMX6SL_CLK_USDHC4>,
					 <&clks IMX6SL_CLK_USDHC4>,
					 <&clks IMX6SL_CLK_USDHC4>;
				clock-names = "ipg", "ahb", "per";
				bus-width = <4>;
				status = "disabled";
			};

864
			i2c1: i2c@21a0000 {
865 866 867 868
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a0000 0x4000>;
869
				interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
870 871 872 873
				clocks = <&clks IMX6SL_CLK_I2C1>;
				status = "disabled";
			};

874
			i2c2: i2c@21a4000 {
875 876 877 878
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a4000 0x4000>;
879
				interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
880 881 882 883
				clocks = <&clks IMX6SL_CLK_I2C2>;
				status = "disabled";
			};

884
			i2c3: i2c@21a8000 {
885 886 887 888
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
				reg = <0x021a8000 0x4000>;
889
				interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
890 891 892 893
				clocks = <&clks IMX6SL_CLK_I2C3>;
				status = "disabled";
			};

894
			mmdc: mmdc@21b0000 {
895 896 897 898
				compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
				reg = <0x021b0000 0x4000>;
			};

899
			rngb: rngb@21b4000 {
900
				reg = <0x021b4000 0x4000>;
901
				interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
902 903
			};

904
			weim: weim@21b8000 {
905 906
				#address-cells = <2>;
				#size-cells = <1>;
907
				reg = <0x021b8000 0x4000>;
908
				interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
909
				fsl,weim-cs-gpr = <&gpr>;
910
				status = "disabled";
911 912
			};

913
			ocotp: ocotp@21bc000 {
914
				compatible = "fsl,imx6sl-ocotp", "syscon";
915
				reg = <0x021bc000 0x4000>;
916
				clocks = <&clks IMX6SL_CLK_OCOTP>;
917 918
			};

919
			audmux: audmux@21d8000 {
920 921 922 923 924 925 926
				compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
				reg = <0x021d8000 0x4000>;
				status = "disabled";
			};
		};
	};
};