From: nicolas.ferre@atmel•com (Nicolas Ferre)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 1/4] AT91: Add DT description files for AT91SAM9N12-EK
Date: Fri, 13 Apr 2012 18:20:48 +0200 [thread overview]
Message-ID: <4F885260.9080900@atmel.com> (raw)
In-Reply-To: <1334211996-31572-2-git-send-email-hong.xu@atmel.com>
Hi Xu Hong,
Some comments below...
(you may also include devicetree-discuss at lists.ozlabs.org as well)
On 04/12/2012 08:26 AM, Hong Xu :
> Added AT91SAM9N12 SoC DT file, as well as the board definition file
> for AT91SAM9N12-EK
>
> Signed-off-by: Hong Xu <hong.xu@atmel•com>
> ---
> arch/arm/boot/dts/at91sam9n12.dtsi | 223 +++++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/at91sam9n12ek.dts | 111 +++++++++++++++++
> 2 files changed, 334 insertions(+), 0 deletions(-)
> 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..e86372d
> --- /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 <hong.xu@atmel•com>
> + *
> + * 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 at 0 {
> + compatible = "arm,arm926ejs";
> + };
> + };
> +
> + memory at 20000000 {
> + 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 at fffff000 {
> + #interrupt-cells = <2>;
> + compatible = "atmel,at91rm9200-aic";
> + interrupt-controller;
> + interrupt-parent;
> + reg = <0xfffff000 0x200>;
> + };
> +
> + ramc0: ramc at ffffe800 {
> + compatible = "atmel,at91sam9g45-ddramc";
> + reg = <0xffffe800 0x200>;
> + };
> +
> + pmc: pmc at fffffc00 {
> + compatible = "atmel,at91rm9200-pmc";
> + reg = <0xfffffc00 0x100>;
> + };
> +
> + rstc at fffffe00 {
> + compatible = "atmel,at91sam9g45-rstc";
> + reg = <0xfffffe00 0x10>;
> + };
> +
> + pit: timer at fffffe30 {
> + compatible = "atmel,at91sam9260-pit";
> + reg = <0xfffffe30 0xf>;
> + interrupts = <1 4>;
> + };
> +
> +
> + shdwc at fffffe10 {
> + compatible = "atmel,at91sam9n12-shdwc";
I think that shdwc is compatible with "atmel,at91sam9x5-shdwc", is not it?
> + reg = <0xfffffe10 0x10>;
> + };
> +
> + tcb0: timer at f8008000 {
> + compatible = "atmel,at91sam9n12-tcb";
Here also, I suspect a compatibility with: "atmel,at91sam9x5-tcb"
> + reg = <0xf8008000 0x100>;
> + interrupts = <17 4>;
> + };
> +
> + tcb1: timer at f800c000 {
> + compatible = "atmel,at91sam9n12-tcb";
Ditto.
> + reg = <0xf800c000 0x100>;
> + interrupts = <17 4>;
> + };
> +
> + dma: dma-controller at ffffec00 {
> + compatible = "atmel,at91sam9g45-dma";
> + reg = <0xffffec00 0x200>;
> + interrupts = <20 4>;
> + };
> +
> + pioA: gpio at fffff400 {
> + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
> + reg = <0xfffff400 0x100>;
> + interrupts = <2 4>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + };
> +
> + pioB: gpio at fffff600 {
> + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
> + reg = <0xfffff600 0x100>;
> + interrupts = <2 4>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + };
> +
> + pioC: gpio at fffff800 {
> + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
> + reg = <0xfffff800 0x100>;
> + interrupts = <3 4>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + };
> +
> + pioD: gpio at fffffa00 {
> + compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
> + reg = <0xfffffa00 0x100>;
> + interrupts = <3 4>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + };
> +
> + dbgu: serial at fffff200 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xfffff200 0x200>;
> + interrupts = <1 4>;
> + status = "disabled";
> + };
> +
> + usart0: serial at f801c000 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xf801c000 0x4000>;
> + interrupts = <5 4>;
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + status = "disabled";
> + };
> +
> + usart1: serial at f8020000 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xf8020000 0x4000>;
> + interrupts = <6 4>;
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + status = "disabled";
> + };
> +
> + usart2: serial at f8024000 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xf8024000 0x4000>;
> + interrupts = <7 4>;
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + status = "disabled";
> + };
> +
> + usart3: serial at f8028000 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xf8028000 0x4000>;
> + interrupts = <8 4>;
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + status = "disabled";
> + };
> + };
> +
> + nand0: nand at 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 at 00500000 {
> + compatible = "atmel,at91rm9200-ohci", "usb-ohci";
> + reg = <0x00500000 0x00100000>;
> + interrupts = <22 4>;
> + status = "disabled";
> + };
> + };
> +
> + i2c at 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..56b012f
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91sam9n12ek.dts
> @@ -0,0 +1,111 @@
> +/*
> + * at91sam9n12ek.dts - Device Tree file for AT91SAM9N12-EK board
> + *
> + * Copyright (C) 2012 Atmel,
> + * 2012 Hong Xu <hong.xu@atmel•com>
> + *
> + * 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 at 20000000 {
> + reg = <0x20000000 0x10000000>;
> + };
> +
> + clocks {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + main_clock: clock at 0 {
> + compatible = "atmel,osc", "fixed-clock";
> + clock-frequency = <16000000>;
> + };
> + };
> +
> + ahb {
> + apb {
> + dbgu: serial at fffff200 {
> + status = "okay";
> + };
> +
> + tcb0: timer at f8008000 {
> + status = "okay";
No need for this node, tcb0 is already enabled.
> + };
> +
> + tcb1: timer at f800c000 {
> + status = "okay";
Ditto.
> + };
> + };
> +
> + nand0: nand at 40000000 {
> + nand-bus-width = <8>;
> + nand-ecc-mode = "hw";
No, HW PMECC code is not included in mainline yet. You should submit
9n12 with sw ECC for the moment. We will change this argument afterwards.
> + /*
> + nand-on-flash-bbt;
> + */
You can keep this one, or remove it completely.
> + atmel,pmecc-cap = <2>;
> + atmel,sector-size = <512>;
Later for those PMECC related bindings. You can submit them with the
PMECC series BTW.
> + status = "okay";
> +
> + boot at 0 {
> + label = "bootstrap/uboot/kernel";
> + reg = <0x0 0x400000>;
> + };
> +
> + rootfs at 400000 {
> + label = "rootfs";
> + reg = <0x400000 0x3C00000>;
> + };
> +
> + data at 4000000 {
> + label = "data";
> + reg = <0x4000000 0xC000000>;
> + };
> + };
> + };
> +
> + 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;
> + };
> + };
> +};
Bye,
--
Nicolas Ferre
next prev parent reply other threads:[~2012-04-13 16:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-12 6:26 [PATCH 0/4] Add support for Atmel's AT91SAM9N12-EK (With DT) Hong Xu
2012-04-12 6:26 ` [PATCH 1/4] AT91: Add DT description files for AT91SAM9N12-EK Hong Xu
2012-04-12 7:26 ` Ludovic Desroches
2012-04-16 1:56 ` Xu, Hong
2012-04-13 16:20 ` Nicolas Ferre [this message]
2012-04-16 2:28 ` Xu, Hong
2012-04-12 6:26 ` [PATCH 2/4] AT91: Add machine header file for AT91SAM9N12 SoC Hong Xu
2012-04-13 16:17 ` Nicolas Ferre
2012-04-16 2:30 ` Xu, Hong
2012-04-12 6:26 ` [PATCH 3/4] AT91: Add machine files " Hong Xu
2012-04-13 16:27 ` Nicolas Ferre
2012-04-16 2:35 ` Xu, Hong
2012-04-12 6:26 ` [PATCH 4/4] Add default kernel configuration file for AT91SAM9N12-EK Hong Xu
2012-04-13 16:23 ` Nicolas Ferre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F885260.9080900@atmel.com \
--to=nicolas.ferre@atmel$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox