aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanbold Tsagaankhuu <ganbold@FreeBSD.org>2014-04-28 05:39:20 +0000
committerGanbold Tsagaankhuu <ganbold@FreeBSD.org>2014-04-28 05:39:20 +0000
commit5372fec0bc6a6dd8b41ebbcfa77f9ab6b5db9bb5 (patch)
tree4f93cd299f861a0b2e2381b1bc884003b60e8137
parent440fe55df64454a21ddd5bf15a76eab0f755764b (diff)
downloadsrc-5372fec0bc6a6dd8b41ebbcfa77f9ab6b5db9bb5.tar.gz
src-5372fec0bc6a6dd8b41ebbcfa77f9ab6b5db9bb5.zip
Move common device tree informations to separate dtsi files for A10 and A20 SoC.
Change cubieboard1 and cubieboard2 dts files accordingly. Approved by: stas (mentor)
Notes
Notes: svn path=/head/; revision=265038
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard.dts88
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard2.dts94
-rw-r--r--sys/boot/fdt/dts/arm/sun4i-a10.dtsi133
-rw-r--r--sys/boot/fdt/dts/arm/sun7i-a20.dtsi139
4 files changed, 282 insertions, 172 deletions
diff --git a/sys/boot/fdt/dts/arm/cubieboard.dts b/sys/boot/fdt/dts/arm/cubieboard.dts
index 62e6af280fdf..636b5cec6413 100644
--- a/sys/boot/fdt/dts/arm/cubieboard.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard.dts
@@ -28,13 +28,10 @@
/dts-v1/;
+/include/ "sun4i-a10.dtsi"
+
/ {
model = "Cubietech Cubieboard";
- compatible = "cubietech,a10-cubieboard", "allwinner,sun4i-a10";
- #address-cells = <1>;
- #size-cells = <1>;
-
- interrupt-parent = <&AINTC>;
memory {
device_type = "memory";
@@ -47,96 +44,21 @@
};
SOC: a10 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges;
- bus-frequency = <0>;
-
- AINTC: interrupt-controller@01c20400 {
- compatible = "allwinner,sun4i-ic";
- interrupt-controller;
- #address-cells = <0>;
- #interrupt-cells = <1>;
- reg = < 0x01c20400 0x400 >;
- };
-
- sramc@01c00000 {
- compatible = "allwinner,sun4i-sramc";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = < 0x01c00000 0x1000 >;
- };
-
- ccm@01c20000 {
- compatible = "allwinner,sun4i-ccm";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = < 0x01c20000 0x400 >;
- };
-
- timer@01c20c00 {
- compatible = "allwinner,sun4i-timer";
- reg = <0x01c20c00 0x90>;
- interrupts = < 22 >;
- interrupt-parent = <&AINTC>;
- clock-frequency = < 24000000 >;
- };
-
- watchdog@01c20c90 {
- compatible = "allwinner,sun4i-wdt";
- reg = <0x01c20c90 0x08>;
- };
-
-
- GPIO: gpio@01c20800 {
- #gpio-cells = <3>;
- compatible = "allwinner,sun4i-gpio";
- gpio-controller;
- reg =< 0x01c20800 0x400 >;
- interrupts = < 28 >;
- interrupt-parent = <&AINTC>;
- };
usb1: usb@01c14000 {
- compatible = "allwinner,usb-ehci", "usb-ehci";
- reg = <0x01c14000 0x1000>;
- interrupts = < 39 >;
- interrupt-parent = <&AINTC>;
+ status = "okay";
};
usb2: usb@01c1c000 {
- compatible = "allwinner,usb-ehci", "usb-ehci";
- reg = <0x01c1c000 0x1000>;
- interrupts = < 40 >;
- interrupt-parent = <&AINTC>;
- };
-
- sata@01c18000 {
- compatible = "allwinner,ahci";
- reg = <0x01c18000 0x1000>;
- interrupts = <56>;
- interrupt-parent = <&AINTC>;
+ status = "okay";
};
UART0: serial@01c28000 {
status = "okay";
- compatible = "ns16550";
- reg = <0x01c28000 0x400>;
- reg-shift = <2>;
- interrupts = <1>;
- interrupt-parent = <&AINTC>;
- current-speed = <115200>;
- clock-frequency = < 24000000 >;
- busy-detect = <1>;
- broken-txfifo = <1>;
};
emac@01c0b000 {
- compatible = "allwinner,sun4i-emac";
- reg = <0x01c0b000 0x1000>;
- interrupts = <55>;
- interrupt-parent = <&AINTC>;
+ status = "okay";
};
};
diff --git a/sys/boot/fdt/dts/arm/cubieboard2.dts b/sys/boot/fdt/dts/arm/cubieboard2.dts
index 38440711a408..08d0245e8759 100644
--- a/sys/boot/fdt/dts/arm/cubieboard2.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard2.dts
@@ -28,13 +28,10 @@
/dts-v1/;
+/include/ "sun7i-a20.dtsi"
+
/ {
model = "Cubietech Cubieboard2";
- compatible = "cubietech,a20-cubieboard", "allwinner,sun7i-a20";
- #address-cells = <1>;
- #size-cells = <1>;
-
- interrupt-parent = <&GIC>;
memory {
device_type = "memory";
@@ -47,102 +44,21 @@
};
SOC: a20 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges;
- bus-frequency = <0>;
-
- GIC: interrupt-controller@01c81000 {
- compatible = "arm,gic";
- reg = <0x01c81000 0x1000>, /* Distributor Registers */
- <0x01c82000 0x0100>; /* CPU Interface Registers */
- interrupt-controller;
- #interrupt-cells = <1>;
- };
-
- sramc@01c00000 {
- compatible = "allwinner,sun4i-sramc";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = < 0x01c00000 0x1000 >;
- };
-
- cpu-cfg@01c25c00 {
- compatible = "allwinner,sun7i-cpu-cfg";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = < 0x01c25c00 0x400 >;
- };
-
- ccm@01c20000 {
- compatible = "allwinner,sun4i-ccm";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = < 0x01c20000 0x400 >;
- };
-
- timer@01c20c00 {
- compatible = "allwinner,sun7i-timer";
- reg = <0x01c20c00 0x90>;
- interrupts = < 22 >;
- interrupt-parent = <&GIC>;
- clock-frequency = < 24000000 >;
- };
-
- watchdog@01c20c90 {
- compatible = "allwinner,sun4i-wdt";
- reg = <0x01c20c90 0x10>;
- };
-
- GPIO: gpio@01c20800 {
- #gpio-cells = <3>;
- compatible = "allwinner,sun4i-gpio";
- gpio-controller;
- reg =< 0x01c20800 0x400 >;
- interrupts = < 28 >;
- interrupt-parent = <&GIC>;
- };
usb1: usb@01c14000 {
- compatible = "allwinner,usb-ehci", "usb-ehci";
- reg = <0x01c14000 0x1000>;
- interrupts = < 39 >;
- interrupt-parent = <&GIC>;
+ status = "okay";
};
usb2: usb@01c1c000 {
- compatible = "allwinner,usb-ehci", "usb-ehci";
- reg = <0x01c1c000 0x1000>;
- interrupts = < 40 >;
- interrupt-parent = <&GIC>;
- };
-
- sata@01c18000 {
- compatible = "allwinner,ahci";
- reg = <0x01c18000 0x1000>;
- interrupts = <56>;
- interrupt-parent = <&GIC>;
+ status = "okay";
};
UART0: serial@01c28000 {
status = "okay";
- compatible = "ns16550";
- reg = <0x01c28000 0x400>;
- reg-shift = <2>;
- interrupts = <1>;
- interrupt-parent = <&GIC>;
- current-speed = <115200>;
- clock-frequency = < 24000000 >;
- busy-detect = <1>;
- broken-txfifo = <1>;
};
emac@01c0b000 {
- compatible = "allwinner,sun4i-emac";
- reg = <0x01c0b000 0x1000>;
- interrupts = <55>;
- interrupt-parent = <&GIC>;
+ status = "okay";
};
};
diff --git a/sys/boot/fdt/dts/arm/sun4i-a10.dtsi b/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
new file mode 100644
index 000000000000..7ee968adba2a
--- /dev/null
+++ b/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
@@ -0,0 +1,133 @@
+/*-
+ * Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/ {
+ compatible = "allwinner,sun4i-a10";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ interrupt-parent = <&AINTC>;
+
+ aliases {
+ soc = &SOC;
+ };
+
+ SOC: a10 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ ranges;
+ bus-frequency = <0>;
+
+ AINTC: interrupt-controller@01c20400 {
+ compatible = "allwinner,sun4i-ic";
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ reg = < 0x01c20400 0x400 >;
+ };
+
+ sramc@01c00000 {
+ compatible = "allwinner,sun4i-sramc";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c00000 0x1000 >;
+ };
+
+ ccm@01c20000 {
+ compatible = "allwinner,sun4i-ccm";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c20000 0x400 >;
+ };
+
+ timer@01c20c00 {
+ compatible = "allwinner,sun4i-timer";
+ reg = <0x01c20c00 0x90>;
+ interrupts = < 22 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 24000000 >;
+ };
+
+ watchdog@01c20c90 {
+ compatible = "allwinner,sun4i-wdt";
+ reg = <0x01c20c90 0x08>;
+ };
+
+
+ GPIO: gpio@01c20800 {
+ #gpio-cells = <3>;
+ compatible = "allwinner,sun4i-gpio";
+ gpio-controller;
+ reg =< 0x01c20800 0x400 >;
+ interrupts = < 28 >;
+ interrupt-parent = <&AINTC>;
+ };
+
+ usb1: usb@01c14000 {
+ compatible = "allwinner,usb-ehci", "usb-ehci";
+ reg = <0x01c14000 0x1000>;
+ interrupts = < 39 >;
+ interrupt-parent = <&AINTC>;
+ };
+
+ usb2: usb@01c1c000 {
+ compatible = "allwinner,usb-ehci", "usb-ehci";
+ reg = <0x01c1c000 0x1000>;
+ interrupts = < 40 >;
+ interrupt-parent = <&AINTC>;
+ };
+
+ sata@01c18000 {
+ compatible = "allwinner,ahci";
+ reg = <0x01c18000 0x1000>;
+ interrupts = <56>;
+ interrupt-parent = <&AINTC>;
+ };
+
+ UART0: serial@01c28000 {
+ compatible = "ns16550";
+ reg = <0x01c28000 0x400>;
+ reg-shift = <2>;
+ interrupts = <1>;
+ interrupt-parent = <&AINTC>;
+ current-speed = <115200>;
+ clock-frequency = < 24000000 >;
+ busy-detect = <1>;
+ broken-txfifo = <1>;
+ };
+
+ emac@01c0b000 {
+ compatible = "allwinner,sun4i-emac";
+ reg = <0x01c0b000 0x1000>;
+ interrupts = <55>;
+ interrupt-parent = <&AINTC>;
+ };
+ };
+};
+
diff --git a/sys/boot/fdt/dts/arm/sun7i-a20.dtsi b/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
new file mode 100644
index 000000000000..3bbc59f5b4be
--- /dev/null
+++ b/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
@@ -0,0 +1,139 @@
+/*-
+ * Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/ {
+ compatible = "allwinner,sun7i-a20";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ interrupt-parent = <&GIC>;
+
+ aliases {
+ soc = &SOC;
+ };
+
+ SOC: a20 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ ranges;
+ bus-frequency = <0>;
+
+ GIC: interrupt-controller@01c81000 {
+ compatible = "arm,gic";
+ reg = <0x01c81000 0x1000>, /* Distributor Registers */
+ <0x01c82000 0x0100>; /* CPU Interface Registers */
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ sramc@01c00000 {
+ compatible = "allwinner,sun4i-sramc";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c00000 0x1000 >;
+ };
+
+ cpu-cfg@01c25c00 {
+ compatible = "allwinner,sun7i-cpu-cfg";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c25c00 0x400 >;
+ };
+
+ ccm@01c20000 {
+ compatible = "allwinner,sun4i-ccm";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c20000 0x400 >;
+ };
+
+ timer@01c20c00 {
+ compatible = "allwinner,sun7i-timer";
+ reg = <0x01c20c00 0x90>;
+ interrupts = < 22 >;
+ interrupt-parent = <&GIC>;
+ clock-frequency = < 24000000 >;
+ };
+
+ watchdog@01c20c90 {
+ compatible = "allwinner,sun4i-wdt";
+ reg = <0x01c20c90 0x10>;
+ };
+
+ GPIO: gpio@01c20800 {
+ #gpio-cells = <3>;
+ compatible = "allwinner,sun4i-gpio";
+ gpio-controller;
+ reg =< 0x01c20800 0x400 >;
+ interrupts = < 28 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ usb1: usb@01c14000 {
+ compatible = "allwinner,usb-ehci", "usb-ehci";
+ reg = <0x01c14000 0x1000>;
+ interrupts = < 39 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ usb2: usb@01c1c000 {
+ compatible = "allwinner,usb-ehci", "usb-ehci";
+ reg = <0x01c1c000 0x1000>;
+ interrupts = < 40 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ sata@01c18000 {
+ compatible = "allwinner,ahci";
+ reg = <0x01c18000 0x1000>;
+ interrupts = <56>;
+ interrupt-parent = <&GIC>;
+ };
+
+ UART0: serial@01c28000 {
+ compatible = "ns16550";
+ reg = <0x01c28000 0x400>;
+ reg-shift = <2>;
+ interrupts = <1>;
+ interrupt-parent = <&GIC>;
+ current-speed = <115200>;
+ clock-frequency = < 24000000 >;
+ busy-detect = <1>;
+ broken-txfifo = <1>;
+ };
+
+ emac@01c0b000 {
+ compatible = "allwinner,sun4i-emac";
+ reg = <0x01c0b000 0x1000>;
+ interrupts = <55>;
+ interrupt-parent = <&GIC>;
+ };
+ };
+};
+