]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/boot/fdt/dts/arm/am335x.dtsi
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / boot / fdt / dts / arm / am335x.dtsi
1 /*-
2  * Copyright (c) 2012 Damjan Marion <dmarion@Freebsd.org>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24  * SUCH DAMAGE.
25  * 
26  * $FreeBSD$
27  */
28
29 / {
30         #address-cells = <1>;
31         #size-cells = <1>;
32
33         interrupt-parent = <&AINTC>;
34
35         SOC: am335x {
36                 #address-cells = <1>;
37                 #size-cells = <1>;
38                 compatible = "simple-bus";
39                 ranges;
40                 bus-frequency = <0>;
41
42                 AINTC: interrupt-controller@48200000 {
43                         compatible = "ti,aintc";
44                         interrupt-controller;
45                         #address-cells = <0>;
46                         #interrupt-cells = <1>;
47                         reg =   < 0x48200000 0x1000 >;
48                 };
49
50                 scm@44e10000 {
51                         compatible = "ti,scm";
52                         reg =   < 0x44e10000 0x2000 >;
53                 };
54
55                 prcm@44E00000 {
56                         compatible = "am335x,prcm";
57                         #address-cells = <1>;
58                         #size-cells = <1>;
59                         reg = < 0x44E00000 0x1300 >;
60                 };
61
62                 dmtimers@44E05000 {
63                         compatible = "ti,am335x-dmtimer";
64                         #address-cells = <1>;
65                         #size-cells = <1>;
66                         reg =   < 0x44E05000 0x1000
67                                   0x44E31000 0x1000
68                                   0x48040000 0x1000
69                                   0x48042000 0x1000
70                                   0x48044000 0x1000
71                                   0x48046000 0x1000
72                                   0x48048000 0x1000
73                                   0x4804A000 0x1000 >;
74                         interrupts = < 66 67 68 69 92 93 94 95 >;
75                         interrupt-parent = <&AINTC>;
76                 };
77
78                 rtc: rtc@44E3E000 {
79                         compatible = "ti,da830-rtc";
80                         reg = <0x44E3E000 0x1000>;
81                         interrupts = < 75 76 >;
82                         interrupt-parent = <&AINTC>;
83                 };
84
85                 adc0: adc@44E0D000 {
86                         compatible = "ti,adc";
87                         reg = <0x44E0D000 0x2000>;
88                         interrupts = < 16 >;
89                         interrupt-parent = <&AINTC>;
90                 };
91
92                 wdt1@44E35000 {
93                         compatible = "ti,omap3-wdt";
94                         reg = <0x44E35000 0x1000>;
95                         interrupts = <91>;
96                         interrupt-parent = <&AINTC>;
97                 };
98                 
99                 GPIO: gpio {
100                         #gpio-cells = <3>;
101                         compatible = "ti,gpio";
102                         gpio-controller;
103                         reg =<  0x44E07000 0x1000
104                                 0x4804C000 0x1000
105                                 0x481AC000 0x1000
106                                 0x481AE000 0x1000 >;
107                         interrupts = < 96 97 98 99 32 33 62 63 >;
108                         interrupt-parent = <&AINTC>;
109                 };
110
111                 uart0: serial@44E09000 {
112                         compatible = "ti,ns16550";
113                         reg = <0x44E09000 0x1000>;
114                         reg-shift = <2>;
115                         interrupts = < 72 >;
116                         interrupt-parent = <&AINTC>;
117                         clock-frequency = < 48000000 >;
118                         uart-device-id = < 0 >;
119                 };
120                 
121                 uart1: serial@48022000 {
122                         compatible = "ti,ns16550";
123                         reg = <0x48022000 0x1000>;
124                         reg-shift = <2>;
125                         interrupts = < 73 >;
126                         interrupt-parent = <&AINTC>;
127                         clock-frequency = < 48000000 >; 
128                         uart-device-id = < 1 >;
129                         status = "disabled";
130                 };
131                 
132                 uart2: serial@48024000 {
133                         compatible = "ti,ns16550";
134                         reg = <0x48024000 0x1000>;
135                         reg-shift = <2>;
136                         interrupts = < 74 >;
137                         interrupt-parent = <&AINTC>;
138                         clock-frequency = < 48000000 >; 
139                         uart-device-id = < 2 >;
140                         status = "disabled";
141                 };
142                 
143                 uart3: serial@481a6000 {
144                         compatible = "ti,ns16550";
145                         reg = <0x481A6000 0x1000>;
146                         reg-shift = <2>;
147                         interrupts = < 44 >;
148                         interrupt-parent = <&AINTC>;
149                         clock-frequency = < 48000000 >; 
150                         uart-device-id = < 3 >;
151                         status = "disabled";
152                 };
153  
154                 uart4: serial@481a8000 {
155                         compatible = "ti,ns16550";
156                         reg = <0x481A8000 0x1000>;
157                         reg-shift = <2>;
158                         interrupts = < 45 >;
159                         interrupt-parent = <&AINTC>;
160                         clock-frequency = < 48000000 >; 
161                         uart-device-id = < 4 >;
162                         status = "disabled";
163                 };
164  
165                 uart5: serial@481aa000 {
166                         compatible = "ti,ns16550";
167                         reg = <0x481AA000 0x1000>;
168                         reg-shift = <2>;
169                         interrupts = < 46 >;
170                         interrupt-parent = <&AINTC>;
171                         clock-frequency = < 48000000 >; 
172                         uart-device-id = < 5 >;
173                         status = "disabled";
174                 };
175
176                 edma3@49000000 {
177                         compatible = "ti,edma3";
178                         reg =<  0x49000000 0x100000     /* Channel Controller Regs */
179                                 0x49800000 0x100000     /* Transfer Controller 0 Regs */
180                                 0x49900000 0x100000     /* Transfer Controller 1 Regs */
181                                 0x49a00000 0x100000 >;  /* Transfer Controller 2 Regs */
182                         interrupts = <12 13 14>;
183                         interrupt-parent = <&AINTC>;
184                 };
185
186                 mmchs0@48060000 {
187                         compatible = "ti,omap3-hsmmc", "ti,mmchs";
188                         reg =<0x48060000 0x1000 >;
189                         interrupts = <64>;
190                         interrupt-parent = <&AINTC>;
191                         mmchs-device-id = <0>;
192                         mmchs-wp-gpio-pin = <0xffffffff>;
193                         ti,dual-volt;
194                 };
195
196                 mmchs1@481D8000 {
197                         compatible = "ti,omap3-hsmmc", "ti,mmchs";
198                         reg =<0x481D8000 0x1000 >;
199                         interrupts = <28>;
200                         interrupt-parent = <&AINTC>;
201                         mmchs-device-id = <1>;
202                         mmchs-wp-gpio-pin = <0xffffffff>;
203                         status = "disabled";
204                 };
205
206                 enet0: ethernet@4A100000 {
207                         #address-cells = <1>;
208                         #size-cells = <1>;
209                         compatible = "ti,cpsw";
210                         reg = <0x4A100000 0x4000>;
211                         interrupts = <40 41 42 43>;
212                         interrupt-parent = <&AINTC>;
213                         phy-handle = <&phy0>;
214                         mdio@0 {
215                                 #address-cells = <1>;
216                                 #size-cells = <0>;
217                                 compatible = "ti,cpsw-mdio";
218                                 phy0: ethernet-phy@0 {
219                                         reg = <0x0>;
220                                 };
221                         };
222                 };
223
224                 i2c0: i2c@44e0b000 {
225                         #address-cells = <1>;
226                         #size-cells = <0>;
227                         compatible = "ti,i2c";
228                         reg =<  0x44e0b000 0x1000 >;
229                         interrupts = <70>;
230                         interrupt-parent = <&AINTC>;
231                         i2c-device-id = <0>;
232                 };
233
234                 i2c1: i2c@4802a000 {
235                         #address-cells = <1>;
236                         #size-cells = <0>;
237                         compatible = "ti,i2c";
238                         reg =<  0x4802a000 0x1000 >;
239                         interrupts = <71>;
240                         interrupt-parent = <&AINTC>;
241                         i2c-device-id = <1>;
242                 };
243
244                 i2c2: i2c@4819c000 {
245                         #address-cells = <1>;
246                         #size-cells = <0>;
247                         compatible = "ti,i2c";
248                         reg =<  0x4819c000 0x1000 >;
249                         interrupts = <30>;
250                         interrupt-parent = <&AINTC>;
251                         i2c-device-id = <2>;
252                 };
253
254                 pwm@48300000 {
255                         compatible = "ti,am335x-pwm";
256                         #address-cells = <1>;
257                         #size-cells = <1>;
258                         reg = < 0x48300000 0x100        /* PWMSS0 */
259                                 0x48300100 0x80         /* eCAP0 */
260                                 0x48300180 0x80         /* eQEP0 */
261                                 0x48300200 0x60         /* ePWM0 */
262                         >;
263                         interrupts = <86 58>; /* ePWM0INT, ePWM0_TZINT */
264                         interrupt-parent = <&AINTC>;
265                         pwm-device-id = <0>;
266                 };
267
268                 pwm@48302000 {
269                         compatible = "ti,am335x-pwm";
270                         #address-cells = <1>;
271                         #size-cells = <1>;
272                         reg = < 0x48302000 0x100        /* PWMSS1 */
273                                 0x48302100 0x80         /* eCAP1 */
274                                 0x48302180 0x80         /* eQEP1 */
275                                 0x48302200 0x60         /* ePWM1 */
276                         >;
277                         interrupts = <87 59>; /* ePWM1INT, ePWM1_TZINT */
278                         interrupt-parent = <&AINTC>;
279                         pwm-device-id = <1>;
280                 };
281
282                 pwm@48304000 {
283                         compatible = "ti,am335x-pwm";
284                         #address-cells = <1>;
285                         #size-cells = <1>;
286                         reg = < 0x48304000 0x100        /* PWMSS2 */
287                                 0x48304100 0x80         /* eCAP2 */
288                                 0x48304180 0x80         /* eQEP2 */
289                                 0x48304200 0x60         /* ePWM2 */
290                         >;
291                         interrupts = <88 60>; /* ePWM2INT, ePWM2_TZINT */
292                         interrupt-parent = <&AINTC>;
293                         pwm-device-id = <2>;
294                 };
295
296                 lcd: lcd@4830e000 {
297                         #address-cells = <1>;
298                         #size-cells = <0>;
299                         compatible = "ti,am335x-lcd";
300                         reg =<  0x4830e000 0x1000 >;
301                         interrupts = <36>;
302                         interrupt-parent = <&AINTC>;
303                 };
304
305                 usb@47400000 {
306                         #address-cells = <1>;
307                         #size-cells = <0>;
308                         compatible = "ti,musb-am33xx";
309                         reg =<  0x47400000 0x1000       /* USBSS */
310                                 0x47401000 0x300        /* USB0 */
311                                 0x47401300 0x100        /* USB0_PHY */
312                                 0x47401400 0x400        /* USB0_CORE */
313                                 0x47401800 0x300        /* USB1 */
314                                 0x47401B00 0x100        /* USB1_PHY */
315                                 0x47401C00 0x400        /* USB1_CORE */
316                         >;
317                         interrupts = <17 18 19>;
318                         interrupt-parent = <&AINTC>;
319                         /* 1 - Host Mode, 0 - Device Mode */
320                         modemask = <2>;
321                 };
322
323                 mbox0@480C8000 {
324                         compatible = "am335x,system-mbox";
325                         reg = < 0x480C8000 0x1000 >;
326                         interrupts = <77>;
327                         interrupt-parent = <&AINTC>;
328                 };
329
330                 spinlock0@480CA000 {
331                         compatible = "am335x,spinlock";
332                         reg = < 0x480CA000 0x1000 >;
333                 };
334
335                 pruss@4A300000 {
336                         compatible = "ti,pruss-v2";
337                         reg = <0x4A300000 0x80000>;
338                         interrupt-parent = <&AINTC>;
339                         interrupts = <20 21 22 23 24 25 26 27>;
340                 };
341         };
342 };