ARM: at91: add at91sam9260 DT support
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Mon, 9 Apr 2012 11:26:33 +0000 (19:26 +0800)
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Fri, 20 Apr 2012 15:16:19 +0000 (23:16 +0800)
The at91sam9260 and at91sam9g20 share most of the same IP.
So udpate the node property in the at91sam9g20 only.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
arch/arm/boot/dts/at91sam9260.dtsi [new file with mode: 0644]
arch/arm/boot/dts/at91sam9g20.dtsi
arch/arm/mach-at91/Makefile.boot

diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
new file mode 100644 (file)
index 0000000..f4605ff
--- /dev/null
@@ -0,0 +1,238 @@
+/*
+ * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC
+ *
+ *  Copyright (C) 2011 Atmel,
+ *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
+ *                2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       model = "Atmel AT91SAM9260 family SoC";
+       compatible = "atmel,at91sam9260";
+       interrupt-parent = <&aic>;
+
+       aliases {
+               serial0 = &dbgu;
+               serial1 = &usart0;
+               serial2 = &usart1;
+               serial3 = &usart2;
+               serial4 = &usart3;
+               serial5 = &usart4;
+               serial6 = &usart5;
+               gpio0 = &pioA;
+               gpio1 = &pioB;
+               gpio2 = &pioC;
+               tcb0 = &tcb0;
+               tcb1 = &tcb1;
+       };
+       cpus {
+               cpu@0 {
+                       compatible = "arm,arm926ejs";
+               };
+       };
+
+       memory {
+               reg = <0x20000000 0x04000000>;
+       };
+
+       ahb {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               apb {
+                       compatible = "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       aic: interrupt-controller@fffff000 {
+                               #interrupt-cells = <2>;
+                               compatible = "atmel,at91rm9200-aic";
+                               interrupt-controller;
+                               reg = <0xfffff000 0x200>;
+                       };
+
+                       ramc0: ramc@ffffea00 {
+                               compatible = "atmel,at91sam9260-sdramc";
+                               reg = <0xffffea00 0x200>;
+                       };
+
+                       pmc: pmc@fffffc00 {
+                               compatible = "atmel,at91rm9200-pmc";
+                               reg = <0xfffffc00 0x100>;
+                       };
+
+                       rstc@fffffd00 {
+                               compatible = "atmel,at91sam9260-rstc";
+                               reg = <0xfffffd00 0x10>;
+                       };
+
+                       shdwc@fffffd10 {
+                               compatible = "atmel,at91sam9260-shdwc";
+                               reg = <0xfffffd10 0x10>;
+                       };
+
+                       pit: timer@fffffd30 {
+                               compatible = "atmel,at91sam9260-pit";
+                               reg = <0xfffffd30 0xf>;
+                               interrupts = <1 4>;
+                       };
+
+                       tcb0: timer@fffa0000 {
+                               compatible = "atmel,at91rm9200-tcb";
+                               reg = <0xfffa0000 0x100>;
+                               interrupts = <17 4 18 4 19 4>;
+                       };
+
+                       tcb1: timer@fffdc000 {
+                               compatible = "atmel,at91rm9200-tcb";
+                               reg = <0xfffdc000 0x100>;
+                               interrupts = <26 4 27 4 28 4>;
+                       };
+
+                       pioA: gpio@fffff400 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff400 0x100>;
+                               interrupts = <2 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioB: gpio@fffff600 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff600 0x100>;
+                               interrupts = <3 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioC: gpio@fffff800 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff800 0x100>;
+                               interrupts = <4 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       dbgu: serial@fffff200 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffff200 0x200>;
+                               interrupts = <1 4>;
+                               status = "disabled";
+                       };
+
+                       usart0: serial@fffb0000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb0000 0x200>;
+                               interrupts = <6 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart1: serial@fffb4000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb4000 0x200>;
+                               interrupts = <7 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart2: serial@fffb8000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb8000 0x200>;
+                               interrupts = <8 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart3: serial@fffd0000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd0000 0x200>;
+                               interrupts = <23 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart4: serial@fffd4000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd4000 0x200>;
+                               interrupts = <24 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart5: serial@fffd8000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd8000 0x200>;
+                               interrupts = <25 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               compatible = "cdns,at32ap7000-macb", "cdns,macb";
+                               reg = <0xfffc4000 0x100>;
+                               interrupts = <21 4>;
+                               status = "disabled";
+                       };
+
+                       usb1: gadget@fffa4000 {
+                               compatible = "atmel,at91rm9200-udc";
+                               reg = <0xfffa4000 0x4000>;
+                               interrupts = <10 4>;
+                               status = "disabled";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       compatible = "atmel,at91rm9200-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x40000000 0x10000000
+                              0xffffe800 0x200
+                             >;
+                       atmel,nand-addr-offset = <21>;
+                       atmel,nand-cmd-offset = <22>;
+                       gpios = <&pioC 13 0
+                                &pioC 14 0
+                                0
+                               >;
+                       status = "disabled";
+               };
+
+               usb0: ohci@00500000 {
+                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
+                       reg = <0x00500000 0x100000>;
+                       interrupts = <20 4>;
+                       status = "disabled";
+               };
+       };
+
+       i2c@0 {
+               compatible = "i2c-gpio";
+               gpios = <&pioA 23 0 /* sda */
+                        &pioA 24 0 /* scl */
+                       >;
+               i2c-gpio,sda-open-drain;
+               i2c-gpio,scl-open-drain;
+               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+};
index 773ef48..0eb1a75 100644 (file)
 /*
  * at91sam9g20.dtsi - Device Tree Include file for AT91SAM9G20 family SoC
  *
- *  Copyright (C) 2011 Atmel,
- *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
- *                2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  *
- * Licensed under GPLv2 or later.
+ * Licensed under GPLv2.
  */
 
-/include/ "skeleton.dtsi"
+/include/ "at91sam9260.dtsi"
 
 / {
        model = "Atmel AT91SAM9G20 family SoC";
        compatible = "atmel,at91sam9g20";
-       interrupt-parent = <&aic>;
-
-       aliases {
-               serial0 = &dbgu;
-               serial1 = &usart0;
-               serial2 = &usart1;
-               serial3 = &usart2;
-               serial4 = &usart3;
-               serial5 = &usart4;
-               serial6 = &usart5;
-               gpio0 = &pioA;
-               gpio1 = &pioB;
-               gpio2 = &pioC;
-               tcb0 = &tcb0;
-               tcb1 = &tcb1;
-       };
-       cpus {
-               cpu@0 {
-                       compatible = "arm,arm926ejs";
-               };
-       };
 
        memory {
                reg = <0x20000000 0x08000000>;
        };
-
-       ahb {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <1>;
-               ranges;
-
-               apb {
-                       compatible = "simple-bus";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       ranges;
-
-                       aic: interrupt-controller@fffff000 {
-                               #interrupt-cells = <2>;
-                               compatible = "atmel,at91rm9200-aic";
-                               interrupt-controller;
-                               reg = <0xfffff000 0x200>;
-                       };
-
-                       ramc0: ramc@ffffea00 {
-                               compatible = "atmel,at91sam9260-sdramc";
-                               reg = <0xffffea00 0x200>;
-                       };
-
-                       pmc: pmc@fffffc00 {
-                               compatible = "atmel,at91rm9200-pmc";
-                               reg = <0xfffffc00 0x100>;
-                       };
-
-                       rstc@fffffd00 {
-                               compatible = "atmel,at91sam9260-rstc";
-                               reg = <0xfffffd00 0x10>;
-                       };
-
-                       shdwc@fffffd10 {
-                               compatible = "atmel,at91sam9260-shdwc";
-                               reg = <0xfffffd10 0x10>;
-                       };
-
-                       pit: timer@fffffd30 {
-                               compatible = "atmel,at91sam9260-pit";
-                               reg = <0xfffffd30 0xf>;
-                               interrupts = <1 4>;
-                       };
-
-                       tcb0: timer@fffa0000 {
-                               compatible = "atmel,at91rm9200-tcb";
-                               reg = <0xfffa0000 0x100>;
-                               interrupts = <17 4 18 4 19 4>;
-                       };
-
-                       tcb1: timer@fffdc000 {
-                               compatible = "atmel,at91rm9200-tcb";
-                               reg = <0xfffdc000 0x100>;
-                               interrupts = <26 4 27 4 28 4>;
-                       };
-
-                       pioA: gpio@fffff400 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff400 0x100>;
-                               interrupts = <2 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       pioB: gpio@fffff600 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff600 0x100>;
-                               interrupts = <3 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       pioC: gpio@fffff800 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff800 0x100>;
-                               interrupts = <4 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       dbgu: serial@fffff200 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffff200 0x200>;
-                               interrupts = <1 4>;
-                               status = "disabled";
-                       };
-
-                       usart0: serial@fffb0000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb0000 0x200>;
-                               interrupts = <6 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart1: serial@fffb4000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb4000 0x200>;
-                               interrupts = <7 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart2: serial@fffb8000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb8000 0x200>;
-                               interrupts = <8 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart3: serial@fffd0000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd0000 0x200>;
-                               interrupts = <23 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart4: serial@fffd4000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd4000 0x200>;
-                               interrupts = <24 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart5: serial@fffd8000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd8000 0x200>;
-                               interrupts = <25 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       macb0: ethernet@fffc4000 {
-                               compatible = "cdns,at32ap7000-macb", "cdns,macb";
-                               reg = <0xfffc4000 0x100>;
-                               interrupts = <21 4>;
-                               status = "disabled";
-                       };
-
-                       usb1: gadget@fffa4000 {
-                               compatible = "atmel,at91rm9200-udc";
-                               reg = <0xfffa4000 0x4000>;
-                               interrupts = <10 4>;
-                               status = "disabled";
-                       };
-               };
-
-               nand0: nand@40000000 {
-                       compatible = "atmel,at91rm9200-nand";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       reg = <0x40000000 0x10000000
-                              0xffffe800 0x200
-                             >;
-                       atmel,nand-addr-offset = <21>;
-                       atmel,nand-cmd-offset = <22>;
-                       gpios = <&pioC 13 0
-                                &pioC 14 0
-                                0
-                               >;
-                       status = "disabled";
-               };
-
-               usb0: ohci@00500000 {
-                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
-                       reg = <0x00500000 0x100000>;
-                       interrupts = <20 4>;
-                       status = "disabled";
-               };
-       };
-
-       i2c@0 {
-               compatible = "i2c-gpio";
-               gpios = <&pioA 23 0 /* sda */
-                        &pioA 24 0 /* scl */
-                       >;
-               i2c-gpio,sda-open-drain;
-               i2c-gpio,scl-open-drain;
-               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
-               #address-cells = <1>;
-               #size-cells = <0>;
-               status = "disabled";
-       };
 };
index 0da66ca..0c2336c 100644 (file)
@@ -14,6 +14,7 @@ initrd_phys-y := 0x20410000
 endif
 
 # Keep dtb files sorted alphabetically for each SoC
+# sam9260
 # sam9g20
 dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
 # sam9g45