]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/at91sam9261.dtsi
board: at91sam9261ek: Update to support DT and DM
[u-boot] / arch / arm / dts / at91sam9261.dtsi
1 /*
2  * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC
3  *
4  *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
5  *
6  * Licensed under GPLv2 only.
7  */
8
9 #include "skeleton.dtsi"
10 #include <dt-bindings/pinctrl/at91.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/clock/at91.h>
14
15 / {
16         model = "Atmel AT91SAM9261 family SoC";
17         compatible = "atmel,at91sam9261";
18         interrupt-parent = <&aic>;
19
20         aliases {
21                 serial0 = &dbgu;
22                 serial1 = &usart0;
23                 serial2 = &usart1;
24                 serial3 = &usart2;
25                 gpio0 = &pioA;
26                 gpio1 = &pioB;
27                 gpio2 = &pioC;
28                 tcb0 = &tcb0;
29                 i2c0 = &i2c0;
30                 ssc0 = &ssc0;
31                 ssc1 = &ssc1;
32                 ssc2 = &ssc2;
33                 spi0 = &spi0;
34         };
35
36         cpus {
37                 #address-cells = <0>;
38                 #size-cells = <0>;
39
40                 cpu {
41                         compatible = "arm,arm926ej-s";
42                         device_type = "cpu";
43                 };
44         };
45
46         memory {
47                 reg = <0x20000000 0x08000000>;
48         };
49
50         clocks {
51                 main_xtal: main_xtal {
52                         compatible = "fixed-clock";
53                         #clock-cells = <0>;
54                         clock-frequency = <0>;
55                 };
56
57                 slow_xtal: slow_xtal {
58                         compatible = "fixed-clock";
59                         #clock-cells = <0>;
60                         clock-frequency = <0>;
61                 };
62         };
63
64         sram: sram@00300000 {
65                 compatible = "mmio-sram";
66                 reg = <0x00300000 0x28000>;
67         };
68
69         ahb {
70                 compatible = "simple-bus";
71                 #address-cells = <1>;
72                 #size-cells = <1>;
73                 ranges;
74                 u-boot,dm-pre-reloc;
75
76                 usb0: ohci@00500000 {
77                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
78                         reg = <0x00500000 0x100000>;
79                         interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
80                         clocks = <&ohci_clk>, <&hclk0>, <&uhpck>;
81                         clock-names = "ohci_clk", "hclk", "uhpck";
82                         status = "disabled";
83                 };
84
85                 fb0: fb@0x00600000 {
86                         compatible = "atmel,at91sam9261-lcdc";
87                         reg = <0x00600000 0x1000>;
88                         interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
89                         pinctrl-names = "default";
90                         pinctrl-0 = <&pinctrl_fb>;
91                         clocks = <&lcd_clk>, <&hclk1>;
92                         clock-names = "lcdc_clk", "hclk";
93                         status = "disabled";
94                 };
95
96                 nand0: nand@40000000 {
97                         compatible = "atmel,at91rm9200-nand";
98                         #address-cells = <1>;
99                         #size-cells = <1>;
100                         reg = <0x40000000 0x10000000>;
101                         atmel,nand-addr-offset = <22>;
102                         atmel,nand-cmd-offset = <21>;
103                         pinctrl-names = "default";
104                         pinctrl-0 = <&pinctrl_nand>;
105
106                         gpios = <&pioC 15 GPIO_ACTIVE_HIGH>,
107                                 <&pioC 14 GPIO_ACTIVE_HIGH>,
108                                 <0>;
109                         status = "disabled";
110                 };
111
112                 apb {
113                         compatible = "simple-bus";
114                         #address-cells = <1>;
115                         #size-cells = <1>;
116                         ranges;
117                         u-boot,dm-pre-reloc;
118
119                         tcb0: timer@fffa0000 {
120                                 compatible = "atmel,at91rm9200-tcb";
121                                 reg = <0xfffa0000 0x100>;
122                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>,
123                                              <18 IRQ_TYPE_LEVEL_HIGH 0>,
124                                              <19 IRQ_TYPE_LEVEL_HIGH 0>;
125                                 clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>, <&slow_xtal>;
126                                 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
127                         };
128
129                         usb1: gadget@fffa4000 {
130                                 compatible = "atmel,at91sam9261-udc";
131                                 reg = <0xfffa4000 0x4000>;
132                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
133                                 clocks = <&udc_clk>, <&udpck>;
134                                 clock-names = "pclk", "hclk";
135                                 atmel,matrix = <&matrix>;
136                                 status = "disabled";
137                         };
138
139                         mmc0: mmc@fffa8000 {
140                                 compatible = "atmel,hsmci";
141                                 reg = <0xfffa8000 0x600>;
142                                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
143                                 pinctrl-names = "default";
144                                 pinctrl-0 = <&pinctrl_mmc0_clk>, <&pinctrl_mmc0_slot0_cmd_dat0>, <&pinctrl_mmc0_slot0_dat1_3>;
145                                 #address-cells = <1>;
146                                 #size-cells = <0>;
147                                 clocks = <&mci0_clk>;
148                                 clock-names = "mci_clk";
149                                 status = "disabled";
150                         };
151
152                         i2c0: i2c@fffac000 {
153                                 compatible = "atmel,at91sam9261-i2c";
154                                 pinctrl-names = "default";
155                                 pinctrl-0 = <&pinctrl_i2c_twi>;
156                                 reg = <0xfffac000 0x100>;
157                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
158                                 #address-cells = <1>;
159                                 #size-cells = <0>;
160                                 clocks = <&twi0_clk>;
161                                 status = "disabled";
162                         };
163
164                         usart0: serial@fffb0000 {
165                                 compatible = "atmel,at91sam9260-usart";
166                                 reg = <0xfffb0000 0x200>;
167                                 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
168                                 atmel,use-dma-rx;
169                                 atmel,use-dma-tx;
170                                 pinctrl-names = "default";
171                                 pinctrl-0 = <&pinctrl_usart0>;
172                                 clocks = <&usart0_clk>;
173                                 clock-names = "usart";
174                                 status = "disabled";
175                         };
176
177                         usart1: serial@fffb4000 {
178                                 compatible = "atmel,at91sam9260-usart";
179                                 reg = <0xfffb4000 0x200>;
180                                 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
181                                 atmel,use-dma-rx;
182                                 atmel,use-dma-tx;
183                                 pinctrl-names = "default";
184                                 pinctrl-0 = <&pinctrl_usart1>;
185                                 clocks = <&usart1_clk>;
186                                 clock-names = "usart";
187                                 status = "disabled";
188                         };
189
190                         usart2: serial@fffb8000{
191                                 compatible = "atmel,at91sam9260-usart";
192                                 reg = <0xfffb8000 0x200>;
193                                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
194                                 atmel,use-dma-rx;
195                                 atmel,use-dma-tx;
196                                 pinctrl-names = "default";
197                                 pinctrl-0 = <&pinctrl_usart2>;
198                                 clocks = <&usart2_clk>;
199                                 clock-names = "usart";
200                                 status = "disabled";
201                         };
202
203                         ssc0: ssc@fffbc000 {
204                                 compatible = "atmel,at91rm9200-ssc";
205                                 reg = <0xfffbc000 0x4000>;
206                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
207                                 pinctrl-names = "default";
208                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
209                                 clocks = <&ssc0_clk>;
210                                 clock-names = "pclk";
211                                 status = "disabled";
212                         };
213
214                         ssc1: ssc@fffc0000 {
215                                 compatible = "atmel,at91rm9200-ssc";
216                                 reg = <0xfffc0000 0x4000>;
217                                 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
218                                 pinctrl-names = "default";
219                                 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
220                                 clocks = <&ssc1_clk>;
221                                 clock-names = "pclk";
222                                 status = "disabled";
223                         };
224
225                         ssc2: ssc@fffc4000 {
226                                 compatible = "atmel,at91rm9200-ssc";
227                                 reg = <0xfffc4000 0x4000>;
228                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
229                                 pinctrl-names = "default";
230                                 pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
231                                 clocks = <&ssc2_clk>;
232                                 clock-names = "pclk";
233                                 status = "disabled";
234                         };
235
236                         spi0: spi@fffc8000 {
237                                 #address-cells = <1>;
238                                 #size-cells = <0>;
239                                 compatible = "atmel,at91rm9200-spi";
240                                 reg = <0xfffc8000 0x200>;
241                                 cs-gpios = <0>, <0>, <0>, <0>;
242                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
243                                 pinctrl-names = "default";
244                                 pinctrl-0 = <&pinctrl_spi0>;
245                                 clocks = <&spi0_clk>;
246                                 clock-names = "spi_clk";
247                                 status = "disabled";
248                         };
249
250                         spi1: spi@fffcc000 {
251                                 #address-cells = <1>;
252                                 #size-cells = <0>;
253                                 compatible = "atmel,at91rm9200-spi";
254                                 reg = <0xfffcc000 0x200>;
255                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
256                                 pinctrl-names = "default";
257                                 pinctrl-0 = <&pinctrl_spi1>;
258                                 clocks = <&spi1_clk>;
259                                 clock-names = "spi_clk";
260                                 status = "disabled";
261                         };
262
263                         ramc: ramc@ffffea00 {
264                                 compatible = "atmel,at91sam9260-sdramc";
265                                 reg = <0xffffea00 0x200>;
266                         };
267
268                         matrix: matrix@ffffee00 {
269                                 compatible = "atmel,at91sam9260-bus-matrix", "syscon";
270                                 reg = <0xffffee00 0x200>;
271                         };
272
273                         aic: interrupt-controller@fffff000 {
274                                 #interrupt-cells = <3>;
275                                 compatible = "atmel,at91rm9200-aic";
276                                 interrupt-controller;
277                                 reg = <0xfffff000 0x200>;
278                                 atmel,external-irqs = <29 30 31>;
279                         };
280
281                         dbgu: serial@fffff200 {
282                                 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
283                                 reg = <0xfffff200 0x200>;
284                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
285                                 pinctrl-names = "default";
286                                 pinctrl-0 = <&pinctrl_dbgu>;
287                                 clocks = <&mck>;
288                                 clock-names = "usart";
289                                 status = "disabled";
290                         };
291
292                         pioA: gpio@fffff400 {
293                                 compatible = "atmel,at91rm9200-gpio";
294                                 reg = <0xfffff400 0x200>;
295                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
296                                 #gpio-cells = <2>;
297                                 gpio-controller;
298                                 interrupt-controller;
299                                 #interrupt-cells = <2>;
300                                 clocks = <&pioA_clk>;
301                                 u-boot,dm-pre-reloc;
302                         };
303
304                         pioB: gpio@fffff600 {
305                                 compatible = "atmel,at91rm9200-gpio";
306                                 reg = <0xfffff600 0x200>;
307                                 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
308                                 #gpio-cells = <2>;
309                                 gpio-controller;
310                                 interrupt-controller;
311                                 #interrupt-cells = <2>;
312                                 clocks = <&pioB_clk>;
313                                 u-boot,dm-pre-reloc;
314                         };
315
316                         pioC: gpio@fffff800 {
317                                 compatible = "atmel,at91rm9200-gpio";
318                                 reg = <0xfffff800 0x200>;
319                                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
320                                 #gpio-cells = <2>;
321                                 gpio-controller;
322                                 interrupt-controller;
323                                 #interrupt-cells = <2>;
324                                 clocks = <&pioC_clk>;
325                                 u-boot,dm-pre-reloc;
326                         };
327
328                         pinctrl@fffff400 {
329                                 #address-cells = <1>;
330                                 #size-cells = <1>;
331                                 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
332                                 ranges = <0xfffff400 0xfffff400 0x600>;
333                                 reg = <0xfffff400 0x200         /* pioA */
334                                        0xfffff600 0x200         /* pioB */
335                                        0xfffff800 0x200         /* pioC */
336                                       >;
337                                 atmel,mux-mask =
338                                       /*    A         B     */
339                                       <0xffffffff 0xfffffff7>,  /* pioA */
340                                       <0xffffffff 0xfffffff4>,  /* pioB */
341                                       <0xffffffff 0xffffff07>;  /* pioC */
342                                 u-boot,dm-pre-reloc;
343
344                                 /* shared pinctrl settings */
345                                 dbgu {
346                                         u-boot,dm-pre-reloc;
347                                         pinctrl_dbgu: dbgu-0 {
348                                                 atmel,pins =
349                                                         <AT91_PIOA 9  AT91_PERIPH_A AT91_PINCTRL_NONE>,
350                                                         <AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
351                                         };
352                                 };
353
354                                 usart0 {
355                                         pinctrl_usart0: usart0-0 {
356                                                 atmel,pins =
357                                                         <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
358                                                         <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE>;
359                                         };
360
361                                         pinctrl_usart0_rts: usart0_rts-0 {
362                                                 atmel,pins =
363                                                         <AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
364                                         };
365
366                                         pinctrl_usart0_cts: usart0_cts-0 {
367                                                 atmel,pins =
368                                                         <AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE>;
369                                         };
370                                 };
371
372                                 usart1 {
373                                         pinctrl_usart1: usart1-0 {
374                                                 atmel,pins =
375                                                         <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
376                                                         <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE>;
377                                         };
378
379                                         pinctrl_usart1_rts: usart1_rts-0 {
380                                                 atmel,pins =
381                                                         <AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
382                                         };
383
384                                         pinctrl_usart1_cts: usart1_cts-0 {
385                                                 atmel,pins =
386                                                         <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
387                                         };
388                                 };
389
390                                 usart2 {
391                                         pinctrl_usart2: usart2-0 {
392                                                 atmel,pins =
393                                                         <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
394                                                         <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
395                                         };
396
397                                         pinctrl_usart2_rts: usart2_rts-0 {
398                                                 atmel,pins =
399                                                         <AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
400                                         };
401
402                                         pinctrl_usart2_cts: usart2_cts-0 {
403                                                 atmel,pins =
404                                                         <AT91_PIOA 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
405                                         };
406                                 };
407
408                                 nand {
409                                         pinctrl_nand: nand-0 {
410                                                 atmel,pins =
411                                                         <AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>,
412                                                         <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
413                                         };
414                                 };
415
416                                 mmc0 {
417                                         pinctrl_mmc0_clk: mmc0_clk-0 {
418                                                 atmel,pins =
419                                                         <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
420                                         };
421
422                                         pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
423                                                 atmel,pins =
424                                                         <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
425                                                         <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
426                                         };
427
428                                         pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
429                                                 atmel,pins =
430                                                         <AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
431                                                         <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
432                                                         <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
433                                         };
434                                         };
435
436                                 ssc0 {
437                                         pinctrl_ssc0_tx: ssc0_tx-0 {
438                                                 atmel,pins =
439                                                         <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>,
440                                                         <AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>,
441                                                         <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
442                                         };
443
444                                         pinctrl_ssc0_rx: ssc0_rx-0 {
445                                                 atmel,pins =
446                                                         <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>,
447                                                         <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>,
448                                                         <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
449                                         };
450                                 };
451
452                                 ssc1 {
453                                         pinctrl_ssc1_tx: ssc1_tx-0 {
454                                                 atmel,pins =
455                                                         <AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>,
456                                                         <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>,
457                                                         <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
458                                         };
459
460                                         pinctrl_ssc1_rx: ssc1_rx-0 {
461                                                 atmel,pins =
462                                                         <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>,
463                                                         <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>,
464                                                         <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
465                                         };
466                                 };
467
468                                 ssc2 {
469                                         pinctrl_ssc2_tx: ssc2_tx-0 {
470                                                 atmel,pins =
471                                                         <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
472                                                         <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
473                                                         <AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;
474                                         };
475
476                                         pinctrl_ssc2_rx: ssc2_rx-0 {
477                                                 atmel,pins =
478                                                         <AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>,
479                                                         <AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE>,
480                                                         <AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
481                                         };
482                                 };
483
484                                 spi0 {
485                                         pinctrl_spi0: spi0-0 {
486                                                 atmel,pins =
487                                                         <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
488                                                         <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
489                                                         <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;
490                                         };
491                                         };
492
493                                 spi1 {
494                                         pinctrl_spi1: spi1-0 {
495                                                 atmel,pins =
496                                                         <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>,
497                                                         <AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>,
498                                                         <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
499                                         };
500                                 };
501
502                                 tcb0 {
503                                         pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
504                                                 atmel,pins = <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
505                                         };
506
507                                         pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
508                                                 atmel,pins = <AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
509                                         };
510
511                                         pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
512                                                 atmel,pins = <AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
513                                         };
514
515                                         pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
516                                                 atmel,pins = <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
517                                         };
518
519                                         pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
520                                                 atmel,pins = <AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;
521                                         };
522
523                                         pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
524                                                 atmel,pins = <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;
525                                         };
526
527                                         pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
528                                                 atmel,pins = <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
529                                         };
530
531                                         pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
532                                                 atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
533                                         };
534
535                                         pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
536                                                 atmel,pins = <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>;
537                                         };
538                                 };
539
540                                 i2c0 {
541                                         pinctrl_i2c_bitbang: i2c-0-bitbang {
542                                                 atmel,pins =
543                                                         <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>,
544                                                         <AT91_PIOA 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
545                                         };
546                                         pinctrl_i2c_twi: i2c-0-twi {
547                                                 atmel,pins =
548                                                         <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
549                                                         <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;
550                                         };
551                                 };
552
553                                 fb {
554                                         pinctrl_fb: fb-0 {
555                                                 atmel,pins =
556                                                         <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
557                                                         <AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>,
558                                                         <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>,
559                                                         <AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
560                                                         <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
561                                                         <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>,
562                                                         <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>,
563                                                         <AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
564                                                         <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
565                                                         <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>,
566                                                         <AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>,
567                                                         <AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>,
568                                                         <AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>,
569                                                         <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE>,
570                                                         <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE>,
571                                                         <AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>,
572                                                         <AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE>,
573                                                         <AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
574                                                         <AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
575                                                         <AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE>,
576                                                         <AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
577                                         };
578                                 };
579                         };
580
581                         pmc: pmc@fffffc00 {
582                                 compatible = "atmel,at91rm9200-pmc", "syscon";
583                                 reg = <0xfffffc00 0x100>;
584                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
585                                 interrupt-controller;
586                                 #address-cells = <1>;
587                                 #size-cells = <0>;
588                                 #interrupt-cells = <1>;
589                                 u-boot,dm-pre-reloc;
590
591                                 main_osc: main_osc {
592                                         compatible = "atmel,at91rm9200-clk-main-osc";
593                                         #clock-cells = <0>;
594                                         interrupts-extended = <&pmc AT91_PMC_MOSCS>;
595                                         clocks = <&main_xtal>;
596                                 };
597
598                                 main: mainck {
599                                         compatible = "atmel,at91rm9200-clk-main";
600                                         #clock-cells = <0>;
601                                         clocks = <&main_osc>;
602                                 };
603
604                                 plla: pllack@0 {
605                                         compatible = "atmel,at91rm9200-clk-pll";
606                                         #clock-cells = <0>;
607                                         interrupts-extended = <&pmc AT91_PMC_LOCKA>;
608                                         clocks = <&main>;
609                                         reg = <0>;
610                                         atmel,clk-input-range = <1000000 32000000>;
611                                         #atmel,pll-clk-output-range-cells = <4>;
612                                         atmel,pll-clk-output-ranges = <80000000 200000000 0 1>,
613                                                                 <190000000 240000000 2 1>;
614                                 };
615
616                                 pllb: pllbck@1 {
617                                         compatible = "atmel,at91rm9200-clk-pll";
618                                         #clock-cells = <0>;
619                                         interrupts-extended = <&pmc AT91_PMC_LOCKB>;
620                                         clocks = <&main>;
621                                         reg = <1>;
622                                         atmel,clk-input-range = <1000000 5000000>;
623                                         #atmel,pll-clk-output-range-cells = <4>;
624                                         atmel,pll-clk-output-ranges = <70000000 130000000 1 1>;
625                                 };
626
627                                 mck: masterck {
628                                         compatible = "atmel,at91rm9200-clk-master";
629                                         #clock-cells = <0>;
630                                         interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
631                                         clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
632                                         atmel,clk-output-range = <0 94000000>;
633                                         atmel,clk-divisors = <1 2 4 0>;
634                                         u-boot,dm-pre-reloc;
635                                 };
636
637                                 usb: usbck {
638                                         compatible = "atmel,at91rm9200-clk-usb";
639                                         #clock-cells = <0>;
640                                         atmel,clk-divisors = <1 2 4 0>;
641                                         clocks = <&pllb>;
642                                 };
643
644                                 prog: progck {
645                                         compatible = "atmel,at91rm9200-clk-programmable";
646                                         #address-cells = <1>;
647                                         #size-cells = <0>;
648                                         interrupt-parent = <&pmc>;
649                                         clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
650
651                                         prog0: progi@0 {
652                                                 #clock-cells = <0>;
653                                                 reg = <0>;
654                                                 interrupts = <AT91_PMC_PCKRDY(0)>;
655                                         };
656
657                                         prog1: prog@1 {
658                                                 #clock-cells = <0>;
659                                                 reg = <1>;
660                                                 interrupts = <AT91_PMC_PCKRDY(1)>;
661                                         };
662
663                                         prog2: prog@2 {
664                                                 #clock-cells = <0>;
665                                                 reg = <2>;
666                                                 interrupts = <AT91_PMC_PCKRDY(2)>;
667                                         };
668
669                                         prog3: prog@3 {
670                                                 #clock-cells = <0>;
671                                                 reg = <3>;
672                                                 interrupts = <AT91_PMC_PCKRDY(3)>;
673                                         };
674                                 };
675
676                                 systemck {
677                                         compatible = "atmel,at91rm9200-clk-system";
678                                         #address-cells = <1>;
679                                         #size-cells = <0>;
680
681                                         uhpck: uhpck@6 {
682                                                 #clock-cells = <0>;
683                                                 reg = <6>;
684                                                 clocks = <&usb>;
685                                         };
686
687                                         udpck: udpck@7 {
688                                                 #clock-cells = <0>;
689                                                 reg = <7>;
690                                                 clocks = <&usb>;
691                                         };
692
693                                         pck0: pck@8 {
694                                                 #clock-cells = <0>;
695                                                 reg = <8>;
696                                                 clocks = <&prog0>;
697                                         };
698
699                                         pck1: pck@9 {
700                                                 #clock-cells = <0>;
701                                                 reg = <9>;
702                                                 clocks = <&prog1>;
703                                         };
704
705                                         pck2: pck@10 {
706                                                 #clock-cells = <0>;
707                                                 reg = <10>;
708                                                 clocks = <&prog2>;
709                                         };
710
711                                         pck3: pck@11 {
712                                                 #clock-cells = <0>;
713                                                 reg = <11>;
714                                                 clocks = <&prog3>;
715                                         };
716
717                                         hclk0: hclk@16 {
718                                                 #clock-cells = <0>;
719                                                 reg = <16>;
720                                                 clocks = <&mck>;
721                                         };
722
723                                         hclk1: hclk@17 {
724                                                 #clock-cells = <0>;
725                                                 reg = <17>;
726                                                 clocks = <&mck>;
727                                         };
728                                 };
729
730                                 periphck {
731                                         compatible = "atmel,at91rm9200-clk-peripheral";
732                                         #address-cells = <1>;
733                                         #size-cells = <0>;
734                                         clocks = <&mck>;
735                                         u-boot,dm-pre-reloc;
736
737                                         pioA_clk: pioA_clk@2 {
738                                                 #clock-cells = <0>;
739                                                 reg = <2>;
740                                                 u-boot,dm-pre-reloc;
741                                         };
742
743                                         pioB_clk: pioB_clk@3 {
744                                                 #clock-cells = <0>;
745                                                 reg = <3>;
746                                                 u-boot,dm-pre-reloc;
747                                         };
748
749                                         pioC_clk: pioC_clk@4 {
750                                                 #clock-cells = <0>;
751                                                 reg = <4>;
752                                                 u-boot,dm-pre-reloc;
753                                         };
754
755                                         usart0_clk: usart0_clk@6 {
756                                                 #clock-cells = <0>;
757                                                 reg = <6>;
758                                         };
759
760                                         usart1_clk: usart1_clk@7 {
761                                                 #clock-cells = <0>;
762                                                 reg = <7>;
763                                         };
764
765                                         usart2_clk: usart2_clk@8 {
766                                                 #clock-cells = <0>;
767                                                 reg = <8>;
768                                         };
769
770                                         mci0_clk: mci0_clk@9 {
771                                                 #clock-cells = <0>;
772                                                 reg = <9>;
773                                         };
774
775                                         udc_clk: udc_clk@10 {
776                                                 #clock-cells = <0>;
777                                                 reg = <10>;
778                                         };
779
780                                         twi0_clk: twi0_clk@11 {
781                                                 reg = <11>;
782                                                 #clock-cells = <0>;
783                                         };
784
785                                         spi0_clk: spi0_clk@12 {
786                                                 #clock-cells = <0>;
787                                                 reg = <12>;
788                                         };
789
790                                         spi1_clk: spi1_clk@13 {
791                                                 #clock-cells = <0>;
792                                                 reg = <13>;
793                                         };
794
795                                         ssc0_clk: ssc0_clk@14 {
796                                                 #clock-cells = <0>;
797                                                 reg = <14>;
798                                         };
799
800                                         ssc1_clk: ssc1_clk@15 {
801                                                 #clock-cells = <0>;
802                                                 reg = <15>;
803                                         };
804
805                                         ssc2_clk: ssc2_clk@16 {
806                                                 #clock-cells = <0>;
807                                                 reg = <16>;
808                                         };
809
810                                         tc0_clk: tc0_clk@17 {
811                                                 #clock-cells = <0>;
812                                                 reg = <17>;
813                                         };
814
815                                         tc1_clk: tc1_clk@18 {
816                                                 #clock-cells = <0>;
817                                                 reg = <18>;
818                                         };
819
820                                         tc2_clk: tc2_clk@19 {
821                                                 #clock-cells = <0>;
822                                                 reg = <19>;
823                                         };
824
825                                         ohci_clk: ohci_clk@20 {
826                                                 #clock-cells = <0>;
827                                                 reg = <20>;
828                                         };
829
830                                         lcd_clk: lcd_clk@21 {
831                                                 #clock-cells = <0>;
832                                                 reg = <21>;
833                                         };
834                                 };
835                         };
836
837                         rstc@fffffd00 {
838                                 compatible = "atmel,at91sam9260-rstc";
839                                 reg = <0xfffffd00 0x10>;
840                                 clocks = <&slow_xtal>;
841                         };
842
843                         shdwc@fffffd10 {
844                                 compatible = "atmel,at91sam9260-shdwc";
845                                 reg = <0xfffffd10 0x10>;
846                                 clocks = <&slow_xtal>;
847                         };
848
849                         pit: timer@fffffd30 {
850                                 compatible = "atmel,at91sam9260-pit";
851                                 reg = <0xfffffd30 0xf>;
852                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
853                                 clocks = <&mck>;
854                         };
855
856                         rtc@fffffd20 {
857                                 compatible = "atmel,at91sam9260-rtt";
858                                 reg = <0xfffffd20 0x10>;
859                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
860                                 clocks = <&slow_xtal>;
861                                 status = "disabled";
862                         };
863
864                         watchdog@fffffd40 {
865                                 compatible = "atmel,at91sam9260-wdt";
866                                 reg = <0xfffffd40 0x10>;
867                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
868                                 clocks = <&slow_xtal>;
869                                 status = "disabled";
870                         };
871
872                         gpbr: syscon@fffffd50 {
873                                 compatible = "atmel,at91sam9260-gpbr", "syscon";
874                                 reg = <0xfffffd50 0x10>;
875                                 status = "disabled";
876                         };
877                 };
878         };
879
880         i2c@0 {
881                 compatible = "i2c-gpio";
882                 pinctrl-names = "default";
883                 pinctrl-0 = <&pinctrl_i2c_bitbang>;
884                 gpios = <&pioA 7 GPIO_ACTIVE_HIGH>, /* sda */
885                         <&pioA 8 GPIO_ACTIVE_HIGH>; /* scl */
886                 i2c-gpio,sda-open-drain;
887                 i2c-gpio,scl-open-drain;
888                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
889                 #address-cells = <1>;
890                 #size-cells = <0>;
891                 status = "disabled";
892         };
893 };