linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@rempel-privat.de (Oleksij Rempel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/7] ARM: dts: add DT for Alpscale ASM9260 SoC
Date: Sun, 14 Sep 2014 00:13:24 +0200	[thread overview]
Message-ID: <1410646408-28901-4-git-send-email-linux@rempel-privat.de> (raw)
In-Reply-To: <1410646408-28901-1-git-send-email-linux@rempel-privat.de>

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
 arch/arm/boot/dts/Makefile           |   2 +
 arch/arm/boot/dts/asm9260-devkit.dts |  15 ++
 arch/arm/boot/dts/asm9260.dtsi       | 425 +++++++++++++++++++++++++++++++++++
 3 files changed, 442 insertions(+)
 create mode 100644 arch/arm/boot/dts/asm9260-devkit.dts
 create mode 100644 arch/arm/boot/dts/asm9260.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index adb5ed9..ff75287 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -446,6 +446,8 @@ dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
 	dove-d3plug.dtb \
 	dove-dove-db.dtb
 
+dtb-$(CONFIG_MACH_ASM9260) += asm9260-devkit.dtb
+
 targets += dtbs dtbs_install
 targets += $(dtb-y)
 endif
diff --git a/arch/arm/boot/dts/asm9260-devkit.dts b/arch/arm/boot/dts/asm9260-devkit.dts
new file mode 100644
index 0000000..2cbc391
--- /dev/null
+++ b/arch/arm/boot/dts/asm9260-devkit.dts
@@ -0,0 +1,15 @@
+/dts-v1/;
+#include "asm9260.dtsi"
+
+/ {
+	model = "Alpscale asm9260 Development Kit";
+	compatible = "alpscale,asm9260devkit", "alpscale,asm9260";
+
+	chosen {
+		bootargs = "mem=32M earlyprintk=serial console=ttyS4,115200n8 root=/dev/mtdblock1 init=/linuxrc mtdparts=NAND:4M at 10M(logo)ro,60M at 14M(root)ro";
+	};
+
+};
+&uart4 {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/asm9260.dtsi b/arch/arm/boot/dts/asm9260.dtsi
new file mode 100644
index 0000000..52bb8de
--- /dev/null
+++ b/arch/arm/boot/dts/asm9260.dtsi
@@ -0,0 +1,425 @@
+/*
+ * Copyright 2014 Oleksij Rempel <linux@rempel-privat.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "skeleton.dtsi"
+
+/ {
+	interrupt-parent = <&icoll>;
+
+        aliases {
+		serial0 = &uart0;
+		serial1 = &uart1;
+		serial2 = &uart2;
+		serial3 = &uart3;
+		serial4 = &uart4;
+		serial5 = &uart5;
+		serial6 = &uart6;
+		serial7 = &uart7;
+		serial8 = &uart8;
+		serial9 = &uart9;
+        };
+
+	cpus {
+		#address-cells = <0>;
+		#size-cells = <0>;
+
+		cpu {
+			compatible = "arm,arm926ej-s";
+			device_type = "cpu";
+			clocks = <&cpu_div>;
+		};
+	};
+
+	soc {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+                ranges;
+
+		icoll: interrupt-controller at 80054000 {
+			compatible = "alpscale,asm9260-icall";
+			interrupt-controller;
+			#interrupt-cells = <1>;
+			reg = <0x80054000 0x200>;
+		};
+
+		uart0: serial at 80000000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80000000 0x4000>;
+			clocks = <&uart0_div>, <&ahb_uart0_gate>;
+			interrupts = <15>;
+			status = "disabled";
+		};
+		uart1: serial at 80004000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80004000 0x4000>;
+			clocks = <&uart1_div>, <&ahb_uart1_gate>;
+			interrupts = <16>;
+			status = "disabled";
+		};
+		uart2: serial at 80008000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80008000 0x4000>;
+			clocks = <&uart2_div>, <&ahb_uart2_gate>;
+			interrupts = <17>;
+			status = "disabled";
+		};
+		uart3: serial at 8000c000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x8000c000 0x4000>;
+			clocks = <&uart3_div>, <&ahb_uart3_gate>;
+			interrupts = <18>;
+			status = "disabled";
+		};
+		uart4: serial at 80010000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80010000 0x4000>;
+			clocks = <&uart4_div>, <&ahb_uart4_gate>;
+			interrupts = <19>;
+			status = "disabled";
+		};
+		uart5: serial at 80014000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80014000 0x4000>;
+			clocks = <&uart5_div>, <&ahb_uart5_gate>;
+			interrupts = <20>;
+			status = "disabled";
+		};
+		uart6: serial at 80018000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80018000 0x4000>;
+			clocks = <&uart6_div>, <&ahb_uart6_gate>;
+			interrupts = <21>;
+			status = "disabled";
+		};
+		uart7: serial at 8001c000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x8001c000 0x4000>;
+			clocks = <&uart7_div>, <&ahb_uart7_gate>;
+			interrupts = <22>;
+			status = "disabled";
+		};
+		uart8: serial at 80020000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80020000 0x4000>;
+			clocks = <&uart8_div>, <&ahb_uart8_gate>;
+			interrupts = <23>;
+			status = "disabled";
+		};
+		uart9: serial at 80024000 {
+			compatible = "alpscale,asm9260-uart";
+			reg = <0x80024000 0x4000>;
+			clocks = <&uart9_div>, <&ahb_uart9_gate>;
+			interrupts = <24>;
+			status = "disabled";
+		};
+
+		/* timers, should be moved after sregs */
+		timer0: timer at 80088000 {
+			compatible = "alpscale,asm9260-timer";
+			reg = <0x80088000 0x4000>;
+			clocks = <&ahb_timer0_gate>;
+			interrupts = <29>;
+			/* status = "disabled"; */
+		};
+
+		sregs at 80040000 {
+			compatible = "alpscale,asm9260-sregs";
+			reg = <0x80040000 0x504>;
+
+			clocks {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				osc24m: oscillator {
+					compatible = "fixed-clock";
+					#clock-cells = <0>;
+					clock-frequency = <24000000>;
+					clock-accuracy = <30000>;
+				};
+
+				pll: pll at 0100 {
+					compatible = "alpscale,asm9260-pll-clock";
+					#clock-cells = <0>;
+					clocks = <&osc24m>;
+					reg = <0x0100>;
+				};
+
+				main_mux: main_mux at 0120 {
+					compatible = "alpscale,asm9260-bimux-clock";
+					#clock-cells = <0>;
+					clocks = <&osc24m>, <&pll>;
+					mux-table = <0 1>;
+					reg = <0x0120>;
+				};
+
+				main_gate: main_gate at 0124 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&main_mux>;
+					reg = <0x0124>;
+					bit-index = <0>;
+				};
+
+				cpu_div: cpu_div at 017c {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&main_gate>;
+					reg = <0x017c>;
+				};
+
+				ahb_div: ahb_div at 0180 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&cpu_div>;
+					reg = <0x0180>;
+				};
+
+				/* ahb devices start */
+
+/*
+				ahb_rom_gate: ahb_rom_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <1>;
+				};
+				ahb_ram_gate: ahb_ram_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <2>;
+				};
+				ahb_gpio_gate: ahb_gpio_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <4>;
+				};
+				ahb_mac_gate: ahb_mac_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <5>;
+				};
+				ahb_emi_gate: ahb_emi_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <6>;
+				};
+
+*/
+				ahb_usb0_gate: ahb_usb0_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <7>;
+				};
+				ahb_usb1_gate: ahb_usb1_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <8>;
+				};
+
+/*
+				ahb_dma0_gate: ahb_dma0_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <9>;
+				};
+				ahb_dma1_gate: ahb_dma1_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <10>;
+				};
+
+*/
+				ahb_uart0_gate: ahb_uart0_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <11>;
+				};
+				ahb_uart1_gate: ahb_uart1_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <12>;
+				};
+				ahb_uart2_gate: ahb_uart2_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <13>;
+				};
+				ahb_uart3_gate: ahb_uart3_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <14>;
+				};
+
+				ahb_uart4_gate: ahb_uart4_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <15>;
+				};
+
+				ahb_uart5_gate: ahb_uart5_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <16>;
+				};
+				ahb_uart6_gate: ahb_uart6_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <17>;
+				};
+				ahb_uart7_gate: ahb_uart7_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <18>;
+				};
+
+				ahb_uart8_gate: ahb_uart8_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <19>;
+				};
+				ahb_uart9_gate: ahb_uart9_gate at 0020 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0020>;
+					bit-index = <20>;
+				};
+
+				ahb_timer0_gate: ahb_timer0_gate at 0030 {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&ahb_div>;
+					reg = <0x0030>;
+					bit-index = <4>;
+				};
+
+
+
+				/* ahb devices end */
+
+				/* uart related clocks */
+				uart_mux: uart_mux at 0128 {
+					compatible = "alpscale,asm9260-bimux-clock";
+					#clock-cells = <0>;
+					clocks = <&osc24m>, <&pll>;
+					mux-table = <0 1>;
+					reg = <0x0128>;
+				};
+				uart_gate: uart_gate at 012c {
+					compatible = "alpscale,asm9260-gate-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_mux>;
+					reg = <0x012c>;
+					bit-index = <0>;
+				};
+				uart0_div: uart0_div at 0198 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x0198>;
+				};
+				uart1_div: uart1_div at 019c {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x019c>;
+				};
+				uart2_div: uart2_div at 01a0 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01a0>;
+				};
+				uart3_div: uart3_div at 01a4 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01a4>;
+				};
+				uart4_div: uart4_div at 01a8 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01a8>;
+				};
+				uart5_div: uart5_div at 01ac {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01ac>;
+				};
+				uart6_div: uart6_div at 01b0 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01b0>;
+				};
+				uart7_div: uart7_div at 01b4 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01b4>;
+				};
+				uart8_div: uart8_div at 01b8 {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01b8>;
+				};
+				uart9_div: uart9_div at 01bc {
+					compatible = "alpscale,asm9260-div-clock";
+					#clock-cells = <0>;
+					clocks = <&uart_gate>;
+					reg = <0x01bc>;
+				};
+				/* end of uart section */
+
+
+			};
+		};
+	};
+};
-- 
1.9.1

  parent reply	other threads:[~2014-09-13 22:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-13 22:13 [PATCH 0/7] initial suport for Alpscale ASM9260 Oleksij Rempel
2014-09-13 22:13 ` [PATCH 1/7] ARM: add mach-asm9260 Oleksij Rempel
2014-09-14  7:12   ` Jason Cooper
2014-09-14  7:45     ` Oleksij Rempel
2014-09-14  9:05       ` Jason Cooper
2014-09-17 13:46         ` Alexandre Belloni
2014-09-17 13:53           ` Nicolas Ferre
2014-09-18  6:29             ` Oleksij Rempel
2014-09-13 22:13 ` [PATCH 2/7] add include/debug/asm9260.S Oleksij Rempel
2014-09-13 22:13 ` Oleksij Rempel [this message]
2014-09-13 22:13 ` [PATCH 4/7] clk: add clk-asm9260 driver Oleksij Rempel
2014-09-17 13:54   ` Alexandre Belloni
2014-09-18  6:46     ` Oleksij Rempel
2014-09-18  7:56       ` Alexandre Belloni
2014-09-18  8:46         ` Oleksij Rempel
2014-09-20 18:06         ` Oleksij Rempel
2014-09-20 18:43           ` Alexandre Belloni
2014-09-13 22:13 ` [PATCH 5/7] clocksource: add asm9260_timer driver Oleksij Rempel
2014-09-13 22:13 ` [PATCH 6/7] irqchip: add irq-asm9260 driver Oleksij Rempel
2014-09-14  7:37   ` Jason Cooper
2014-09-15  5:52     ` Oleksij Rempel
2014-09-17 12:59       ` Jason Cooper
2014-09-13 22:13 ` [PATCH 7/7] tty/serial: add asm9260-serial driver Oleksij Rempel

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=1410646408-28901-4-git-send-email-linux@rempel-privat.de \
    --to=linux@rempel-privat.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).