All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-15 16:55 ` Andreas Färber
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-15 16:55 ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

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 at actions-semi.com
Cc: info at ucrobotics.com
Cc: support at lemaker.org
Cc: contact at linux-xapple.org
Cc: devicetree at 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] 66+ messages in thread

* [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi
  2017-02-15 16:55 ` Andreas Färber
  (?)
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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

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

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 01/11] Documentation: devicetree: Add vendor prefix for Actions Semi
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Actions Semiconductor was listed on NASDAQ as ACTS until Dec 16, 2016.

Cc: mp-cs at 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

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 02/11] Documentation: devicetree: arm: Document Actions Semi S500
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

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] 66+ messages in thread

* [PATCH 03/11] ARM: Prepare Actions Semi S500
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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,
	Russell King

Add ARCH_OWL and mach-owl for "acts,s500".

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/Kconfig           |  2 ++
 arch/arm/Makefile          |  1 +
 arch/arm/mach-owl/Kconfig  |  9 +++++++++
 arch/arm/mach-owl/Makefile |  1 +
 arch/arm/mach-owl/owl.c    | 28 ++++++++++++++++++++++++++++
 5 files changed, 41 insertions(+)
 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

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 71cea9e..1ea1e54 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -795,6 +795,8 @@ source "arch/arm/mach-omap2/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-owl/Kconfig"
+
 source "arch/arm/mach-picoxcell/Kconfig"
 
 source "arch/arm/mach-pxa/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ab30cc6..de7fccf 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -195,6 +195,7 @@ machine-$(CONFIG_ARCH_OXNAS)		+= oxnas
 machine-$(CONFIG_ARCH_OMAP1)		+= omap1
 machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
 machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_OWL)		+= owl
 machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
 machine-$(CONFIG_ARCH_PXA)		+= pxa
 machine-$(CONFIG_ARCH_QCOM)		+= qcom
diff --git a/arch/arm/mach-owl/Kconfig b/arch/arm/mach-owl/Kconfig
new file mode 100644
index 0000000..8ecceda
--- /dev/null
+++ b/arch/arm/mach-owl/Kconfig
@@ -0,0 +1,9 @@
+menuconfig ARCH_OWL
+	bool "Actions Semi Owl family SoCs"
+	depends on ARCH_MULTI_V7
+	select GENERIC_IRQ_CHIP
+	select ARM_GIC
+	select CACHE_L2X0
+	select COMMON_CLK
+	help
+	  This enables support for the Actions Semiconductor S500 SoC family.
diff --git a/arch/arm/mach-owl/Makefile b/arch/arm/mach-owl/Makefile
new file mode 100644
index 0000000..96ab18d
--- /dev/null
+++ b/arch/arm/mach-owl/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_OWL) += owl.o
diff --git a/arch/arm/mach-owl/owl.c b/arch/arm/mach-owl/owl.c
new file mode 100644
index 0000000..2ada318
--- /dev/null
+++ b/arch/arm/mach-owl/owl.c
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2017 Andreas Färber
+ *
+ * This program 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 program 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.
+ *
+ */
+
+#include <linux/of_platform.h>
+#include <asm/mach/arch.h>
+
+static const char * const owl_dt_compat[] = {
+	"acts,s500",
+	NULL
+};
+
+DT_MACHINE_START(MESON, "Actions Semi Owl platform")
+	.dt_compat	= owl_dt_compat,
+	.l2c_aux_val	= 0,
+	.l2c_aux_mask	= ~0,
+MACHINE_END
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 03/11] ARM: Prepare Actions Semi S500
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Add ARCH_OWL and mach-owl for "acts,s500".

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 arch/arm/Kconfig           |  2 ++
 arch/arm/Makefile          |  1 +
 arch/arm/mach-owl/Kconfig  |  9 +++++++++
 arch/arm/mach-owl/Makefile |  1 +
 arch/arm/mach-owl/owl.c    | 28 ++++++++++++++++++++++++++++
 5 files changed, 41 insertions(+)
 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

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 71cea9e..1ea1e54 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -795,6 +795,8 @@ source "arch/arm/mach-omap2/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-owl/Kconfig"
+
 source "arch/arm/mach-picoxcell/Kconfig"
 
 source "arch/arm/mach-pxa/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ab30cc6..de7fccf 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -195,6 +195,7 @@ machine-$(CONFIG_ARCH_OXNAS)		+= oxnas
 machine-$(CONFIG_ARCH_OMAP1)		+= omap1
 machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
 machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_OWL)		+= owl
 machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
 machine-$(CONFIG_ARCH_PXA)		+= pxa
 machine-$(CONFIG_ARCH_QCOM)		+= qcom
diff --git a/arch/arm/mach-owl/Kconfig b/arch/arm/mach-owl/Kconfig
new file mode 100644
index 0000000..8ecceda
--- /dev/null
+++ b/arch/arm/mach-owl/Kconfig
@@ -0,0 +1,9 @@
+menuconfig ARCH_OWL
+	bool "Actions Semi Owl family SoCs"
+	depends on ARCH_MULTI_V7
+	select GENERIC_IRQ_CHIP
+	select ARM_GIC
+	select CACHE_L2X0
+	select COMMON_CLK
+	help
+	  This enables support for the Actions Semiconductor S500 SoC family.
diff --git a/arch/arm/mach-owl/Makefile b/arch/arm/mach-owl/Makefile
new file mode 100644
index 0000000..96ab18d
--- /dev/null
+++ b/arch/arm/mach-owl/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_OWL) += owl.o
diff --git a/arch/arm/mach-owl/owl.c b/arch/arm/mach-owl/owl.c
new file mode 100644
index 0000000..2ada318
--- /dev/null
+++ b/arch/arm/mach-owl/owl.c
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2017 Andreas F?rber
+ *
+ * This program 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 program 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.
+ *
+ */
+
+#include <linux/of_platform.h>
+#include <asm/mach/arch.h>
+
+static const char * const owl_dt_compat[] = {
+	"acts,s500",
+	NULL
+};
+
+DT_MACHINE_START(MESON, "Actions Semi Owl platform")
+	.dt_compat	= owl_dt_compat,
+	.l2c_aux_val	= 0,
+	.l2c_aux_mask	= ~0,
+MACHINE_END
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 04/11] ARM64: Prepare Actions Semi S900
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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,
	Catalin Marinas, Will Deacon

Add ARCH_OWL.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm64/Kconfig.platforms | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 129cc5a..5ecb925 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -1,5 +1,10 @@
 menu "Platform selection"
 
+config ARCH_OWL
+	bool "Actions Semi S900 SoC Family"
+	help
+	  This enables support for the Actions Semiconductor S900 SoC family.
+
 config ARCH_SUNXI
 	bool "Allwinner sunxi 64-bit SoC Family"
 	select GENERIC_IRQ_CHIP
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 04/11] ARM64: Prepare Actions Semi S900
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Add ARCH_OWL.

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 arch/arm64/Kconfig.platforms | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 129cc5a..5ecb925 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -1,5 +1,10 @@
 menu "Platform selection"
 
+config ARCH_OWL
+	bool "Actions Semi S900 SoC Family"
+	help
+	  This enables support for the Actions Semiconductor S900 SoC family.
+
 config ARCH_SUNXI
 	bool "Allwinner sunxi 64-bit SoC Family"
 	select GENERIC_IRQ_CHIP
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 05/11] Documentation: devicetree: serial: Document Actions Semi Owl UARTs
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
  2017-02-15 16:55 ` Andreas Färber
  (?)
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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, Jiri Slaby, linux-serial

This implements an earlycon for Actions Semi S500/S900 SoCs.

Based on LeMaker linux-actions tree.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 drivers/tty/serial/Kconfig    |  19 ++++++
 drivers/tty/serial/Makefile   |   1 +
 drivers/tty/serial/owl-uart.c | 135 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 drivers/tty/serial/owl-uart.c

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 6117ac8..9d4213c 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
 	  and warnings and which allows logins in single user mode)
 	  Otherwise, say 'N'.
 
+config SERIAL_OWL
+	bool "Actions Semi Owl serial port support"
+	depends on ARCH_OWL || COMPILE_TEST
+	select SERIAL_CORE
+	help
+	  This driver is for Actions Semi S500/S900 SoC's UART.
+	  Say 'Y' here if you wish to use the on-board serial port.
+	  Otherwise, say 'N'.
+
+config SERIAL_OWL_CONSOLE
+	bool "Console on Actions Semi Owl serial port"
+	depends on SERIAL_OWL=y
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	default y
+	help
+	  Say 'Y' here if you wish to use Actions Semi S500/S900 UART as the
+	  system console.
+
 endmenu
 
 config SERIAL_MCTRL_GPIO
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 2d6288b..91f3571 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -91,6 +91,7 @@ obj-$(CONFIG_SERIAL_STM32)	+= stm32-usart.o
 obj-$(CONFIG_SERIAL_MVEBU_UART)	+= mvebu-uart.o
 obj-$(CONFIG_SERIAL_PIC32)	+= pic32_uart.o
 obj-$(CONFIG_SERIAL_MPS2_UART)	+= mps2-uart.o
+obj-$(CONFIG_SERIAL_OWL)	+= owl-uart.o
 
 # GPIOLIB helpers for modem control lines
 obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
diff --git a/drivers/tty/serial/owl-uart.c b/drivers/tty/serial/owl-uart.c
new file mode 100644
index 0000000..f8b1bb6
--- /dev/null
+++ b/drivers/tty/serial/owl-uart.c
@@ -0,0 +1,135 @@
+/*
+ * Actions Semi Owl family serial console
+ *
+ * Copyright 2013 Actions Semi Inc.
+ * Author: Actions Semi, Inc.
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This program 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 program 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/serial.h>
+#include <linux/serial_core.h>
+
+#define OWL_UART_CTL	0x000
+#define OWL_UART_TXDAT	0x008
+#define OWL_UART_STAT	0x00c
+
+#define OWL_UART_CTL_TRFS_TX		(1 << 14)
+#define OWL_UART_CTL_EN			(1 << 15)
+#define OWL_UART_CTL_RXIE		(1 << 18)
+#define OWL_UART_CTL_TXIE		(1 << 19)
+
+#define OWL_UART_STAT_RIP		(1 << 0)
+#define OWL_UART_STAT_TIP		(1 << 1)
+#define OWL_UART_STAT_TFFU		(1 << 6)
+#define OWL_UART_STAT_TRFL_MASK		(0x1f << 11)
+#define OWL_UART_STAT_UTBB		(1 << 17)
+
+static inline void owl_serial_write(struct uart_port *port, u32 val, unsigned int off)
+{
+	writel(val, port->membase + off);
+}
+
+static inline u32 owl_serial_read(struct uart_port *port, unsigned int off)
+{
+	return readl(port->membase + off);
+}
+
+#ifdef CONFIG_SERIAL_OWL_CONSOLE
+
+static void owl_console_putchar(struct uart_port *port, int ch)
+{
+	if (!port->membase)
+		return;
+
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TFFU)
+		cpu_relax();
+
+	owl_serial_write(port, ch, OWL_UART_TXDAT);
+}
+
+static void owl_serial_port_write(struct uart_port *port, const char *s,
+				  u_int count)
+{
+	u32 old_ctl, val;
+	unsigned long flags;
+	int locked;
+
+	local_irq_save(flags);
+
+	if (port->sysrq)
+		locked = 0;
+	else if (oops_in_progress)
+		locked = spin_trylock(&port->lock);
+	else {
+		spin_lock(&port->lock);
+		locked = 1;
+	}
+
+	old_ctl = owl_serial_read(port, OWL_UART_CTL);
+	val = old_ctl | OWL_UART_CTL_TRFS_TX;
+	/* disable IRQ */
+	val &= ~(OWL_UART_CTL_RXIE | OWL_UART_CTL_TXIE);
+	owl_serial_write(port, val, OWL_UART_CTL);
+
+	uart_console_write(port, s, count, owl_console_putchar);
+
+	/* wait until all contents have been sent out */
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TRFL_MASK)
+		cpu_relax();
+
+	/* clear IRQ pending */
+	val = owl_serial_read(port, OWL_UART_STAT);
+	val |= OWL_UART_STAT_TIP | OWL_UART_STAT_RIP;
+	owl_serial_write(port, val, OWL_UART_STAT);
+
+	owl_serial_write(port, old_ctl, OWL_UART_CTL);
+
+	if (locked)
+		spin_unlock(&port->lock);
+
+	local_irq_restore(flags);
+}
+
+static void owl_serial_early_console_write(struct console *co,
+					   const char *s,
+					   u_int count)
+{
+	struct earlycon_device *dev = co->data;
+
+	owl_serial_port_write(&dev->port, s, count);
+}
+
+static int __init
+owl_serial_early_console_setup(struct earlycon_device *device, const char *opt)
+{
+	if (!device->port.membase)
+		return -ENODEV;
+
+	device->con->write = owl_serial_early_console_write;
+
+	return 0;
+}
+OF_EARLYCON_DECLARE(owl, "acts,owl-uart",
+		    owl_serial_early_console_setup);
+
+#endif /* CONFIG_SERIAL_OWL_CONSOLE */
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: support, info, Jiri Slaby, linux-kernel, mp-cs, linux-serial,
	Greg Kroah-Hartman, Andreas Färber, contact

This implements an earlycon for Actions Semi S500/S900 SoCs.

Based on LeMaker linux-actions tree.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 drivers/tty/serial/Kconfig    |  19 ++++++
 drivers/tty/serial/Makefile   |   1 +
 drivers/tty/serial/owl-uart.c | 135 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 drivers/tty/serial/owl-uart.c

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 6117ac8..9d4213c 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
 	  and warnings and which allows logins in single user mode)
 	  Otherwise, say 'N'.
 
+config SERIAL_OWL
+	bool "Actions Semi Owl serial port support"
+	depends on ARCH_OWL || COMPILE_TEST
+	select SERIAL_CORE
+	help
+	  This driver is for Actions Semi S500/S900 SoC's UART.
+	  Say 'Y' here if you wish to use the on-board serial port.
+	  Otherwise, say 'N'.
+
+config SERIAL_OWL_CONSOLE
+	bool "Console on Actions Semi Owl serial port"
+	depends on SERIAL_OWL=y
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	default y
+	help
+	  Say 'Y' here if you wish to use Actions Semi S500/S900 UART as the
+	  system console.
+
 endmenu
 
 config SERIAL_MCTRL_GPIO
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 2d6288b..91f3571 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -91,6 +91,7 @@ obj-$(CONFIG_SERIAL_STM32)	+= stm32-usart.o
 obj-$(CONFIG_SERIAL_MVEBU_UART)	+= mvebu-uart.o
 obj-$(CONFIG_SERIAL_PIC32)	+= pic32_uart.o
 obj-$(CONFIG_SERIAL_MPS2_UART)	+= mps2-uart.o
+obj-$(CONFIG_SERIAL_OWL)	+= owl-uart.o
 
 # GPIOLIB helpers for modem control lines
 obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
diff --git a/drivers/tty/serial/owl-uart.c b/drivers/tty/serial/owl-uart.c
new file mode 100644
index 0000000..f8b1bb6
--- /dev/null
+++ b/drivers/tty/serial/owl-uart.c
@@ -0,0 +1,135 @@
+/*
+ * Actions Semi Owl family serial console
+ *
+ * Copyright 2013 Actions Semi Inc.
+ * Author: Actions Semi, Inc.
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * This program 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 program 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/serial.h>
+#include <linux/serial_core.h>
+
+#define OWL_UART_CTL	0x000
+#define OWL_UART_TXDAT	0x008
+#define OWL_UART_STAT	0x00c
+
+#define OWL_UART_CTL_TRFS_TX		(1 << 14)
+#define OWL_UART_CTL_EN			(1 << 15)
+#define OWL_UART_CTL_RXIE		(1 << 18)
+#define OWL_UART_CTL_TXIE		(1 << 19)
+
+#define OWL_UART_STAT_RIP		(1 << 0)
+#define OWL_UART_STAT_TIP		(1 << 1)
+#define OWL_UART_STAT_TFFU		(1 << 6)
+#define OWL_UART_STAT_TRFL_MASK		(0x1f << 11)
+#define OWL_UART_STAT_UTBB		(1 << 17)
+
+static inline void owl_serial_write(struct uart_port *port, u32 val, unsigned int off)
+{
+	writel(val, port->membase + off);
+}
+
+static inline u32 owl_serial_read(struct uart_port *port, unsigned int off)
+{
+	return readl(port->membase + off);
+}
+
+#ifdef CONFIG_SERIAL_OWL_CONSOLE
+
+static void owl_console_putchar(struct uart_port *port, int ch)
+{
+	if (!port->membase)
+		return;
+
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TFFU)
+		cpu_relax();
+
+	owl_serial_write(port, ch, OWL_UART_TXDAT);
+}
+
+static void owl_serial_port_write(struct uart_port *port, const char *s,
+				  u_int count)
+{
+	u32 old_ctl, val;
+	unsigned long flags;
+	int locked;
+
+	local_irq_save(flags);
+
+	if (port->sysrq)
+		locked = 0;
+	else if (oops_in_progress)
+		locked = spin_trylock(&port->lock);
+	else {
+		spin_lock(&port->lock);
+		locked = 1;
+	}
+
+	old_ctl = owl_serial_read(port, OWL_UART_CTL);
+	val = old_ctl | OWL_UART_CTL_TRFS_TX;
+	/* disable IRQ */
+	val &= ~(OWL_UART_CTL_RXIE | OWL_UART_CTL_TXIE);
+	owl_serial_write(port, val, OWL_UART_CTL);
+
+	uart_console_write(port, s, count, owl_console_putchar);
+
+	/* wait until all contents have been sent out */
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TRFL_MASK)
+		cpu_relax();
+
+	/* clear IRQ pending */
+	val = owl_serial_read(port, OWL_UART_STAT);
+	val |= OWL_UART_STAT_TIP | OWL_UART_STAT_RIP;
+	owl_serial_write(port, val, OWL_UART_STAT);
+
+	owl_serial_write(port, old_ctl, OWL_UART_CTL);
+
+	if (locked)
+		spin_unlock(&port->lock);
+
+	local_irq_restore(flags);
+}
+
+static void owl_serial_early_console_write(struct console *co,
+					   const char *s,
+					   u_int count)
+{
+	struct earlycon_device *dev = co->data;
+
+	owl_serial_port_write(&dev->port, s, count);
+}
+
+static int __init
+owl_serial_early_console_setup(struct earlycon_device *device, const char *opt)
+{
+	if (!device->port.membase)
+		return -ENODEV;
+
+	device->con->write = owl_serial_early_console_write;
+
+	return 0;
+}
+OF_EARLYCON_DECLARE(owl, "acts,owl-uart",
+		    owl_serial_early_console_setup);
+
+#endif /* CONFIG_SERIAL_OWL_CONSOLE */
-- 
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] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

This implements an earlycon for Actions Semi S500/S900 SoCs.

Based on LeMaker linux-actions tree.

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 drivers/tty/serial/Kconfig    |  19 ++++++
 drivers/tty/serial/Makefile   |   1 +
 drivers/tty/serial/owl-uart.c | 135 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 drivers/tty/serial/owl-uart.c

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 6117ac8..9d4213c 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
 	  and warnings and which allows logins in single user mode)
 	  Otherwise, say 'N'.
 
+config SERIAL_OWL
+	bool "Actions Semi Owl serial port support"
+	depends on ARCH_OWL || COMPILE_TEST
+	select SERIAL_CORE
+	help
+	  This driver is for Actions Semi S500/S900 SoC's UART.
+	  Say 'Y' here if you wish to use the on-board serial port.
+	  Otherwise, say 'N'.
+
+config SERIAL_OWL_CONSOLE
+	bool "Console on Actions Semi Owl serial port"
+	depends on SERIAL_OWL=y
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	default y
+	help
+	  Say 'Y' here if you wish to use Actions Semi S500/S900 UART as the
+	  system console.
+
 endmenu
 
 config SERIAL_MCTRL_GPIO
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index 2d6288b..91f3571 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -91,6 +91,7 @@ obj-$(CONFIG_SERIAL_STM32)	+= stm32-usart.o
 obj-$(CONFIG_SERIAL_MVEBU_UART)	+= mvebu-uart.o
 obj-$(CONFIG_SERIAL_PIC32)	+= pic32_uart.o
 obj-$(CONFIG_SERIAL_MPS2_UART)	+= mps2-uart.o
+obj-$(CONFIG_SERIAL_OWL)	+= owl-uart.o
 
 # GPIOLIB helpers for modem control lines
 obj-$(CONFIG_SERIAL_MCTRL_GPIO)	+= serial_mctrl_gpio.o
diff --git a/drivers/tty/serial/owl-uart.c b/drivers/tty/serial/owl-uart.c
new file mode 100644
index 0000000..f8b1bb6
--- /dev/null
+++ b/drivers/tty/serial/owl-uart.c
@@ -0,0 +1,135 @@
+/*
+ * Actions Semi Owl family serial console
+ *
+ * Copyright 2013 Actions Semi Inc.
+ * Author: Actions Semi, Inc.
+ *
+ * Copyright (c) 2016-2017 Andreas F?rber
+ *
+ * This program 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 program 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/serial.h>
+#include <linux/serial_core.h>
+
+#define OWL_UART_CTL	0x000
+#define OWL_UART_TXDAT	0x008
+#define OWL_UART_STAT	0x00c
+
+#define OWL_UART_CTL_TRFS_TX		(1 << 14)
+#define OWL_UART_CTL_EN			(1 << 15)
+#define OWL_UART_CTL_RXIE		(1 << 18)
+#define OWL_UART_CTL_TXIE		(1 << 19)
+
+#define OWL_UART_STAT_RIP		(1 << 0)
+#define OWL_UART_STAT_TIP		(1 << 1)
+#define OWL_UART_STAT_TFFU		(1 << 6)
+#define OWL_UART_STAT_TRFL_MASK		(0x1f << 11)
+#define OWL_UART_STAT_UTBB		(1 << 17)
+
+static inline void owl_serial_write(struct uart_port *port, u32 val, unsigned int off)
+{
+	writel(val, port->membase + off);
+}
+
+static inline u32 owl_serial_read(struct uart_port *port, unsigned int off)
+{
+	return readl(port->membase + off);
+}
+
+#ifdef CONFIG_SERIAL_OWL_CONSOLE
+
+static void owl_console_putchar(struct uart_port *port, int ch)
+{
+	if (!port->membase)
+		return;
+
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TFFU)
+		cpu_relax();
+
+	owl_serial_write(port, ch, OWL_UART_TXDAT);
+}
+
+static void owl_serial_port_write(struct uart_port *port, const char *s,
+				  u_int count)
+{
+	u32 old_ctl, val;
+	unsigned long flags;
+	int locked;
+
+	local_irq_save(flags);
+
+	if (port->sysrq)
+		locked = 0;
+	else if (oops_in_progress)
+		locked = spin_trylock(&port->lock);
+	else {
+		spin_lock(&port->lock);
+		locked = 1;
+	}
+
+	old_ctl = owl_serial_read(port, OWL_UART_CTL);
+	val = old_ctl | OWL_UART_CTL_TRFS_TX;
+	/* disable IRQ */
+	val &= ~(OWL_UART_CTL_RXIE | OWL_UART_CTL_TXIE);
+	owl_serial_write(port, val, OWL_UART_CTL);
+
+	uart_console_write(port, s, count, owl_console_putchar);
+
+	/* wait until all contents have been sent out */
+	while (owl_serial_read(port, OWL_UART_STAT) & OWL_UART_STAT_TRFL_MASK)
+		cpu_relax();
+
+	/* clear IRQ pending */
+	val = owl_serial_read(port, OWL_UART_STAT);
+	val |= OWL_UART_STAT_TIP | OWL_UART_STAT_RIP;
+	owl_serial_write(port, val, OWL_UART_STAT);
+
+	owl_serial_write(port, old_ctl, OWL_UART_CTL);
+
+	if (locked)
+		spin_unlock(&port->lock);
+
+	local_irq_restore(flags);
+}
+
+static void owl_serial_early_console_write(struct console *co,
+					   const char *s,
+					   u_int count)
+{
+	struct earlycon_device *dev = co->data;
+
+	owl_serial_port_write(&dev->port, s, count);
+}
+
+static int __init
+owl_serial_early_console_setup(struct earlycon_device *device, const char *opt)
+{
+	if (!device->port.membase)
+		return -ENODEV;
+
+	device->con->write = owl_serial_early_console_write;
+
+	return 0;
+}
+OF_EARLYCON_DECLARE(owl, "acts,owl-uart",
+		    owl_serial_early_console_setup);
+
+#endif /* CONFIG_SERIAL_OWL_CONSOLE */
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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,
	Jonathan Corbet, linux-doc

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 Documentation/admin-guide/kernel-parameters.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 01f5788..c741166 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -952,6 +952,12 @@
 			must already be setup and configured. Options are not
 			yet supported.
 
+		owl,<addr>
+			Start an early, polled-mode console on an Owl serial
+			port at the specified address. The serial port must
+			already be setup and configured. Options are not yet
+			supported.
+
 		smh	Use ARM semihosting calls for early console.
 
 		s3c2410,<addr>
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 Documentation/admin-guide/kernel-parameters.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 01f5788..c741166 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -952,6 +952,12 @@
 			must already be setup and configured. Options are not
 			yet supported.
 
+		owl,<addr>
+			Start an early, polled-mode console on an Owl serial
+			port at the specified address. The serial port must
+			already be setup and configured. Options are not yet
+			supported.
+
 		smh	Use ARM semihosting calls for early console.
 
 		s3c2410,<addr>
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ 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, Russell King, devicetree

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 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

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 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 at 0 {
+			compatible = "arm,cortex-a9";
+			reg = <0x0>;
+		};
+
+		cpu1: cpu at 1 {
+			compatible = "arm,cortex-a9";
+			reg = <0x1>;
+		};
+
+		cpu2: cpu at 2 {
+			compatible = "arm,cortex-a9";
+			reg = <0x2>;
+		};
+
+		cpu3: cpu at 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 at b0021000 {
+			compatible = "arm,cortex-a9-gic";
+			reg = <0xb0021000 0x1000>,
+			      <0xb0020100 0x0100>;
+		};
+
+		l2: cache-controller at 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 at b0126000 {
+			compatible = "acts,s500-uart", "acts,owl-uart";
+			reg = <0xb0126000 0x1000>;
+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+	};
+};
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Cc: info at 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] 66+ messages in thread

* [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ 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 | 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

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
 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

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
  2017-02-15 16:55 ` Andreas Färber
@ 2017-02-15 16:55   ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 16:55   ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 16:55 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x0>;
+			enable-method = "psci";
+		};
+
+		cpu1: cpu at 1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x1>;
+			enable-method = "psci";
+		};
+
+		cpu2: cpu at 2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x2>;
+			enable-method = "psci";
+		};
+
+		cpu3: cpu at 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 at 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 at 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] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:07     ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:07 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, contact, mp-cs, info, support, linux-kernel,
	Rob Herring, Russell King, devicetree, nd

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.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:07     ` Mark Rutland
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:07     ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:07 UTC (permalink / raw)
  To: linux-arm-kernel

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.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 17:12     ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:12 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, contact, mp-cs, info, support, linux-kernel,
	Rob Herring, Catalin Marinas, Will Deacon, devicetree, nd

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.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 17:12     ` Mark Rutland
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 17:12     ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:12 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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.

^ permalink raw reply	[flat|nested] 66+ 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
  -1 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 17:28 UTC (permalink / raw)
  To: Mark Rutland
  Cc: linux-arm-kernel, mp-cs, info, support, linux-kernel,
	Rob Herring, Russell King, devicetree, nd

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)

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:28       ` Andreas Färber
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:28       ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 17:28 UTC (permalink / raw)
  To: linux-arm-kernel

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)

^ permalink raw reply related	[flat|nested] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:36         ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:36 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, mp-cs, info, support, linux-kernel,
	Rob Herring, Russell King, devicetree, nd

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.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:36         ` Mark Rutland
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-15 17:36         ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 17:36 UTC (permalink / raw)
  To: linux-arm-kernel

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.

^ permalink raw reply	[flat|nested] 66+ 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
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 18:14       ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-15 18:14 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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 at 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 at 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] 66+ messages in thread

* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 18:23         ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 18:23 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, mp-cs, info, linux-kernel, Rob Herring,
	Catalin Marinas, Will Deacon, devicetree, nd

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 18:23         ` Mark Rutland
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96
@ 2017-02-15 18:23         ` Mark Rutland
  0 siblings, 0 replies; 66+ messages in thread
From: Mark Rutland @ 2017-02-15 18:23 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 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 at 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

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
  2017-02-15 16:55   ` Andreas Färber
  (?)
@ 2017-02-16 13:41     ` Arnd Bergmann
  -1 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:41 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Andreas Färber, support, info, Jiri Slaby, linux-kernel,
	mp-cs, linux-serial, Greg Kroah-Hartman, contact

On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 6117ac8..9d4213c 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>           and warnings and which allows logins in single user mode)
>           Otherwise, say 'N'.
>  
> +config SERIAL_OWL
> +       bool "Actions Semi Owl serial port support"
> +       depends on ARCH_OWL || COMPILE_TEST
> +       select SERIAL_CORE
> +       help
> +         This driver is for Actions Semi S500/S900 SoC's UART.
> +         Say 'Y' here if you wish to use the on-board serial port.
> +         Otherwise, say 'N'.
> +
> 

This could maybe use a word of information about how there isn't
actually a uart driver in this series, only an earlycon driver.

Do you plan to add the actual tty driver soon? If not, maybe
only add one Kconfig symbol for the earlycon support.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-16 13:41     ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:41 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: support, Greg Kroah-Hartman, info, linux-kernel, mp-cs,
	linux-serial, Jiri Slaby, Andreas Färber, contact

On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 6117ac8..9d4213c 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>           and warnings and which allows logins in single user mode)
>           Otherwise, say 'N'.
>  
> +config SERIAL_OWL
> +       bool "Actions Semi Owl serial port support"
> +       depends on ARCH_OWL || COMPILE_TEST
> +       select SERIAL_CORE
> +       help
> +         This driver is for Actions Semi S500/S900 SoC's UART.
> +         Say 'Y' here if you wish to use the on-board serial port.
> +         Otherwise, say 'N'.
> +
> 

This could maybe use a word of information about how there isn't
actually a uart driver in this series, only an earlycon driver.

Do you plan to add the actual tty driver soon? If not, maybe
only add one Kconfig symbol for the earlycon support.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-16 13:41     ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday, February 15, 2017 5:55:23 PM CET Andreas F?rber wrote:
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 6117ac8..9d4213c 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>           and warnings and which allows logins in single user mode)
>           Otherwise, say 'N'.
>  
> +config SERIAL_OWL
> +       bool "Actions Semi Owl serial port support"
> +       depends on ARCH_OWL || COMPILE_TEST
> +       select SERIAL_CORE
> +       help
> +         This driver is for Actions Semi S500/S900 SoC's UART.
> +         Say 'Y' here if you wish to use the on-board serial port.
> +         Otherwise, say 'N'.
> +
> 

This could maybe use a word of information about how there isn't
actually a uart driver in this series, only an earlycon driver.

Do you plan to add the actual tty driver soon? If not, maybe
only add one Kconfig symbol for the earlycon support.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900
  2017-02-15 16:55   ` Andreas Färber
@ 2017-02-16 13:43     ` Arnd Bergmann
  -1 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Andreas Färber, support, info, Will Deacon, linux-kernel,
	mp-cs, Catalin Marinas, contact

On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
> 
> +config ARCH_OWL
> +       bool "Actions Semi S900 SoC Family"
> +       help
> +         This enables support for the Actions Semiconductor S900 SoC family.
> +
> 

There seem to be a couple of other SoCs in the same family, so
maybe use a more generic name than S900 in the one-line
Kconfig description.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 04/11] ARM64: Prepare Actions Semi S900
@ 2017-02-16 13:43     ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:43 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday, February 15, 2017 5:55:21 PM CET Andreas F?rber wrote:
> 
> +config ARCH_OWL
> +       bool "Actions Semi S900 SoC Family"
> +       help
> +         This enables support for the Actions Semiconductor S900 SoC family.
> +
> 

There seem to be a couple of other SoCs in the same family, so
maybe use a more generic name than S900 in the one-line
Kconfig description.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-16 13:46   ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:46 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Andreas Färber, support, devicetree, info, linux-kernel,
	mp-cs, contact

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@kernel.org.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-16 13:46   ` Arnd Bergmann
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement
@ 2017-02-16 13:46   ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-16 13:46 UTC (permalink / raw)
  To: linux-arm-kernel

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 at kernel.org.

	Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900
  2017-02-16 13:43     ` Arnd Bergmann
@ 2017-02-17  0:34       ` Andreas Färber
  -1 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-17  0:34 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel, mp-cs
  Cc: support, info, Will Deacon, linux-kernel, Catalin Marinas

Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
>>
>> +config ARCH_OWL
>> +       bool "Actions Semi S900 SoC Family"
>> +       help
>> +         This enables support for the Actions Semiconductor S900 SoC family.
>> +
>>
> 
> There seem to be a couple of other SoCs in the same family, so
> maybe use a more generic name than S900 in the one-line
> Kconfig description.

Good point. I only tested with `make oldconfig`, so using "Owl" should
tidy the sort order in `make menuconfig` while at it. (I believe there
were more inconsistent examples, such as Armada 3700 vs. MVEBU...)

Note that I have not come across any explanation for "OWL" as an
acronym, so I'm guessing it's the bird and therefore capitalizing it.

Apart from S900, actions-semi.com shows V series S900VR and S700 as well
as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
be handled as ARCH_OWL, adding further differentiation below if
necessary; but Bubblegum-96 seemed the only available arm64 board for
testing so far, so any comments from Actions will be appreciated.

[*] The S500 vendor device tree was actually using ATM series models for
various nodes, so I'm inferring that the product series are closely
enough related.

However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
just need to keep it consistent across arm and arm64.

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] 66+ messages in thread

* [PATCH 04/11] ARM64: Prepare Actions Semi S900
@ 2017-02-17  0:34       ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-17  0:34 UTC (permalink / raw)
  To: linux-arm-kernel

Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas F?rber wrote:
>>
>> +config ARCH_OWL
>> +       bool "Actions Semi S900 SoC Family"
>> +       help
>> +         This enables support for the Actions Semiconductor S900 SoC family.
>> +
>>
> 
> There seem to be a couple of other SoCs in the same family, so
> maybe use a more generic name than S900 in the one-line
> Kconfig description.

Good point. I only tested with `make oldconfig`, so using "Owl" should
tidy the sort order in `make menuconfig` while at it. (I believe there
were more inconsistent examples, such as Armada 3700 vs. MVEBU...)

Note that I have not come across any explanation for "OWL" as an
acronym, so I'm guessing it's the bird and therefore capitalizing it.

Apart from S900, actions-semi.com shows V series S900VR and S700 as well
as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
be handled as ARCH_OWL, adding further differentiation below if
necessary; but Bubblegum-96 seemed the only available arm64 board for
testing so far, so any comments from Actions will be appreciated.

[*] The S500 vendor device tree was actually using ATM series models for
various nodes, so I'm inferring that the product series are closely
enough related.

However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
just need to keep it consistent across arm and arm64.

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] 66+ messages in thread

* Re: [PATCH 04/11] ARM64: Prepare Actions Semi S900
  2017-02-17  0:34       ` Andreas Färber
@ 2017-02-17 11:32         ` Arnd Bergmann
  -1 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-17 11:32 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linux ARM, mp-cs, support, info, Will Deacon,
	Linux Kernel Mailing List, Catalin Marinas

On Fri, Feb 17, 2017 at 1:34 AM, Andreas Färber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas Färber wrote:
>>>
>>> +config ARCH_OWL
>>> +       bool "Actions Semi S900 SoC Family"
>>> +       help
>>> +         This enables support for the Actions Semiconductor S900 SoC family.
>>> +
>>>
>>
>> There seem to be a couple of other SoCs in the same family, so
>> maybe use a more generic name than S900 in the one-line
>> Kconfig description.
>
> Good point. I only tested with `make oldconfig`, so using "Owl" should
> tidy the sort order in `make menuconfig` while at it. (I believe there
> were more inconsistent examples, such as Armada 3700 vs. MVEBU...)
>
> Note that I have not come across any explanation for "OWL" as an
> acronym, so I'm guessing it's the bird and therefore capitalizing it.
>
> Apart from S900, actions-semi.com shows V series S900VR and S700 as well
> as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
> be handled as ARCH_OWL, adding further differentiation below if
> necessary; but Bubblegum-96 seemed the only available arm64 board for
> testing so far, so any comments from Actions will be appreciated.
>
> [*] The S500 vendor device tree was actually using ATM series models for
> various nodes, so I'm inferring that the product series are closely
> enough related.
>
> However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
> just need to keep it consistent across arm and arm64.

ARCH_ACTIONS seems best to me. We tend to go for the broader names
per company these days even when things are not closely related. This
avoids having to rename things when a new line of products comes up
that shares a subset of the components but doesn't fit under the old name.

      Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 04/11] ARM64: Prepare Actions Semi S900
@ 2017-02-17 11:32         ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-17 11:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Feb 17, 2017 at 1:34 AM, Andreas F?rber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:43 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:21 PM CET Andreas F?rber wrote:
>>>
>>> +config ARCH_OWL
>>> +       bool "Actions Semi S900 SoC Family"
>>> +       help
>>> +         This enables support for the Actions Semiconductor S900 SoC family.
>>> +
>>>
>>
>> There seem to be a couple of other SoCs in the same family, so
>> maybe use a more generic name than S900 in the one-line
>> Kconfig description.
>
> Good point. I only tested with `make oldconfig`, so using "Owl" should
> tidy the sort order in `make menuconfig` while at it. (I believe there
> were more inconsistent examples, such as Armada 3700 vs. MVEBU...)
>
> Note that I have not come across any explanation for "OWL" as an
> acronym, so I'm guessing it's the bird and therefore capitalizing it.
>
> Apart from S900, actions-semi.com shows V series S900VR and S700 as well
> as GT series GT7 Cortex-A53 based SoCs. My guess[*] is these could all
> be handled as ARCH_OWL, adding further differentiation below if
> necessary; but Bubblegum-96 seemed the only available arm64 board for
> testing so far, so any comments from Actions will be appreciated.
>
> [*] The S500 vendor device tree was actually using ATM series models for
> various nodes, so I'm inferring that the product series are closely
> enough related.
>
> However, if you would prefer ARCH_ACTIONS I wouldn't mind either - we
> just need to keep it consistent across arm and arm64.

ARCH_ACTIONS seems best to me. We tend to go for the broader names
per company these days even when things are not closely related. This
avoids having to rename things when a new line of products comes up
that shares a subset of the components but doesn't fit under the old name.

      Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
  2017-02-16 13:41     ` Arnd Bergmann
@ 2017-02-20 13:40       ` Andreas Färber
  -1 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-20 13:40 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel
  Cc: support, info, Jiri Slaby, linux-kernel, mp-cs, linux-serial,
	Greg Kroah-Hartman

Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>> index 6117ac8..9d4213c 100644
>> --- a/drivers/tty/serial/Kconfig
>> +++ b/drivers/tty/serial/Kconfig
>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>           and warnings and which allows logins in single user mode)
>>           Otherwise, say 'N'.
>>  
>> +config SERIAL_OWL
>> +       bool "Actions Semi Owl serial port support"
>> +       depends on ARCH_OWL || COMPILE_TEST
>> +       select SERIAL_CORE
>> +       help
>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>> +         Say 'Y' here if you wish to use the on-board serial port.
>> +         Otherwise, say 'N'.
>> +
>>
> 
> This could maybe use a word of information about how there isn't
> actually a uart driver in this series, only an earlycon driver.

Yeah, I have added a sentence to the other one. Maybe also add a select?

> Do you plan to add the actual tty driver soon? If not, maybe
> only add one Kconfig symbol for the earlycon support.

So, I completed the driver the weekend and can see the full console
output, but there are still output glitches, possible locking issues up
to RCU stalls and soft lockups, and only stubbed out baudrate support.

Therefore I would rather keep the full driver as follow-up RFC in v2,
unless I get it fixed during Hackweek. In the earlycon I am confident,
and the only Kconfig change then is to switch from bool to tristate and
to drop the newly added sentence again.

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] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-20 13:40       ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-20 13:40 UTC (permalink / raw)
  To: linux-arm-kernel

Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas F?rber wrote:
>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>> index 6117ac8..9d4213c 100644
>> --- a/drivers/tty/serial/Kconfig
>> +++ b/drivers/tty/serial/Kconfig
>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>           and warnings and which allows logins in single user mode)
>>           Otherwise, say 'N'.
>>  
>> +config SERIAL_OWL
>> +       bool "Actions Semi Owl serial port support"
>> +       depends on ARCH_OWL || COMPILE_TEST
>> +       select SERIAL_CORE
>> +       help
>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>> +         Say 'Y' here if you wish to use the on-board serial port.
>> +         Otherwise, say 'N'.
>> +
>>
> 
> This could maybe use a word of information about how there isn't
> actually a uart driver in this series, only an earlycon driver.

Yeah, I have added a sentence to the other one. Maybe also add a select?

> Do you plan to add the actual tty driver soon? If not, maybe
> only add one Kconfig symbol for the earlycon support.

So, I completed the driver the weekend and can see the full console
output, but there are still output glitches, possible locking issues up
to RCU stalls and soft lockups, and only stubbed out baudrate support.

Therefore I would rather keep the full driver as follow-up RFC in v2,
unless I get it fixed during Hackweek. In the earlycon I am confident,
and the only Kconfig change then is to switch from bool to tristate and
to drop the newly added sentence again.

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] 66+ messages in thread

* Re: [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
  2017-02-20 13:40       ` Andreas Färber
@ 2017-02-20 15:17         ` Arnd Bergmann
  -1 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-20 15:17 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linux ARM, support, Greg Kroah-Hartman, info,
	Linux Kernel Mailing List, mp-cs, linux-serial, Jiri Slaby

On Mon, Feb 20, 2017 at 2:40 PM, Andreas Färber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas Färber wrote:
>>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>>> index 6117ac8..9d4213c 100644
>>> --- a/drivers/tty/serial/Kconfig
>>> +++ b/drivers/tty/serial/Kconfig
>>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>>           and warnings and which allows logins in single user mode)
>>>           Otherwise, say 'N'.
>>>
>>> +config SERIAL_OWL
>>> +       bool "Actions Semi Owl serial port support"
>>> +       depends on ARCH_OWL || COMPILE_TEST
>>> +       select SERIAL_CORE
>>> +       help
>>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>>> +         Say 'Y' here if you wish to use the on-board serial port.
>>> +         Otherwise, say 'N'.
>>> +
>>>
>>
>> This could maybe use a word of information about how there isn't
>> actually a uart driver in this series, only an earlycon driver.
>
> Yeah, I have added a sentence to the other one. Maybe also add a select?

I generally only use 'select' to avoid build failures, not to save the user
the time to make a choice.

>> Do you plan to add the actual tty driver soon? If not, maybe
>> only add one Kconfig symbol for the earlycon support.
>
> So, I completed the driver the weekend and can see the full console
> output, but there are still output glitches, possible locking issues up
> to RCU stalls and soft lockups, and only stubbed out baudrate support.
>
> Therefore I would rather keep the full driver as follow-up RFC in v2,
> unless I get it fixed during Hackweek. In the earlycon I am confident,
> and the only Kconfig change then is to switch from bool to tristate and
> to drop the newly added sentence again.

Ok, sounds good.

     Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon
@ 2017-02-20 15:17         ` Arnd Bergmann
  0 siblings, 0 replies; 66+ messages in thread
From: Arnd Bergmann @ 2017-02-20 15:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 20, 2017 at 2:40 PM, Andreas F?rber <afaerber@suse.de> wrote:
> Am 16.02.2017 um 14:41 schrieb Arnd Bergmann:
>> On Wednesday, February 15, 2017 5:55:23 PM CET Andreas F?rber wrote:
>>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>>> index 6117ac8..9d4213c 100644
>>> --- a/drivers/tty/serial/Kconfig
>>> +++ b/drivers/tty/serial/Kconfig
>>> @@ -1677,6 +1677,25 @@ config SERIAL_MVEBU_CONSOLE
>>>           and warnings and which allows logins in single user mode)
>>>           Otherwise, say 'N'.
>>>
>>> +config SERIAL_OWL
>>> +       bool "Actions Semi Owl serial port support"
>>> +       depends on ARCH_OWL || COMPILE_TEST
>>> +       select SERIAL_CORE
>>> +       help
>>> +         This driver is for Actions Semi S500/S900 SoC's UART.
>>> +         Say 'Y' here if you wish to use the on-board serial port.
>>> +         Otherwise, say 'N'.
>>> +
>>>
>>
>> This could maybe use a word of information about how there isn't
>> actually a uart driver in this series, only an earlycon driver.
>
> Yeah, I have added a sentence to the other one. Maybe also add a select?

I generally only use 'select' to avoid build failures, not to save the user
the time to make a choice.

>> Do you plan to add the actual tty driver soon? If not, maybe
>> only add one Kconfig symbol for the earlycon support.
>
> So, I completed the driver the weekend and can see the full console
> output, but there are still output glitches, possible locking issues up
> to RCU stalls and soft lockups, and only stubbed out baudrate support.
>
> Therefore I would rather keep the full driver as follow-up RFC in v2,
> unless I get it fixed during Hackweek. In the earlycon I am confident,
> and the only Kconfig change then is to switch from bool to tristate and
> to drop the newly added sentence again.

Ok, sounds good.

     Arnd

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
  2017-02-15 16:55   ` Andreas Färber
@ 2017-02-24  0:59     ` Andreas Färber
  -1 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 08/11] ARM: dts: Prepare Actions Semi S500 and LeMaker Guitar
@ 2017-02-24  0:59     ` Andreas Färber
  0 siblings, 0 replies; 66+ messages in thread
From: Andreas Färber @ 2017-02-24  0:59 UTC (permalink / raw)
  To: linux-arm-kernel

Am 15.02.2017 um 17:55 schrieb Andreas F?rber:
> +		gic: interrupt-controller at 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] 66+ messages in thread

* Re: [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-27 14:26     ` Rob Herring
  0 siblings, 0 replies; 66+ messages in thread
From: Rob Herring @ 2017-02-27 14:26 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, contact, mp-cs, info, support, linux-kernel,
	Mark Rutland, devicetree

On Wed, Feb 15, 2017 at 05:55:27PM +0100, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  Documentation/devicetree/bindings/arm/acts.txt | 13 +++++++++++++
>  1 file changed, 13 insertions(+)

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-27 14:26     ` Rob Herring
  0 siblings, 0 replies; 66+ 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] 66+ messages in thread

* [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900
@ 2017-02-27 14:26     ` Rob Herring
  0 siblings, 0 replies; 66+ messages in thread
From: Rob Herring @ 2017-02-27 14:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 15, 2017 at 05:55:27PM +0100, Andreas F?rber wrote:
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
>  Documentation/devicetree/bindings/arm/acts.txt | 13 +++++++++++++
>  1 file changed, 13 insertions(+)

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2017-02-27 14:26 UTC | newest]

Thread overview: 66+ 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 ` 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   ` 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 03/11] ARM: Prepare " Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-15 16:55 ` [PATCH 04/11] ARM64: Prepare Actions Semi S900 Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-16 13:43   ` Arnd Bergmann
2017-02-16 13:43     ` Arnd Bergmann
2017-02-17  0:34     ` Andreas Färber
2017-02-17  0:34       ` Andreas Färber
2017-02-17 11:32       ` Arnd Bergmann
2017-02-17 11:32         ` Arnd Bergmann
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
2017-02-15 16:55 ` [PATCH 06/11] tty: serial: Add Actions Semi Owl UART earlycon Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-16 13:41   ` Arnd Bergmann
2017-02-16 13:41     ` Arnd Bergmann
2017-02-16 13:41     ` Arnd Bergmann
2017-02-20 13:40     ` Andreas Färber
2017-02-20 13:40       ` Andreas Färber
2017-02-20 15:17       ` Arnd Bergmann
2017-02-20 15:17         ` Arnd Bergmann
2017-02-15 16:55 ` [PATCH 07/11] Documentation: kernel-parameters: Document owl earlycon Andreas Färber
2017-02-15 16:55   ` Andreas Färber
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
2017-02-15 16:55   ` Andreas Färber
2017-02-15 17:07   ` Mark Rutland
2017-02-15 17:07     ` Mark Rutland
2017-02-15 17:07     ` Mark Rutland
2017-02-15 17:28     ` Andreas Färber
2017-02-15 17:28       ` Andreas Färber
2017-02-15 17:28       ` Andreas Färber
2017-02-15 17:36       ` Mark Rutland
2017-02-15 17:36         ` Mark Rutland
2017-02-15 17:36         ` Mark Rutland
2017-02-24  0:59   ` Andreas Färber
2017-02-24  0:59     ` Andreas Färber
2017-02-15 16:55 ` [PATCH 09/11] Documentation: devicetree: Add vendor prefix for uCRobotics Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-15 16:55 ` [PATCH 10/11] Documentation: devicetree: arm: Document Actions Semi S900 Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-27 14:26   ` Rob Herring
2017-02-27 14:26     ` Rob Herring
2017-02-27 14:26     ` Rob Herring
2017-02-15 16:55 ` [PATCH 11/11] ARM64: dts: Prepare Actions Semi S900 and Bubblegum-96 Andreas Färber
2017-02-15 16:55   ` Andreas Färber
2017-02-15 17:12   ` Mark Rutland
2017-02-15 17:12     ` Mark Rutland
2017-02-15 17:12     ` Mark Rutland
2017-02-15 18:14     ` Andreas Färber
2017-02-15 18:14       ` Andreas Färber
2017-02-15 18:23       ` Mark Rutland
2017-02-15 18:23         ` Mark Rutland
2017-02-15 18:23         ` Mark Rutland
2017-02-16 13:46 ` [PATCH 00/11] ARM: Initial Actions Semi S500 and S900 enablement Arnd Bergmann
2017-02-16 13:46   ` Arnd Bergmann
2017-02-16 13:46   ` Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.