* [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-15 16:55 Andreas Färber
2017-02-15 16:55 ` [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi Andreas Färber
` (5 more replies)
0 siblings, 6 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: contact, mp-cs, info, support, linux-kernel, Andreas Färber,
devicetree
Hello,
Based on earlier work of mine for the LeMaker Guitar, this series adds initial
support for the Actions Semiconductor S500 (ARMv7) and S900 (ARMv8) SoCs.
Despite Actions Semi being a Linaro member since 2015, sadly I have not seen
a single upstream kernel patch submission since. Nor has the XApple community
taken any such initiative.
The GitHub LeMaker/linux-actions and xapp-le/kernel trees have 3.10 based S500
drivers in arch/arm/mach-owl/, whereas the 96boards-bubblegum/linux tree has
new-style but still 3.10 based S900 drivers. I also spotted GPLv2+ vs. GPLv2
license differences.
This series therefore provides a proof of concept for a combined S500 and S900
mainline implementation. Only earlycon serial output is available for now.
Focusing on Bubblegum-96, no S500 clocksource implementation is provided yet,
thus output on Guitar is less than on Bubblegum-96, but still it demonstrates
that a single driver can be shared for both, using compatible strings for
future differentiation.
https://github.com/afaerber/linux/commits/bg96-next
Booting from U-Boot is straightforward on both boards.
https://en.opensuse.org/HCL:Guitar
https://en.opensuse.org/HCL:Bubblegum-96
Have a lot of fun!
Cheers,
Andreas
Cc: mp-cs@actions-semi.com
Cc: info@ucrobotics.com
Cc: support@lemaker.org
Cc: contact@linux-xapple.org
Cc: devicetree@vger.kernel.org
Andreas Färber (11):
Documentation: devicetree: Add vendor prefix for Actions Semi
Documentation: devicetree: arm: Document Actions Semi S500
ARM: Prepare Actions Semi S500
ARM64: Prepare Actions Semi S900
Documentation: devicetree: serial: Document Actions Semi Owl UARTs
tty: serial: Add Actions Semi Owl UART earlycon
Documentation: kernel-parameters: Document owl earlycon
ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
Documentation: devicetree: Add vendor prefix for uCRobotics
Documentation: devicetree: arm: Document Actions Semi S900
ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
Documentation/admin-guide/kernel-parameters.txt | 6 +
Documentation/devicetree/bindings/arm/acts.txt | 32 +++++
.../devicetree/bindings/serial/acts,owl-uart.txt | 16 +++
.../devicetree/bindings/vendor-prefixes.txt | 2 +
arch/arm/Kconfig | 2 +
arch/arm/Makefile | 1 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 63 ++++++++++
arch/arm/boot/dts/s500-guitar.dtsi | 49 ++++++++
arch/arm/boot/dts/s500.dtsi | 116 +++++++++++++++++
arch/arm/mach-owl/Kconfig | 9 ++
arch/arm/mach-owl/Makefile | 1 +
arch/arm/mach-owl/owl.c | 28 +++++
arch/arm64/Kconfig.platforms | 5 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/actions/Makefile | 5 +
arch/arm64/boot/dts/actions/s900-bubblegum96.dts | 62 +++++++++
arch/arm64/boot/dts/actions/s900.dtsi | 140 +++++++++++++++++++++
drivers/tty/serial/Kconfig | 19 +++
drivers/tty/serial/Makefile | 1 +
drivers/tty/serial/owl-uart.c | 135 ++++++++++++++++++++
21 files changed, 695 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/acts.txt
create mode 100644 Documentation/devicetree/bindings/serial/acts,owl-uart.txt
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
create mode 100644 arch/arm/mach-owl/Kconfig
create mode 100644 arch/arm/mach-owl/Makefile
create mode 100644 arch/arm/mach-owl/owl.c
create mode 100644 arch/arm64/boot/dts/actions/Makefile
create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum96.dts
create mode 100644 arch/arm64/boot/dts/actions/s900.dtsi
create mode 100644 drivers/tty/serial/owl-uart.c
--
2.10.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
@ 2017-02-15 16:55 ` Andreas Färber
2017-02-15 16:55 ` [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500 Andreas Färber
` (4 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Mark Rutland, support, devicetree, info, linux-kernel,
Rob Herring, mp-cs, Andreas Färber, contact
Actions Semiconductor was listed on NASDAQ as ACTS until Dec 16, 2016.
Cc: mp-cs@actions-semi.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 1e4e84e..3069c6f 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -6,6 +6,7 @@ using them to avoid name-space collisions.
abcn Abracon Corporation
abilis Abilis Systems
active-semi Active-Semi International Inc
+acts Actions Semiconductor Co., Ltd.
ad Avionic Design GmbH
adapteva Adapteva, Inc.
adh AD Holdings Plc.
--
2.10.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
2017-02-15 16:55 ` [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi Andreas Färber
@ 2017-02-15 16:55 ` Andreas Färber
2017-02-15 16:55 ` [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs Andreas Färber
` (3 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: contact, mp-cs, info, support, linux-kernel, Andreas Färber,
Rob Herring, Mark Rutland, devicetree
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Documentation/devicetree/bindings/arm/acts.txt | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/acts.txt
diff --git a/Documentation/devicetree/bindings/arm/acts.txt b/Documentation/devicetree/bindings/arm/acts.txt
new file mode 100644
index 0000000..a34d647
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/acts.txt
@@ -0,0 +1,19 @@
+Actions Semi platforms device tree bindings
+-------------------------------------------
+
+
+S500 SoC
+========
+
+Required root node properties:
+
+ - compatible : "acts,s500"
+
+
+Modules:
+
+ - LeMaker Guitar: "lemaker,guitar"
+
+Boards:
+
+ - LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
--
2.10.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
2017-02-15 16:55 ` [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi Andreas Färber
2017-02-15 16:55 ` [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500 Andreas Färber
@ 2017-02-15 16:55 ` Andreas Färber
2017-02-15 16:55 ` [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics Andreas Färber
` (2 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: contact, mp-cs, info, support, linux-kernel, Andreas Färber,
Greg Kroah-Hartman, Rob Herring, Mark Rutland, linux-serial,
devicetree
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
.../devicetree/bindings/serial/acts,owl-uart.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 Documentation/devicetree/bindings/serial/acts,owl-uart.txt
diff --git a/Documentation/devicetree/bindings/serial/acts,owl-uart.txt b/Documentation/devicetree/bindings/serial/acts,owl-uart.txt
new file mode 100644
index 0000000..a1aecd8
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/acts,owl-uart.txt
@@ -0,0 +1,16 @@
+Actions Semi Owl UART
+
+Required properties:
+- compatible : "acts,s500-uart", "acts,owl-uart" for S500
+ "acts,s900-uart", "acts,owl-uart" for S900
+- reg : Offset and length of the register set for the device.
+- interrupts : Should contain UART interrupt.
+
+
+Example:
+
+ uart3: serial@b0126000 {
+ compatible = "acts,s500-uart", "acts,owl-uart";
+ reg = <0xb0126000 0x1000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ };
--
2.10.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 16:55 ` Andreas Färber
[not found] ` <20170215165528.10052-9-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-24 0:59 ` Andreas Färber
2017-02-15 16:55 ` [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900 Andreas Färber
2017-02-16 13:46 ` [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Arnd Bergmann
2 siblings, 2 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: contact-CO9UH4nLugWa1hIE42aguQ, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
info-Ty1hIZOCd2XuufBYgWm87A, support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Andreas Färber,
Rob Herring, Mark Rutland, Russell King,
devicetree-u79uwXL29TY76Z2rM5mHXA
Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
---
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 63 ++++++++++++++++
arch/arm/boot/dts/s500-guitar.dtsi | 49 ++++++++++++
arch/arm/boot/dts/s500.dtsi | 116 +++++++++++++++++++++++++++++
4 files changed, 230 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 0118084..15a195f 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -638,6 +638,8 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
orion5x-maxtor-shared-storage-2.dtb \
orion5x-netgear-wnr854t.dtb \
orion5x-rd88f5182-nas.dtb
+dtb-$(CONFIG_ARCH_OWL) += \
+ 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 0000000..3d70cb8
--- /dev/null
+++ b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "s500-guitar.dtsi"
+
+/ {
+ compatible = "lemaker,guitar-bb-rev-b", "lemaker,guitar", "acts,s500";
+ model = "LeMaker Guitar Base Board rev. B";
+
+ aliases {
+ serial3 = &uart3;
+ };
+
+ chosen {
+ stdout-path = "serial3:115200n8";
+ };
+};
+
+&uart3 {
+ clock-frequency = <48000000>;
+ 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 0000000..44d1e40
--- /dev/null
+++ b/arch/arm/boot/dts/s500-guitar.dtsi
@@ -0,0 +1,49 @@
+/*
+ * LeMaker Guitar SoM
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "s500.dtsi"
+
+/ {
+ compatible = "lemaker,guitar", "acts,s500";
+};
diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
new file mode 100644
index 0000000..ee93984
--- /dev/null
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -0,0 +1,116 @@
+/*
+ * Actions Semi S500 SoC
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "skeleton.dtsi"
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "acts,s500";
+ interrupt-parent = <&gic>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a9";
+ reg = <0x0>;
+ };
+
+ cpu1: cpu@1 {
+ compatible = "arm,cortex-a9";
+ reg = <0x1>;
+ };
+
+ cpu2: cpu@2 {
+ compatible = "arm,cortex-a9";
+ reg = <0x2>;
+ };
+
+ cpu3: cpu@3 {
+ compatible = "arm,cortex-a9";
+ reg = <0x3>;
+ };
+ };
+
+ arm-pmu {
+ compatible = "arm,cortex-a9-pmu";
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gic: interrupt-controller@b0021000 {
+ compatible = "arm,cortex-a9-gic";
+ reg = <0xb0021000 0x1000>,
+ <0xb0020100 0x0100>;
+ };
+
+ l2: cache-controller@b0022000 {
+ compatible = "arm,pl310-cache";
+ reg = <0xb0022000 0x1000>;
+ cache-unified;
+ cache-level = <2>;
+ interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ arm,tag-latency = <3 3 2>;
+ arm,data-latency = <5 3 3>;
+ };
+
+ uart3: serial@b0126000 {
+ compatible = "acts,s500-uart", "acts,owl-uart";
+ reg = <0xb0126000 0x1000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+ };
+};
--
2.10.2
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (2 preceding siblings ...)
2017-02-15 16:55 ` [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs Andreas Färber
@ 2017-02-15 16:55 ` Andreas Färber
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 16:55 ` [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96 Andreas Färber
5 siblings, 0 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: contact, mp-cs, info, support, linux-kernel, Andreas Färber,
Rob Herring, Mark Rutland, devicetree
Cc: info@ucrobotics.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 3069c6f..be79cd2 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -319,6 +319,7 @@ tronfy Tronfy
tronsmart Tronsmart
truly Truly Semiconductors Limited
tyan Tyan Computer Corporation
+ucrobotics uCRobotics
udoo Udoo
uniwest United Western Technologies Corp (UniWest)
upisemi uPI Semiconductor Corp.
--
2.10.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 16:55 ` [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar Andreas Färber
@ 2017-02-15 16:55 ` Andreas Färber
[not found] ` <20170215165528.10052-11-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-16 13:46 ` [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Arnd Bergmann
2 siblings, 1 reply; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: contact-CO9UH4nLugWa1hIE42aguQ, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
info-Ty1hIZOCd2XuufBYgWm87A, support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Andreas Färber,
Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA
Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
---
Documentation/devicetree/bindings/arm/acts.txt | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/acts.txt b/Documentation/devicetree/bindings/arm/acts.txt
index a34d647..cdbfe12 100644
--- a/Documentation/devicetree/bindings/arm/acts.txt
+++ b/Documentation/devicetree/bindings/arm/acts.txt
@@ -17,3 +17,16 @@ Modules:
Boards:
- LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
+
+
+S900 SoC
+========
+
+Required root node properties:
+
+- compatible : "acts,s900"
+
+
+Boards:
+
+ - uCRobotics Bubblegum-96: "ucrobotics,bubblegum-96"
--
2.10.2
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (4 preceding siblings ...)
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 16:55 ` Andreas Färber
[not found] ` <20170215165528.10052-12-afaerber-l3A5Bk7waGM@public.gmane.org>
5 siblings, 1 reply; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
To: linux-arm-kernel
Cc: contact, mp-cs, info, support, linux-kernel, Andreas Färber,
Rob Herring, Mark Rutland, Catalin Marinas, Will Deacon,
devicetree
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/actions/Makefile | 5 +
arch/arm64/boot/dts/actions/s900-bubblegum96.dts | 62 ++++++++++
arch/arm64/boot/dts/actions/s900.dtsi | 140 +++++++++++++++++++++++
4 files changed, 208 insertions(+)
create mode 100644 arch/arm64/boot/dts/actions/Makefile
create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum96.dts
create mode 100644 arch/arm64/boot/dts/actions/s900.dtsi
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 080232b..d1a6b0a 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -1,3 +1,4 @@
+dts-dirs += actions
dts-dirs += al
dts-dirs += allwinner
dts-dirs += altera
diff --git a/arch/arm64/boot/dts/actions/Makefile b/arch/arm64/boot/dts/actions/Makefile
new file mode 100644
index 0000000..bc1e6d6
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/Makefile
@@ -0,0 +1,5 @@
+dtb-$(CONFIG_ARCH_OWL) += s900-bubblegum96.dtb
+
+always := $(dtb-y)
+subdir-y := $(dts-dirs)
+clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
new file mode 100644
index 0000000..12843a9
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "s900.dtsi"
+
+/ {
+ compatible = "ucrobotics,bubblegum-96", "acts,s900";
+ model = "Bubblegum-96";
+
+ aliases {
+ serial5 = &uart5;
+ };
+
+ chosen {
+ stdout-path = "serial5:115200n8";
+ };
+};
+
+&uart5 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/actions/s900.dtsi b/arch/arm64/boot/dts/actions/s900.dtsi
new file mode 100644
index 0000000..d98d61a
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900.dtsi
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "acts,s900";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x1>;
+ enable-method = "psci";
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x2>;
+ enable-method = "psci";
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x3>;
+ enable-method = "psci";
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
+ arm-pmu {
+ compatible = "arm,cortex-a53-pmu";
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <GIC_PPI 13
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 14
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 11
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 10
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ gic: interrupt-controller@e00f1000 {
+ compatible = "arm,gic-400";
+ reg = <0x0 0xe00f1000 0x0 0x1000>,
+ <0x0 0xe00f2000 0x0 0x1000>,
+ <0x0 0xe00f4000 0x0 0x2000>,
+ <0x0 0xe00f6000 0x0 0x2000>;
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ };
+
+ uart5: serial@e012a000 {
+ compatible = "acts,s900-uart", "acts,owl-uart";
+ reg = <0x0 0xe012a000 0x0 0x1000>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+ };
+};
--
2.10.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
[not found] ` <20170215165528.10052-9-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 17:07 ` Mark Rutland
2017-02-15 17:28 ` Andreas Färber
0 siblings, 1 reply; 17+ messages in thread
From: Mark Rutland @ 2017-02-15 17:07 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
contact-CO9UH4nLugWa1hIE42aguQ, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
info-Ty1hIZOCd2XuufBYgWm87A, support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Russell King,
devicetree-u79uwXL29TY76Z2rM5mHXA, nd-5wv7dgnIgG8
On Wed, Feb 15, 2017 at 05:55:25PM +0100, Andreas Färber wrote:
> + arm-pmu {
> + compatible = "arm,cortex-a9-pmu";
> + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> + };
Please add an interrupt-affinity property, as described in
Documentation/devicetree/bindings/arm/pmu.txt
Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
[not found] ` <20170215165528.10052-12-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 17:12 ` Mark Rutland
2017-02-15 18:14 ` Andreas Färber
0 siblings, 1 reply; 17+ messages in thread
From: Mark Rutland @ 2017-02-15 17:12 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
contact-CO9UH4nLugWa1hIE42aguQ, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
info-Ty1hIZOCd2XuufBYgWm87A, support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Catalin Marinas,
Will Deacon, devicetree-u79uwXL29TY76Z2rM5mHXA, nd-5wv7dgnIgG8
Hi,
On Wed, Feb 15, 2017 at 05:55:28PM +0100, Andreas Färber wrote:
> +#include "s900.dtsi"
> +
> +/ {
> + compatible = "ucrobotics,bubblegum-96", "acts,s900";
> + model = "Bubblegum-96";
> +
> + aliases {
> + serial5 = &uart5;
> + };
> +
> + chosen {
> + stdout-path = "serial5:115200n8";
> + };
> +};
I didn't spot a memory node here or in the dtsi. Does the FW/bootloader
create one?
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> + };
Why have this empty node?
> +
> + psci {
> + compatible = "arm,psci-0.2";
> + method = "smc";
> + };
> +
> + arm-pmu {
> + compatible = "arm,cortex-a53-pmu";
> + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> + };
Please ad an interrupt-affinity property, as described in
Documentation/devicetree/bindings/arm/pmu.txt.
> +
> + timer {
> + compatible = "arm,armv8-timer";
> + interrupts = <GIC_PPI 13
> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> + <GIC_PPI 14
> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> + <GIC_PPI 11
> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> + <GIC_PPI 10
> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
> + };
> +
> + soc {
> + compatible = "simple-bus";
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + gic: interrupt-controller@e00f1000 {
> + compatible = "arm,gic-400";
> + reg = <0x0 0xe00f1000 0x0 0x1000>,
> + <0x0 0xe00f2000 0x0 0x1000>,
> + <0x0 0xe00f4000 0x0 0x2000>,
> + <0x0 0xe00f6000 0x0 0x2000>;
I believe that the second entry should be 0x2000 in length.
Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
2017-02-15 17:07 ` Mark Rutland
@ 2017-02-15 17:28 ` Andreas Färber
[not found] ` <9dbb7749-a58b-9e18-33c9-fd004a713ed1-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 17:28 UTC (permalink / raw)
To: Mark Rutland
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg, info-Ty1hIZOCd2XuufBYgWm87A,
support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Russell King,
devicetree-u79uwXL29TY76Z2rM5mHXA, nd-5wv7dgnIgG8
Hi Mark,
Am 15.02.2017 um 18:07 schrieb Mark Rutland:
> On Wed, Feb 15, 2017 at 05:55:25PM +0100, Andreas Färber wrote:
>> + arm-pmu {
>> + compatible = "arm,cortex-a9-pmu";
>> + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>> + };
>
> Please add an interrupt-affinity property, as described in
> Documentation/devicetree/bindings/arm/pmu.txt
That's not in the vendor tree... My guess is it would be like this then?
diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
index ee93984..959c6e3 100644
--- a/arch/arm/boot/dts/s500.dtsi
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -82,7 +82,8 @@
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
- };
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
soc {
compatible = "simple-bus";
(also fixing indentation)
Thanks for pointing out,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
[not found] ` <9dbb7749-a58b-9e18-33c9-fd004a713ed1-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 17:36 ` Mark Rutland
0 siblings, 0 replies; 17+ messages in thread
From: Mark Rutland @ 2017-02-15 17:36 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg, info-Ty1hIZOCd2XuufBYgWm87A,
support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Russell King,
devicetree-u79uwXL29TY76Z2rM5mHXA, nd-5wv7dgnIgG8
On Wed, Feb 15, 2017 at 06:28:31PM +0100, Andreas Färber wrote:
> Hi Mark,
>
> Am 15.02.2017 um 18:07 schrieb Mark Rutland:
> > On Wed, Feb 15, 2017 at 05:55:25PM +0100, Andreas Färber wrote:
> >> + arm-pmu {
> >> + compatible = "arm,cortex-a9-pmu";
> >> + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
> >> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
> >> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
> >> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> >> + };
> >
> > Please add an interrupt-affinity property, as described in
> > Documentation/devicetree/bindings/arm/pmu.txt
>
> That's not in the vendor tree... My guess is it would be like this then?
>
> diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
> index ee93984..959c6e3 100644
> --- a/arch/arm/boot/dts/s500.dtsi
> +++ b/arch/arm/boot/dts/s500.dtsi
> @@ -82,7 +82,8 @@
> <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> - };
> + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> + };
Assuming that's how they're wired up, yes.
You should be able to test this by using perf record in per-cpu mode,
on an application with its affintiy fixed to a particular CPU, and
verifying that overflow interrupts are recevied on the same CPU.
Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
2017-02-15 17:12 ` Mark Rutland
@ 2017-02-15 18:14 ` Andreas Färber
[not found] ` <267b586e-06ce-f123-b7cc-dc0feb880ca9-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 17+ messages in thread
From: Andreas Färber @ 2017-02-15 18:14 UTC (permalink / raw)
To: Mark Rutland
Cc: linux-arm-kernel, mp-cs, info, linux-kernel, Rob Herring,
Catalin Marinas, Will Deacon, devicetree, nd
Hi,
Am 15.02.2017 um 18:12 schrieb Mark Rutland:
> On Wed, Feb 15, 2017 at 05:55:28PM +0100, Andreas Färber wrote:
>> +#include "s900.dtsi"
>> +
>> +/ {
>> + compatible = "ucrobotics,bubblegum-96", "acts,s900";
>> + model = "Bubblegum-96";
>> +
>> + aliases {
>> + serial5 = &uart5;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial5:115200n8";
>> + };
>> +};
>
> I didn't spot a memory node here or in the dtsi. Does the FW/bootloader
> create one?
Heh, apparently... For S500, skeleton.dtsi added that - not entirely
clean either. I'll add one here in the .dts and think about adding one
in s500-guitar.dtsi as well.
--- a/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum96.dts
@@ -55,6 +55,11 @@
chosen {
stdout-path = "serial5:115200n8";
};
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x80000000>;
+ };
};
&uart5 {
>> + reserved-memory {
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> + };
>
> Why have this empty node?
Forgotten about... I see these:
reserving fdt memory region: addr=19000000 size=3000000
reserving fdt memory region: addr=20000000 size=20000000
reserving fdt memory region: addr=18fff000 size=1000
reserving fdt memory region: addr=1f000000 size=1000000
Vendor tree says 0x1f000000 is for secure monitor; 0x19000000 for fb,
0x20000000 for ion (ignoring), and 0x20000000 for afinfo - whatever that
may be (not me! :)).
So as minimum:
--- a/arch/arm64/boot/dts/actions/s900.dtsi
+++ b/arch/arm64/boot/dts/actions/s900.dtsi
@@ -86,6 +86,11 @@
#address-cells = <2>;
#size-cells = <2>;
ranges;
+
+ secmon@1f000000 {
+ reg = <0x0 0x1f000000 0x0 0x1000000>;
+ no-map;
+ };
};
psci {
>> +
>> + psci {
>> + compatible = "arm,psci-0.2";
>> + method = "smc";
>> + };
>> +
>> + arm-pmu {
>> + compatible = "arm,cortex-a53-pmu";
>> + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>> + };
>
> Please ad an interrupt-affinity property, as described in
> Documentation/devicetree/bindings/arm/pmu.txt.
I had done my best to check my properties matched the bindings, but you
caught me not checking for any missing properties.
Again, my guess is:
@@ -99,6 +104,7 @@
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
timer {
>> +
>> + timer {
>> + compatible = "arm,armv8-timer";
>> + interrupts = <GIC_PPI 13
>> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> + <GIC_PPI 14
>> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> + <GIC_PPI 11
>> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> + <GIC_PPI 10
>> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
>> + };
>> +
>> + soc {
>> + compatible = "simple-bus";
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> +
>> + gic: interrupt-controller@e00f1000 {
>> + compatible = "arm,gic-400";
>> + reg = <0x0 0xe00f1000 0x0 0x1000>,
>> + <0x0 0xe00f2000 0x0 0x1000>,
>> + <0x0 0xe00f4000 0x0 0x2000>,
>> + <0x0 0xe00f6000 0x0 0x2000>;
>
> I believe that the second entry should be 0x2000 in length.
The vendor tree does have 0x1000, but that might be a mistake of course.
I vaguely recall having such discussions elsewhere in the past.
@@ -122,7 +128,7 @@
gic: interrupt-controller@e00f1000 {
compatible = "arm,gic-400";
reg = <0x0 0xe00f1000 0x0 0x1000>,
- <0x0 0xe00f2000 0x0 0x1000>,
+ <0x0 0xe00f2000 0x0 0x2000>,
<0x0 0xe00f4000 0x0 0x2000>,
<0x0 0xe00f6000 0x0 0x2000>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4)
| IRQ_TYPE_LEVEL_LOW)>;
Thanks for the quick review,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
[not found] ` <267b586e-06ce-f123-b7cc-dc0feb880ca9-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-15 18:23 ` Mark Rutland
0 siblings, 0 replies; 17+ messages in thread
From: Mark Rutland @ 2017-02-15 18:23 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg, info-Ty1hIZOCd2XuufBYgWm87A,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Catalin Marinas,
Will Deacon, devicetree-u79uwXL29TY76Z2rM5mHXA, nd-5wv7dgnIgG8
Hi,
On Wed, Feb 15, 2017 at 07:14:14PM +0100, Andreas Färber wrote:
> Am 15.02.2017 um 18:12 schrieb Mark Rutland:
> > On Wed, Feb 15, 2017 at 05:55:28PM +0100, Andreas Färber wrote:
> >> + reserved-memory {
> >> + #address-cells = <2>;
> >> + #size-cells = <2>;
> >> + ranges;
> >> + };
> >
> > Why have this empty node?
>
> Forgotten about... I see these:
>
> reserving fdt memory region: addr=19000000 size=3000000
> reserving fdt memory region: addr=20000000 size=20000000
> reserving fdt memory region: addr=18fff000 size=1000
> reserving fdt memory region: addr=1f000000 size=1000000
>
> Vendor tree says 0x1f000000 is for secure monitor; 0x19000000 for fb,
> 0x20000000 for ion (ignoring), and 0x20000000 for afinfo - whatever that
> may be (not me! :)).
>
> So as minimum:
>
> --- a/arch/arm64/boot/dts/actions/s900.dtsi
> +++ b/arch/arm64/boot/dts/actions/s900.dtsi
> @@ -86,6 +86,11 @@
> #address-cells = <2>;
> #size-cells = <2>;
> ranges;
> +
> + secmon@1f000000 {
> + reg = <0x0 0x1f000000 0x0 0x1000000>;
> + no-map;
> + };
> };
>
> psci {
Once you've added that node, could you try booting with "memtest" on the
command line?
Assuming CONFIG_MEMTEST is enabled, that'll go and verify that the
kernel can access all of the (unresereved) memory without issues, which
should save us lots of pain later on if there's something else that
needs to be reserved.
> >> + timer {
> >> + compatible = "arm,armv8-timer";
> >> + interrupts = <GIC_PPI 13
> >> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> >> + <GIC_PPI 14
> >> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> >> + <GIC_PPI 11
> >> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
> >> + <GIC_PPI 10
> >> + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
> >> + };
> >> +
> >> + soc {
> >> + compatible = "simple-bus";
> >> + #address-cells = <2>;
> >> + #size-cells = <2>;
> >> + ranges;
> >> +
> >> + gic: interrupt-controller@e00f1000 {
> >> + compatible = "arm,gic-400";
> >> + reg = <0x0 0xe00f1000 0x0 0x1000>,
> >> + <0x0 0xe00f2000 0x0 0x1000>,
> >> + <0x0 0xe00f4000 0x0 0x2000>,
> >> + <0x0 0xe00f6000 0x0 0x2000>;
> >
> > I believe that the second entry should be 0x2000 in length.
>
> The vendor tree does have 0x1000, but that might be a mistake of course.
> I vaguely recall having such discussions elsewhere in the past.
It is a mistake, and a common one [1] at that! :)
Thanks,
Mark.
[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2017-January/480590.html
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 16:55 ` [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar Andreas Färber
2017-02-15 16:55 ` [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900 Andreas Färber
@ 2017-02-16 13:46 ` Arnd Bergmann
2 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:46 UTC (permalink / raw)
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Andreas Färber, support-8Vy/tIz7429AfugRpC6u6w,
devicetree-u79uwXL29TY76Z2rM5mHXA, info-Ty1hIZOCd2XuufBYgWm87A,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
contact-CO9UH4nLugWa1hIE42aguQ
On Wednesday, February 15, 2017 5:55:17 PM CET Andreas Färber wrote:
> Hello,
>
> Based on earlier work of mine for the LeMaker Guitar, this series adds initial
> support for the Actions Semiconductor S500 (ARMv7) and S900 (ARMv8) SoCs.
>
> Despite Actions Semi being a Linaro member since 2015, sadly I have not seen
> a single upstream kernel patch submission since. Nor has the XApple community
> taken any such initiative.
>
> The GitHub LeMaker/linux-actions and xapp-le/kernel trees have 3.10 based S500
> drivers in arch/arm/mach-owl/, whereas the 96boards-bubblegum/linux tree has
> new-style but still 3.10 based S900 drivers. I also spotted GPLv2+ vs. GPLv2
> license differences.
>
> This series therefore provides a proof of concept for a combined S500 and S900
> mainline implementation. Only earlycon serial output is available for now.
>
> Focusing on Bubblegum-96, no S500 clocksource implementation is provided yet,
> thus output on Guitar is less than on Bubblegum-96, but still it demonstrates
> that a single driver can be shared for both, using compatible strings for
> future differentiation.
Thanks for getting this started! It's unfortunately too late for 4.11 now,
but there should be no problem getting this merged into arm-soc early on
after the coming merge window.
I'd suggest keeping it as a set of patches for the moment, and we'll apply
them to the respective arm-soc branches as needed, with the exception of
the tty patch that should go through Greg's tree.
When you have addressed the review comments, please send the updated series
to arm-DgEjT+Ai2yi4UlQgPVntAg@public.gmane.org
Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
2017-02-15 16:55 ` [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar Andreas Färber
[not found] ` <20170215165528.10052-9-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-24 0:59 ` Andreas Färber
1 sibling, 0 replies; 17+ messages in thread
From: Andreas Färber @ 2017-02-24 0:59 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Mark Rutland, support, devicetree, linux-kernel, Russell King,
Rob Herring, mp-cs
Am 15.02.2017 um 17:55 schrieb Andreas Färber:
> + gic: interrupt-controller@b0021000 {
> + compatible = "arm,cortex-a9-gic";
> + reg = <0xb0021000 0x1000>,
> + <0xb0020100 0x0100>;
> + };
This was lacking:
interrupt-controller;
#interrupt-cells = <3>;
leading to a hang when mapping an irq.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
[not found] ` <20170215165528.10052-11-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2017-02-27 14:26 ` Rob Herring
0 siblings, 0 replies; 17+ messages in thread
From: Rob Herring @ 2017-02-27 14:26 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
contact-CO9UH4nLugWa1hIE42aguQ, mp-cs-/sSyCTpAT0ql5r2w9Jh5Rg,
info-Ty1hIZOCd2XuufBYgWm87A, support-8Vy/tIz7429AfugRpC6u6w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
devicetree-u79uwXL29TY76Z2rM5mHXA
On Wed, Feb 15, 2017 at 05:55:27PM +0100, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
> ---
> Documentation/devicetree/bindings/arm/acts.txt | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2017-02-27 14:26 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-15 16:55 [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
2017-02-15 16:55 ` [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi Andreas Färber
2017-02-15 16:55 ` [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500 Andreas Färber
2017-02-15 16:55 ` [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs Andreas Färber
2017-02-15 16:55 ` [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics Andreas Färber
[not found] ` <20170215165528.10052-1-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 16:55 ` [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar Andreas Färber
[not found] ` <20170215165528.10052-9-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 17:07 ` Mark Rutland
2017-02-15 17:28 ` Andreas Färber
[not found] ` <9dbb7749-a58b-9e18-33c9-fd004a713ed1-l3A5Bk7waGM@public.gmane.org>
2017-02-15 17:36 ` Mark Rutland
2017-02-24 0:59 ` Andreas Färber
2017-02-15 16:55 ` [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900 Andreas Färber
[not found] ` <20170215165528.10052-11-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-27 14:26 ` Rob Herring
2017-02-16 13:46 ` [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Arnd Bergmann
2017-02-15 16:55 ` [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96 Andreas Färber
[not found] ` <20170215165528.10052-12-afaerber-l3A5Bk7waGM@public.gmane.org>
2017-02-15 17:12 ` Mark Rutland
2017-02-15 18:14 ` Andreas Färber
[not found] ` <267b586e-06ce-f123-b7cc-dc0feb880ca9-l3A5Bk7waGM@public.gmane.org>
2017-02-15 18:23 ` Mark Rutland
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).