On 04/16/2012 11:39 AM, Hong Xu :
> Added AT91SAM9N12 SoC DT file, as well as the board definition file
> for AT91SAM9N12-EK.
> 
> Signed-off-by: Hong Xu <[email protected]>
> ---
> Changes since v1,
> * Removed offset for memory node according to Ludovic's comment
> * Changed compatibility string for various peripherals
> * Removed <okay> status for tcb0/1 because they're enabled by default
> * Removed PMECC related bindings
> 
>  arch/arm/boot/dts/at91sam9n12.dtsi  |  223 
> +++++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/at91sam9n12ek.dts |   99 ++++++++++++++++
>  2 files changed, 322 insertions(+)
>  create mode 100644 arch/arm/boot/dts/at91sam9n12.dtsi
>  create mode 100644 arch/arm/boot/dts/at91sam9n12ek.dts
> 
> diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi 
> b/arch/arm/boot/dts/at91sam9n12.dtsi
> new file mode 100644
> index 0000000..2013c0a
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91sam9n12.dtsi
> @@ -0,0 +1,223 @@
> +/*
> + * at91sam9n12.dtsi - Device Tree include file for AT91SAM9N12 SoC
> + *
> + *  Copyright (C) 2012 Atmel,
> + *                2012 Hong Xu <[email protected]>
> + *
> + * Licensed under GPLv2 or later.
> + */
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +     model = "Atmel AT91SAM9N12 SoC";
> +     compatible = "atmel,at91sam9n12";
> +     interrupt-parent = <&aic>;
> +
> +     aliases {
> +             serial0 = &dbgu;
> +             serial1 = &usart0;
> +             serial2 = &usart1;
> +             serial3 = &usart2;
> +             serial4 = &usart3;
> +             gpio0 = &pioA;
> +             gpio1 = &pioB;
> +             gpio2 = &pioC;
> +             gpio3 = &pioD;
> +             tcb0 = &tcb0;
> +             tcb1 = &tcb1;
> +     };
> +     cpus {
> +             cpu@0 {
> +                     compatible = "arm,arm926ejs";
> +             };
> +     };
> +
> +     memory {
> +             reg = <0x20000000 0x10000000>;
> +     };
> +
> +     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;
> +                             interrupt-parent;
> +                             reg = <0xfffff000 0x200>;
> +                     };
> +
> +                     ramc0: ramc@ffffe800 {
> +                             compatible = "atmel,at91sam9g45-ddramc";
> +                             reg = <0xffffe800 0x200>;
> +                     };
> +
> +                     pmc: pmc@fffffc00 {
> +                             compatible = "atmel,at91rm9200-pmc";
> +                             reg = <0xfffffc00 0x100>;
> +                     };
> +
> +                     rstc@fffffe00 {
> +                             compatible = "atmel,at91sam9g45-rstc";
> +                             reg = <0xfffffe00 0x10>;
> +                     };
> +
> +                     pit: timer@fffffe30 {
> +                             compatible = "atmel,at91sam9260-pit";
> +                             reg = <0xfffffe30 0xf>;
> +                             interrupts = <1 4>;
> +                     };
> +
> +

Nitpick: 2 lines here: remove one.

> +                     shdwc@fffffe10 {
> +                             compatible = "atmel,at91sam9x5-shdwc";
> +                             reg = <0xfffffe10 0x10>;
> +                     };
> +
> +                     tcb0: timer@f8008000 {
> +                             compatible = "atmel,at91sam9x5-tcb";
> +                             reg = <0xf8008000 0x100>;
> +                             interrupts = <17 4>;
> +                     };
> +
> +                     tcb1: timer@f800c000 {
> +                             compatible = "atmel,at91sam9x5-tcb";
> +                             reg = <0xf800c000 0x100>;
> +                             interrupts = <17 4>;
> +                     };
> +
> +                     dma: dma-controller@ffffec00 {
> +                             compatible = "atmel,at91sam9g45-dma";
> +                             reg = <0xffffec00 0x200>;
> +                             interrupts = <20 4>;
> +                     };
> +
> +                     pioA: gpio@fffff400 {
> +                             compatible = "atmel,at91sam9x5-gpio", 
> "atmel,at91rm9200-gpio";
> +                             reg = <0xfffff400 0x100>;
> +                             interrupts = <2 4>;
> +                             #gpio-cells = <2>;
> +                             gpio-controller;
> +                             interrupt-controller;
> +                     };
> +
> +                     pioB: gpio@fffff600 {
> +                             compatible = "atmel,at91sam9x5-gpio", 
> "atmel,at91rm9200-gpio";
> +                             reg = <0xfffff600 0x100>;
> +                             interrupts = <2 4>;
> +                             #gpio-cells = <2>;
> +                             gpio-controller;
> +                             interrupt-controller;
> +                     };
> +
> +                     pioC: gpio@fffff800 {
> +                             compatible = "atmel,at91sam9x5-gpio", 
> "atmel,at91rm9200-gpio";
> +                             reg = <0xfffff800 0x100>;
> +                             interrupts = <3 4>;
> +                             #gpio-cells = <2>;
> +                             gpio-controller;
> +                             interrupt-controller;
> +                     };
> +
> +                     pioD: gpio@fffffa00 {
> +                             compatible = "atmel,at91sam9x5-gpio", 
> "atmel,at91rm9200-gpio";
> +                             reg = <0xfffffa00 0x100>;
> +                             interrupts = <3 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@f801c000 {
> +                             compatible = "atmel,at91sam9260-usart";
> +                             reg = <0xf801c000 0x4000>;
> +                             interrupts = <5 4>;
> +                             atmel,use-dma-rx;
> +                             atmel,use-dma-tx;
> +                             status = "disabled";
> +                     };
> +
> +                     usart1: serial@f8020000 {
> +                             compatible = "atmel,at91sam9260-usart";
> +                             reg = <0xf8020000 0x4000>;
> +                             interrupts = <6 4>;
> +                             atmel,use-dma-rx;
> +                             atmel,use-dma-tx;
> +                             status = "disabled";
> +                     };
> +
> +                     usart2: serial@f8024000 {
> +                             compatible = "atmel,at91sam9260-usart";
> +                             reg = <0xf8024000 0x4000>;
> +                             interrupts = <7 4>;
> +                             atmel,use-dma-rx;
> +                             atmel,use-dma-tx;
> +                             status = "disabled";
> +                     };
> +
> +                     usart3: serial@f8028000 {
> +                             compatible = "atmel,at91sam9260-usart";
> +                             reg = <0xf8028000 0x4000>;
> +                             interrupts = <8 4>;
> +                             atmel,use-dma-rx;
> +                             atmel,use-dma-tx;
> +                             status = "disabled";
> +                     };
> +             };
> +
> +             nand0: nand@40000000 {
> +                     compatible = "atmel,at91rm9200-nand";
> +                     #address-cells = <1>;
> +                     #size-cells = <1>;
> +                     reg = < 0x40000000 0x10000000
> +                             0xffffe000 0x00000600
> +                             0xffffe600 0x00000200
> +                             0x00100000 0x00100000
> +                            >;
> +                     atmel,nand-addr-offset = <21>;
> +                     atmel,nand-cmd-offset = <22>;
> +                     gpios = <&pioD 5 0
> +                              &pioD 4 0
> +                              0
> +                             >;
> +                     status = "disabled";
> +             };
> +
> +             usb0: ohci@00500000 {
> +                     compatible = "atmel,at91rm9200-ohci", "usb-ohci";
> +                     reg = <0x00500000 0x00100000>;
> +                     interrupts = <22 4>;
> +                     status = "disabled";
> +             };
> +     };
> +
> +     i2c@0 {
> +             compatible = "i2c-gpio";
> +             gpios = <&pioA 30 0 /* sda */
> +                      &pioA 31 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";
> +     };
> +};
> diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts 
> b/arch/arm/boot/dts/at91sam9n12ek.dts
> new file mode 100644
> index 0000000..62dc605
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91sam9n12ek.dts
> @@ -0,0 +1,99 @@
> +/*
> + * at91sam9n12ek.dts - Device Tree file for AT91SAM9N12-EK board
> + *
> + *  Copyright (C) 2012 Atmel,
> + *                2012 Hong Xu <[email protected]>
> + *
> + * Licensed under GPLv2 or later.
> + */
> +/dts-v1/;
> +/include/ "at91sam9n12.dtsi"
> +
> +/ {
> +     model = "Atmel AT91SAM9N12-EK";
> +     compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", 
> "atmel,at91sam9";
> +
> +     chosen {
> +             bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock1 
> rw rootfstype=jffs2";
> +     };
> +
> +     memory {
> +             reg = <0x20000000 0x10000000>;
> +     };
> +
> +     clocks {
> +             #address-cells = <1>;
> +             #size-cells = <1>;
> +             ranges;
> +
> +             main_clock: clock@0 {
> +                     compatible = "atmel,osc", "fixed-clock";
> +                     clock-frequency = <16000000>;
> +             };
> +     };
> +
> +     ahb {
> +             apb {
> +                     dbgu: serial@fffff200 {
> +                             status = "okay";
> +                     };
> +             };
> +
> +             nand0: nand@40000000 {
> +                     nand-bus-width = <8>;
> +                     nand-ecc-mode = "soft";
> +                     nand-on-flash-bbt;
> +                     status = "okay";
> +
> +                     boot@0 {
> +                             label = "bootstrap/uboot/kernel";
> +                             reg = <0x0 0x400000>;
> +                     };
> +
> +                     rootfs@400000 {
> +                             label = "rootfs";
> +                             reg = <0x400000 0x3C00000>;
> +                     };
> +
> +                     data@4000000 {
> +                             label = "data";
> +                             reg = <0x4000000 0xC000000>;
> +                     };

Here, remove partitions. We may setup thing differently. But anyway, I
will try to adapt them myself.

> +             };
> +     };
> +
> +     leds {
> +             compatible = "gpio-leds";
> +
> +             d8 {
> +                     label = "d8";
> +                     gpios = <&pioB 4 1>;
> +                     linux,default-trigger = "mmc0";
> +             };
> +
> +             d9 {
> +                     label = "d6";
> +                     gpios = <&pioB 5 1>;
> +                     linux,default-trigger = "nand-disk";
> +             };
> +
> +             d10 {
> +                     label = "d7";
> +                     gpios = <&pioB 6 0>;
> +                     linux,default-trigger = "heartbeat";
> +             };
> +     };
> +
> +     gpio_keys {
> +             compatible = "gpio-keys";
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +
> +             enter {
> +                     label = "Enter";
> +                     gpios = <&pioB 4 1>;
> +                     linux,code = <28>;
> +                     gpio-key,wakeup;
> +             };
> +     };
> +};


-- 
Nicolas Ferre
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to