ARM: pxa: add .dtsi files
authorDaniel Mack <zonque@gmail.com>
Wed, 25 Jul 2012 15:56:48 +0000 (17:56 +0200)
committerHaojian Zhuang <haojian.zhuang@gmail.com>
Thu, 16 Aug 2012 08:15:25 +0000 (16:15 +0800)
This adds .dtsi files to describe the PXA SoCs. pxa3xx simply augments
pxa2xx. Not all devices are listed yet, and it will need some time to
get all the drivers ported.

For now, pxa27x.dtsi only enables the PXA's interrupt priority feature.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
arch/arm/boot/dts/pxa27x.dtsi [new file with mode: 0644]
arch/arm/boot/dts/pxa2xx.dtsi [new file with mode: 0644]
arch/arm/boot/dts/pxa3xx.dtsi [new file with mode: 0644]

diff --git a/arch/arm/boot/dts/pxa27x.dtsi b/arch/arm/boot/dts/pxa27x.dtsi
new file mode 100644 (file)
index 0000000..d7c5d72
--- /dev/null
@@ -0,0 +1,14 @@
+/* The pxa3xx skeleton simply augments the 2xx version */
+/include/ "pxa2xx.dtsi"
+
+/ {
+       model = "Marvell PXA27x familiy SoC";
+       compatible = "marvell,pxa27x";
+
+       pxabus {
+               pxairq: interrupt-controller@40d00000 {
+                       marvell,intc-priority;
+                       marvell,intc-nr-irqs = <34>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
new file mode 100644 (file)
index 0000000..f18aad3
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * pxa2xx.dtsi - Device Tree Include file for Marvell PXA2xx family SoC
+ *
+ * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       model = "Marvell PXA2xx family SoC";
+       compatible = "marvell,pxa2xx";
+       interrupt-parent = <&pxairq>;
+
+       aliases {
+               serial0 = &ffuart;
+               serial1 = &btuart;
+               serial2 = &stuart;
+               serial3 = &hwuart;
+               i2c0 = &pwri2c;
+               i2c1 = &pxai2c1;
+       };
+
+       cpus {
+               cpu@0 {
+                       compatible = "arm,xscale";
+               };
+       };
+
+       pxabus {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               pxairq: interrupt-controller@40d00000 {
+                       #interrupt-cells = <1>;
+                       compatible = "marvell,pxa-intc";
+                       interrupt-controller;
+                       interrupt-parent;
+                       marvell,intc-nr-irqs = <32>;
+                       reg = <0x40d00000 0xd0>;
+               };
+
+               gpio: gpio@40e00000 {
+                       compatible = "mrvl,pxa-gpio";
+                       #address-cells = <0x1>;
+                       #size-cells = <0x1>;
+                       reg = <0x40e00000 0x10000>;
+                       gpio-controller;
+                       #gpio-cells = <0x2>;
+                       interrupts = <10>;
+                       interrupt-names = "gpio_mux";
+                       interrupt-controller;
+                       #interrupt-cells = <0x2>;
+                       ranges;
+
+                       gcb0: gpio@40e00000 {
+                               reg = <0x40e00000 0x4>;
+                       };
+
+                       gcb1: gpio@40e00004 {
+                               reg = <0x40e00004 0x4>;
+                       };
+
+                       gcb2: gpio@40e00008 {
+                               reg = <0x40e00008 0x4>;
+                       };
+                       gcb3: gpio@40e0000c {
+                               reg = <0x40e0000c 0x4>;
+                       };
+               };
+
+               ffuart: uart@40100000 {
+                       compatible = "mrvl,pxa-uart";
+                       reg = <0x40100000 0x30>;
+                       interrupts = <22>;
+                       status = "disabled";
+               };
+
+               btuart: uart@40200000 {
+                       compatible = "mrvl,pxa-uart";
+                       reg = <0x40200000 0x30>;
+                       interrupts = <21>;
+                       status = "disabled";
+               };
+
+               stuart: uart@40700000 {
+                       compatible = "mrvl,pxa-uart";
+                       reg = <0x40700000 0x30>;
+                       interrupts = <20>;
+                       status = "disabled";
+               };
+
+               hwuart: uart@41100000 {
+                       compatible = "mrvl,pxa-uart";
+                       reg = <0x41100000 0x30>;
+                       interrupts = <7>;
+                       status = "disabled";
+               };
+
+               pxai2c1: i2c@40301680 {
+                       compatible = "mrvl,pxa-i2c";
+                       reg = <0x40301680 0x30>;
+                       interrupts = <18>;
+                       #address-cells = <0x1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               usb0: ohci@4c000000 {
+                       compatible = "mrvl,pxa-ohci";
+                       reg = <0x4c000000 0x10000>;
+                       interrupts = <3>;
+                       status = "disabled";
+               };
+
+               mmc0: mmc@41100000 {
+                       compatible = "mrvl,pxa-mmc";
+                       reg = <0x41100000 0x1000>;
+                       interrupts = <23>;
+                       status = "disabled";
+               };
+
+               rtc@40900000 {
+                       compatible = "marvell,pxa-rtc";
+                       reg = <0x40900000 0x3c>;
+                       interrupts = <30 31>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/pxa3xx.dtsi b/arch/arm/boot/dts/pxa3xx.dtsi
new file mode 100644 (file)
index 0000000..f9d92da
--- /dev/null
@@ -0,0 +1,32 @@
+/* The pxa3xx skeleton simply augments the 2xx version */
+/include/ "pxa2xx.dtsi"
+
+/ {
+       model = "Marvell PXA3xx familiy SoC";
+       compatible = "marvell,pxa3xx";
+
+       pxabus {
+               pwri2c: i2c@40f500c0 {
+                       compatible = "mrvl,pwri2c";
+                       reg = <0x40f500c0 0x30>;
+                       interrupts = <6>;
+                       #address-cells = <0x1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               nand0: nand@43100000 {
+                       compatible = "marvell,pxa3xx-nand";
+                       reg = <0x43100000 90>;
+                       interrupts = <45>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;      
+                       status = "disabled";
+               };
+
+               pxairq: interrupt-controller@40d00000 {
+                       marvell,intc-priority;
+                       marvell,intc-nr-irqs = <56>;
+               };
+       };
+};