GNU Linux-libre 5.4.274-gnu1
[releases.git] / arch / arm / boot / dts / imx6qdl.dtsi
1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright 2011 Freescale Semiconductor, Inc.
4 // Copyright 2011 Linaro Ltd.
5
6 #include <dt-bindings/clock/imx6qdl-clock.h>
7 #include <dt-bindings/input/input.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9
10 / {
11         #address-cells = <1>;
12         #size-cells = <1>;
13         /*
14          * The decompressor and also some bootloaders rely on a
15          * pre-existing /chosen node to be available to insert the
16          * command line and merge other ATAGS info.
17          */
18         chosen {};
19
20         aliases {
21                 ethernet0 = &fec;
22                 can0 = &can1;
23                 can1 = &can2;
24                 gpio0 = &gpio1;
25                 gpio1 = &gpio2;
26                 gpio2 = &gpio3;
27                 gpio3 = &gpio4;
28                 gpio4 = &gpio5;
29                 gpio5 = &gpio6;
30                 gpio6 = &gpio7;
31                 i2c0 = &i2c1;
32                 i2c1 = &i2c2;
33                 i2c2 = &i2c3;
34                 ipu0 = &ipu1;
35                 mmc0 = &usdhc1;
36                 mmc1 = &usdhc2;
37                 mmc2 = &usdhc3;
38                 mmc3 = &usdhc4;
39                 serial0 = &uart1;
40                 serial1 = &uart2;
41                 serial2 = &uart3;
42                 serial3 = &uart4;
43                 serial4 = &uart5;
44                 spi0 = &ecspi1;
45                 spi1 = &ecspi2;
46                 spi2 = &ecspi3;
47                 spi3 = &ecspi4;
48                 usb0 = &usbotg;
49                 usb1 = &usbh1;
50                 usb2 = &usbh2;
51                 usb3 = &usbh3;
52                 usbphy0 = &usbphy1;
53                 usbphy1 = &usbphy2;
54         };
55
56         clocks {
57                 ckil {
58                         compatible = "fsl,imx-ckil", "fixed-clock";
59                         #clock-cells = <0>;
60                         clock-frequency = <32768>;
61                 };
62
63                 ckih1 {
64                         compatible = "fsl,imx-ckih1", "fixed-clock";
65                         #clock-cells = <0>;
66                         clock-frequency = <0>;
67                 };
68
69                 osc {
70                         compatible = "fsl,imx-osc", "fixed-clock";
71                         #clock-cells = <0>;
72                         clock-frequency = <24000000>;
73                 };
74         };
75
76         tempmon: tempmon {
77                 compatible = "fsl,imx6q-tempmon";
78                 interrupt-parent = <&gpc>;
79                 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
80                 fsl,tempmon = <&anatop>;
81                 fsl,tempmon-data = <&ocotp>;
82                 clocks = <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
83                 #thermal-sensor-cells = <0>;
84         };
85
86         ldb: ldb {
87                 #address-cells = <1>;
88                 #size-cells = <0>;
89                 compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
90                 gpr = <&gpr>;
91                 status = "disabled";
92
93                 lvds-channel@0 {
94                         #address-cells = <1>;
95                         #size-cells = <0>;
96                         reg = <0>;
97                         status = "disabled";
98
99                         port@0 {
100                                 reg = <0>;
101
102                                 lvds0_mux_0: endpoint {
103                                         remote-endpoint = <&ipu1_di0_lvds0>;
104                                 };
105                         };
106
107                         port@1 {
108                                 reg = <1>;
109
110                                 lvds0_mux_1: endpoint {
111                                         remote-endpoint = <&ipu1_di1_lvds0>;
112                                 };
113                         };
114                 };
115
116                 lvds-channel@1 {
117                         #address-cells = <1>;
118                         #size-cells = <0>;
119                         reg = <1>;
120                         status = "disabled";
121
122                         port@0 {
123                                 reg = <0>;
124
125                                 lvds1_mux_0: endpoint {
126                                         remote-endpoint = <&ipu1_di0_lvds1>;
127                                 };
128                         };
129
130                         port@1 {
131                                 reg = <1>;
132
133                                 lvds1_mux_1: endpoint {
134                                         remote-endpoint = <&ipu1_di1_lvds1>;
135                                 };
136                         };
137                 };
138         };
139
140         pmu: pmu {
141                 compatible = "arm,cortex-a9-pmu";
142                 interrupt-parent = <&gpc>;
143                 interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
144         };
145
146         usbphynop1: usbphynop1 {
147                 compatible = "usb-nop-xceiv";
148                 #phy-cells = <0>;
149         };
150
151         usbphynop2: usbphynop2 {
152                 compatible = "usb-nop-xceiv";
153                 #phy-cells = <0>;
154         };
155
156         soc {
157                 #address-cells = <1>;
158                 #size-cells = <1>;
159                 compatible = "simple-bus";
160                 interrupt-parent = <&gpc>;
161                 ranges;
162
163                 dma_apbh: dma-controller@110000 {
164                         compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
165                         reg = <0x00110000 0x2000>;
166                         interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
167                                      <0 13 IRQ_TYPE_LEVEL_HIGH>,
168                                      <0 13 IRQ_TYPE_LEVEL_HIGH>,
169                                      <0 13 IRQ_TYPE_LEVEL_HIGH>;
170                         interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
171                         #dma-cells = <1>;
172                         dma-channels = <4>;
173                         clocks = <&clks IMX6QDL_CLK_APBH_DMA>;
174                 };
175
176                 gpmi: gpmi-nand@112000 {
177                         compatible = "fsl,imx6q-gpmi-nand";
178                         reg = <0x00112000 0x2000>, <0x00114000 0x2000>;
179                         reg-names = "gpmi-nand", "bch";
180                         interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
181                         interrupt-names = "bch";
182                         clocks = <&clks IMX6QDL_CLK_GPMI_IO>,
183                                  <&clks IMX6QDL_CLK_GPMI_APB>,
184                                  <&clks IMX6QDL_CLK_GPMI_BCH>,
185                                  <&clks IMX6QDL_CLK_GPMI_BCH_APB>,
186                                  <&clks IMX6QDL_CLK_PER1_BCH>;
187                         clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
188                                       "gpmi_bch_apb", "per1_bch";
189                         dmas = <&dma_apbh 0>;
190                         dma-names = "rx-tx";
191                         status = "disabled";
192                 };
193
194                 hdmi: hdmi@120000 {
195                         #address-cells = <1>;
196                         #size-cells = <0>;
197                         reg = <0x00120000 0x9000>;
198                         interrupts = <0 115 0x04>;
199                         gpr = <&gpr>;
200                         clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>,
201                                  <&clks IMX6QDL_CLK_HDMI_ISFR>;
202                         clock-names = "iahb", "isfr";
203                         status = "disabled";
204
205                         port@0 {
206                                 reg = <0>;
207
208                                 hdmi_mux_0: endpoint {
209                                         remote-endpoint = <&ipu1_di0_hdmi>;
210                                 };
211                         };
212
213                         port@1 {
214                                 reg = <1>;
215
216                                 hdmi_mux_1: endpoint {
217                                         remote-endpoint = <&ipu1_di1_hdmi>;
218                                 };
219                         };
220                 };
221
222                 gpu_3d: gpu@130000 {
223                         compatible = "vivante,gc";
224                         reg = <0x00130000 0x4000>;
225                         interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
226                         clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
227                                  <&clks IMX6QDL_CLK_GPU3D_CORE>,
228                                  <&clks IMX6QDL_CLK_GPU3D_SHADER>;
229                         clock-names = "bus", "core", "shader";
230                         power-domains = <&pd_pu>;
231                         #cooling-cells = <2>;
232                 };
233
234                 gpu_2d: gpu@134000 {
235                         compatible = "vivante,gc";
236                         reg = <0x00134000 0x4000>;
237                         interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
238                         clocks = <&clks IMX6QDL_CLK_GPU2D_AXI>,
239                                  <&clks IMX6QDL_CLK_GPU2D_CORE>;
240                         clock-names = "bus", "core";
241                         power-domains = <&pd_pu>;
242                         #cooling-cells = <2>;
243                 };
244
245                 timer@a00600 {
246                         compatible = "arm,cortex-a9-twd-timer";
247                         reg = <0x00a00600 0x20>;
248                         interrupts = <1 13 0xf01>;
249                         interrupt-parent = <&intc>;
250                         clocks = <&clks IMX6QDL_CLK_TWD>;
251                 };
252
253                 intc: interrupt-controller@a01000 {
254                         compatible = "arm,cortex-a9-gic";
255                         #interrupt-cells = <3>;
256                         interrupt-controller;
257                         reg = <0x00a01000 0x1000>,
258                               <0x00a00100 0x100>;
259                         interrupt-parent = <&intc>;
260                 };
261
262                 L2: cache-controller@a02000 {
263                         compatible = "arm,pl310-cache";
264                         reg = <0x00a02000 0x1000>;
265                         interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
266                         cache-unified;
267                         cache-level = <2>;
268                         arm,tag-latency = <4 2 3>;
269                         arm,data-latency = <4 2 3>;
270                         arm,shared-override;
271                 };
272
273                 pcie: pcie@1ffc000 {
274                         compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
275                         reg = <0x01ffc000 0x04000>,
276                               <0x01f00000 0x80000>;
277                         reg-names = "dbi", "config";
278                         #address-cells = <3>;
279                         #size-cells = <2>;
280                         device_type = "pci";
281                         bus-range = <0x00 0xff>;
282                         ranges = <0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */
283                                   0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
284                         num-lanes = <1>;
285                         num-viewport = <4>;
286                         interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
287                         interrupt-names = "msi";
288                         #interrupt-cells = <1>;
289                         interrupt-map-mask = <0 0 0 0x7>;
290                         interrupt-map = <0 0 0 1 &gpc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
291                                         <0 0 0 2 &gpc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
292                                         <0 0 0 3 &gpc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
293                                         <0 0 0 4 &gpc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
294                         clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,
295                                  <&clks IMX6QDL_CLK_LVDS1_GATE>,
296                                  <&clks IMX6QDL_CLK_PCIE_REF_125M>;
297                         clock-names = "pcie", "pcie_bus", "pcie_phy";
298                         status = "disabled";
299                 };
300
301                 aips-bus@2000000 { /* AIPS1 */
302                         compatible = "fsl,aips-bus", "simple-bus";
303                         #address-cells = <1>;
304                         #size-cells = <1>;
305                         reg = <0x02000000 0x100000>;
306                         ranges;
307
308                         spba-bus@2000000 {
309                                 compatible = "fsl,spba-bus", "simple-bus";
310                                 #address-cells = <1>;
311                                 #size-cells = <1>;
312                                 reg = <0x02000000 0x40000>;
313                                 ranges;
314
315                                 spdif: spdif@2004000 {
316                                         compatible = "fsl,imx35-spdif";
317                                         reg = <0x02004000 0x4000>;
318                                         interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
319                                         dmas = <&sdma 14 18 0>,
320                                                <&sdma 15 18 0>;
321                                         dma-names = "rx", "tx";
322                                         clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,
323                                                  <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,
324                                                  <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,
325                                                  <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,
326                                                  <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;
327                                         clock-names = "core",  "rxtx0",
328                                                       "rxtx1", "rxtx2",
329                                                       "rxtx3", "rxtx4",
330                                                       "rxtx5", "rxtx6",
331                                                       "rxtx7", "spba";
332                                         status = "disabled";
333                                 };
334
335                                 ecspi1: spi@2008000 {
336                                         #address-cells = <1>;
337                                         #size-cells = <0>;
338                                         compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
339                                         reg = <0x02008000 0x4000>;
340                                         interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
341                                         clocks = <&clks IMX6QDL_CLK_ECSPI1>,
342                                                  <&clks IMX6QDL_CLK_ECSPI1>;
343                                         clock-names = "ipg", "per";
344                                         dmas = <&sdma 3 8 1>, <&sdma 4 8 2>;
345                                         dma-names = "rx", "tx";
346                                         status = "disabled";
347                                 };
348
349                                 ecspi2: spi@200c000 {
350                                         #address-cells = <1>;
351                                         #size-cells = <0>;
352                                         compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
353                                         reg = <0x0200c000 0x4000>;
354                                         interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
355                                         clocks = <&clks IMX6QDL_CLK_ECSPI2>,
356                                                  <&clks IMX6QDL_CLK_ECSPI2>;
357                                         clock-names = "ipg", "per";
358                                         dmas = <&sdma 5 8 1>, <&sdma 6 8 2>;
359                                         dma-names = "rx", "tx";
360                                         status = "disabled";
361                                 };
362
363                                 ecspi3: spi@2010000 {
364                                         #address-cells = <1>;
365                                         #size-cells = <0>;
366                                         compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
367                                         reg = <0x02010000 0x4000>;
368                                         interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
369                                         clocks = <&clks IMX6QDL_CLK_ECSPI3>,
370                                                  <&clks IMX6QDL_CLK_ECSPI3>;
371                                         clock-names = "ipg", "per";
372                                         dmas = <&sdma 7 8 1>, <&sdma 8 8 2>;
373                                         dma-names = "rx", "tx";
374                                         status = "disabled";
375                                 };
376
377                                 ecspi4: spi@2014000 {
378                                         #address-cells = <1>;
379                                         #size-cells = <0>;
380                                         compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
381                                         reg = <0x02014000 0x4000>;
382                                         interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
383                                         clocks = <&clks IMX6QDL_CLK_ECSPI4>,
384                                                  <&clks IMX6QDL_CLK_ECSPI4>;
385                                         clock-names = "ipg", "per";
386                                         dmas = <&sdma 9 8 1>, <&sdma 10 8 2>;
387                                         dma-names = "rx", "tx";
388                                         status = "disabled";
389                                 };
390
391                                 uart1: serial@2020000 {
392                                         compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
393                                         reg = <0x02020000 0x4000>;
394                                         interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
395                                         clocks = <&clks IMX6QDL_CLK_UART_IPG>,
396                                                  <&clks IMX6QDL_CLK_UART_SERIAL>;
397                                         clock-names = "ipg", "per";
398                                         dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
399                                         dma-names = "rx", "tx";
400                                         status = "disabled";
401                                 };
402
403                                 esai: esai@2024000 {
404                                         #sound-dai-cells = <0>;
405                                         compatible = "fsl,imx35-esai";
406                                         reg = <0x02024000 0x4000>;
407                                         interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
408                                         clocks = <&clks IMX6QDL_CLK_ESAI_IPG>,
409                                                  <&clks IMX6QDL_CLK_ESAI_MEM>,
410                                                  <&clks IMX6QDL_CLK_ESAI_EXTAL>,
411                                                  <&clks IMX6QDL_CLK_ESAI_IPG>,
412                                                  <&clks IMX6QDL_CLK_SPBA>;
413                                         clock-names = "core", "mem", "extal", "fsys", "spba";
414                                         dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
415                                         dma-names = "rx", "tx";
416                                         status = "disabled";
417                                 };
418
419                                 ssi1: ssi@2028000 {
420                                         #sound-dai-cells = <0>;
421                                         compatible = "fsl,imx6q-ssi",
422                                                         "fsl,imx51-ssi";
423                                         reg = <0x02028000 0x4000>;
424                                         interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
425                                         clocks = <&clks IMX6QDL_CLK_SSI1_IPG>,
426                                                  <&clks IMX6QDL_CLK_SSI1>;
427                                         clock-names = "ipg", "baud";
428                                         dmas = <&sdma 37 1 0>,
429                                                <&sdma 38 1 0>;
430                                         dma-names = "rx", "tx";
431                                         fsl,fifo-depth = <15>;
432                                         status = "disabled";
433                                 };
434
435                                 ssi2: ssi@202c000 {
436                                         #sound-dai-cells = <0>;
437                                         compatible = "fsl,imx6q-ssi",
438                                                         "fsl,imx51-ssi";
439                                         reg = <0x0202c000 0x4000>;
440                                         interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
441                                         clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,
442                                                  <&clks IMX6QDL_CLK_SSI2>;
443                                         clock-names = "ipg", "baud";
444                                         dmas = <&sdma 41 1 0>,
445                                                <&sdma 42 1 0>;
446                                         dma-names = "rx", "tx";
447                                         fsl,fifo-depth = <15>;
448                                         status = "disabled";
449                                 };
450
451                                 ssi3: ssi@2030000 {
452                                         #sound-dai-cells = <0>;
453                                         compatible = "fsl,imx6q-ssi",
454                                                         "fsl,imx51-ssi";
455                                         reg = <0x02030000 0x4000>;
456                                         interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
457                                         clocks = <&clks IMX6QDL_CLK_SSI3_IPG>,
458                                                  <&clks IMX6QDL_CLK_SSI3>;
459                                         clock-names = "ipg", "baud";
460                                         dmas = <&sdma 45 1 0>,
461                                                <&sdma 46 1 0>;
462                                         dma-names = "rx", "tx";
463                                         fsl,fifo-depth = <15>;
464                                         status = "disabled";
465                                 };
466
467                                 asrc: asrc@2034000 {
468                                         compatible = "fsl,imx53-asrc";
469                                         reg = <0x02034000 0x4000>;
470                                         interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
471                                         clocks = <&clks IMX6QDL_CLK_ASRC_IPG>,
472                                                 <&clks IMX6QDL_CLK_ASRC_MEM>, <&clks 0>,
473                                                 <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
474                                                 <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
475                                                 <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
476                                                 <&clks IMX6QDL_CLK_ASRC>, <&clks 0>, <&clks 0>,
477                                                 <&clks IMX6QDL_CLK_SPBA>;
478                                         clock-names = "mem", "ipg", "asrck_0",
479                                                 "asrck_1", "asrck_2", "asrck_3", "asrck_4",
480                                                 "asrck_5", "asrck_6", "asrck_7", "asrck_8",
481                                                 "asrck_9", "asrck_a", "asrck_b", "asrck_c",
482                                                 "asrck_d", "asrck_e", "asrck_f", "spba";
483                                         dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
484                                                 <&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
485                                         dma-names = "rxa", "rxb", "rxc",
486                                                         "txa", "txb", "txc";
487                                         fsl,asrc-rate  = <48000>;
488                                         fsl,asrc-width = <16>;
489                                         status = "okay";
490                                 };
491
492                                 spba@203c000 {
493                                         reg = <0x0203c000 0x4000>;
494                                 };
495                         };
496
497                         vpu: vpu@2040000 {
498                                 compatible = "cnm,coda960";
499                                 reg = <0x02040000 0x3c000>;
500                                 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>,
501                                              <0 3 IRQ_TYPE_LEVEL_HIGH>;
502                                 interrupt-names = "bit", "jpeg";
503                                 clocks = <&clks IMX6QDL_CLK_VPU_AXI>,
504                                          <&clks IMX6QDL_CLK_MMDC_CH0_AXI>;
505                                 clock-names = "per", "ahb";
506                                 power-domains = <&pd_pu>;
507                                 resets = <&src 1>;
508                                 iram = <&ocram>;
509                         };
510
511                         aipstz@207c000 { /* AIPSTZ1 */
512                                 reg = <0x0207c000 0x4000>;
513                         };
514
515                         pwm1: pwm@2080000 {
516                                 #pwm-cells = <2>;
517                                 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
518                                 reg = <0x02080000 0x4000>;
519                                 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
520                                 clocks = <&clks IMX6QDL_CLK_IPG>,
521                                          <&clks IMX6QDL_CLK_PWM1>;
522                                 clock-names = "ipg", "per";
523                                 status = "disabled";
524                         };
525
526                         pwm2: pwm@2084000 {
527                                 #pwm-cells = <2>;
528                                 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
529                                 reg = <0x02084000 0x4000>;
530                                 interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
531                                 clocks = <&clks IMX6QDL_CLK_IPG>,
532                                          <&clks IMX6QDL_CLK_PWM2>;
533                                 clock-names = "ipg", "per";
534                                 status = "disabled";
535                         };
536
537                         pwm3: pwm@2088000 {
538                                 #pwm-cells = <2>;
539                                 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
540                                 reg = <0x02088000 0x4000>;
541                                 interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
542                                 clocks = <&clks IMX6QDL_CLK_IPG>,
543                                          <&clks IMX6QDL_CLK_PWM3>;
544                                 clock-names = "ipg", "per";
545                                 status = "disabled";
546                         };
547
548                         pwm4: pwm@208c000 {
549                                 #pwm-cells = <2>;
550                                 compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
551                                 reg = <0x0208c000 0x4000>;
552                                 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
553                                 clocks = <&clks IMX6QDL_CLK_IPG>,
554                                          <&clks IMX6QDL_CLK_PWM4>;
555                                 clock-names = "ipg", "per";
556                                 status = "disabled";
557                         };
558
559                         can1: flexcan@2090000 {
560                                 compatible = "fsl,imx6q-flexcan";
561                                 reg = <0x02090000 0x4000>;
562                                 interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
563                                 clocks = <&clks IMX6QDL_CLK_CAN1_IPG>,
564                                          <&clks IMX6QDL_CLK_CAN1_SERIAL>;
565                                 clock-names = "ipg", "per";
566                                 fsl,stop-mode = <&gpr 0x34 28 0x10 17>;
567                                 status = "disabled";
568                         };
569
570                         can2: flexcan@2094000 {
571                                 compatible = "fsl,imx6q-flexcan";
572                                 reg = <0x02094000 0x4000>;
573                                 interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
574                                 clocks = <&clks IMX6QDL_CLK_CAN2_IPG>,
575                                          <&clks IMX6QDL_CLK_CAN2_SERIAL>;
576                                 clock-names = "ipg", "per";
577                                 fsl,stop-mode = <&gpr 0x34 29 0x10 18>;
578                                 status = "disabled";
579                         };
580
581                         gpt: timer@2098000 {
582                                 compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt";
583                                 reg = <0x02098000 0x4000>;
584                                 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
585                                 clocks = <&clks IMX6QDL_CLK_GPT_IPG>,
586                                          <&clks IMX6QDL_CLK_GPT_IPG_PER>,
587                                          <&clks IMX6QDL_CLK_GPT_3M>;
588                                 clock-names = "ipg", "per", "osc_per";
589                         };
590
591                         gpio1: gpio@209c000 {
592                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
593                                 reg = <0x0209c000 0x4000>;
594                                 interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
595                                              <0 67 IRQ_TYPE_LEVEL_HIGH>;
596                                 gpio-controller;
597                                 #gpio-cells = <2>;
598                                 interrupt-controller;
599                                 #interrupt-cells = <2>;
600                         };
601
602                         gpio2: gpio@20a0000 {
603                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
604                                 reg = <0x020a0000 0x4000>;
605                                 interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
606                                              <0 69 IRQ_TYPE_LEVEL_HIGH>;
607                                 gpio-controller;
608                                 #gpio-cells = <2>;
609                                 interrupt-controller;
610                                 #interrupt-cells = <2>;
611                         };
612
613                         gpio3: gpio@20a4000 {
614                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
615                                 reg = <0x020a4000 0x4000>;
616                                 interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
617                                              <0 71 IRQ_TYPE_LEVEL_HIGH>;
618                                 gpio-controller;
619                                 #gpio-cells = <2>;
620                                 interrupt-controller;
621                                 #interrupt-cells = <2>;
622                         };
623
624                         gpio4: gpio@20a8000 {
625                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
626                                 reg = <0x020a8000 0x4000>;
627                                 interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
628                                              <0 73 IRQ_TYPE_LEVEL_HIGH>;
629                                 gpio-controller;
630                                 #gpio-cells = <2>;
631                                 interrupt-controller;
632                                 #interrupt-cells = <2>;
633                         };
634
635                         gpio5: gpio@20ac000 {
636                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
637                                 reg = <0x020ac000 0x4000>;
638                                 interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
639                                              <0 75 IRQ_TYPE_LEVEL_HIGH>;
640                                 gpio-controller;
641                                 #gpio-cells = <2>;
642                                 interrupt-controller;
643                                 #interrupt-cells = <2>;
644                         };
645
646                         gpio6: gpio@20b0000 {
647                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
648                                 reg = <0x020b0000 0x4000>;
649                                 interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>,
650                                              <0 77 IRQ_TYPE_LEVEL_HIGH>;
651                                 gpio-controller;
652                                 #gpio-cells = <2>;
653                                 interrupt-controller;
654                                 #interrupt-cells = <2>;
655                         };
656
657                         gpio7: gpio@20b4000 {
658                                 compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
659                                 reg = <0x020b4000 0x4000>;
660                                 interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>,
661                                              <0 79 IRQ_TYPE_LEVEL_HIGH>;
662                                 gpio-controller;
663                                 #gpio-cells = <2>;
664                                 interrupt-controller;
665                                 #interrupt-cells = <2>;
666                         };
667
668                         kpp: kpp@20b8000 {
669                                 compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
670                                 reg = <0x020b8000 0x4000>;
671                                 interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
672                                 clocks = <&clks IMX6QDL_CLK_IPG>;
673                                 status = "disabled";
674                         };
675
676                         wdog1: wdog@20bc000 {
677                                 compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
678                                 reg = <0x020bc000 0x4000>;
679                                 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
680                                 clocks = <&clks IMX6QDL_CLK_IPG>;
681                         };
682
683                         wdog2: wdog@20c0000 {
684                                 compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
685                                 reg = <0x020c0000 0x4000>;
686                                 interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
687                                 clocks = <&clks IMX6QDL_CLK_IPG>;
688                                 status = "disabled";
689                         };
690
691                         clks: ccm@20c4000 {
692                                 compatible = "fsl,imx6q-ccm";
693                                 reg = <0x020c4000 0x4000>;
694                                 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
695                                              <0 88 IRQ_TYPE_LEVEL_HIGH>;
696                                 #clock-cells = <1>;
697                         };
698
699                         anatop: anatop@20c8000 {
700                                 compatible = "fsl,imx6q-anatop", "syscon", "simple-mfd";
701                                 reg = <0x020c8000 0x1000>;
702                                 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
703                                              <0 54 IRQ_TYPE_LEVEL_HIGH>,
704                                              <0 127 IRQ_TYPE_LEVEL_HIGH>;
705
706                                 reg_vdd1p1: regulator-1p1 {
707                                         compatible = "fsl,anatop-regulator";
708                                         regulator-name = "vdd1p1";
709                                         regulator-min-microvolt = <1000000>;
710                                         regulator-max-microvolt = <1200000>;
711                                         regulator-always-on;
712                                         anatop-reg-offset = <0x110>;
713                                         anatop-vol-bit-shift = <8>;
714                                         anatop-vol-bit-width = <5>;
715                                         anatop-min-bit-val = <4>;
716                                         anatop-min-voltage = <800000>;
717                                         anatop-max-voltage = <1375000>;
718                                         anatop-enable-bit = <0>;
719                                 };
720
721                                 reg_vdd3p0: regulator-3p0 {
722                                         compatible = "fsl,anatop-regulator";
723                                         regulator-name = "vdd3p0";
724                                         regulator-min-microvolt = <2800000>;
725                                         regulator-max-microvolt = <3150000>;
726                                         regulator-always-on;
727                                         anatop-reg-offset = <0x120>;
728                                         anatop-vol-bit-shift = <8>;
729                                         anatop-vol-bit-width = <5>;
730                                         anatop-min-bit-val = <0>;
731                                         anatop-min-voltage = <2625000>;
732                                         anatop-max-voltage = <3400000>;
733                                         anatop-enable-bit = <0>;
734                                 };
735
736                                 reg_vdd2p5: regulator-2p5 {
737                                         compatible = "fsl,anatop-regulator";
738                                         regulator-name = "vdd2p5";
739                                         regulator-min-microvolt = <2250000>;
740                                         regulator-max-microvolt = <2750000>;
741                                         regulator-always-on;
742                                         anatop-reg-offset = <0x130>;
743                                         anatop-vol-bit-shift = <8>;
744                                         anatop-vol-bit-width = <5>;
745                                         anatop-min-bit-val = <0>;
746                                         anatop-min-voltage = <2100000>;
747                                         anatop-max-voltage = <2875000>;
748                                         anatop-enable-bit = <0>;
749                                 };
750
751                                 reg_arm: regulator-vddcore {
752                                         compatible = "fsl,anatop-regulator";
753                                         regulator-name = "vddarm";
754                                         regulator-min-microvolt = <725000>;
755                                         regulator-max-microvolt = <1450000>;
756                                         regulator-always-on;
757                                         anatop-reg-offset = <0x140>;
758                                         anatop-vol-bit-shift = <0>;
759                                         anatop-vol-bit-width = <5>;
760                                         anatop-delay-reg-offset = <0x170>;
761                                         anatop-delay-bit-shift = <24>;
762                                         anatop-delay-bit-width = <2>;
763                                         anatop-min-bit-val = <1>;
764                                         anatop-min-voltage = <725000>;
765                                         anatop-max-voltage = <1450000>;
766                                 };
767
768                                 reg_pu: regulator-vddpu {
769                                         compatible = "fsl,anatop-regulator";
770                                         regulator-name = "vddpu";
771                                         regulator-min-microvolt = <725000>;
772                                         regulator-max-microvolt = <1450000>;
773                                         regulator-enable-ramp-delay = <380>;
774                                         anatop-reg-offset = <0x140>;
775                                         anatop-vol-bit-shift = <9>;
776                                         anatop-vol-bit-width = <5>;
777                                         anatop-delay-reg-offset = <0x170>;
778                                         anatop-delay-bit-shift = <26>;
779                                         anatop-delay-bit-width = <2>;
780                                         anatop-min-bit-val = <1>;
781                                         anatop-min-voltage = <725000>;
782                                         anatop-max-voltage = <1450000>;
783                                 };
784
785                                 reg_soc: regulator-vddsoc {
786                                         compatible = "fsl,anatop-regulator";
787                                         regulator-name = "vddsoc";
788                                         regulator-min-microvolt = <725000>;
789                                         regulator-max-microvolt = <1450000>;
790                                         regulator-always-on;
791                                         anatop-reg-offset = <0x140>;
792                                         anatop-vol-bit-shift = <18>;
793                                         anatop-vol-bit-width = <5>;
794                                         anatop-delay-reg-offset = <0x170>;
795                                         anatop-delay-bit-shift = <28>;
796                                         anatop-delay-bit-width = <2>;
797                                         anatop-min-bit-val = <1>;
798                                         anatop-min-voltage = <725000>;
799                                         anatop-max-voltage = <1450000>;
800                                 };
801                         };
802
803                         usbphy1: usbphy@20c9000 {
804                                 compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
805                                 reg = <0x020c9000 0x1000>;
806                                 interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
807                                 clocks = <&clks IMX6QDL_CLK_USBPHY1>;
808                                 fsl,anatop = <&anatop>;
809                         };
810
811                         usbphy2: usbphy@20ca000 {
812                                 compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
813                                 reg = <0x020ca000 0x1000>;
814                                 interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
815                                 clocks = <&clks IMX6QDL_CLK_USBPHY2>;
816                                 fsl,anatop = <&anatop>;
817                         };
818
819                         snvs: snvs@20cc000 {
820                                 compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
821                                 reg = <0x020cc000 0x4000>;
822
823                                 snvs_rtc: snvs-rtc-lp {
824                                         compatible = "fsl,sec-v4.0-mon-rtc-lp";
825                                         regmap = <&snvs>;
826                                         offset = <0x34>;
827                                         interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
828                                                      <0 20 IRQ_TYPE_LEVEL_HIGH>;
829                                 };
830
831                                 snvs_poweroff: snvs-poweroff {
832                                         compatible = "syscon-poweroff";
833                                         regmap = <&snvs>;
834                                         offset = <0x38>;
835                                         value = <0x60>;
836                                         mask = <0x60>;
837                                         status = "disabled";
838                                 };
839
840                                 snvs_pwrkey: snvs-powerkey {
841                                         compatible = "fsl,sec-v4.0-pwrkey";
842                                         regmap = <&snvs>;
843                                         interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
844                                         linux,keycode = <KEY_POWER>;
845                                         wakeup-source;
846                                         status = "disabled";
847                                 };
848
849                                 snvs_lpgpr: snvs-lpgpr {
850                                         compatible = "fsl,imx6q-snvs-lpgpr";
851                                 };
852                         };
853
854                         epit1: epit@20d0000 { /* EPIT1 */
855                                 reg = <0x020d0000 0x4000>;
856                                 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
857                         };
858
859                         epit2: epit@20d4000 { /* EPIT2 */
860                                 reg = <0x020d4000 0x4000>;
861                                 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
862                         };
863
864                         src: src@20d8000 {
865                                 compatible = "fsl,imx6q-src", "fsl,imx51-src";
866                                 reg = <0x020d8000 0x4000>;
867                                 interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
868                                              <0 96 IRQ_TYPE_LEVEL_HIGH>;
869                                 #reset-cells = <1>;
870                         };
871
872                         gpc: gpc@20dc000 {
873                                 compatible = "fsl,imx6q-gpc";
874                                 reg = <0x020dc000 0x4000>;
875                                 interrupt-controller;
876                                 #interrupt-cells = <3>;
877                                 interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>,
878                                              <0 90 IRQ_TYPE_LEVEL_HIGH>;
879                                 interrupt-parent = <&intc>;
880                                 clocks = <&clks IMX6QDL_CLK_IPG>;
881                                 clock-names = "ipg";
882
883                                 pgc {
884                                         #address-cells = <1>;
885                                         #size-cells = <0>;
886
887                                         power-domain@0 {
888                                                 reg = <0>;
889                                                 #power-domain-cells = <0>;
890                                         };
891                                         pd_pu: power-domain@1 {
892                                                 reg = <1>;
893                                                 #power-domain-cells = <0>;
894                                                 power-supply = <&reg_pu>;
895                                                 clocks = <&clks IMX6QDL_CLK_GPU3D_CORE>,
896                                                          <&clks IMX6QDL_CLK_GPU3D_SHADER>,
897                                                          <&clks IMX6QDL_CLK_GPU2D_CORE>,
898                                                          <&clks IMX6QDL_CLK_GPU2D_AXI>,
899                                                          <&clks IMX6QDL_CLK_OPENVG_AXI>,
900                                                          <&clks IMX6QDL_CLK_VPU_AXI>;
901                                         };
902                                 };
903                         };
904
905                         gpr: iomuxc-gpr@20e0000 {
906                                 compatible = "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
907                                 reg = <0x20e0000 0x38>;
908
909                                 mux: mux-controller {
910                                         compatible = "mmio-mux";
911                                         #mux-control-cells = <1>;
912                                 };
913                         };
914
915                         iomuxc: iomuxc@20e0000 {
916                                 compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
917                                 reg = <0x20e0000 0x4000>;
918                         };
919
920                         dcic1: dcic@20e4000 {
921                                 reg = <0x020e4000 0x4000>;
922                                 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
923                         };
924
925                         dcic2: dcic@20e8000 {
926                                 reg = <0x020e8000 0x4000>;
927                                 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
928                         };
929
930                         sdma: sdma@20ec000 {
931                                 compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
932                                 reg = <0x020ec000 0x4000>;
933                                 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
934                                 clocks = <&clks IMX6QDL_CLK_IPG>,
935                                          <&clks IMX6QDL_CLK_SDMA>;
936                                 clock-names = "ipg", "ahb";
937                                 #dma-cells = <3>;
938                                 fsl,sdma-ram-script-name = "/*(DEBLOBBED)*/";
939                         };
940                 };
941
942                 aips-bus@2100000 { /* AIPS2 */
943                         compatible = "fsl,aips-bus", "simple-bus";
944                         #address-cells = <1>;
945                         #size-cells = <1>;
946                         reg = <0x02100000 0x100000>;
947                         ranges;
948
949                         crypto: caam@2100000 {
950                                 compatible = "fsl,sec-v4.0";
951                                 #address-cells = <1>;
952                                 #size-cells = <1>;
953                                 reg = <0x2100000 0x10000>;
954                                 ranges = <0 0x2100000 0x10000>;
955                                 clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
956                                          <&clks IMX6QDL_CLK_CAAM_ACLK>,
957                                          <&clks IMX6QDL_CLK_CAAM_IPG>,
958                                          <&clks IMX6QDL_CLK_EIM_SLOW>;
959                                 clock-names = "mem", "aclk", "ipg", "emi_slow";
960
961                                 sec_jr0: jr0@1000 {
962                                         compatible = "fsl,sec-v4.0-job-ring";
963                                         reg = <0x1000 0x1000>;
964                                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
965                                 };
966
967                                 sec_jr1: jr1@2000 {
968                                         compatible = "fsl,sec-v4.0-job-ring";
969                                         reg = <0x2000 0x1000>;
970                                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
971                                 };
972                         };
973
974                         aipstz@217c000 { /* AIPSTZ2 */
975                                 reg = <0x0217c000 0x4000>;
976                         };
977
978                         usbotg: usb@2184000 {
979                                 compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
980                                 reg = <0x02184000 0x200>;
981                                 interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
982                                 clocks = <&clks IMX6QDL_CLK_USBOH3>;
983                                 fsl,usbphy = <&usbphy1>;
984                                 fsl,usbmisc = <&usbmisc 0>;
985                                 ahb-burst-config = <0x0>;
986                                 tx-burst-size-dword = <0x10>;
987                                 rx-burst-size-dword = <0x10>;
988                                 status = "disabled";
989                         };
990
991                         usbh1: usb@2184200 {
992                                 compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
993                                 reg = <0x02184200 0x200>;
994                                 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
995                                 clocks = <&clks IMX6QDL_CLK_USBOH3>;
996                                 fsl,usbphy = <&usbphy2>;
997                                 fsl,usbmisc = <&usbmisc 1>;
998                                 dr_mode = "host";
999                                 ahb-burst-config = <0x0>;
1000                                 tx-burst-size-dword = <0x10>;
1001                                 rx-burst-size-dword = <0x10>;
1002                                 status = "disabled";
1003                         };
1004
1005                         usbh2: usb@2184400 {
1006                                 compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
1007                                 reg = <0x02184400 0x200>;
1008                                 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
1009                                 clocks = <&clks IMX6QDL_CLK_USBOH3>;
1010                                 fsl,usbphy = <&usbphynop1>;
1011                                 phy_type = "hsic";
1012                                 fsl,usbmisc = <&usbmisc 2>;
1013                                 dr_mode = "host";
1014                                 ahb-burst-config = <0x0>;
1015                                 tx-burst-size-dword = <0x10>;
1016                                 rx-burst-size-dword = <0x10>;
1017                                 status = "disabled";
1018                         };
1019
1020                         usbh3: usb@2184600 {
1021                                 compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
1022                                 reg = <0x02184600 0x200>;
1023                                 interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
1024                                 clocks = <&clks IMX6QDL_CLK_USBOH3>;
1025                                 fsl,usbphy = <&usbphynop2>;
1026                                 phy_type = "hsic";
1027                                 fsl,usbmisc = <&usbmisc 3>;
1028                                 dr_mode = "host";
1029                                 ahb-burst-config = <0x0>;
1030                                 tx-burst-size-dword = <0x10>;
1031                                 rx-burst-size-dword = <0x10>;
1032                                 status = "disabled";
1033                         };
1034
1035                         usbmisc: usbmisc@2184800 {
1036                                 #index-cells = <1>;
1037                                 compatible = "fsl,imx6q-usbmisc";
1038                                 reg = <0x02184800 0x200>;
1039                                 clocks = <&clks IMX6QDL_CLK_USBOH3>;
1040                         };
1041
1042                         fec: ethernet@2188000 {
1043                                 compatible = "fsl,imx6q-fec";
1044                                 reg = <0x02188000 0x4000>;
1045                                 interrupt-names = "int0", "pps";
1046                                 interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>,
1047                                              <0 119 IRQ_TYPE_LEVEL_HIGH>;
1048                                 clocks = <&clks IMX6QDL_CLK_ENET>,
1049                                          <&clks IMX6QDL_CLK_ENET>,
1050                                          <&clks IMX6QDL_CLK_ENET_REF>;
1051                                 clock-names = "ipg", "ahb", "ptp";
1052                                 status = "disabled";
1053                         };
1054
1055                         mlb@218c000 {
1056                                 reg = <0x0218c000 0x4000>;
1057                                 interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>,
1058                                              <0 117 IRQ_TYPE_LEVEL_HIGH>,
1059                                              <0 126 IRQ_TYPE_LEVEL_HIGH>;
1060                         };
1061
1062                         usdhc1: usdhc@2190000 {
1063                                 compatible = "fsl,imx6q-usdhc";
1064                                 reg = <0x02190000 0x4000>;
1065                                 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
1066                                 clocks = <&clks IMX6QDL_CLK_USDHC1>,
1067                                          <&clks IMX6QDL_CLK_USDHC1>,
1068                                          <&clks IMX6QDL_CLK_USDHC1>;
1069                                 clock-names = "ipg", "ahb", "per";
1070                                 bus-width = <4>;
1071                                 status = "disabled";
1072                         };
1073
1074                         usdhc2: usdhc@2194000 {
1075                                 compatible = "fsl,imx6q-usdhc";
1076                                 reg = <0x02194000 0x4000>;
1077                                 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
1078                                 clocks = <&clks IMX6QDL_CLK_USDHC2>,
1079                                          <&clks IMX6QDL_CLK_USDHC2>,
1080                                          <&clks IMX6QDL_CLK_USDHC2>;
1081                                 clock-names = "ipg", "ahb", "per";
1082                                 bus-width = <4>;
1083                                 status = "disabled";
1084                         };
1085
1086                         usdhc3: usdhc@2198000 {
1087                                 compatible = "fsl,imx6q-usdhc";
1088                                 reg = <0x02198000 0x4000>;
1089                                 interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
1090                                 clocks = <&clks IMX6QDL_CLK_USDHC3>,
1091                                          <&clks IMX6QDL_CLK_USDHC3>,
1092                                          <&clks IMX6QDL_CLK_USDHC3>;
1093                                 clock-names = "ipg", "ahb", "per";
1094                                 bus-width = <4>;
1095                                 status = "disabled";
1096                         };
1097
1098                         usdhc4: usdhc@219c000 {
1099                                 compatible = "fsl,imx6q-usdhc";
1100                                 reg = <0x0219c000 0x4000>;
1101                                 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
1102                                 clocks = <&clks IMX6QDL_CLK_USDHC4>,
1103                                          <&clks IMX6QDL_CLK_USDHC4>,
1104                                          <&clks IMX6QDL_CLK_USDHC4>;
1105                                 clock-names = "ipg", "ahb", "per";
1106                                 bus-width = <4>;
1107                                 status = "disabled";
1108                         };
1109
1110                         i2c1: i2c@21a0000 {
1111                                 #address-cells = <1>;
1112                                 #size-cells = <0>;
1113                                 compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1114                                 reg = <0x021a0000 0x4000>;
1115                                 interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
1116                                 clocks = <&clks IMX6QDL_CLK_I2C1>;
1117                                 status = "disabled";
1118                         };
1119
1120                         i2c2: i2c@21a4000 {
1121                                 #address-cells = <1>;
1122                                 #size-cells = <0>;
1123                                 compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1124                                 reg = <0x021a4000 0x4000>;
1125                                 interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
1126                                 clocks = <&clks IMX6QDL_CLK_I2C2>;
1127                                 status = "disabled";
1128                         };
1129
1130                         i2c3: i2c@21a8000 {
1131                                 #address-cells = <1>;
1132                                 #size-cells = <0>;
1133                                 compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
1134                                 reg = <0x021a8000 0x4000>;
1135                                 interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
1136                                 clocks = <&clks IMX6QDL_CLK_I2C3>;
1137                                 status = "disabled";
1138                         };
1139
1140                         romcp@21ac000 {
1141                                 reg = <0x021ac000 0x4000>;
1142                         };
1143
1144                         mmdc0: memory-controller@21b0000 { /* MMDC0 */
1145                                 compatible = "fsl,imx6q-mmdc";
1146                                 reg = <0x021b0000 0x4000>;
1147                                 clocks = <&clks IMX6QDL_CLK_MMDC_P0_IPG>;
1148                         };
1149
1150                         mmdc1: memory-controller@21b4000 { /* MMDC1 */
1151                                 compatible = "fsl,imx6q-mmdc";
1152                                 reg = <0x021b4000 0x4000>;
1153                                 status = "disabled";
1154                         };
1155
1156                         weim: weim@21b8000 {
1157                                 #address-cells = <2>;
1158                                 #size-cells = <1>;
1159                                 compatible = "fsl,imx6q-weim";
1160                                 reg = <0x021b8000 0x4000>;
1161                                 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
1162                                 clocks = <&clks IMX6QDL_CLK_EIM_SLOW>;
1163                                 fsl,weim-cs-gpr = <&gpr>;
1164                                 status = "disabled";
1165                         };
1166
1167                         ocotp: ocotp@21bc000 {
1168                                 compatible = "fsl,imx6q-ocotp", "syscon";
1169                                 reg = <0x021bc000 0x4000>;
1170                                 clocks = <&clks IMX6QDL_CLK_IIM>;
1171                         };
1172
1173                         tzasc@21d0000 { /* TZASC1 */
1174                                 reg = <0x021d0000 0x4000>;
1175                                 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
1176                         };
1177
1178                         tzasc@21d4000 { /* TZASC2 */
1179                                 reg = <0x021d4000 0x4000>;
1180                                 interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
1181                         };
1182
1183                         audmux: audmux@21d8000 {
1184                                 compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
1185                                 reg = <0x021d8000 0x4000>;
1186                                 status = "disabled";
1187                         };
1188
1189                         mipi_csi: mipi@21dc000 {
1190                                 compatible = "fsl,imx6-mipi-csi2";
1191                                 reg = <0x021dc000 0x4000>;
1192                                 #address-cells = <1>;
1193                                 #size-cells = <0>;
1194                                 interrupts = <0 100 0x04>, <0 101 0x04>;
1195                                 clocks = <&clks IMX6QDL_CLK_HSI_TX>,
1196                                          <&clks IMX6QDL_CLK_VIDEO_27M>,
1197                                          <&clks IMX6QDL_CLK_EIM_PODF>;
1198                                 clock-names = "dphy", "ref", "pix";
1199                                 status = "disabled";
1200                         };
1201
1202                         mipi_dsi: mipi@21e0000 {
1203                                 reg = <0x021e0000 0x4000>;
1204                                 status = "disabled";
1205
1206                                 ports {
1207                                         #address-cells = <1>;
1208                                         #size-cells = <0>;
1209
1210                                         port@0 {
1211                                                 reg = <0>;
1212
1213                                                 mipi_mux_0: endpoint {
1214                                                         remote-endpoint = <&ipu1_di0_mipi>;
1215                                                 };
1216                                         };
1217
1218                                         port@1 {
1219                                                 reg = <1>;
1220
1221                                                 mipi_mux_1: endpoint {
1222                                                         remote-endpoint = <&ipu1_di1_mipi>;
1223                                                 };
1224                                         };
1225                                 };
1226                         };
1227
1228                         vdoa@21e4000 {
1229                                 compatible = "fsl,imx6q-vdoa";
1230                                 reg = <0x021e4000 0x4000>;
1231                                 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
1232                                 clocks = <&clks IMX6QDL_CLK_VDOA>;
1233                         };
1234
1235                         uart2: serial@21e8000 {
1236                                 compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1237                                 reg = <0x021e8000 0x4000>;
1238                                 interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
1239                                 clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1240                                          <&clks IMX6QDL_CLK_UART_SERIAL>;
1241                                 clock-names = "ipg", "per";
1242                                 dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
1243                                 dma-names = "rx", "tx";
1244                                 status = "disabled";
1245                         };
1246
1247                         uart3: serial@21ec000 {
1248                                 compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1249                                 reg = <0x021ec000 0x4000>;
1250                                 interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
1251                                 clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1252                                          <&clks IMX6QDL_CLK_UART_SERIAL>;
1253                                 clock-names = "ipg", "per";
1254                                 dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
1255                                 dma-names = "rx", "tx";
1256                                 status = "disabled";
1257                         };
1258
1259                         uart4: serial@21f0000 {
1260                                 compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1261                                 reg = <0x021f0000 0x4000>;
1262                                 interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
1263                                 clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1264                                          <&clks IMX6QDL_CLK_UART_SERIAL>;
1265                                 clock-names = "ipg", "per";
1266                                 dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
1267                                 dma-names = "rx", "tx";
1268                                 status = "disabled";
1269                         };
1270
1271                         uart5: serial@21f4000 {
1272                                 compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
1273                                 reg = <0x021f4000 0x4000>;
1274                                 interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
1275                                 clocks = <&clks IMX6QDL_CLK_UART_IPG>,
1276                                          <&clks IMX6QDL_CLK_UART_SERIAL>;
1277                                 clock-names = "ipg", "per";
1278                                 dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
1279                                 dma-names = "rx", "tx";
1280                                 status = "disabled";
1281                         };
1282                 };
1283
1284                 ipu1: ipu@2400000 {
1285                         #address-cells = <1>;
1286                         #size-cells = <0>;
1287                         compatible = "fsl,imx6q-ipu";
1288                         reg = <0x02400000 0x400000>;
1289                         interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>,
1290                                      <0 5 IRQ_TYPE_LEVEL_HIGH>;
1291                         clocks = <&clks IMX6QDL_CLK_IPU1>,
1292                                  <&clks IMX6QDL_CLK_IPU1_DI0>,
1293                                  <&clks IMX6QDL_CLK_IPU1_DI1>;
1294                         clock-names = "bus", "di0", "di1";
1295                         resets = <&src 2>;
1296
1297                         ipu1_csi0: port@0 {
1298                                 reg = <0>;
1299
1300                                 ipu1_csi0_from_ipu1_csi0_mux: endpoint {
1301                                         remote-endpoint = <&ipu1_csi0_mux_to_ipu1_csi0>;
1302                                 };
1303                         };
1304
1305                         ipu1_csi1: port@1 {
1306                                 reg = <1>;
1307                         };
1308
1309                         ipu1_di0: port@2 {
1310                                 #address-cells = <1>;
1311                                 #size-cells = <0>;
1312                                 reg = <2>;
1313
1314                                 ipu1_di0_disp0: endpoint@0 {
1315                                         reg = <0>;
1316                                 };
1317
1318                                 ipu1_di0_hdmi: endpoint@1 {
1319                                         reg = <1>;
1320                                         remote-endpoint = <&hdmi_mux_0>;
1321                                 };
1322
1323                                 ipu1_di0_mipi: endpoint@2 {
1324                                         reg = <2>;
1325                                         remote-endpoint = <&mipi_mux_0>;
1326                                 };
1327
1328                                 ipu1_di0_lvds0: endpoint@3 {
1329                                         reg = <3>;
1330                                         remote-endpoint = <&lvds0_mux_0>;
1331                                 };
1332
1333                                 ipu1_di0_lvds1: endpoint@4 {
1334                                         reg = <4>;
1335                                         remote-endpoint = <&lvds1_mux_0>;
1336                                 };
1337                         };
1338
1339                         ipu1_di1: port@3 {
1340                                 #address-cells = <1>;
1341                                 #size-cells = <0>;
1342                                 reg = <3>;
1343
1344                                 ipu1_di1_disp1: endpoint@0 {
1345                                         reg = <0>;
1346                                 };
1347
1348                                 ipu1_di1_hdmi: endpoint@1 {
1349                                         reg = <1>;
1350                                         remote-endpoint = <&hdmi_mux_1>;
1351                                 };
1352
1353                                 ipu1_di1_mipi: endpoint@2 {
1354                                         reg = <2>;
1355                                         remote-endpoint = <&mipi_mux_1>;
1356                                 };
1357
1358                                 ipu1_di1_lvds0: endpoint@3 {
1359                                         reg = <3>;
1360                                         remote-endpoint = <&lvds0_mux_1>;
1361                                 };
1362
1363                                 ipu1_di1_lvds1: endpoint@4 {
1364                                         reg = <4>;
1365                                         remote-endpoint = <&lvds1_mux_1>;
1366                                 };
1367                         };
1368                 };
1369         };
1370 };