* [PATCH v3 01/25] dt-bindings: Add vendor prefix for Actions Semi
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 02/25] dt-bindings: arm: Document Actions Semi S500 Andreas Färber
` (12 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Rob Herring,
mp-cs, 96boards, Andreas Färber, linux-arm-kernel
Actions Semiconductor was listed on NASDAQ as ACTS until Dec 16, 2016.
Cc: mp-cs@actions-semi.com
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3:
* Fixed sort order after rename
v1 -> v2:
* Reverted from "acts" to "actions" (cf. IAP140 "mrvl" vs. "marvell")
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 a76b981..2f294c8 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -5,6 +5,7 @@ using them to avoid name-space collisions.
abcn Abracon Corporation
abilis Abilis Systems
+actions Actions Semiconductor Co., Ltd.
active-semi Active-Semi International Inc
ad Avionic Design GmbH
adapteva Adapteva, Inc.
--
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] 23+ messages in thread
* [PATCH v3 02/25] dt-bindings: arm: Document Actions Semi S500
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
2017-02-28 6:35 ` [PATCH v3 01/25] dt-bindings: Add vendor prefix for Actions Semi Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 03/25] dt-bindings: timer: Document Owl timer Andreas Färber
` (11 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Rob Herring,
mp-cs, 96boards, Andreas Färber, linux-arm-kernel
The Actions Semi S500 is a quad-core ARM Cortex-A9 SoC.
The LeMaker Guitar is an SODIMM-format module with that SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3: unchanged
v1 -> v2:
* Adopted "actions" vendor prefix
* Extended text
Documentation/devicetree/bindings/arm/actions.txt | 24 +++++++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/actions.txt
diff --git a/Documentation/devicetree/bindings/arm/actions.txt b/Documentation/devicetree/bindings/arm/actions.txt
new file mode 100644
index 0000000..1d3782e
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/actions.txt
@@ -0,0 +1,24 @@
+Actions Semi platforms device tree bindings
+-------------------------------------------
+
+
+S500 SoC
+========
+
+Required root node properties:
+
+ - compatible : must contain "actions,s500"
+
+
+Modules:
+
+Root node property compatible must contain, depending on module:
+
+ - LeMaker Guitar: "lemaker,guitar"
+
+
+Boards:
+
+Root node property compatible must contain, depending on board:
+
+ - LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
--
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] 23+ messages in thread
* [PATCH v3 03/25] dt-bindings: timer: Document Owl timer
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
2017-02-28 6:35 ` [PATCH v3 01/25] dt-bindings: Add vendor prefix for Actions Semi Andreas Färber
2017-02-28 6:35 ` [PATCH v3 02/25] dt-bindings: arm: Document Actions Semi S500 Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 12:39 ` Mark Rutland
2017-02-28 6:35 ` [PATCH v3 08/25] dt-bindings: serial: Document Actions Semi Owl UARTs Andreas Färber
` (10 subsequent siblings)
13 siblings, 1 reply; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Rob Herring,
mp-cs, 96boards, Andreas Färber, linux-arm-kernel
The Actions Semi S500 SoC contains a timer block with two 2 Hz and two
32-bit timers. The S900 SoC timer block has four 32-bit timers.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3:
* Adopted interrupt-names
* Changed compatible for S500
* Added S900 compatible and interrupt names
v2: new
.../devicetree/bindings/timer/actions,owl-timer.txt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt
diff --git a/Documentation/devicetree/bindings/timer/actions,owl-timer.txt b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
new file mode 100644
index 0000000..5b4834d
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
@@ -0,0 +1,20 @@
+Actions Semi Owl Timer
+
+Required properties:
+- compatible : "actions,s500-timer" for S500
+ "actions,s900-timer" for S900
+- reg : Offset and length of the register set for the device.
+- interrupts : Should contain the interrupts.
+- interrupt-names : Valid names are: "2Hz0", "2Hz1",
+ "Timer0", "Timer1", "Timer2", "Timer3"
+ See ../resource-names.txt
+
+Example:
+
+ timer@b0168000 {
+ compatible = "actions,s500-timer";
+ reg = <0xb0168000 0x100>;
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "Timer0", "Timer1";
+ };
--
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] 23+ messages in thread
* Re: [PATCH v3 03/25] dt-bindings: timer: Document Owl timer
2017-02-28 6:35 ` [PATCH v3 03/25] dt-bindings: timer: Document Owl timer Andreas Färber
@ 2017-02-28 12:39 ` Mark Rutland
2017-03-03 6:20 ` Rob Herring
0 siblings, 1 reply; 23+ messages in thread
From: Mark Rutland @ 2017-02-28 12:39 UTC (permalink / raw)
To: Andreas Färber
Cc: support, devicetree, linux-kernel, Rob Herring, arm, mp-cs,
96boards, linux-arm-kernel
On Tue, Feb 28, 2017 at 07:35:13AM +0100, Andreas Färber wrote:
> The Actions Semi S500 SoC contains a timer block with two 2 Hz and two
> 32-bit timers. The S900 SoC timer block has four 32-bit timers.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> v2 -> v3:
> * Adopted interrupt-names
> * Changed compatible for S500
> * Added S900 compatible and interrupt names
>
> v2: new
>
> .../devicetree/bindings/timer/actions,owl-timer.txt | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt
>
> diff --git a/Documentation/devicetree/bindings/timer/actions,owl-timer.txt b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
> new file mode 100644
> index 0000000..5b4834d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
> @@ -0,0 +1,20 @@
> +Actions Semi Owl Timer
> +
> +Required properties:
> +- compatible : "actions,s500-timer" for S500
> + "actions,s900-timer" for S900
> +- reg : Offset and length of the register set for the device.
> +- interrupts : Should contain the interrupts.
> +- interrupt-names : Valid names are: "2Hz0", "2Hz1",
> + "Timer0", "Timer1", "Timer2", "Timer3"
Sticking to lower case for the names would be preferable.
Otherwise, this looks fine.
Mark,.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 03/25] dt-bindings: timer: Document Owl timer
2017-02-28 12:39 ` Mark Rutland
@ 2017-03-03 6:20 ` Rob Herring
2017-03-03 21:36 ` Andreas Färber
0 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2017-03-03 6:20 UTC (permalink / raw)
To: Mark Rutland
Cc: support, devicetree, linux-kernel, arm, mp-cs, 96boards,
Andreas Färber, linux-arm-kernel
On Tue, Feb 28, 2017 at 12:39:08PM +0000, Mark Rutland wrote:
> On Tue, Feb 28, 2017 at 07:35:13AM +0100, Andreas Färber wrote:
> > The Actions Semi S500 SoC contains a timer block with two 2 Hz and two
> > 32-bit timers. The S900 SoC timer block has four 32-bit timers.
> >
> > Signed-off-by: Andreas Färber <afaerber@suse.de>
> > ---
> > v2 -> v3:
> > * Adopted interrupt-names
> > * Changed compatible for S500
> > * Added S900 compatible and interrupt names
> >
> > v2: new
> >
> > .../devicetree/bindings/timer/actions,owl-timer.txt | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt
> >
> > diff --git a/Documentation/devicetree/bindings/timer/actions,owl-timer.txt b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
> > new file mode 100644
> > index 0000000..5b4834d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
> > @@ -0,0 +1,20 @@
> > +Actions Semi Owl Timer
> > +
> > +Required properties:
> > +- compatible : "actions,s500-timer" for S500
> > + "actions,s900-timer" for S900
> > +- reg : Offset and length of the register set for the device.
> > +- interrupts : Should contain the interrupts.
> > +- interrupt-names : Valid names are: "2Hz0", "2Hz1",
> > + "Timer0", "Timer1", "Timer2", "Timer3"
>
> Sticking to lower case for the names would be preferable.
With that,
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 03/25] dt-bindings: timer: Document Owl timer
2017-03-03 6:20 ` Rob Herring
@ 2017-03-03 21:36 ` Andreas Färber
0 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-03-03 21:36 UTC (permalink / raw)
To: Rob Herring, Mark Rutland
Cc: support, devicetree, linux-kernel, arm, mp-cs, 96boards,
linux-arm-kernel
Am 03.03.2017 um 07:20 schrieb Rob Herring:
> On Tue, Feb 28, 2017 at 12:39:08PM +0000, Mark Rutland wrote:
>> On Tue, Feb 28, 2017 at 07:35:13AM +0100, Andreas Färber wrote:
>>> The Actions Semi S500 SoC contains a timer block with two 2 Hz and two
>>> 32-bit timers. The S900 SoC timer block has four 32-bit timers.
>>>
>>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>>> ---
>>> v2 -> v3:
>>> * Adopted interrupt-names
>>> * Changed compatible for S500
>>> * Added S900 compatible and interrupt names
>>>
>>> v2: new
>>>
>>> .../devicetree/bindings/timer/actions,owl-timer.txt | 20 ++++++++++++++++++++
>>> 1 file changed, 20 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/timer/actions,owl-timer.txt b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
>>> new file mode 100644
>>> index 0000000..5b4834d
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/timer/actions,owl-timer.txt
>>> @@ -0,0 +1,20 @@
>>> +Actions Semi Owl Timer
>>> +
>>> +Required properties:
>>> +- compatible : "actions,s500-timer" for S500
>>> + "actions,s900-timer" for S900
>>> +- reg : Offset and length of the register set for the device.
>>> +- interrupts : Should contain the interrupts.
>>> +- interrupt-names : Valid names are: "2Hz0", "2Hz1",
>>> + "Timer0", "Timer1", "Timer2", "Timer3"
>>
>> Sticking to lower case for the names would be preferable.
Done.
> With that,
>
> Acked-by: Rob Herring <robh@kernel.org>
Thanks,
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] 23+ messages in thread
* [PATCH v3 08/25] dt-bindings: serial: Document Actions Semi Owl UARTs
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (2 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 03/25] dt-bindings: timer: Document Owl timer Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar Andreas Färber
` (9 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, Greg Kroah-Hartman,
linux-kernel, Rob Herring, mp-cs, linux-serial, 96boards,
Andreas Färber, linux-arm-kernel
This UART is found on S500 and S900 SoCs.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3: unchanged
v1 -> v2:
* Adopted "actions" vendor prefix
.../devicetree/bindings/serial/actions,owl-uart.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 Documentation/devicetree/bindings/serial/actions,owl-uart.txt
diff --git a/Documentation/devicetree/bindings/serial/actions,owl-uart.txt b/Documentation/devicetree/bindings/serial/actions,owl-uart.txt
new file mode 100644
index 0000000..aa873ea
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/actions,owl-uart.txt
@@ -0,0 +1,16 @@
+Actions Semi Owl UART
+
+Required properties:
+- compatible : "actions,s500-uart", "actions,owl-uart" for S500
+ "actions,s900-uart", "actions,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 = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb0126000 0x1000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ };
--
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] 23+ messages in thread
* [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (3 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 08/25] dt-bindings: serial: Document Actions Semi Owl UARTs Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 12:32 ` Mark Rutland
2017-02-28 6:35 ` [PATCH v3 12/25] dt-bindings: Add vendor prefix for uCRobotics Andreas Färber
` (8 subsequent siblings)
13 siblings, 1 reply; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Russell King,
Rob Herring, mp-cs, 96boards, Andreas Färber,
linux-arm-kernel
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
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 | 24 ++++
arch/arm/boot/dts/s500.dtsi | 170 +++++++++++++++++++++++++++++
4 files changed, 222 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..578a20b 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_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 0000000..834b71d
--- /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 0000000..31c5def
--- /dev/null
+++ b/arch/arm/boot/dts/s500-guitar.dtsi
@@ -0,0 +1,24 @@
+/*
+ * 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";
+
+ /delete-node/ memory;
+
+ 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 0000000..1973181
--- /dev/null
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -0,0 +1,170 @@
+/*
+ * Actions Semi S500 SoC
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+#include "skeleton.dtsi"
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "actions,s500";
+ interrupt-parent = <&gic>;
+
+ 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 = <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>;
+ 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 = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ status = "disabled";
+ };
+
+ twd_timer: timer@b0020600 {
+ compatible = "arm,cortex-a9-twd-timer";
+ reg = <0xb0020600 0x20>;
+ interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ status = "disabled";
+ };
+
+ twd_wdt: wdt@b0020620 {
+ compatible = "arm,cortex-a9-twd-wdt";
+ reg = <0xb0020620 0xe0>;
+ interrupts = <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ 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 = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ 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 = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart1: serial@b0122000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb0122000 0x2000>;
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart2: serial@b0124000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb0124000 0x2000>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart3: serial@b0126000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb0126000 0x2000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart4: serial@b0128000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb0128000 0x2000>;
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart5: serial@b012a000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb012a000 0x2000>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart6: serial@b012c000 {
+ compatible = "actions,s500-uart", "actions,owl-uart";
+ reg = <0xb012c000 0x2000>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ timer: timer@b0168000 {
+ compatible = "actions,s500-timer", "actions,owl-timer";
+ reg = <0xb0168000 0x8000>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "2Hz0", "2Hz1", "Timer0", "Timer1";
+ };
+ };
+};
--
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] 23+ messages in thread
* Re: [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar
2017-02-28 6:35 ` [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar Andreas Färber
@ 2017-02-28 12:32 ` Mark Rutland
2017-02-28 15:13 ` Andreas Färber
0 siblings, 1 reply; 23+ messages in thread
From: Mark Rutland @ 2017-02-28 12:32 UTC (permalink / raw)
To: Andreas Färber
Cc: support, devicetree, linux-kernel, Rob Herring, Russell King, arm,
mp-cs, 96boards, linux-arm-kernel
Hi,
On Tue, Feb 28, 2017 at 07:35:21AM +0100, Andreas Färber wrote:
> +/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";
> +};
> +#include "s500.dtsi"
> +
> +/ {
> + compatible = "lemaker,guitar", "actions,s500";
> +
> + /delete-node/ memory;
Eww. Is this just bodging around skeleton.dtsi?
> +
> + memory@0 {
> + device_type = "memory";
> + reg = <0x0 0x40000000>;
> + };
> +};
> +#include "skeleton.dtsi"
Please don't include skeleton.dtsi. Please add the relevant nodes and
properties explciitly to your dts{i,} files.
> +
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
Please define your #address-cells and #size-cells here.
If you want, add an empty /chosen node (not strictly necessary since
your dts file has a non-empty one anyhow).
Thanks,
Mark.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar
2017-02-28 12:32 ` Mark Rutland
@ 2017-02-28 15:13 ` Andreas Färber
2017-03-01 18:43 ` Mark Rutland
0 siblings, 1 reply; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 15:13 UTC (permalink / raw)
To: Mark Rutland, Arnd Bergmann
Cc: support, devicetree, linux-kernel, Rob Herring, Russell King,
outreachy-kernel, arm, mp-cs, 96boards, linux-arm-kernel
Hi Mark,
Am 28.02.2017 um 13:32 schrieb Mark Rutland:
> On Tue, Feb 28, 2017 at 07:35:21AM +0100, Andreas Färber wrote:
>> +/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";
>> +};
>
>> +#include "s500.dtsi"
>> +
>> +/ {
>> + compatible = "lemaker,guitar", "actions,s500";
>> +
>> + /delete-node/ memory;
>
> Eww. Is this just bodging around skeleton.dtsi?
I guess so: Working around its hardcoded name without unit address, not
finding a /rename-node/ to that effect.
>> +
>> + memory@0 {
>> + device_type = "memory";
>> + reg = <0x0 0x40000000>;
>> + };
>> +};
>
>> +#include "skeleton.dtsi"
>
> Please don't include skeleton.dtsi.
Wasn't aware that was permissible. I now see it has been updated with a
textual comment, which predates my past uses of skeleton.dtsi - for
other pending work such as FM4 and XMC4500 I only noticed it was moved
out of armv7m.dtsi so that dtc started spewing scary messages. ;)
A #warning might be a more effective way to make people aware of its
deprecation - but sadly we have users that predate #include:
$ git grep /include/ -- arch/arm/boot/dts/ | grep skeleton.dtsi | wc --lines
32
$ git grep /include/ -- arch/arm/boot/dts/ | grep skeleton64.dtsi | wc
--lines
0
$ git grep skeleton -- arch/arm/boot/dts/ | wc --lines
117
Might updating those 32 users be a suitable Outreachy project (CC'ed),
to then get the remaining 85 occurrences to be eliminated by their
maintainers, so that it doesn't get copied for new SoCs any more? :)
> Please add the relevant nodes and
> properties explciitly to your dts{i,} files.
Great, will do.
But this series has grown too large to resend just for such nits. Is
there a chance we can get initial patches queued on some arm-soc
for-next branch soonish? It seems -rc1 pulls were merged 5 days ago?
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar
2017-02-28 15:13 ` Andreas Färber
@ 2017-03-01 18:43 ` Mark Rutland
0 siblings, 0 replies; 23+ messages in thread
From: Mark Rutland @ 2017-03-01 18:43 UTC (permalink / raw)
To: Andreas Färber
Cc: support, Arnd Bergmann, devicetree, linux-kernel, Rob Herring,
Russell King, outreachy-kernel, arm, mp-cs, 96boards,
linux-arm-kernel
On Tue, Feb 28, 2017 at 04:13:00PM +0100, Andreas Färber wrote:
> Am 28.02.2017 um 13:32 schrieb Mark Rutland:
> > On Tue, Feb 28, 2017 at 07:35:21AM +0100, Andreas Färber wrote:
> >> +#include "skeleton.dtsi"
> >
> > Please don't include skeleton.dtsi.
>
> Wasn't aware that was permissible. I now see it has been updated with a
> textual comment, which predates my past uses of skeleton.dtsi - for
> other pending work such as FM4 and XMC4500 I only noticed it was moved
> out of armv7m.dtsi so that dtc started spewing scary messages. ;)
>
> A #warning might be a more effective way to make people aware of its
> deprecation - but sadly we have users that predate #include:
>
> $ git grep /include/ -- arch/arm/boot/dts/ | grep skeleton.dtsi | wc --lines
> 32
> $ git grep /include/ -- arch/arm/boot/dts/ | grep skeleton64.dtsi | wc
> --lines
> 0
> $ git grep skeleton -- arch/arm/boot/dts/ | wc --lines
> 117
I deliberately didn't go that route, since people would blindly fix up
the warning and mess it up (e.g. forgetting to add the required nodes).
While it should be avoided for new dts, it's largely not problematic for
old dts, and we can fix those up at our leisure.
> > Please add the relevant nodes and
> > properties explciitly to your dts{i,} files.
>
> Great, will do.
>
> But this series has grown too large to resend just for such nits. Is
> there a chance we can get initial patches queued on some arm-soc
> for-next branch soonish? It seems -rc1 pulls were merged 5 days ago?
There seem to be other comments on this series, and I was under the
impression that arm-soc generally pulled branches.
Even if you're not going to repost, surely you can fold in the fixup
before sending the pull request?
Thanks,
Mark.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v3 12/25] dt-bindings: Add vendor prefix for uCRobotics
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (4 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 11/25] ARM: dts: Add Actions Semi S500 and LeMaker Guitar Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 13/25] dt-bindings: arm: Document Actions Semi S900 Andreas Färber
` (7 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Rob Herring,
mp-cs, 96boards, Andreas Färber, linux-arm-kernel
Cc: 96boards@ucrobotics.com
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v1 -> v2 -> v3: unchanged
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 2f294c8..44232c2 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -320,6 +320,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
_______________________________________________
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] 23+ messages in thread
* [PATCH v3 13/25] dt-bindings: arm: Document Actions Semi S900
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (5 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 12/25] dt-bindings: Add vendor prefix for uCRobotics Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 14/25] ARM64: dts: Add Actions Semi S900 and Bubblegum-96 Andreas Färber
` (6 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, linux-kernel, Rob Herring,
mp-cs, 96boards, Andreas Färber, linux-arm-kernel
The Actions Semi S900 is a quad-core ARM Cortex-A53 SoC.
The Bubblegum-96 is a 96Boards Consumer Edition compliant board (4/96).
Cc: 96boards@ucrobotics.com
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3: unchanged
v1 -> v2:
* Adopted "actions" vendor prefix
* Extended text
Documentation/devicetree/bindings/arm/actions.txt | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/actions.txt b/Documentation/devicetree/bindings/arm/actions.txt
index 1d3782e..3bc7ea5 100644
--- a/Documentation/devicetree/bindings/arm/actions.txt
+++ b/Documentation/devicetree/bindings/arm/actions.txt
@@ -22,3 +22,18 @@ Boards:
Root node property compatible must contain, depending on board:
- LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
+
+
+S900 SoC
+========
+
+Required root node properties:
+
+- compatible : must contain "actions,s900"
+
+
+Boards:
+
+Root node property compatible must contain, depending on board:
+
+ - uCRobotics Bubblegum-96: "ucrobotics,bubblegum-96"
--
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] 23+ messages in thread
* [PATCH v3 14/25] ARM64: dts: Add Actions Semi S900 and Bubblegum-96
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (6 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 13/25] dt-bindings: arm: Document Actions Semi S900 Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 17/25] ARM64: dts: actions: s900-bubblegum-96: Add fake uart5 clock Andreas Färber
` (5 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: Mark Rutland, support, devicetree, Catalin Marinas, Will Deacon,
linux-kernel, Rob Herring, mp-cs, 96boards, Andreas Färber,
linux-arm-kernel
UART0/1/4/6 interrupts are guesses.
Cc: 96boards@ucrobotics.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3:
* Added remaining UART nodes -- some interrupts are guesses
* Added timer node -- only TIMER1 interrupt known
v1 -> v2:
* Reworded subject
* Added memory@0 node for Bubblegum-96 (Mark)
* Filled in reserved-memory sub-node for Bubblegum-96 (Mark)
* Added arm-pmu interrupt-affinity property (Mark)
* Changed second GIC reg size 0x1000 -> 0x2000 for Bubblegum-96 (Mark)
* Updated ARCH_OWL to ARCH_ACTIONS (Arnd)
* Renamed s900-bubblegum96.dts to s900-bubblegum-96.dts
* Adopted "actions" vendor prefix
* Dropped irq.h include
* Adopted SPDX-License-Identifier (Rob)
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/actions/Makefile | 5 +
arch/arm64/boot/dts/actions/s900-bubblegum-96.dts | 35 +++++
arch/arm64/boot/dts/actions/s900.dtsi | 164 ++++++++++++++++++++++
4 files changed, 205 insertions(+)
create mode 100644 arch/arm64/boot/dts/actions/Makefile
create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum-96.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..62922d6
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/Makefile
@@ -0,0 +1,5 @@
+dtb-$(CONFIG_ARCH_ACTIONS) += s900-bubblegum-96.dtb
+
+always := $(dtb-y)
+subdir-y := $(dts-dirs)
+clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
new file mode 100644
index 0000000..a0c3484
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "s900.dtsi"
+
+/ {
+ compatible = "ucrobotics,bubblegum-96", "actions,s900";
+ model = "Bubblegum-96";
+
+ aliases {
+ serial5 = &uart5;
+ };
+
+ chosen {
+ stdout-path = "serial5:115200n8";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x80000000>;
+ };
+};
+
+&timer {
+ clocks = <&hosc>;
+};
+
+&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..6048651
--- /dev/null
+++ b/arch/arm64/boot/dts/actions/s900.dtsi
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "actions,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;
+
+ secmon@1f000000 {
+ reg = <0x0 0x1f000000 0x0 0x1000000>;
+ no-map;
+ };
+ };
+
+ 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>;
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
+
+ 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)>;
+ };
+
+ hosc: hosc {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ #clock-cells = <0>;
+ };
+
+ 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 0x2000>,
+ <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>;
+ };
+
+ uart0: serial@e0120000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe0120000 0x0 0x2000>;
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart1: serial@e0122000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe0122000 0x0 0x2000>;
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart2: serial@e0124000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe0124000 0x0 0x2000>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart3: serial@e0126000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe0126000 0x0 0x2000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart4: serial@e0128000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe0128000 0x0 0x2000>;
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart5: serial@e012a000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe012a000 0x0 0x2000>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ uart6: serial@e012c000 {
+ compatible = "actions,s900-uart", "actions,owl-uart";
+ reg = <0x0 0xe012c000 0x0 0x2000>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ timer: timer@e0228000 {
+ compatible = "actions,s900-timer";
+ reg = <0x0 0xe0228000 0x0 0x8000>;
+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "Timer1";
+ };
+ };
+};
--
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] 23+ messages in thread
* [PATCH v3 17/25] ARM64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (7 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 14/25] ARM64: dts: Add Actions Semi S900 and Bubblegum-96 Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 18/25] ARM: dts: s500-guitar-bb-rev-b: Add fake uart3 clock Andreas Färber
` (4 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, Catalin Marinas,
Will Deacon, devicetree
Give the serial driver a fixed-clock as input for baudrate 115200.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3: unchanged
v2: new
arch/arm64/boot/dts/actions/s900-bubblegum-96.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
index a0c3484..21ca80f 100644
--- a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
+++ b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
@@ -24,6 +24,12 @@
device_type = "memory";
reg = <0x0 0x0 0x0 0x80000000>;
};
+
+ uart5_clk: uart5-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <921600>;
+ #clock-cells = <0>;
+ };
};
&timer {
@@ -32,4 +38,5 @@
&uart5 {
status = "okay";
+ clocks = <&uart5_clk>;
};
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 18/25] ARM: dts: s500-guitar-bb-rev-b: Add fake uart3 clock
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (8 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 17/25] ARM64: dts: actions: s900-bubblegum-96: Add fake uart5 clock Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 19/25] dt-bindings: arm: cpus: Add S500 enable-method Andreas Färber
` (3 subsequent siblings)
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, Russell King,
devicetree
Add a fixed-clock for baudrate 115200.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v2 -> v3: unchanged
v2: new
arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
index 834b71d..f6fd10a 100644
--- a/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
+++ b/arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
@@ -19,8 +19,15 @@
chosen {
stdout-path = "serial3:115200n8";
};
+
+ uart3_clk: uart3-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <921600>;
+ #clock-cells = <0>;
+ };
};
&uart3 {
status = "okay";
+ clocks = <&uart3_clk>;
};
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 19/25] dt-bindings: arm: cpus: Add S500 enable-method
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (9 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 18/25] ARM: dts: s500-guitar-bb-rev-b: Add fake uart3 clock Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-03-03 6:21 ` Rob Herring
2017-02-28 6:35 ` [PATCH v3 21/25] ARM: dts: s500: Set CPU enable-method Andreas Färber
` (2 subsequent siblings)
13 siblings, 1 reply; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, devicetree
The Actions Semi S500 SoC requires a special secondary CPU boot procedure.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v3: new
Documentation/devicetree/bindings/arm/cpus.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index 698ad1f0..e3e1e2f 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -192,6 +192,7 @@ nodes to be present and contain the properties described below.
"spin-table"
# On ARM 32-bit systems this property is optional and
can be one of:
+ "actions,s500-smp"
"allwinner,sun6i-a31"
"allwinner,sun8i-a23"
"arm,realview-smp"
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH v3 19/25] dt-bindings: arm: cpus: Add S500 enable-method
2017-02-28 6:35 ` [PATCH v3 19/25] dt-bindings: arm: cpus: Add S500 enable-method Andreas Färber
@ 2017-03-03 6:21 ` Rob Herring
0 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2017-03-03 6:21 UTC (permalink / raw)
To: Andreas Färber
Cc: Mark Rutland, support, devicetree, linux-kernel, arm, mp-cs,
96boards, linux-arm-kernel
On Tue, Feb 28, 2017 at 07:35:29AM +0100, Andreas Färber wrote:
> The Actions Semi S500 SoC requires a special secondary CPU boot procedure.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> v3: new
>
> Documentation/devicetree/bindings/arm/cpus.txt | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v3 21/25] ARM: dts: s500: Set CPU enable-method
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (10 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 19/25] dt-bindings: arm: cpus: Add S500 enable-method Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-02-28 6:35 ` [PATCH v3 22/25] dt-bindings: power: Add Owl SPS power domains Andreas Färber
2017-02-28 6:35 ` [PATCH v3 24/25] ARM: dts: s500: Add SPS node Andreas Färber
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, Russell King,
devicetree
Use a custom S500 enable-method for all CPUs.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v3: new
arch/arm/boot/dts/s500.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
index 1973181..b4ebd27 100644
--- a/arch/arm/boot/dts/s500.dtsi
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -22,24 +22,28 @@
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x0>;
+ enable-method = "actions,s500-smp";
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x1>;
+ enable-method = "actions,s500-smp";
};
cpu2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x2>;
+ enable-method = "actions,s500-smp";
};
cpu3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x3>;
+ enable-method = "actions,s500-smp";
};
};
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 22/25] dt-bindings: power: Add Owl SPS power domains
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (11 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 21/25] ARM: dts: s500: Set CPU enable-method Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
2017-03-03 6:21 ` Rob Herring
2017-02-28 6:35 ` [PATCH v3 24/25] ARM: dts: s500: Add SPS node Andreas Färber
13 siblings, 1 reply; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, devicetree
Define power domains for all non-reserved S500 power gates.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v3: new
.../devicetree/bindings/power/actions,owl-sps.txt | 17 +++++++++++++++++
include/dt-bindings/power/s500-powergate.h | 19 +++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/actions,owl-sps.txt
create mode 100644 include/dt-bindings/power/s500-powergate.h
diff --git a/Documentation/devicetree/bindings/power/actions,owl-sps.txt b/Documentation/devicetree/bindings/power/actions,owl-sps.txt
new file mode 100644
index 0000000..c5eed06
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/actions,owl-sps.txt
@@ -0,0 +1,17 @@
+Actions Semi Owl Smart Power System (SPS)
+
+Required properties:
+- compatible : "actions,s500-sps" for S500
+- reg : Offset and length of the register set for the device.
+- #power-domain-cells : Must be 1.
+ See macros in:
+ include/dt-bindings/power/s500-powergate.h for S500
+
+
+Example:
+
+ sps: power-controller@b01b0100 {
+ compatible = "actions,s500-sps";
+ reg = <0xb01b0100 0x100>;
+ #power-domain-cells = <1>;
+ };
diff --git a/include/dt-bindings/power/s500-powergate.h b/include/dt-bindings/power/s500-powergate.h
new file mode 100644
index 0000000..ccc4ac3
--- /dev/null
+++ b/include/dt-bindings/power/s500-powergate.h
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+#ifndef DT_BINDINGS_POWER_S500_POWERGATE_H
+#define DT_BINDINGS_POWER_S500_POWERGATE_H
+
+#define S500_PD_VDE 0
+#define S500_PD_VCE_SI 1
+#define S500_PD_USB2_1 2
+#define S500_PD_CPU2 3
+#define S500_PD_CPU3 4
+#define S500_PD_DMA 5
+#define S500_PD_DS 6
+#define S500_PD_USB3 7
+#define S500_PD_USB2_0 8
+
+#endif
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH v3 22/25] dt-bindings: power: Add Owl SPS power domains
2017-02-28 6:35 ` [PATCH v3 22/25] dt-bindings: power: Add Owl SPS power domains Andreas Färber
@ 2017-03-03 6:21 ` Rob Herring
0 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2017-03-03 6:21 UTC (permalink / raw)
To: Andreas Färber
Cc: Mark Rutland, support, devicetree, linux-kernel, arm, mp-cs,
96boards, linux-arm-kernel
On Tue, Feb 28, 2017 at 07:35:32AM +0100, Andreas Färber wrote:
> Define power domains for all non-reserved S500 power gates.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> v3: new
>
> .../devicetree/bindings/power/actions,owl-sps.txt | 17 +++++++++++++++++
> include/dt-bindings/power/s500-powergate.h | 19 +++++++++++++++++++
> 2 files changed, 36 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power/actions,owl-sps.txt
> create mode 100644 include/dt-bindings/power/s500-powergate.h
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v3 24/25] ARM: dts: s500: Add SPS node
2017-02-28 6:35 [PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement Andreas Färber
` (12 preceding siblings ...)
2017-02-28 6:35 ` [PATCH v3 22/25] dt-bindings: power: Add Owl SPS power domains Andreas Färber
@ 2017-02-28 6:35 ` Andreas Färber
13 siblings, 0 replies; 23+ messages in thread
From: Andreas Färber @ 2017-02-28 6:35 UTC (permalink / raw)
To: arm
Cc: linux-arm-kernel, mp-cs, 96boards, support, linux-kernel,
Andreas Färber, Rob Herring, Mark Rutland, Russell King,
devicetree
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
v3: new
arch/arm/boot/dts/s500.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/s500.dtsi b/arch/arm/boot/dts/s500.dtsi
index b4ebd27..e802896 100644
--- a/arch/arm/boot/dts/s500.dtsi
+++ b/arch/arm/boot/dts/s500.dtsi
@@ -9,6 +9,7 @@
#include "skeleton.dtsi"
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/power/s500-powergate.h>
/ {
compatible = "actions,s500";
@@ -37,6 +38,7 @@
compatible = "arm,cortex-a9";
reg = <0x2>;
enable-method = "actions,s500-smp";
+ power-domains = <&sps S500_PD_CPU2>;
};
cpu3: cpu@3 {
@@ -44,6 +46,7 @@
compatible = "arm,cortex-a9";
reg = <0x3>;
enable-method = "actions,s500-smp";
+ power-domains = <&sps S500_PD_CPU3>;
};
};
@@ -170,5 +173,11 @@
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "2Hz0", "2Hz1", "Timer0", "Timer1";
};
+
+ sps: power-controller@b01b0100 {
+ compatible = "actions,s500-sps";
+ reg = <0xb01b0100 0x100>;
+ #power-domain-cells = <1>;
+ };
};
};
--
2.10.2
^ permalink raw reply related [flat|nested] 23+ messages in thread