]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/at91sam9x5.dtsi
Merge branches 'from-henrik', 'hidraw', 'logitech', 'picolcd', 'ps3', 'uclogic',...
[karo-tx-linux.git] / arch / arm / boot / dts / at91sam9x5.dtsi
1 /*
2  * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC
3  *                   applies to AT91SAM9G15, AT91SAM9G25, AT91SAM9G35,
4  *                   AT91SAM9X25, AT91SAM9X35 SoC
5  *
6  *  Copyright (C) 2012 Atmel,
7  *                2012 Nicolas Ferre <nicolas.ferre@atmel.com>
8  *
9  * Licensed under GPLv2 or later.
10  */
11
12 /include/ "skeleton.dtsi"
13
14 / {
15         model = "Atmel AT91SAM9x5 family SoC";
16         compatible = "atmel,at91sam9x5";
17         interrupt-parent = <&aic>;
18
19         aliases {
20                 serial0 = &dbgu;
21                 serial1 = &usart0;
22                 serial2 = &usart1;
23                 serial3 = &usart2;
24                 gpio0 = &pioA;
25                 gpio1 = &pioB;
26                 gpio2 = &pioC;
27                 gpio3 = &pioD;
28                 tcb0 = &tcb0;
29                 tcb1 = &tcb1;
30         };
31         cpus {
32                 cpu@0 {
33                         compatible = "arm,arm926ejs";
34                 };
35         };
36
37         memory {
38                 reg = <0x20000000 0x10000000>;
39         };
40
41         ahb {
42                 compatible = "simple-bus";
43                 #address-cells = <1>;
44                 #size-cells = <1>;
45                 ranges;
46
47                 apb {
48                         compatible = "simple-bus";
49                         #address-cells = <1>;
50                         #size-cells = <1>;
51                         ranges;
52
53                         aic: interrupt-controller@fffff000 {
54                                 #interrupt-cells = <3>;
55                                 compatible = "atmel,at91rm9200-aic";
56                                 interrupt-controller;
57                                 reg = <0xfffff000 0x200>;
58                                 atmel,external-irqs = <31>;
59                         };
60
61                         ramc0: ramc@ffffe800 {
62                                 compatible = "atmel,at91sam9g45-ddramc";
63                                 reg = <0xffffe800 0x200>;
64                         };
65
66                         pmc: pmc@fffffc00 {
67                                 compatible = "atmel,at91rm9200-pmc";
68                                 reg = <0xfffffc00 0x100>;
69                         };
70
71                         rstc@fffffe00 {
72                                 compatible = "atmel,at91sam9g45-rstc";
73                                 reg = <0xfffffe00 0x10>;
74                         };
75
76                         shdwc@fffffe10 {
77                                 compatible = "atmel,at91sam9x5-shdwc";
78                                 reg = <0xfffffe10 0x10>;
79                         };
80
81                         pit: timer@fffffe30 {
82                                 compatible = "atmel,at91sam9260-pit";
83                                 reg = <0xfffffe30 0xf>;
84                                 interrupts = <1 4 7>;
85                         };
86
87                         tcb0: timer@f8008000 {
88                                 compatible = "atmel,at91sam9x5-tcb";
89                                 reg = <0xf8008000 0x100>;
90                                 interrupts = <17 4 0>;
91                         };
92
93                         tcb1: timer@f800c000 {
94                                 compatible = "atmel,at91sam9x5-tcb";
95                                 reg = <0xf800c000 0x100>;
96                                 interrupts = <17 4 0>;
97                         };
98
99                         dma0: dma-controller@ffffec00 {
100                                 compatible = "atmel,at91sam9g45-dma";
101                                 reg = <0xffffec00 0x200>;
102                                 interrupts = <20 4 0>;
103                         };
104
105                         dma1: dma-controller@ffffee00 {
106                                 compatible = "atmel,at91sam9g45-dma";
107                                 reg = <0xffffee00 0x200>;
108                                 interrupts = <21 4 0>;
109                         };
110
111                         pioA: gpio@fffff400 {
112                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
113                                 reg = <0xfffff400 0x100>;
114                                 interrupts = <2 4 1>;
115                                 #gpio-cells = <2>;
116                                 gpio-controller;
117                                 interrupt-controller;
118                                 #interrupt-cells = <2>;
119                         };
120
121                         pioB: gpio@fffff600 {
122                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
123                                 reg = <0xfffff600 0x100>;
124                                 interrupts = <2 4 1>;
125                                 #gpio-cells = <2>;
126                                 gpio-controller;
127                                 interrupt-controller;
128                                 #interrupt-cells = <2>;
129                         };
130
131                         pioC: gpio@fffff800 {
132                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
133                                 reg = <0xfffff800 0x100>;
134                                 interrupts = <3 4 1>;
135                                 #gpio-cells = <2>;
136                                 gpio-controller;
137                                 interrupt-controller;
138                                 #interrupt-cells = <2>;
139                         };
140
141                         pioD: gpio@fffffa00 {
142                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
143                                 reg = <0xfffffa00 0x100>;
144                                 interrupts = <3 4 1>;
145                                 #gpio-cells = <2>;
146                                 gpio-controller;
147                                 interrupt-controller;
148                                 #interrupt-cells = <2>;
149                         };
150
151                         dbgu: serial@fffff200 {
152                                 compatible = "atmel,at91sam9260-usart";
153                                 reg = <0xfffff200 0x200>;
154                                 interrupts = <1 4 7>;
155                                 status = "disabled";
156                         };
157
158                         usart0: serial@f801c000 {
159                                 compatible = "atmel,at91sam9260-usart";
160                                 reg = <0xf801c000 0x200>;
161                                 interrupts = <5 4 5>;
162                                 atmel,use-dma-rx;
163                                 atmel,use-dma-tx;
164                                 status = "disabled";
165                         };
166
167                         usart1: serial@f8020000 {
168                                 compatible = "atmel,at91sam9260-usart";
169                                 reg = <0xf8020000 0x200>;
170                                 interrupts = <6 4 5>;
171                                 atmel,use-dma-rx;
172                                 atmel,use-dma-tx;
173                                 status = "disabled";
174                         };
175
176                         usart2: serial@f8024000 {
177                                 compatible = "atmel,at91sam9260-usart";
178                                 reg = <0xf8024000 0x200>;
179                                 interrupts = <7 4 5>;
180                                 atmel,use-dma-rx;
181                                 atmel,use-dma-tx;
182                                 status = "disabled";
183                         };
184
185                         macb0: ethernet@f802c000 {
186                                 compatible = "cdns,at32ap7000-macb", "cdns,macb";
187                                 reg = <0xf802c000 0x100>;
188                                 interrupts = <24 4 3>;
189                                 status = "disabled";
190                         };
191
192                         macb1: ethernet@f8030000 {
193                                 compatible = "cdns,at32ap7000-macb", "cdns,macb";
194                                 reg = <0xf8030000 0x100>;
195                                 interrupts = <27 4 3>;
196                                 status = "disabled";
197                         };
198
199                         adc0: adc@f804c000 {
200                                 compatible = "atmel,at91sam9260-adc";
201                                 reg = <0xf804c000 0x100>;
202                                 interrupts = <19 4 0>;
203                                 atmel,adc-use-external;
204                                 atmel,adc-channels-used = <0xffff>;
205                                 atmel,adc-vref = <3300>;
206                                 atmel,adc-num-channels = <12>;
207                                 atmel,adc-startup-time = <40>;
208                                 atmel,adc-channel-base = <0x50>;
209                                 atmel,adc-drdy-mask = <0x1000000>;
210                                 atmel,adc-status-register = <0x30>;
211                                 atmel,adc-trigger-register = <0xc0>;
212
213                                 trigger@0 {
214                                         trigger-name = "external-rising";
215                                         trigger-value = <0x1>;
216                                         trigger-external;
217                                 };
218
219                                 trigger@1 {
220                                         trigger-name = "external-falling";
221                                         trigger-value = <0x2>;
222                                         trigger-external;
223                                 };
224
225                                 trigger@2 {
226                                         trigger-name = "external-any";
227                                         trigger-value = <0x3>;
228                                         trigger-external;
229                                 };
230
231                                 trigger@3 {
232                                         trigger-name = "continuous";
233                                         trigger-value = <0x6>;
234                                 };
235                         };
236                 };
237
238                 nand0: nand@40000000 {
239                         compatible = "atmel,at91rm9200-nand";
240                         #address-cells = <1>;
241                         #size-cells = <1>;
242                         reg = <0x40000000 0x10000000
243                               >;
244                         atmel,nand-addr-offset = <21>;
245                         atmel,nand-cmd-offset = <22>;
246                         gpios = <&pioD 5 0
247                                  &pioD 4 0
248                                  0
249                                 >;
250                         status = "disabled";
251                 };
252
253                 usb0: ohci@00600000 {
254                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
255                         reg = <0x00600000 0x100000>;
256                         interrupts = <22 4 2>;
257                         status = "disabled";
258                 };
259
260                 usb1: ehci@00700000 {
261                         compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
262                         reg = <0x00700000 0x100000>;
263                         interrupts = <22 4 2>;
264                         status = "disabled";
265                 };
266         };
267
268         i2c@0 {
269                 compatible = "i2c-gpio";
270                 gpios = <&pioA 30 0 /* sda */
271                          &pioA 31 0 /* scl */
272                         >;
273                 i2c-gpio,sda-open-drain;
274                 i2c-gpio,scl-open-drain;
275                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
276                 #address-cells = <1>;
277                 #size-cells = <0>;
278                 status = "disabled";
279         };
280
281         i2c@1 {
282                 compatible = "i2c-gpio";
283                 gpios = <&pioC 0 0 /* sda */
284                          &pioC 1 0 /* scl */
285                         >;
286                 i2c-gpio,sda-open-drain;
287                 i2c-gpio,scl-open-drain;
288                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
289                 #address-cells = <1>;
290                 #size-cells = <0>;
291                 status = "disabled";
292         };
293
294         i2c@2 {
295                 compatible = "i2c-gpio";
296                 gpios = <&pioB 4 0 /* sda */
297                          &pioB 5 0 /* scl */
298                         >;
299                 i2c-gpio,sda-open-drain;
300                 i2c-gpio,scl-open-drain;
301                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
302                 #address-cells = <1>;
303                 #size-cells = <0>;
304                 status = "disabled";
305         };
306 };