From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751593AbdFFAzS (ORCPT ); Mon, 5 Jun 2017 20:55:18 -0400 Received: from mx2.suse.de ([195.135.220.15]:34068 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751360AbdFFAzM (ORCPT ); Mon, 5 Jun 2017 20:55:12 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= To: linux-arm-kernel@lists.infradead.org Cc: mp-cs@actions-semi.com, Thomas Liau , =?UTF-8?q?=E5=BC=A0=E4=B8=9C=E9=A3=8E?= , =?UTF-8?q?=E5=88=98=E7=82=9C?= , =?UTF-8?q?=E5=BC=A0=E5=A4=A9=E7=9B=8A?= , 96boards@ucrobotics.com, support@lemaker.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Andreas=20F=C3=A4rber?= , Rob Herring , Mark Rutland , Russell King , devicetree@vger.kernel.org Subject: [PATCH v4 11/28] ARM: dts: Add Actions Semi S500 and LeMaker Guitar Date: Tue, 6 Jun 2017 02:54:09 +0200 Message-Id: <20170606005426.26446-12-afaerber@suse.de> X-Mailer: git-send-email 2.12.3 In-Reply-To: <20170606005426.26446-1-afaerber@suse.de> References: <20170606005426.26446-1-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Andreas Färber --- v3 -> v4: * Adopted lower-case timer interrupt-names (Mark) v2 -> v3: * Fixed uart2 reg offset * Enlarged timer reg size * Added 2 Hz timer interrupts, interrupt-names * Disabled CPUs 1-3 for now (cf. later patches) * Added Cortex-A9 SCU, global timer, TWD timer/wdt nodes * Added HOSC clock for timer v1 -> v2: * Reworded subject * Updated ARCH_OWL to ARCH_ACTIONS (Arnd) * Adopted "actions" vendor prefix * Dropped irq.h include * Added memory@0 node for Guitar SoM * Dropped bogus uart3 clock-frequency * Added device_type for CPU nodes * Fixed UART reg size * Adopted SPDX-License-Identifier (Rob) * Added remaining UART nodes * Added timer node arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 26 +++++ arch/arm/boot/dts/s500-guitar.dtsi | 22 ++++ arch/arm/boot/dts/s500.dtsi | 176 +++++++++++++++++++++++++++++ 4 files changed, 226 insertions(+) create mode 100644 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts create mode 100644 arch/arm/boot/dts/s500-guitar.dtsi create mode 100644 arch/arm/boot/dts/s500.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 3d6e288a49f7..e1ce692f9190 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -668,6 +668,8 @@ dtb-$(CONFIG_ARCH_ORION5X) += \ orion5x-maxtor-shared-storage-2.dtb \ orion5x-netgear-wnr854t.dtb \ orion5x-rd88f5182-nas.dtb +dtb-$(CONFIG_ARCH_ACTIONS) += \ + s500-guitar-bb-rev-b.dtb dtb-$(CONFIG_ARCH_PRIMA2) += \ prima2-evb.dtb dtb-$(CONFIG_ARCH_OXNAS) += \ diff --git a/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts new file mode 100644 index 000000000000..834b71df31bd --- /dev/null +++ b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2016-2017 Andreas Färber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +/dts-v1/; + +#include "s500-guitar.dtsi" + +/ { + compatible = "lemaker,guitar-bb-rev-b", "lemaker,guitar", "actions,s500"; + model = "LeMaker Guitar Base Board rev. B"; + + aliases { + serial3 = &uart3; + }; + + chosen { + stdout-path = "serial3:115200n8"; + }; +}; + +&uart3 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/s500-guitar.dtsi b/arch/arm/boot/dts/s500-guitar.dtsi new file mode 100644 index 000000000000..063ada966c94 --- /dev/null +++ b/arch/arm/boot/dts/s500-guitar.dtsi @@ -0,0 +1,22 @@ +/* + * LeMaker Guitar SoM + * + * Copyright (c) 2016-2017 Andreas Färber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +#include "s500.dtsi" + +/ { + compatible = "lemaker,guitar", "actions,s500"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x40000000>; + }; +}; + +&timer { + clocks = <&hosc>; +}; diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi new file mode 100644 index 000000000000..fc9f71a4106a --- /dev/null +++ b/arch/arm/boot/dts/s500.dtsi @@ -0,0 +1,176 @@ +/* + * Actions Semi S500 SoC + * + * Copyright (c) 2016-2017 Andreas Färber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +#include + +/ { + compatible = "actions,s500"; + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <1>; + + aliases { + }; + + chosen { + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x0>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x1>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x2>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x3>; + }; + }; + + arm-pmu { + compatible = "arm,cortex-a9-pmu"; + interrupts = , + , + , + ; + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; + }; + + hosc: hosc { + compatible = "fixed-clock"; + clock-frequency = <24000000>; + #clock-cells = <0>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + scu: scu@b0020000 { + compatible = "arm,cortex-a9-scu"; + reg = <0xb0020000 0x100>; + }; + + global_timer: timer@b0020200 { + compatible = "arm,cortex-a9-global-timer"; + reg = <0xb0020200 0x100>; + interrupts = ; + status = "disabled"; + }; + + twd_timer: timer@b0020600 { + compatible = "arm,cortex-a9-twd-timer"; + reg = <0xb0020600 0x20>; + interrupts = ; + status = "disabled"; + }; + + twd_wdt: wdt@b0020620 { + compatible = "arm,cortex-a9-twd-wdt"; + reg = <0xb0020620 0xe0>; + interrupts = ; + status = "disabled"; + }; + + gic: interrupt-controller@b0021000 { + compatible = "arm,cortex-a9-gic"; + reg = <0xb0021000 0x1000>, + <0xb0020100 0x0100>; + interrupt-controller; + #interrupt-cells = <3>; + }; + + l2: cache-controller@b0022000 { + compatible = "arm,pl310-cache"; + reg = <0xb0022000 0x1000>; + cache-unified; + cache-level = <2>; + interrupts = ; + arm,tag-latency = <3 3 2>; + arm,data-latency = <5 3 3>; + }; + + uart0: serial@b0120000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0120000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart1: serial@b0122000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0122000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart2: serial@b0124000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0124000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart3: serial@b0126000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0126000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart4: serial@b0128000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0128000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart5: serial@b012a000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb012a000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart6: serial@b012c000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb012c000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + timer: timer@b0168000 { + compatible = "actions,s500-timer"; + reg = <0xb0168000 0x8000>; + interrupts = , + , + , + ; + interrupt-names = "2hz0", "2hz1", "timer0", "timer1"; + }; + }; +}; -- 2.12.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Subject: [PATCH v4 11/28] ARM: dts: Add Actions Semi S500 and LeMaker Guitar Date: Tue, 6 Jun 2017 02:54:09 +0200 Message-ID: <20170606005426.26446-12-afaerber@suse.de> References: <20170606005426.26446-1-afaerber@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170606005426.26446-1-afaerber@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: linux-arm-kernel@lists.infradead.org Cc: Mark Rutland , support@lemaker.org, =?UTF-8?q?=E5=BC=A0=E5=A4=A9=E7=9B=8A?= , devicetree@vger.kernel.org, 96boards@ucrobotics.com, linux-kernel@vger.kernel.org, Thomas Liau , Russell King , Rob Herring , mp-cs@actions-semi.com, =?UTF-8?q?=E5=88=98=E7=82=9C?= , =?UTF-8?q?Andreas=20F=C3=A4rber?= , =?UTF-8?q?=E5=BC=A0=E4=B8=9C=E9=A3=8E?= List-Id: devicetree@vger.kernel.org U2lnbmVkLW9mZi1ieTogQW5kcmVhcyBGw6RyYmVyIDxhZmFlcmJlckBzdXNlLmRlPgotLS0KIHYz IC0+IHY0OgogKiBBZG9wdGVkIGxvd2VyLWNhc2UgdGltZXIgaW50ZXJydXB0LW5hbWVzIChNYXJr KQogCiB2MiAtPiB2MzoKICogRml4ZWQgdWFydDIgcmVnIG9mZnNldAogKiBFbmxhcmdlZCB0aW1l ciByZWcgc2l6ZQogKiBBZGRlZCAyIEh6IHRpbWVyIGludGVycnVwdHMsIGludGVycnVwdC1uYW1l cwogKiBEaXNhYmxlZCBDUFVzIDEtMyBmb3Igbm93IChjZi4gbGF0ZXIgcGF0Y2hlcykKICogQWRk ZWQgQ29ydGV4LUE5IFNDVSwgZ2xvYmFsIHRpbWVyLCBUV0QgdGltZXIvd2R0IG5vZGVzCiAqIEFk ZGVkIEhPU0MgY2xvY2sgZm9yIHRpbWVyCiAKIHYxIC0+IHYyOgogKiBSZXdvcmRlZCBzdWJqZWN0 CiAqIFVwZGF0ZWQgQVJDSF9PV0wgdG8gQVJDSF9BQ1RJT05TIChBcm5kKQogKiBBZG9wdGVkICJh Y3Rpb25zIiB2ZW5kb3IgcHJlZml4CiAqIERyb3BwZWQgaXJxLmggaW5jbHVkZQogKiBBZGRlZCBt ZW1vcnlAMCBub2RlIGZvciBHdWl0YXIgU29NCiAqIERyb3BwZWQgYm9ndXMgdWFydDMgY2xvY2st ZnJlcXVlbmN5CiAqIEFkZGVkIGRldmljZV90eXBlIGZvciBDUFUgbm9kZXMKICogRml4ZWQgVUFS VCByZWcgc2l6ZQogKiBBZG9wdGVkIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyIChSb2IpCiAqIEFk ZGVkIHJlbWFpbmluZyBVQVJUIG5vZGVzCiAqIEFkZGVkIHRpbWVyIG5vZGUKIAogYXJjaC9hcm0v Ym9vdC9kdHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgICAyICsKIGFyY2gvYXJtL2Jvb3Qv ZHRzL3M1MDAtZ3VpdGFyLWJiLXJldi1iLmR0cyB8ICAyNiArKysrKwogYXJjaC9hcm0vYm9vdC9k dHMvczUwMC1ndWl0YXIuZHRzaSAgICAgICAgIHwgIDIyICsrKysKIGFyY2gvYXJtL2Jvb3QvZHRz L3M1MDAuZHRzaSAgICAgICAgICAgICAgICB8IDE3NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMjYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw NjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLWJiLXJldi1iLmR0cwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLmR0c2kKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBhcmNoL2FybS9ib290L2R0cy9zNTAwLmR0c2kKCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib290L2R0cy9NYWtlZmlsZSBiL2FyY2gvYXJtL2Jvb3QvZHRzL01ha2VmaWxlCmluZGV4IDNk NmUyODhhNDlmNy4uZTFjZTY5MmY5MTkwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2R0cy9N YWtlZmlsZQorKysgYi9hcmNoL2FybS9ib290L2R0cy9NYWtlZmlsZQpAQCAtNjY4LDYgKzY2OCw4 IEBAIGR0Yi0kKENPTkZJR19BUkNIX09SSU9ONVgpICs9IFwKIAlvcmlvbjV4LW1heHRvci1zaGFy ZWQtc3RvcmFnZS0yLmR0YiBcCiAJb3Jpb241eC1uZXRnZWFyLXducjg1NHQuZHRiIFwKIAlvcmlv bjV4LXJkODhmNTE4Mi1uYXMuZHRiCitkdGItJChDT05GSUdfQVJDSF9BQ1RJT05TKSArPSBcCisJ czUwMC1ndWl0YXItYmItcmV2LWIuZHRiCiBkdGItJChDT05GSUdfQVJDSF9QUklNQTIpICs9IFwK IAlwcmltYTItZXZiLmR0YgogZHRiLSQoQ09ORklHX0FSQ0hfT1hOQVMpICs9IFwKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLWJiLXJldi1iLmR0cyBiL2FyY2gvYXJt L2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLWJiLXJldi1iLmR0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjgzNGI3MWRmMzFiZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gv YXJtL2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLWJiLXJldi1iLmR0cwpAQCAtMCwwICsxLDI2IEBACisv KgorICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMTcgQW5kcmVhcyBGw6RyYmVyCisgKgorICogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBNSVQpCisgKi8KKworL2R0cy12MS87 CisKKyNpbmNsdWRlICJzNTAwLWd1aXRhci5kdHNpIgorCisvIHsKKwljb21wYXRpYmxlID0gImxl bWFrZXIsZ3VpdGFyLWJiLXJldi1iIiwgImxlbWFrZXIsZ3VpdGFyIiwgImFjdGlvbnMsczUwMCI7 CisJbW9kZWwgPSAiTGVNYWtlciBHdWl0YXIgQmFzZSBCb2FyZCByZXYuIEIiOworCisJYWxpYXNl cyB7CisJCXNlcmlhbDMgPSAmdWFydDM7CisJfTsKKworCWNob3NlbiB7CisJCXN0ZG91dC1wYXRo ID0gInNlcmlhbDM6MTE1MjAwbjgiOworCX07Cit9OworCismdWFydDMgeworCXN0YXR1cyA9ICJv a2F5IjsKK307CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9zNTAwLWd1aXRhci5kdHNp IGIvYXJjaC9hcm0vYm9vdC9kdHMvczUwMC1ndWl0YXIuZHRzaQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjA2M2FkYTk2NmM5NAotLS0gL2Rldi9udWxsCisrKyBiL2Fy Y2gvYXJtL2Jvb3QvZHRzL3M1MDAtZ3VpdGFyLmR0c2kKQEAgLTAsMCArMSwyMiBAQAorLyoKKyAq IExlTWFrZXIgR3VpdGFyIFNvTQorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE3IEFuZHJl YXMgRsOkcmJlcgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCsgT1Ig TUlUKQorICovCisKKyNpbmNsdWRlICJzNTAwLmR0c2kiCisKKy8geworCWNvbXBhdGlibGUgPSAi bGVtYWtlcixndWl0YXIiLCAiYWN0aW9ucyxzNTAwIjsKKworCW1lbW9yeUAwIHsKKwkJZGV2aWNl X3R5cGUgPSAibWVtb3J5IjsKKwkJcmVnID0gPDB4MCAweDQwMDAwMDAwPjsKKwl9OworfTsKKwor JnRpbWVyIHsKKwljbG9ja3MgPSA8Jmhvc2M+OworfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv b3QvZHRzL3M1MDAuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3M1MDAuZHRzaQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZjOWY3MWE0MTA2YQotLS0gL2Rldi9udWxs CisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3M1MDAuZHRzaQpAQCAtMCwwICsxLDE3NiBAQAorLyoK KyAqIEFjdGlvbnMgU2VtaSBTNTAwIFNvQworICoKKyAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE3 IEFuZHJlYXMgRsOkcmJlcgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIu MCsgT1IgTUlUKQorICovCisKKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJv bGxlci9hcm0tZ2ljLmg+CisKKy8geworCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxzNTAwIjsKKwlp bnRlcnJ1cHQtcGFyZW50ID0gPCZnaWM+OworCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCSNzaXpl LWNlbGxzID0gPDE+OworCisJYWxpYXNlcyB7CisJfTsKKworCWNob3NlbiB7CisJfTsKKworCWNw dXMgeworCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJI3NpemUtY2VsbHMgPSA8MD47CisKKwkJ Y3B1MDogY3B1QDAgeworCQkJZGV2aWNlX3R5cGUgPSAiY3B1IjsKKwkJCWNvbXBhdGlibGUgPSAi YXJtLGNvcnRleC1hOSI7CisJCQlyZWcgPSA8MHgwPjsKKwkJfTsKKworCQljcHUxOiBjcHVAMSB7 CisJCQlkZXZpY2VfdHlwZSA9ICJjcHUiOworCQkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE5 IjsKKwkJCXJlZyA9IDwweDE+OworCQl9OworCisJCWNwdTI6IGNwdUAyIHsKKwkJCWRldmljZV90 eXBlID0gImNwdSI7CisJCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTkiOworCQkJcmVnID0g PDB4Mj47CisJCX07CisKKwkJY3B1MzogY3B1QDMgeworCQkJZGV2aWNlX3R5cGUgPSAiY3B1IjsK KwkJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hOSI7CisJCQlyZWcgPSA8MHgzPjsKKwkJfTsK Kwl9OworCisJYXJtLXBtdSB7CisJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hOS1wbXUiOwor CQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgNCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJICAgICAg ICAgICAgIDxHSUNfU1BJIDUgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCSAgICAgICAgICAgICA8 R0lDX1NQSSA2IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkgICAgICAgICAgICAgPEdJQ19TUEkg NyBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJaW50ZXJydXB0LWFmZmluaXR5ID0gPCZjcHUwPiwg PCZjcHUxPiwgPCZjcHUyPiwgPCZjcHUzPjsKKwl9OworCisJaG9zYzogaG9zYyB7CisJCWNvbXBh dGlibGUgPSAiZml4ZWQtY2xvY2siOworCQljbG9jay1mcmVxdWVuY3kgPSA8MjQwMDAwMDA+Owor CQkjY2xvY2stY2VsbHMgPSA8MD47CisJfTsKKworCXNvYyB7CisJCWNvbXBhdGlibGUgPSAic2lt cGxlLWJ1cyI7CisJCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCQkjc2l6ZS1jZWxscyA9IDwxPjsK KwkJcmFuZ2VzOworCisJCXNjdTogc2N1QGIwMDIwMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYXJt LGNvcnRleC1hOS1zY3UiOworCQkJcmVnID0gPDB4YjAwMjAwMDAgMHgxMDA+OworCQl9OworCisJ CWdsb2JhbF90aW1lcjogdGltZXJAYjAwMjAyMDAgeworCQkJY29tcGF0aWJsZSA9ICJhcm0sY29y dGV4LWE5LWdsb2JhbC10aW1lciI7CisJCQlyZWcgPSA8MHhiMDAyMDIwMCAweDEwMD47CisJCQlp bnRlcnJ1cHRzID0gPEdJQ19QUEkgMCAoR0lDX0NQVV9NQVNLX1NJTVBMRSg0KSB8IElSUV9UWVBF X0VER0VfUklTSU5HKT47CisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCisJCXR3ZF90 aW1lcjogdGltZXJAYjAwMjA2MDAgeworCQkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE5LXR3 ZC10aW1lciI7CisJCQlyZWcgPSA8MHhiMDAyMDYwMCAweDIwPjsKKwkJCWludGVycnVwdHMgPSA8 R0lDX1BQSSAyIChHSUNfQ1BVX01BU0tfU0lNUExFKDQpIHwgSVJRX1RZUEVfRURHRV9SSVNJTkcp PjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07CisKKwkJdHdkX3dkdDogd2R0QGIwMDIw NjIwIHsKKwkJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hOS10d2Qtd2R0IjsKKwkJCXJlZyA9 IDwweGIwMDIwNjIwIDB4ZTA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfUFBJIDMgKEdJQ19DUFVf TUFTS19TSU1QTEUoNCkgfCBJUlFfVFlQRV9FREdFX1JJU0lORyk+OworCQkJc3RhdHVzID0gImRp c2FibGVkIjsKKwkJfTsKKworCQlnaWM6IGludGVycnVwdC1jb250cm9sbGVyQGIwMDIxMDAwIHsK KwkJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hOS1naWMiOworCQkJcmVnID0gPDB4YjAwMjEw MDAgMHgxMDAwPiwKKwkJCSAgICAgIDwweGIwMDIwMTAwIDB4MDEwMD47CisJCQlpbnRlcnJ1cHQt Y29udHJvbGxlcjsKKwkJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mz47CisJCX07CisKKwkJbDI6IGNh Y2hlLWNvbnRyb2xsZXJAYjAwMjIwMDAgeworCQkJY29tcGF0aWJsZSA9ICJhcm0scGwzMTAtY2Fj aGUiOworCQkJcmVnID0gPDB4YjAwMjIwMDAgMHgxMDAwPjsKKwkJCWNhY2hlLXVuaWZpZWQ7CisJ CQljYWNoZS1sZXZlbCA9IDwyPjsKKwkJCWludGVycnVwdHMgPSA8R0lDX1NQSSA1NSBJUlFfVFlQ RV9MRVZFTF9ISUdIPjsKKwkJCWFybSx0YWctbGF0ZW5jeSA9IDwzIDMgMj47CisJCQlhcm0sZGF0 YS1sYXRlbmN5ID0gPDUgMyAzPjsKKwkJfTsKKworCQl1YXJ0MDogc2VyaWFsQGIwMTIwMDAwIHsK KwkJCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wtdWFydCI7 CisJCQlyZWcgPSA8MHhiMDEyMDAwMCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJ IDI5IElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJc3RhdHVzID0gImRpc2FibGVkIjsKKwkJfTsK KworCQl1YXJ0MTogc2VyaWFsQGIwMTIyMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxz NTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wtdWFydCI7CisJCQlyZWcgPSA8MHhiMDEyMjAwMCAweDIw MDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDMwIElSUV9UWVBFX0xFVkVMX0hJR0g+Owor CQkJc3RhdHVzID0gImRpc2FibGVkIjsKKwkJfTsKKworCQl1YXJ0Mjogc2VyaWFsQGIwMTI0MDAw IHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wtdWFy dCI7CisJCQlyZWcgPSA8MHhiMDEyNDAwMCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNf U1BJIDMxIElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJc3RhdHVzID0gImRpc2FibGVkIjsKKwkJ fTsKKworCQl1YXJ0Mzogc2VyaWFsQGIwMTI2MDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0aW9u cyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wtdWFydCI7CisJCQlyZWcgPSA8MHhiMDEyNjAwMCAw eDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDMyIElSUV9UWVBFX0xFVkVMX0hJR0g+ OworCQkJc3RhdHVzID0gImRpc2FibGVkIjsKKwkJfTsKKworCQl1YXJ0NDogc2VyaWFsQGIwMTI4 MDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wt dWFydCI7CisJCQlyZWcgPSA8MHhiMDEyODAwMCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxH SUNfU1BJIDMzIElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJc3RhdHVzID0gImRpc2FibGVkIjsK KwkJfTsKKworCQl1YXJ0NTogc2VyaWFsQGIwMTJhMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0 aW9ucyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxvd2wtdWFydCI7CisJCQlyZWcgPSA8MHhiMDEyYTAw MCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDM0IElSUV9UWVBFX0xFVkVMX0hJ R0g+OworCQkJc3RhdHVzID0gImRpc2FibGVkIjsKKwkJfTsKKworCQl1YXJ0Njogc2VyaWFsQGIw MTJjMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYWN0aW9ucyxzNTAwLXVhcnQiLCAiYWN0aW9ucyxv d2wtdWFydCI7CisJCQlyZWcgPSA8MHhiMDEyYzAwMCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9 IDxHSUNfU1BJIDM1IElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJc3RhdHVzID0gImRpc2FibGVk IjsKKwkJfTsKKworCQl0aW1lcjogdGltZXJAYjAxNjgwMDAgeworCQkJY29tcGF0aWJsZSA9ICJh Y3Rpb25zLHM1MDAtdGltZXIiOworCQkJcmVnID0gPDB4YjAxNjgwMDAgMHg4MDAwPjsKKwkJCWlu dGVycnVwdHMgPSA8R0lDX1NQSSAgOCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCSAgICAgICAg ICAgICA8R0lDX1NQSSAgOSBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCSAgICAgICAgICAgICA8 R0lDX1NQSSAxMCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCSAgICAgICAgICAgICA8R0lDX1NQ SSAxMSBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJCWludGVycnVwdC1uYW1lcyA9ICIyaHowIiwg IjJoejEiLCAidGltZXIwIiwgInRpbWVyMSI7CisJCX07CisJfTsKK307Ci0tIAoyLjEyLjMKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: afaerber@suse.de (=?UTF-8?q?Andreas=20F=C3=A4rber?=) Date: Tue, 6 Jun 2017 02:54:09 +0200 Subject: [PATCH v4 11/28] ARM: dts: Add Actions Semi S500 and LeMaker Guitar In-Reply-To: <20170606005426.26446-1-afaerber@suse.de> References: <20170606005426.26446-1-afaerber@suse.de> Message-ID: <20170606005426.26446-12-afaerber@suse.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Signed-off-by: Andreas F?rber --- v3 -> v4: * Adopted lower-case timer interrupt-names (Mark) v2 -> v3: * Fixed uart2 reg offset * Enlarged timer reg size * Added 2 Hz timer interrupts, interrupt-names * Disabled CPUs 1-3 for now (cf. later patches) * Added Cortex-A9 SCU, global timer, TWD timer/wdt nodes * Added HOSC clock for timer v1 -> v2: * Reworded subject * Updated ARCH_OWL to ARCH_ACTIONS (Arnd) * Adopted "actions" vendor prefix * Dropped irq.h include * Added memory at 0 node for Guitar SoM * Dropped bogus uart3 clock-frequency * Added device_type for CPU nodes * Fixed UART reg size * Adopted SPDX-License-Identifier (Rob) * Added remaining UART nodes * Added timer node arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 26 +++++ arch/arm/boot/dts/s500-guitar.dtsi | 22 ++++ arch/arm/boot/dts/s500.dtsi | 176 +++++++++++++++++++++++++++++ 4 files changed, 226 insertions(+) create mode 100644 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts create mode 100644 arch/arm/boot/dts/s500-guitar.dtsi create mode 100644 arch/arm/boot/dts/s500.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 3d6e288a49f7..e1ce692f9190 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -668,6 +668,8 @@ dtb-$(CONFIG_ARCH_ORION5X) += \ orion5x-maxtor-shared-storage-2.dtb \ orion5x-netgear-wnr854t.dtb \ orion5x-rd88f5182-nas.dtb +dtb-$(CONFIG_ARCH_ACTIONS) += \ + s500-guitar-bb-rev-b.dtb dtb-$(CONFIG_ARCH_PRIMA2) += \ prima2-evb.dtb dtb-$(CONFIG_ARCH_OXNAS) += \ diff --git a/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts new file mode 100644 index 000000000000..834b71df31bd --- /dev/null +++ b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2016-2017 Andreas F?rber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +/dts-v1/; + +#include "s500-guitar.dtsi" + +/ { + compatible = "lemaker,guitar-bb-rev-b", "lemaker,guitar", "actions,s500"; + model = "LeMaker Guitar Base Board rev. B"; + + aliases { + serial3 = &uart3; + }; + + chosen { + stdout-path = "serial3:115200n8"; + }; +}; + +&uart3 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/s500-guitar.dtsi b/arch/arm/boot/dts/s500-guitar.dtsi new file mode 100644 index 000000000000..063ada966c94 --- /dev/null +++ b/arch/arm/boot/dts/s500-guitar.dtsi @@ -0,0 +1,22 @@ +/* + * LeMaker Guitar SoM + * + * Copyright (c) 2016-2017 Andreas F?rber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +#include "s500.dtsi" + +/ { + compatible = "lemaker,guitar", "actions,s500"; + + memory at 0 { + device_type = "memory"; + reg = <0x0 0x40000000>; + }; +}; + +&timer { + clocks = <&hosc>; +}; diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi new file mode 100644 index 000000000000..fc9f71a4106a --- /dev/null +++ b/arch/arm/boot/dts/s500.dtsi @@ -0,0 +1,176 @@ +/* + * Actions Semi S500 SoC + * + * Copyright (c) 2016-2017 Andreas F?rber + * + * SPDX-License-Identifier: (GPL-2.0+ OR MIT) + */ + +#include + +/ { + compatible = "actions,s500"; + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <1>; + + aliases { + }; + + chosen { + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu at 0 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x0>; + }; + + cpu1: cpu at 1 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x1>; + }; + + cpu2: cpu at 2 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x2>; + }; + + cpu3: cpu at 3 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0x3>; + }; + }; + + arm-pmu { + compatible = "arm,cortex-a9-pmu"; + interrupts = , + , + , + ; + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; + }; + + hosc: hosc { + compatible = "fixed-clock"; + clock-frequency = <24000000>; + #clock-cells = <0>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + scu: scu at b0020000 { + compatible = "arm,cortex-a9-scu"; + reg = <0xb0020000 0x100>; + }; + + global_timer: timer at b0020200 { + compatible = "arm,cortex-a9-global-timer"; + reg = <0xb0020200 0x100>; + interrupts = ; + status = "disabled"; + }; + + twd_timer: timer at b0020600 { + compatible = "arm,cortex-a9-twd-timer"; + reg = <0xb0020600 0x20>; + interrupts = ; + status = "disabled"; + }; + + twd_wdt: wdt at b0020620 { + compatible = "arm,cortex-a9-twd-wdt"; + reg = <0xb0020620 0xe0>; + interrupts = ; + status = "disabled"; + }; + + gic: interrupt-controller at b0021000 { + compatible = "arm,cortex-a9-gic"; + reg = <0xb0021000 0x1000>, + <0xb0020100 0x0100>; + interrupt-controller; + #interrupt-cells = <3>; + }; + + l2: cache-controller at b0022000 { + compatible = "arm,pl310-cache"; + reg = <0xb0022000 0x1000>; + cache-unified; + cache-level = <2>; + interrupts = ; + arm,tag-latency = <3 3 2>; + arm,data-latency = <5 3 3>; + }; + + uart0: serial at b0120000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0120000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart1: serial at b0122000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0122000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart2: serial at b0124000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0124000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart3: serial at b0126000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0126000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart4: serial at b0128000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb0128000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart5: serial at b012a000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb012a000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + uart6: serial at b012c000 { + compatible = "actions,s500-uart", "actions,owl-uart"; + reg = <0xb012c000 0x2000>; + interrupts = ; + status = "disabled"; + }; + + timer: timer at b0168000 { + compatible = "actions,s500-timer"; + reg = <0xb0168000 0x8000>; + interrupts = , + , + , + ; + interrupt-names = "2hz0", "2hz1", "timer0", "timer1"; + }; + }; +}; -- 2.12.3