From patchwork Sat Sep 13 22:13:24 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 4900381 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 1D77F9F32B for ; Sat, 13 Sep 2014 22:13:03 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A9F46201FB for ; Sat, 13 Sep 2014 22:17:01 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DF326201DE for ; Sat, 13 Sep 2014 22:16:59 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XSvag-0003V7-8T; Sat, 13 Sep 2014 22:14:46 +0000 Received: from mout.gmx.net ([212.227.17.22]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XSvaM-0002uu-Kg for linux-arm-kernel@lists.infradead.org; Sat, 13 Sep 2014 22:14:29 +0000 Received: from zwerg.lan ([79.222.204.61]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0LjvV7-1Y4TBj2irJ-00buR8; Sun, 14 Sep 2014 00:13:54 +0200 From: Oleksij Rempel To: linux-arm-kernel@lists.infradead.org, tglx@linutronix.de, mturquette@linaro.org Subject: [PATCH 3/7] ARM: dts: add DT for Alpscale ASM9260 SoC Date: Sun, 14 Sep 2014 00:13:24 +0200 Message-Id: <1410646408-28901-4-git-send-email-linux@rempel-privat.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1410646408-28901-1-git-send-email-linux@rempel-privat.de> References: <1410646408-28901-1-git-send-email-linux@rempel-privat.de> X-Provags-ID: V03:K0:b1eaBS63uWi2XqOHo/DsBvuGzAbhGNVCR+5OoOKYF5GmJA55RE4 6NQTg8QNYIV+M59qTtK78JGdAmUd5oY68VNOesuHye0chGutt6Ur3dUj0cr8LLSU+xqsIsC J2RYqED5zFkoms1FltjNKwshp1trmXwRjnDcOzRcAhAewoWAeMUAYdM3NuxQqoQmvu9Mo4T KWoyI5p1D4zz54SwabKuQ== X-UI-Out-Filterresults: notjunk:1; X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140913_151427_107414_664918EE X-CRM114-Status: GOOD ( 11.90 ) X-Spam-Score: -1.8 (-) Cc: Oleksij Rempel X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Oleksij Rempel --- 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@10M(logo)ro,60M@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 + * + * 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@80054000 { + compatible = "alpscale,asm9260-icall"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0x80054000 0x200>; + }; + + uart0: serial@80000000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80000000 0x4000>; + clocks = <&uart0_div>, <&ahb_uart0_gate>; + interrupts = <15>; + status = "disabled"; + }; + uart1: serial@80004000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80004000 0x4000>; + clocks = <&uart1_div>, <&ahb_uart1_gate>; + interrupts = <16>; + status = "disabled"; + }; + uart2: serial@80008000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80008000 0x4000>; + clocks = <&uart2_div>, <&ahb_uart2_gate>; + interrupts = <17>; + status = "disabled"; + }; + uart3: serial@8000c000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x8000c000 0x4000>; + clocks = <&uart3_div>, <&ahb_uart3_gate>; + interrupts = <18>; + status = "disabled"; + }; + uart4: serial@80010000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80010000 0x4000>; + clocks = <&uart4_div>, <&ahb_uart4_gate>; + interrupts = <19>; + status = "disabled"; + }; + uart5: serial@80014000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80014000 0x4000>; + clocks = <&uart5_div>, <&ahb_uart5_gate>; + interrupts = <20>; + status = "disabled"; + }; + uart6: serial@80018000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80018000 0x4000>; + clocks = <&uart6_div>, <&ahb_uart6_gate>; + interrupts = <21>; + status = "disabled"; + }; + uart7: serial@8001c000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x8001c000 0x4000>; + clocks = <&uart7_div>, <&ahb_uart7_gate>; + interrupts = <22>; + status = "disabled"; + }; + uart8: serial@80020000 { + compatible = "alpscale,asm9260-uart"; + reg = <0x80020000 0x4000>; + clocks = <&uart8_div>, <&ahb_uart8_gate>; + interrupts = <23>; + status = "disabled"; + }; + uart9: serial@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@80088000 { + compatible = "alpscale,asm9260-timer"; + reg = <0x80088000 0x4000>; + clocks = <&ahb_timer0_gate>; + interrupts = <29>; + /* status = "disabled"; */ + }; + + sregs@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@0100 { + compatible = "alpscale,asm9260-pll-clock"; + #clock-cells = <0>; + clocks = <&osc24m>; + reg = <0x0100>; + }; + + main_mux: main_mux@0120 { + compatible = "alpscale,asm9260-bimux-clock"; + #clock-cells = <0>; + clocks = <&osc24m>, <&pll>; + mux-table = <0 1>; + reg = <0x0120>; + }; + + main_gate: main_gate@0124 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&main_mux>; + reg = <0x0124>; + bit-index = <0>; + }; + + cpu_div: cpu_div@017c { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&main_gate>; + reg = <0x017c>; + }; + + ahb_div: ahb_div@0180 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&cpu_div>; + reg = <0x0180>; + }; + + /* ahb devices start */ + +/* + ahb_rom_gate: ahb_rom_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <1>; + }; + ahb_ram_gate: ahb_ram_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <2>; + }; + ahb_gpio_gate: ahb_gpio_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <4>; + }; + ahb_mac_gate: ahb_mac_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <5>; + }; + ahb_emi_gate: ahb_emi_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <6>; + }; + +*/ + ahb_usb0_gate: ahb_usb0_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <7>; + }; + ahb_usb1_gate: ahb_usb1_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <8>; + }; + +/* + ahb_dma0_gate: ahb_dma0_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <9>; + }; + ahb_dma1_gate: ahb_dma1_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <10>; + }; + +*/ + ahb_uart0_gate: ahb_uart0_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <11>; + }; + ahb_uart1_gate: ahb_uart1_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <12>; + }; + ahb_uart2_gate: ahb_uart2_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <13>; + }; + ahb_uart3_gate: ahb_uart3_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <14>; + }; + + ahb_uart4_gate: ahb_uart4_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <15>; + }; + + ahb_uart5_gate: ahb_uart5_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <16>; + }; + ahb_uart6_gate: ahb_uart6_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <17>; + }; + ahb_uart7_gate: ahb_uart7_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <18>; + }; + + ahb_uart8_gate: ahb_uart8_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <19>; + }; + ahb_uart9_gate: ahb_uart9_gate@0020 { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&ahb_div>; + reg = <0x0020>; + bit-index = <20>; + }; + + ahb_timer0_gate: ahb_timer0_gate@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@0128 { + compatible = "alpscale,asm9260-bimux-clock"; + #clock-cells = <0>; + clocks = <&osc24m>, <&pll>; + mux-table = <0 1>; + reg = <0x0128>; + }; + uart_gate: uart_gate@012c { + compatible = "alpscale,asm9260-gate-clock"; + #clock-cells = <0>; + clocks = <&uart_mux>; + reg = <0x012c>; + bit-index = <0>; + }; + uart0_div: uart0_div@0198 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x0198>; + }; + uart1_div: uart1_div@019c { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x019c>; + }; + uart2_div: uart2_div@01a0 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01a0>; + }; + uart3_div: uart3_div@01a4 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01a4>; + }; + uart4_div: uart4_div@01a8 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01a8>; + }; + uart5_div: uart5_div@01ac { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01ac>; + }; + uart6_div: uart6_div@01b0 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01b0>; + }; + uart7_div: uart7_div@01b4 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01b4>; + }; + uart8_div: uart8_div@01b8 { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01b8>; + }; + uart9_div: uart9_div@01bc { + compatible = "alpscale,asm9260-div-clock"; + #clock-cells = <0>; + clocks = <&uart_gate>; + reg = <0x01bc>; + }; + /* end of uart section */ + + + }; + }; + }; +};