ARM: dove: add device tree descriptors
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Wed, 15 Aug 2012 17:07:34 +0000 (19:07 +0200)
committerJason Cooper <jason@lakedaemon.net>
Fri, 21 Sep 2012 17:07:24 +0000 (17:07 +0000)
This patch adds device tree decriptors for dove SoC and currently
supported boards.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/dove-cm-a510.dts [new file with mode: 0644]
arch/arm/boot/dts/dove-dove-db.dts [new file with mode: 0644]
arch/arm/boot/dts/dove.dtsi [new file with mode: 0644]
arch/arm/mach-dove/Makefile.boot

diff --git a/arch/arm/boot/dts/dove-cm-a510.dts b/arch/arm/boot/dts/dove-cm-a510.dts
new file mode 100644 (file)
index 0000000..61a8062
--- /dev/null
@@ -0,0 +1,38 @@
+/dts-v1/;
+
+/include/ "dove.dtsi"
+
+/ {
+       model = "Compulab CM-A510";
+       compatible = "compulab,cm-a510", "marvell,dove";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x40000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk";
+       };
+};
+
+&uart0 { status = "okay"; };
+&uart1 { status = "okay"; };
+&sdio0 { status = "okay"; };
+&sdio1 { status = "okay"; };
+&sata0 { status = "okay"; };
+
+&spi0 {
+       status = "okay";
+
+       /* spi0.0: 4M Flash Winbond W25Q32BV */
+       spi-flash@0 {
+               compatible = "st,w25q32";
+               spi-max-frequency = <20000000>;
+               reg = <0>;
+       };
+};
+
+&i2c0 {
+         status = "okay";
+};
diff --git a/arch/arm/boot/dts/dove-dove-db.dts b/arch/arm/boot/dts/dove-dove-db.dts
new file mode 100644 (file)
index 0000000..e5a920b
--- /dev/null
@@ -0,0 +1,38 @@
+/dts-v1/;
+
+/include/ "dove.dtsi"
+
+/ {
+       model = "Marvell DB-MV88AP510-BP Development Board";
+       compatible = "marvell,dove-db", "marvell,dove";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x40000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk";
+       };
+};
+
+&uart0 { status = "okay"; };
+&uart1 { status = "okay"; };
+&sdio0 { status = "okay"; };
+&sdio1 { status = "okay"; };
+&sata0 { status = "okay"; };
+
+&spi0 {
+       status = "okay";
+
+       /* spi0.0: 4M Flash ST-M25P32-VMF6P */
+       spi-flash@0 {
+               compatible = "st,m25p32";
+               spi-max-frequency = <20000000>;
+               reg = <0>;
+       };
+};
+
+&i2c0 {
+         status = "okay";
+};
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
new file mode 100644 (file)
index 0000000..96fb824
--- /dev/null
@@ -0,0 +1,143 @@
+/include/ "skeleton.dtsi"
+
+/ {
+       compatible = "marvell,dove";
+       model = "Marvell Armada 88AP510 SoC";
+
+       interrupt-parent = <&intc>;
+
+       intc: interrupt-controller {
+               compatible = "marvell,orion-intc";
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               reg = <0xf1020204 0x04>,
+                     <0xf1020214 0x04>;
+       };
+
+       mbus@f1000000 {
+               compatible = "simple-bus";
+               ranges = <0 0xf1000000 0x4000000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               uart0: serial@12000 {
+                       compatible = "ns16550a";
+                       reg = <0x12000 0x100>;
+                       reg-shift = <2>;
+                       interrupts = <7>;
+                       clock-frequency = <166666667>;
+                       status = "disabled";
+               };
+
+               uart1: serial@12100 {
+                       compatible = "ns16550a";
+                       reg = <0x12100 0x100>;
+                       reg-shift = <2>;
+                       interrupts = <8>;
+                       clock-frequency = <166666667>;
+                       status = "disabled";
+               };
+
+               uart2: serial@12200 {
+                       compatible = "ns16550a";
+                       reg = <0x12000 0x100>;
+                       reg-shift = <2>;
+                       interrupts = <9>;
+                       clock-frequency = <166666667>;
+                       status = "disabled";
+               };
+
+               uart3: serial@12300 {
+                       compatible = "ns16550a";
+                       reg = <0x12100 0x100>;
+                       reg-shift = <2>;
+                       interrupts = <10>;
+                       clock-frequency = <166666667>;
+                       status = "disabled";
+               };
+
+               wdt: wdt@20300 {
+                       compatible = "marvell,orion-wdt";
+                       reg = <0x20300 0x28>;
+               };
+
+               gpio0: gpio@d0400 {
+                       compatible = "marvell,orion-gpio";
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       reg = <0xd0400 0x20>;
+                       ngpio = <32>;
+                       interrupts = <12>, <13>, <14>, <60>;
+               };
+
+               gpio1: gpio@d0420 {
+                       compatible = "marvell,orion-gpio";
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       reg = <0xd0420 0x20>;
+                       ngpio = <32>;
+                       interrupts = <61>;
+               };
+
+               gpio2: gpio@e8400 {
+                       compatible = "marvell,orion-gpio";
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       reg = <0xe8400 0x0c>;
+                       ngpio = <8>;
+               };
+
+               spi0: spi@10600 {
+                       compatible = "marvell,orion-spi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       cell-index = <0>;
+                       interrupts = <6>;
+                       reg = <0x10600 0x28>;
+                       status = "disabled";
+               };
+
+               spi1: spi@14600 {
+                       compatible = "marvell,orion-spi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       cell-index = <1>;
+                       interrupts = <5>;
+                       reg = <0x14600 0x28>;
+                       status = "disabled";
+               };
+
+               i2c0: i2c@11000 {
+                       compatible = "marvell,mv64xxx-i2c";
+                       reg = <0x11000 0x20>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <11>;
+                       clock-frequency = <400000>;
+                       timeout-ms = <1000>;
+                       status = "disabled";
+               };
+
+               sdio0: sdio@92000 {
+                       compatible = "marvell,dove-sdhci";
+                       reg = <0x92000 0x100>;
+                       interrupts = <35>, <37>;
+                       status = "disabled";
+               };
+
+               sdio1: sdio@90000 {
+                       compatible = "marvell,dove-sdhci";
+                       reg = <0x90000 0x100>;
+                       interrupts = <36>, <38>;
+                       status = "disabled";
+               };
+
+               sata0: sata@a0000 {
+                       compatible = "marvell,orion-sata";
+                       reg = <0xa0000 0x2400>;
+                       interrupts = <62>;
+                       nr-ports = <1>;
+                       status = "disabled";
+               };
+       };
+};
index 760a0efe7580b0dd194ff9bfe4295624336bb806..94ab6b3586a19250b2a4d619bc54c9b8c1a4a6de 100644 (file)
@@ -1,3 +1,6 @@
    zreladdr-y  += 0x00008000
 params_phys-y  := 0x00000100
 initrd_phys-y  := 0x00800000
+
+dtb-$(CONFIG_MACH_DOVE_DT) += dove-dove-db.dtb
+dtb-$(CONFIG_MACH_DOVE_DT) += dove-cm-a510.dtb