2 * at91sam9rl.dtsi - Device Tree Include file for AT91SAM9RL family SoC
4 * Copyright (C) 2014 Alexandre Belloni <alexandre.belloni@free-electrons.com>
6 * Licensed under GPLv2 or later.
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>
15 model = "Atmel AT91SAM9RL family SoC";
16 compatible = "atmel,at91sam9rl", "atmel,at91sam9";
17 interrupt-parent = <&aic>;
41 compatible = "arm,arm926ej-s";
47 reg = <0x20000000 0x04000000>;
51 compatible = "simple-bus";
56 nand0: nand@40000000 {
57 compatible = "atmel,at91rm9200-nand";
60 reg = <0x40000000 0x10000000>,
62 atmel,nand-addr-offset = <21>;
63 atmel,nand-cmd-offset = <22>;
64 pinctrl-names = "default";
65 pinctrl-0 = <&pinctrl_nand>;
66 gpios = <&pioD 17 GPIO_ACTIVE_HIGH>,
67 <&pioB 6 GPIO_ACTIVE_HIGH>,
73 compatible = "simple-bus";
78 tcb0: timer@fffa0000 {
79 compatible = "atmel,at91rm9200-tcb";
80 reg = <0xfffa0000 0x100>;
81 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 0>,
82 <17 IRQ_TYPE_LEVEL_HIGH 0>,
83 <18 IRQ_TYPE_LEVEL_HIGH 0>;
87 compatible = "atmel,hsmci";
88 reg = <0xfffa4000 0x600>;
89 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
92 pinctrl-names = "default";
97 compatible = "atmel,at91sam9260-i2c";
98 reg = <0xfffa8000 0x100>;
99 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
100 #address-cells = <1>;
106 compatible = "atmel,at91sam9260-i2c";
107 reg = <0xfffac000 0x100>;
108 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
109 #address-cells = <1>;
114 usart0: serial@fffb0000 {
115 compatible = "atmel,at91sam9260-usart";
116 reg = <0xfffb0000 0x200>;
117 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
120 pinctrl-names = "default";
121 pinctrl-0 = <&pinctrl_usart0>;
125 usart1: serial@fffb4000 {
126 compatible = "atmel,at91sam9260-usart";
127 reg = <0xfffb4000 0x200>;
128 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_usart1>;
136 usart2: serial@fffb8000 {
137 compatible = "atmel,at91sam9260-usart";
138 reg = <0xfffb8000 0x200>;
139 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&pinctrl_usart2>;
147 usart3: serial@fffbc000 {
148 compatible = "atmel,at91sam9260-usart";
149 reg = <0xfffbc000 0x200>;
150 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
153 pinctrl-names = "default";
154 pinctrl-0 = <&pinctrl_usart3>;
159 compatible = "atmel,at91rm9200-ssc";
160 reg = <0xfffc0000 0x4000>;
161 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
168 compatible = "atmel,at91rm9200-ssc";
169 reg = <0xfffc4000 0x4000>;
170 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
171 pinctrl-names = "default";
172 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
177 #address-cells = <1>;
179 compatible = "atmel,at91rm9200-spi";
180 reg = <0xfffcc000 0x200>;
181 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
182 pinctrl-names = "default";
183 pinctrl-0 = <&pinctrl_spi0>;
187 ramc0: ramc@ffffea00 {
188 compatible = "atmel,at91sam9260-sdramc";
189 reg = <0xffffea00 0x200>;
192 aic: interrupt-controller@fffff000 {
193 #interrupt-cells = <3>;
194 compatible = "atmel,at91rm9200-aic";
195 interrupt-controller;
196 reg = <0xfffff000 0x200>;
197 atmel,external-irqs = <31>;
200 dbgu: serial@fffff200 {
201 compatible = "atmel,at91sam9260-usart";
202 reg = <0xfffff200 0x200>;
203 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
204 pinctrl-names = "default";
205 pinctrl-0 = <&pinctrl_dbgu>;
210 #address-cells = <1>;
212 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
213 ranges = <0xfffff400 0xfffff400 0x800>;
217 <0xffffffff 0xe05c6738>, /* pioA */
218 <0xffffffff 0x0000c780>, /* pioB */
219 <0xffffffff 0xe3ffff0e>, /* pioC */
220 <0x003fffff 0x0001ff3c>; /* pioD */
222 /* shared pinctrl settings */
224 pinctrl_dbgu: dbgu-0 {
226 <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>,
227 <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
232 pinctrl_i2c_gpio0: i2c_gpio0-0 {
234 <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>,
235 <AT91_PIOA 24 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
240 pinctrl_i2c_gpio1: i2c_gpio1-0 {
242 <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>,
243 <AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
248 pinctrl_mmc0_clk: mmc0_clk-0 {
250 <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;
253 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
255 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
256 <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
259 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
261 <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
262 <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
263 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
268 pinctrl_nand: nand-0 {
270 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>,
271 <AT91_PIOB 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
274 pinctrl_nand0_ale_cle: nand_ale_cle-0 {
276 <AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>,
277 <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;
280 pinctrl_nand0_oe_we: nand_oe_we-0 {
282 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE>,
283 <AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>;
286 pinctrl_nand0_cs: nand_cs-0 {
288 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;
293 pinctrl_ssc0_tx: ssc0_tx-0 {
295 <AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>,
296 <AT91_PIOC 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
297 <AT91_PIOC 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
300 pinctrl_ssc0_rx: ssc0_rx-0 {
302 <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE>,
303 <AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE>,
304 <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
309 pinctrl_ssc1_tx: ssc1_tx-0 {
311 <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>,
312 <AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>,
313 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
316 pinctrl_ssc1_rx: ssc1_rx-0 {
318 <AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE>,
319 <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE>,
320 <AT91_PIOA 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
325 pinctrl_spi0: spi0-0 {
327 <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>,
328 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>,
329 <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
334 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
335 atmel,pins = <AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
338 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
339 atmel,pins = <AT91_PIOC 31 AT91_PERIPH_B AT91_PINCTRL_NONE>;
342 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
343 atmel,pins = <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
346 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
347 atmel,pins = <AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;
350 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
351 atmel,pins = <AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE>;
354 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
355 atmel,pins = <AT91_PIOD 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
358 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
359 atmel,pins = <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;
362 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
363 atmel,pins = <AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
366 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
367 atmel,pins = <AT91_PIOD 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
372 pinctrl_usart0: usart0-0 {
374 <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>,
375 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
378 pinctrl_usart0_rts: usart0_rts-0 {
380 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE>;
383 pinctrl_usart0_cts: usart0_cts-0 {
385 <AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
388 pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 {
390 <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE>,
391 <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
394 pinctrl_usart0_dcd: usart0_dcd-0 {
396 <AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>;
399 pinctrl_usart0_ri: usart0_ri-0 {
401 <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE>;
404 pinctrl_usart0_sck: usart0_sck-0 {
406 <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;
411 pinctrl_usart1: usart1-0 {
413 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
414 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE>;
417 pinctrl_usart1_rts: usart1_rts-0 {
419 <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
422 pinctrl_usart1_cts: usart1_cts-0 {
424 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
427 pinctrl_usart1_sck: usart1_sck-0 {
429 <AT91_PIOD 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
434 pinctrl_usart2: usart2-0 {
436 <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
437 <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
440 pinctrl_usart2_rts: usart2_rts-0 {
442 <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
445 pinctrl_usart2_cts: usart2_cts-0 {
447 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;
450 pinctrl_usart2_sck: usart2_sck-0 {
452 <AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE>;
457 pinctrl_usart3: usart3-0 {
459 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
460 <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
463 pinctrl_usart3_rts: usart3_rts-0 {
465 <AT91_PIOD 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;
468 pinctrl_usart3_cts: usart3_cts-0 {
470 <AT91_PIOD 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
473 pinctrl_usart3_sck: usart3_sck-0 {
475 <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
479 pioA: gpio@fffff400 {
480 compatible = "atmel,at91rm9200-gpio";
481 reg = <0xfffff400 0x200>;
482 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
485 interrupt-controller;
486 #interrupt-cells = <2>;
489 pioB: gpio@fffff600 {
490 compatible = "atmel,at91rm9200-gpio";
491 reg = <0xfffff600 0x200>;
492 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
495 interrupt-controller;
496 #interrupt-cells = <2>;
499 pioC: gpio@fffff800 {
500 compatible = "atmel,at91rm9200-gpio";
501 reg = <0xfffff800 0x200>;
502 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
505 interrupt-controller;
506 #interrupt-cells = <2>;
509 pioD: gpio@fffffa00 {
510 compatible = "atmel,at91rm9200-gpio";
511 reg = <0xfffffa00 0x200>;
512 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
515 interrupt-controller;
516 #interrupt-cells = <2>;
521 compatible = "atmel,at91rm9200-pmc";
522 reg = <0xfffffc00 0x100>;
526 compatible = "atmel,at91sam9260-rstc";
527 reg = <0xfffffd00 0x10>;
531 compatible = "atmel,at91sam9260-shdwc";
532 reg = <0xfffffd10 0x10>;
535 pit: timer@fffffd30 {
536 compatible = "atmel,at91sam9260-pit";
537 reg = <0xfffffd30 0xf>;
538 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
542 compatible = "atmel,at91sam9260-wdt";
543 reg = <0xfffffd40 0x10>;
544 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
551 compatible = "i2c-gpio";
552 gpios = <&pioA 23 GPIO_ACTIVE_HIGH>, /* sda */
553 <&pioA 24 GPIO_ACTIVE_HIGH>; /* scl */
554 i2c-gpio,sda-open-drain;
555 i2c-gpio,scl-open-drain;
556 i2c-gpio,delay-us = <2>; /* ~100 kHz */
557 #address-cells = <1>;
559 pinctrl-names = "default";
560 pinctrl-0 = <&pinctrl_i2c_gpio0>;
565 compatible = "i2c-gpio";
566 gpios = <&pioD 10 GPIO_ACTIVE_HIGH>, /* sda */
567 <&pioD 11 GPIO_ACTIVE_HIGH>; /* scl */
568 i2c-gpio,sda-open-drain;
569 i2c-gpio,scl-open-drain;
570 i2c-gpio,delay-us = <2>; /* ~100 kHz */
571 #address-cells = <1>;
573 pinctrl-names = "default";
574 pinctrl-0 = <&pinctrl_i2c_gpio1>;