]> Pileus Git - ~andy/linux/blob - arch/arm/boot/dts/imx23.dtsi
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[~andy/linux] / arch / arm / boot / dts / imx23.dtsi
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 #include "skeleton.dtsi"
13 #include "imx23-pinfunc.h"
14
15 / {
16         interrupt-parent = <&icoll>;
17
18         aliases {
19                 gpio0 = &gpio0;
20                 gpio1 = &gpio1;
21                 gpio2 = &gpio2;
22                 serial0 = &auart0;
23                 serial1 = &auart1;
24                 spi0 = &ssp0;
25                 spi1 = &ssp1;
26         };
27
28         cpus {
29                 #address-cells = <0>;
30                 #size-cells = <0>;
31
32                 cpu {
33                         compatible = "arm,arm926ej-s";
34                         device_type = "cpu";
35                 };
36         };
37
38         apb@80000000 {
39                 compatible = "simple-bus";
40                 #address-cells = <1>;
41                 #size-cells = <1>;
42                 reg = <0x80000000 0x80000>;
43                 ranges;
44
45                 apbh@80000000 {
46                         compatible = "simple-bus";
47                         #address-cells = <1>;
48                         #size-cells = <1>;
49                         reg = <0x80000000 0x40000>;
50                         ranges;
51
52                         icoll: interrupt-controller@80000000 {
53                                 compatible = "fsl,imx23-icoll", "fsl,icoll";
54                                 interrupt-controller;
55                                 #interrupt-cells = <1>;
56                                 reg = <0x80000000 0x2000>;
57                         };
58
59                         dma_apbh: dma-apbh@80004000 {
60                                 compatible = "fsl,imx23-dma-apbh";
61                                 reg = <0x80004000 0x2000>;
62                                 interrupts = <0 14 20 0
63                                               13 13 13 13>;
64                                 interrupt-names = "empty", "ssp0", "ssp1", "empty",
65                                                   "gpmi0", "gpmi1", "gpmi2", "gpmi3";
66                                 #dma-cells = <1>;
67                                 dma-channels = <8>;
68                                 clocks = <&clks 15>;
69                         };
70
71                         ecc@80008000 {
72                                 reg = <0x80008000 0x2000>;
73                                 status = "disabled";
74                         };
75
76                         gpmi-nand@8000c000 {
77                                 compatible = "fsl,imx23-gpmi-nand";
78                                 #address-cells = <1>;
79                                 #size-cells = <1>;
80                                 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
81                                 reg-names = "gpmi-nand", "bch";
82                                 interrupts = <56>;
83                                 interrupt-names = "bch";
84                                 clocks = <&clks 34>;
85                                 clock-names = "gpmi_io";
86                                 dmas = <&dma_apbh 4>;
87                                 dma-names = "rx-tx";
88                                 status = "disabled";
89                         };
90
91                         ssp0: ssp@80010000 {
92                                 reg = <0x80010000 0x2000>;
93                                 interrupts = <15>;
94                                 clocks = <&clks 33>;
95                                 dmas = <&dma_apbh 1>;
96                                 dma-names = "rx-tx";
97                                 status = "disabled";
98                         };
99
100                         etm@80014000 {
101                                 reg = <0x80014000 0x2000>;
102                                 status = "disabled";
103                         };
104
105                         pinctrl@80018000 {
106                                 #address-cells = <1>;
107                                 #size-cells = <0>;
108                                 compatible = "fsl,imx23-pinctrl", "simple-bus";
109                                 reg = <0x80018000 0x2000>;
110
111                                 gpio0: gpio@0 {
112                                         compatible = "fsl,imx23-gpio", "fsl,mxs-gpio";
113                                         interrupts = <16>;
114                                         gpio-controller;
115                                         #gpio-cells = <2>;
116                                         interrupt-controller;
117                                         #interrupt-cells = <2>;
118                                 };
119
120                                 gpio1: gpio@1 {
121                                         compatible = "fsl,imx23-gpio", "fsl,mxs-gpio";
122                                         interrupts = <17>;
123                                         gpio-controller;
124                                         #gpio-cells = <2>;
125                                         interrupt-controller;
126                                         #interrupt-cells = <2>;
127                                 };
128
129                                 gpio2: gpio@2 {
130                                         compatible = "fsl,imx23-gpio", "fsl,mxs-gpio";
131                                         interrupts = <18>;
132                                         gpio-controller;
133                                         #gpio-cells = <2>;
134                                         interrupt-controller;
135                                         #interrupt-cells = <2>;
136                                 };
137
138                                 duart_pins_a: duart@0 {
139                                         reg = <0>;
140                                         fsl,pinmux-ids = <
141                                                 MX23_PAD_PWM0__DUART_RX
142                                                 MX23_PAD_PWM1__DUART_TX
143                                         >;
144                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
145                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
146                                         fsl,pull-up = <MXS_PULL_DISABLE>;
147                                 };
148
149                                 auart0_pins_a: auart0@0 {
150                                         reg = <0>;
151                                         fsl,pinmux-ids = <
152                                                 MX23_PAD_AUART1_RX__AUART1_RX
153                                                 MX23_PAD_AUART1_TX__AUART1_TX
154                                                 MX23_PAD_AUART1_CTS__AUART1_CTS
155                                                 MX23_PAD_AUART1_RTS__AUART1_RTS
156                                         >;
157                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
158                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
159                                         fsl,pull-up = <MXS_PULL_DISABLE>;
160                                 };
161
162                                 auart0_2pins_a: auart0-2pins@0 {
163                                         reg = <0>;
164                                         fsl,pinmux-ids = <
165                                                 MX23_PAD_I2C_SCL__AUART1_TX
166                                                 MX23_PAD_I2C_SDA__AUART1_RX
167                                         >;
168                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
169                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
170                                         fsl,pull-up = <MXS_PULL_DISABLE>;
171                                 };
172
173                                 gpmi_pins_a: gpmi-nand@0 {
174                                         reg = <0>;
175                                         fsl,pinmux-ids = <
176                                                 MX23_PAD_GPMI_D00__GPMI_D00
177                                                 MX23_PAD_GPMI_D01__GPMI_D01
178                                                 MX23_PAD_GPMI_D02__GPMI_D02
179                                                 MX23_PAD_GPMI_D03__GPMI_D03
180                                                 MX23_PAD_GPMI_D04__GPMI_D04
181                                                 MX23_PAD_GPMI_D05__GPMI_D05
182                                                 MX23_PAD_GPMI_D06__GPMI_D06
183                                                 MX23_PAD_GPMI_D07__GPMI_D07
184                                                 MX23_PAD_GPMI_CLE__GPMI_CLE
185                                                 MX23_PAD_GPMI_ALE__GPMI_ALE
186                                                 MX23_PAD_GPMI_RDY0__GPMI_RDY0
187                                                 MX23_PAD_GPMI_RDY1__GPMI_RDY1
188                                                 MX23_PAD_GPMI_WPN__GPMI_WPN
189                                                 MX23_PAD_GPMI_WRN__GPMI_WRN
190                                                 MX23_PAD_GPMI_RDN__GPMI_RDN
191                                                 MX23_PAD_GPMI_CE1N__GPMI_CE1N
192                                                 MX23_PAD_GPMI_CE0N__GPMI_CE0N
193                                         >;
194                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
195                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
196                                         fsl,pull-up = <MXS_PULL_DISABLE>;
197                                 };
198
199                                 gpmi_pins_fixup: gpmi-pins-fixup {
200                                         fsl,pinmux-ids = <
201                                                 MX23_PAD_GPMI_WPN__GPMI_WPN
202                                                 MX23_PAD_GPMI_WRN__GPMI_WRN
203                                                 MX23_PAD_GPMI_RDN__GPMI_RDN
204                                         >;
205                                         fsl,drive-strength = <MXS_DRIVE_12mA>;
206                                 };
207
208                                 mmc0_4bit_pins_a: mmc0-4bit@0 {
209                                         reg = <0>;
210                                         fsl,pinmux-ids = <
211                                                 MX23_PAD_SSP1_DATA0__SSP1_DATA0
212                                                 MX23_PAD_SSP1_DATA1__SSP1_DATA1
213                                                 MX23_PAD_SSP1_DATA2__SSP1_DATA2
214                                                 MX23_PAD_SSP1_DATA3__SSP1_DATA3
215                                                 MX23_PAD_SSP1_CMD__SSP1_CMD
216                                                 MX23_PAD_SSP1_SCK__SSP1_SCK
217                                         >;
218                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
219                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
220                                         fsl,pull-up = <MXS_PULL_ENABLE>;
221                                 };
222
223                                 mmc0_8bit_pins_a: mmc0-8bit@0 {
224                                         reg = <0>;
225                                         fsl,pinmux-ids = <
226                                                 MX23_PAD_SSP1_DATA0__SSP1_DATA0
227                                                 MX23_PAD_SSP1_DATA1__SSP1_DATA1
228                                                 MX23_PAD_SSP1_DATA2__SSP1_DATA2
229                                                 MX23_PAD_SSP1_DATA3__SSP1_DATA3
230                                                 MX23_PAD_GPMI_D08__SSP1_DATA4
231                                                 MX23_PAD_GPMI_D09__SSP1_DATA5
232                                                 MX23_PAD_GPMI_D10__SSP1_DATA6
233                                                 MX23_PAD_GPMI_D11__SSP1_DATA7
234                                                 MX23_PAD_SSP1_CMD__SSP1_CMD
235                                                 MX23_PAD_SSP1_DETECT__SSP1_DETECT
236                                                 MX23_PAD_SSP1_SCK__SSP1_SCK
237                                         >;
238                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
239                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
240                                         fsl,pull-up = <MXS_PULL_ENABLE>;
241                                 };
242
243                                 mmc0_pins_fixup: mmc0-pins-fixup {
244                                         fsl,pinmux-ids = <
245                                                 MX23_PAD_SSP1_DETECT__SSP1_DETECT
246                                                 MX23_PAD_SSP1_SCK__SSP1_SCK
247                                         >;
248                                         fsl,pull-up = <MXS_PULL_DISABLE>;
249                                 };
250
251                                 pwm2_pins_a: pwm2@0 {
252                                         reg = <0>;
253                                         fsl,pinmux-ids = <
254                                                 MX23_PAD_PWM2__PWM2
255                                         >;
256                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
257                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
258                                         fsl,pull-up = <MXS_PULL_DISABLE>;
259                                 };
260
261                                 lcdif_24bit_pins_a: lcdif-24bit@0 {
262                                         reg = <0>;
263                                         fsl,pinmux-ids = <
264                                                 MX23_PAD_LCD_D00__LCD_D00
265                                                 MX23_PAD_LCD_D01__LCD_D01
266                                                 MX23_PAD_LCD_D02__LCD_D02
267                                                 MX23_PAD_LCD_D03__LCD_D03
268                                                 MX23_PAD_LCD_D04__LCD_D04
269                                                 MX23_PAD_LCD_D05__LCD_D05
270                                                 MX23_PAD_LCD_D06__LCD_D06
271                                                 MX23_PAD_LCD_D07__LCD_D07
272                                                 MX23_PAD_LCD_D08__LCD_D08
273                                                 MX23_PAD_LCD_D09__LCD_D09
274                                                 MX23_PAD_LCD_D10__LCD_D10
275                                                 MX23_PAD_LCD_D11__LCD_D11
276                                                 MX23_PAD_LCD_D12__LCD_D12
277                                                 MX23_PAD_LCD_D13__LCD_D13
278                                                 MX23_PAD_LCD_D14__LCD_D14
279                                                 MX23_PAD_LCD_D15__LCD_D15
280                                                 MX23_PAD_LCD_D16__LCD_D16
281                                                 MX23_PAD_LCD_D17__LCD_D17
282                                                 MX23_PAD_GPMI_D08__LCD_D18
283                                                 MX23_PAD_GPMI_D09__LCD_D19
284                                                 MX23_PAD_GPMI_D10__LCD_D20
285                                                 MX23_PAD_GPMI_D11__LCD_D21
286                                                 MX23_PAD_GPMI_D12__LCD_D22
287                                                 MX23_PAD_GPMI_D13__LCD_D23
288                                                 MX23_PAD_LCD_DOTCK__LCD_DOTCK
289                                                 MX23_PAD_LCD_ENABLE__LCD_ENABLE
290                                                 MX23_PAD_LCD_HSYNC__LCD_HSYNC
291                                                 MX23_PAD_LCD_VSYNC__LCD_VSYNC
292                                         >;
293                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
294                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
295                                         fsl,pull-up = <MXS_PULL_DISABLE>;
296                                 };
297
298                                 spi2_pins_a: spi2@0 {
299                                         reg = <0>;
300                                         fsl,pinmux-ids = <
301                                                 MX23_PAD_GPMI_WRN__SSP2_SCK
302                                                 MX23_PAD_GPMI_RDY1__SSP2_CMD
303                                                 MX23_PAD_GPMI_D00__SSP2_DATA0
304                                                 MX23_PAD_GPMI_D03__SSP2_DATA3
305                                         >;
306                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
307                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
308                                         fsl,pull-up = <MXS_PULL_ENABLE>;
309                                 };
310                         };
311
312                         digctl@8001c000 {
313                                 compatible = "fsl,imx23-digctl";
314                                 reg = <0x8001c000 2000>;
315                                 status = "disabled";
316                         };
317
318                         emi@80020000 {
319                                 reg = <0x80020000 0x2000>;
320                                 status = "disabled";
321                         };
322
323                         dma_apbx: dma-apbx@80024000 {
324                                 compatible = "fsl,imx23-dma-apbx";
325                                 reg = <0x80024000 0x2000>;
326                                 interrupts = <7 5 9 26
327                                               19 0 25 23
328                                               60 58 9 0
329                                               0 0 0 0>;
330                                 interrupt-names = "audio-adc", "audio-dac", "spdif-tx", "i2c",
331                                                   "saif0", "empty", "auart0-rx", "auart0-tx",
332                                                   "auart1-rx", "auart1-tx", "saif1", "empty",
333                                                   "empty", "empty", "empty", "empty";
334                                 #dma-cells = <1>;
335                                 dma-channels = <16>;
336                                 clocks = <&clks 16>;
337                         };
338
339                         dcp@80028000 {
340                                 compatible = "fsl,imx23-dcp";
341                                 reg = <0x80028000 0x2000>;
342                                 interrupts = <53 54>;
343                                 status = "okay";
344                         };
345
346                         pxp@8002a000 {
347                                 reg = <0x8002a000 0x2000>;
348                                 status = "disabled";
349                         };
350
351                         ocotp@8002c000 {
352                                 compatible = "fsl,ocotp";
353                                 reg = <0x8002c000 0x2000>;
354                                 status = "disabled";
355                         };
356
357                         axi-ahb@8002e000 {
358                                 reg = <0x8002e000 0x2000>;
359                                 status = "disabled";
360                         };
361
362                         lcdif@80030000 {
363                                 compatible = "fsl,imx23-lcdif";
364                                 reg = <0x80030000 2000>;
365                                 interrupts = <46 45>;
366                                 clocks = <&clks 38>;
367                                 status = "disabled";
368                         };
369
370                         ssp1: ssp@80034000 {
371                                 reg = <0x80034000 0x2000>;
372                                 interrupts = <2>;
373                                 clocks = <&clks 33>;
374                                 dmas = <&dma_apbh 2>;
375                                 dma-names = "rx-tx";
376                                 status = "disabled";
377                         };
378
379                         tvenc@80038000 {
380                                 reg = <0x80038000 0x2000>;
381                                 status = "disabled";
382                         };
383                 };
384
385                 apbx@80040000 {
386                         compatible = "simple-bus";
387                         #address-cells = <1>;
388                         #size-cells = <1>;
389                         reg = <0x80040000 0x40000>;
390                         ranges;
391
392                         clks: clkctrl@80040000 {
393                                 compatible = "fsl,imx23-clkctrl", "fsl,clkctrl";
394                                 reg = <0x80040000 0x2000>;
395                                 #clock-cells = <1>;
396                         };
397
398                         saif0: saif@80042000 {
399                                 reg = <0x80042000 0x2000>;
400                                 dmas = <&dma_apbx 4>;
401                                 dma-names = "rx-tx";
402                                 status = "disabled";
403                         };
404
405                         power@80044000 {
406                                 reg = <0x80044000 0x2000>;
407                                 status = "disabled";
408                         };
409
410                         saif1: saif@80046000 {
411                                 reg = <0x80046000 0x2000>;
412                                 dmas = <&dma_apbx 10>;
413                                 dma-names = "rx-tx";
414                                 status = "disabled";
415                         };
416
417                         audio-out@80048000 {
418                                 reg = <0x80048000 0x2000>;
419                                 dmas = <&dma_apbx 1>;
420                                 dma-names = "tx";
421                                 status = "disabled";
422                         };
423
424                         audio-in@8004c000 {
425                                 reg = <0x8004c000 0x2000>;
426                                 dmas = <&dma_apbx 0>;
427                                 dma-names = "rx";
428                                 status = "disabled";
429                         };
430
431                         lradc@80050000 {
432                                 compatible = "fsl,imx23-lradc";
433                                 reg = <0x80050000 0x2000>;
434                                 interrupts = <36 37 38 39 40 41 42 43 44>;
435                                 status = "disabled";
436                                 clocks = <&clks 26>;
437                         };
438
439                         spdif@80054000 {
440                                 reg = <0x80054000 2000>;
441                                 dmas = <&dma_apbx 2>;
442                                 dma-names = "tx";
443                                 status = "disabled";
444                         };
445
446                         i2c@80058000 {
447                                 reg = <0x80058000 0x2000>;
448                                 dmas = <&dma_apbx 3>;
449                                 dma-names = "rx-tx";
450                                 status = "disabled";
451                         };
452
453                         rtc@8005c000 {
454                                 compatible = "fsl,imx23-rtc", "fsl,stmp3xxx-rtc";
455                                 reg = <0x8005c000 0x2000>;
456                                 interrupts = <22>;
457                         };
458
459                         pwm: pwm@80064000 {
460                                 compatible = "fsl,imx23-pwm";
461                                 reg = <0x80064000 0x2000>;
462                                 clocks = <&clks 30>;
463                                 #pwm-cells = <2>;
464                                 fsl,pwm-number = <5>;
465                                 status = "disabled";
466                         };
467
468                         timrot@80068000 {
469                                 compatible = "fsl,imx23-timrot", "fsl,timrot";
470                                 reg = <0x80068000 0x2000>;
471                                 interrupts = <28 29 30 31>;
472                                 clocks = <&clks 28>;
473                         };
474
475                         auart0: serial@8006c000 {
476                                 compatible = "fsl,imx23-auart";
477                                 reg = <0x8006c000 0x2000>;
478                                 interrupts = <24>;
479                                 clocks = <&clks 32>;
480                                 dmas = <&dma_apbx 6>, <&dma_apbx 7>;
481                                 dma-names = "rx", "tx";
482                                 status = "disabled";
483                         };
484
485                         auart1: serial@8006e000 {
486                                 compatible = "fsl,imx23-auart";
487                                 reg = <0x8006e000 0x2000>;
488                                 interrupts = <59>;
489                                 clocks = <&clks 32>;
490                                 dmas = <&dma_apbx 8>, <&dma_apbx 9>;
491                                 dma-names = "rx", "tx";
492                                 status = "disabled";
493                         };
494
495                         duart: serial@80070000 {
496                                 compatible = "arm,pl011", "arm,primecell";
497                                 reg = <0x80070000 0x2000>;
498                                 interrupts = <0>;
499                                 clocks = <&clks 32>, <&clks 16>;
500                                 clock-names = "uart", "apb_pclk";
501                                 status = "disabled";
502                         };
503
504                         usbphy0: usbphy@8007c000 {
505                                 compatible = "fsl,imx23-usbphy";
506                                 reg = <0x8007c000 0x2000>;
507                                 clocks = <&clks 41>;
508                                 status = "disabled";
509                         };
510                 };
511         };
512
513         ahb@80080000 {
514                 compatible = "simple-bus";
515                 #address-cells = <1>;
516                 #size-cells = <1>;
517                 reg = <0x80080000 0x80000>;
518                 ranges;
519
520                 usb0: usb@80080000 {
521                         compatible = "fsl,imx23-usb", "fsl,imx27-usb";
522                         reg = <0x80080000 0x40000>;
523                         interrupts = <11>;
524                         fsl,usbphy = <&usbphy0>;
525                         clocks = <&clks 40>;
526                         status = "disabled";
527                 };
528         };
529 };