All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-14  6:15 ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton,
	Bartosz Golaszewski, Doug Anderson, Ard Biesheuvel,
	Benjamin Gaignard, Nick Desaulniers, Stefan Agner, Nicolas Pitre,
	Masahiro Yamada, Nathan Chancellor, Sugaya Taichi,
	Nathan Huckleberry, linux-arm-kernel, devicetree, linux-kernel

This adds a prefix for MStar and thingy.jp and then defines compatible
strings for the first MStar based board.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 22 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  4 ++++
 MAINTAINERS                                   |  6 +++++
 3 files changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..0ea5b2b9387f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: (GPL-2.0+ OR X11)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+
+      - description: thingy.jp BreadBee
+        items:
+          - const: thingyjp,breadbee
+          - const: mstar,infinity
+          - const: mstar,infinity3
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 967e78c5ec0a..1425468188da 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -617,6 +617,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc.
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
@@ -943,6 +945,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index a69e6db80c79..8b7913c13f9a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1981,6 +1981,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	arch/arm/mach-pxa/mioa701.c
 S:	Maintained
 
+ARM/MStar SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+S:	Maintained
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.23.0


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

* [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-14  6:15 ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton,
	Bartosz

This adds a prefix for MStar and thingy.jp and then defines compatible
strings for the first MStar based board.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 22 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  4 ++++
 MAINTAINERS                                   |  6 +++++
 3 files changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..0ea5b2b9387f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: (GPL-2.0+ OR X11)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+
+      - description: thingy.jp BreadBee
+        items:
+          - const: thingyjp,breadbee
+          - const: mstar,infinity
+          - const: mstar,infinity3
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 967e78c5ec0a..1425468188da 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -617,6 +617,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc.
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
@@ -943,6 +945,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index a69e6db80c79..8b7913c13f9a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1981,6 +1981,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	arch/arm/mach-pxa/mioa701.c
 S:	Maintained
 
+ARM/MStar SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+S:	Maintained
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.23.0

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

* [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-14  6:15 ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Stefan Agner,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	daniel, Russell King, Bartosz Golaszewski, Nathan Huckleberry,
	Icenowy Zheng, devicetree, Arnd Bergmann, Maxime Ripard,
	Rob Herring, Jonathan Cameron, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Ard Biesheuvel, Sugaya Taichi,
	Greg Kroah-Hartman, Nicolas Pitre, Nick Desaulniers,
	linux-kernel, Paul Burton, Andrew Morton, Shawn Guo,
	David S. Miller

This adds a prefix for MStar and thingy.jp and then defines compatible
strings for the first MStar based board.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 22 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  4 ++++
 MAINTAINERS                                   |  6 +++++
 3 files changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..0ea5b2b9387f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: (GPL-2.0+ OR X11)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+
+      - description: thingy.jp BreadBee
+        items:
+          - const: thingyjp,breadbee
+          - const: mstar,infinity
+          - const: mstar,infinity3
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 967e78c5ec0a..1425468188da 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -617,6 +617,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc.
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
@@ -943,6 +945,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index a69e6db80c79..8b7913c13f9a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1981,6 +1981,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	arch/arm/mach-pxa/mioa701.c
 S:	Maintained
 
+ARM/MStar SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+S:	Maintained
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.23.0


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

* [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
  2019-10-14  6:15 ` Daniel Palmer
  (?)
@ 2019-10-14  6:15   ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Heiko Stuebner, Shawn Guo, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton,
	Mike Rapoport, Bartosz Golaszewski, Doug Anderson,
	Ard Biesheuvel, Benjamin Gaignard, Nick Desaulniers,
	Stefan Agner, Nicolas Pitre, Masahiro Yamada, Nathan Chancellor,
	Andreas Färber, Nathan Huckleberry, linux-arm-kernel,
	devicetree, linux-kernel

Initial support for the MStar infinity/infinity3 series of Cortex A7
based IP camera SoCs.

These chips are interesting in that they contain a Cortex A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                    |  1 +
 arch/arm/Kconfig               |  2 +
 arch/arm/Makefile              |  1 +
 arch/arm/mach-mstar/Kconfig    | 15 ++++++
 arch/arm/mach-mstar/Makefile   |  1 +
 arch/arm/mach-mstar/infinity.c | 96 ++++++++++++++++++++++++++++++++++
 6 files changed, 116 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/infinity.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 8b7913c13f9a..e35c3eb2b680 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1985,6 +1985,7 @@ ARM/MStar SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8a50efb559f3..b8450ed8d946 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -667,6 +667,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index db857d07114f..2a3c127cd243 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTAR)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..7bc79c296ebb
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,15 @@
+menuconfig ARCH_MSTAR
+	bool "MStar SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	help
+	  Support for MStar ARMv7 SoCs
+
+if ARCH_MSTAR
+
+config MACH_INFINITY
+	bool "MStar infinity SoC support"
+	default ARCH_INFINITY
+	help
+	  Support for MStar infinity(1/3) IP camera SoCs
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..144b58b189e3
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_MACH_INFINITY) += infinity.o
diff --git a/arch/arm/mach-mstar/infinity.c b/arch/arm/mach-mstar/infinity.c
new file mode 100644
index 000000000000..520581660bef
--- /dev/null
+++ b/arch/arm/mach-mstar/infinity.c
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar Infinity SoCs
+ *
+ * Copyright (c) 2019 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/io.h>
+
+/*
+ * The IO space is remapped to the same place
+ * the vendor kernel does so that the hardcoded
+ * addresses all over the vendor drivers line up.
+ */
+
+#define INFINITY_IO_PHYS	0x1f000000
+#define INFINITY_IO_OFFSET	0xde000000
+#define INFINITY_IO_VIRT	(INFINITY_IO_PHYS + INFINITY_IO_OFFSET)
+#define INFINITY_IO_SIZE	0x00400000
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge".
+ *
+ * It's not exactly known what is the L3 bridge is but
+ * the vendor code for both u-boot and linux share calls
+ * to "flush the miu pipe". This seems to be to force pending
+ * CPU writes to memory so that the state is right before
+ * DMA capable devices try to read descriptors and data
+ * the CPU has prepared. Without doing this ethernet doesn't
+ * work reliably for example.
+ */
+
+#define INFINITY_L3BRIDGE_FLUSH		0x204414
+#define INFINITY_L3BRIDGE_STATUS	0x204440
+#define INFINITY_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define INFINITY_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *miu_status;
+static void __iomem *miu_flush;
+
+static struct map_desc infinity_io_desc[] __initdata = {
+		{INFINITY_IO_VIRT, __phys_to_pfn(INFINITY_IO_PHYS),
+				INFINITY_IO_SIZE, MT_DEVICE},
+};
+
+static void __init infinity_map_io(void)
+{
+	iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
+	miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_FLUSH);
+	miu_status = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_STATUS);
+}
+
+static const char * const infinity_board_dt_compat[] = {
+	"mstar,infinity",
+	NULL,
+};
+
+static DEFINE_SPINLOCK(infinity_mb_lock);
+
+static void infinity_mb(void)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&infinity_mb_lock, flags);
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, miu_flush);
+	writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
+	while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+	spin_unlock_irqrestore(&infinity_mb_lock, flags);
+}
+
+static void __init infinity_barriers_init(void)
+{
+	soc_mb = infinity_mb;
+}
+
+static void __init infinity_init(void)
+{
+	infinity_barriers_init();
+}
+
+DT_MACHINE_START(INFINITY_DT, "MStar Infinity (Device Tree)")
+	.dt_compat	= infinity_board_dt_compat,
+	.init_machine	= infinity_init,
+	.map_io		= infinity_map_io,
+MACHINE_END
-- 
2.23.0


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

* [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Heiko Stuebner, Shawn Guo, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton

Initial support for the MStar infinity/infinity3 series of Cortex A7
based IP camera SoCs.

These chips are interesting in that they contain a Cortex A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                    |  1 +
 arch/arm/Kconfig               |  2 +
 arch/arm/Makefile              |  1 +
 arch/arm/mach-mstar/Kconfig    | 15 ++++++
 arch/arm/mach-mstar/Makefile   |  1 +
 arch/arm/mach-mstar/infinity.c | 96 ++++++++++++++++++++++++++++++++++
 6 files changed, 116 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/infinity.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 8b7913c13f9a..e35c3eb2b680 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1985,6 +1985,7 @@ ARM/MStar SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8a50efb559f3..b8450ed8d946 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -667,6 +667,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index db857d07114f..2a3c127cd243 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTAR)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..7bc79c296ebb
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,15 @@
+menuconfig ARCH_MSTAR
+	bool "MStar SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	help
+	  Support for MStar ARMv7 SoCs
+
+if ARCH_MSTAR
+
+config MACH_INFINITY
+	bool "MStar infinity SoC support"
+	default ARCH_INFINITY
+	help
+	  Support for MStar infinity(1/3) IP camera SoCs
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..144b58b189e3
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_MACH_INFINITY) += infinity.o
diff --git a/arch/arm/mach-mstar/infinity.c b/arch/arm/mach-mstar/infinity.c
new file mode 100644
index 000000000000..520581660bef
--- /dev/null
+++ b/arch/arm/mach-mstar/infinity.c
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar Infinity SoCs
+ *
+ * Copyright (c) 2019 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/io.h>
+
+/*
+ * The IO space is remapped to the same place
+ * the vendor kernel does so that the hardcoded
+ * addresses all over the vendor drivers line up.
+ */
+
+#define INFINITY_IO_PHYS	0x1f000000
+#define INFINITY_IO_OFFSET	0xde000000
+#define INFINITY_IO_VIRT	(INFINITY_IO_PHYS + INFINITY_IO_OFFSET)
+#define INFINITY_IO_SIZE	0x00400000
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge".
+ *
+ * It's not exactly known what is the L3 bridge is but
+ * the vendor code for both u-boot and linux share calls
+ * to "flush the miu pipe". This seems to be to force pending
+ * CPU writes to memory so that the state is right before
+ * DMA capable devices try to read descriptors and data
+ * the CPU has prepared. Without doing this ethernet doesn't
+ * work reliably for example.
+ */
+
+#define INFINITY_L3BRIDGE_FLUSH		0x204414
+#define INFINITY_L3BRIDGE_STATUS	0x204440
+#define INFINITY_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define INFINITY_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *miu_status;
+static void __iomem *miu_flush;
+
+static struct map_desc infinity_io_desc[] __initdata = {
+		{INFINITY_IO_VIRT, __phys_to_pfn(INFINITY_IO_PHYS),
+				INFINITY_IO_SIZE, MT_DEVICE},
+};
+
+static void __init infinity_map_io(void)
+{
+	iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
+	miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_FLUSH);
+	miu_status = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_STATUS);
+}
+
+static const char * const infinity_board_dt_compat[] = {
+	"mstar,infinity",
+	NULL,
+};
+
+static DEFINE_SPINLOCK(infinity_mb_lock);
+
+static void infinity_mb(void)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&infinity_mb_lock, flags);
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, miu_flush);
+	writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
+	while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+	spin_unlock_irqrestore(&infinity_mb_lock, flags);
+}
+
+static void __init infinity_barriers_init(void)
+{
+	soc_mb = infinity_mb;
+}
+
+static void __init infinity_init(void)
+{
+	infinity_barriers_init();
+}
+
+DT_MACHINE_START(INFINITY_DT, "MStar Infinity (Device Tree)")
+	.dt_compat	= infinity_board_dt_compat,
+	.init_machine	= infinity_init,
+	.map_io		= infinity_map_io,
+MACHINE_END
-- 
2.23.0

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

* [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Stefan Agner,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	daniel, Russell King, Mike Rapoport, Bartosz Golaszewski,
	Nathan Huckleberry, Icenowy Zheng, devicetree, Arnd Bergmann,
	Maxime Ripard, Rob Herring, Jonathan Cameron, Doug Anderson,
	Nathan Chancellor, linux-arm-kernel, Ard Biesheuvel,
	Greg Kroah-Hartman, Nicolas Pitre, Nick Desaulniers,
	linux-kernel, Andreas Färber, Paul Burton, Andrew Morton,
	Shawn Guo, David S. Miller

Initial support for the MStar infinity/infinity3 series of Cortex A7
based IP camera SoCs.

These chips are interesting in that they contain a Cortex A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                    |  1 +
 arch/arm/Kconfig               |  2 +
 arch/arm/Makefile              |  1 +
 arch/arm/mach-mstar/Kconfig    | 15 ++++++
 arch/arm/mach-mstar/Makefile   |  1 +
 arch/arm/mach-mstar/infinity.c | 96 ++++++++++++++++++++++++++++++++++
 6 files changed, 116 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/infinity.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 8b7913c13f9a..e35c3eb2b680 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1985,6 +1985,7 @@ ARM/MStar SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8a50efb559f3..b8450ed8d946 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -667,6 +667,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index db857d07114f..2a3c127cd243 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTAR)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..7bc79c296ebb
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,15 @@
+menuconfig ARCH_MSTAR
+	bool "MStar SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	help
+	  Support for MStar ARMv7 SoCs
+
+if ARCH_MSTAR
+
+config MACH_INFINITY
+	bool "MStar infinity SoC support"
+	default ARCH_INFINITY
+	help
+	  Support for MStar infinity(1/3) IP camera SoCs
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..144b58b189e3
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_MACH_INFINITY) += infinity.o
diff --git a/arch/arm/mach-mstar/infinity.c b/arch/arm/mach-mstar/infinity.c
new file mode 100644
index 000000000000..520581660bef
--- /dev/null
+++ b/arch/arm/mach-mstar/infinity.c
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar Infinity SoCs
+ *
+ * Copyright (c) 2019 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/io.h>
+
+/*
+ * The IO space is remapped to the same place
+ * the vendor kernel does so that the hardcoded
+ * addresses all over the vendor drivers line up.
+ */
+
+#define INFINITY_IO_PHYS	0x1f000000
+#define INFINITY_IO_OFFSET	0xde000000
+#define INFINITY_IO_VIRT	(INFINITY_IO_PHYS + INFINITY_IO_OFFSET)
+#define INFINITY_IO_SIZE	0x00400000
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge".
+ *
+ * It's not exactly known what is the L3 bridge is but
+ * the vendor code for both u-boot and linux share calls
+ * to "flush the miu pipe". This seems to be to force pending
+ * CPU writes to memory so that the state is right before
+ * DMA capable devices try to read descriptors and data
+ * the CPU has prepared. Without doing this ethernet doesn't
+ * work reliably for example.
+ */
+
+#define INFINITY_L3BRIDGE_FLUSH		0x204414
+#define INFINITY_L3BRIDGE_STATUS	0x204440
+#define INFINITY_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define INFINITY_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *miu_status;
+static void __iomem *miu_flush;
+
+static struct map_desc infinity_io_desc[] __initdata = {
+		{INFINITY_IO_VIRT, __phys_to_pfn(INFINITY_IO_PHYS),
+				INFINITY_IO_SIZE, MT_DEVICE},
+};
+
+static void __init infinity_map_io(void)
+{
+	iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
+	miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_FLUSH);
+	miu_status = (void __iomem *)(infinity_io_desc[0].virtual
+			+ INFINITY_L3BRIDGE_STATUS);
+}
+
+static const char * const infinity_board_dt_compat[] = {
+	"mstar,infinity",
+	NULL,
+};
+
+static DEFINE_SPINLOCK(infinity_mb_lock);
+
+static void infinity_mb(void)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&infinity_mb_lock, flags);
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, miu_flush);
+	writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
+	while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+	spin_unlock_irqrestore(&infinity_mb_lock, flags);
+}
+
+static void __init infinity_barriers_init(void)
+{
+	soc_mb = infinity_mb;
+}
+
+static void __init infinity_init(void)
+{
+	infinity_barriers_init();
+}
+
+DT_MACHINE_START(INFINITY_DT, "MStar Infinity (Device Tree)")
+	.dt_compat	= infinity_board_dt_compat,
+	.init_machine	= infinity_init,
+	.map_io		= infinity_map_io,
+MACHINE_END
-- 
2.23.0


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

* [PATCH 3/4] ARM: mstar: Add infinity series dtsi
  2019-10-14  6:15 ` Daniel Palmer
  (?)
@ 2019-10-14  6:15   ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Jarkko Sakkinen,
	Laurent Pinchart, Icenowy Zheng, Mauro Carvalho Chehab,
	David S. Miller, Greg Kroah-Hartman, Jonathan Cameron,
	Paul E. McKenney, Arnd Bergmann, Linus Walleij, Paul Burton,
	Andrew Morton, Bartosz Golaszewski, Doug Anderson,
	Ard Biesheuvel, Benjamin Gaignard, Nick Desaulniers,
	Stefan Agner, Nicolas Pitre, Masahiro Yamada, Nathan Chancellor,
	Nathan Huckleberry, linux-arm-kernel, devicetree, linux-kernel

Adds initial dtsis for the infinity SoC family and a dtsi for
the infinity3 based msc313e part.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/Makefile               |  3 +
 arch/arm/boot/dts/infinity.dtsi          | 71 ++++++++++++++++++++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
 arch/arm/boot/dts/infinity3.dtsi         | 11 ++++
 5 files changed, 100 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index e35c3eb2b680..8045563ac76f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1986,6 +1986,7 @@ M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/mach-mstar/
+F:	arch/arm/boot/dts/infinity*.dtsi
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b21b3a64641a..bf0aa53d3a13 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1303,3 +1303,6 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-bmc-opp-zaius.dtb \
 	aspeed-bmc-portwell-neptune.dtb \
 	aspeed-bmc-quanta-q71l.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += \
+	infinity3-msc313e-breadbee.dtb
+
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..101582f277ff
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <6000000>;
+	};
+
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@0x16001000 {
+			compatible = "arm,cortex-a7-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-controller;
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x1000>;
+		};
+
+		pm_uart: uart@1f221000 {
+			compatible = "ns16550a";
+			reg = <0x1f221000 0x100>;
+			reg-shift = <3>;
+			clock-frequency = <172000000>;
+			status = "disabled";
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..d0c53153faad
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..bea22cf62373
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+};
+
-- 
2.23.0


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

* [PATCH 3/4] ARM: mstar: Add infinity series dtsi
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Jarkko Sakkinen,
	Laurent Pinchart, Icenowy Zheng, Mauro Carvalho Chehab,
	David S. Miller, Greg Kroah-Hartman, Jonathan Cameron,
	Paul E. McKenney, Arnd Bergmann, Linus Walleij, Paul Burton,
	Andrew

Adds initial dtsis for the infinity SoC family and a dtsi for
the infinity3 based msc313e part.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/Makefile               |  3 +
 arch/arm/boot/dts/infinity.dtsi          | 71 ++++++++++++++++++++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
 arch/arm/boot/dts/infinity3.dtsi         | 11 ++++
 5 files changed, 100 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index e35c3eb2b680..8045563ac76f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1986,6 +1986,7 @@ M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/mach-mstar/
+F:	arch/arm/boot/dts/infinity*.dtsi
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b21b3a64641a..bf0aa53d3a13 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1303,3 +1303,6 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-bmc-opp-zaius.dtb \
 	aspeed-bmc-portwell-neptune.dtb \
 	aspeed-bmc-quanta-q71l.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += \
+	infinity3-msc313e-breadbee.dtb
+
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..101582f277ff
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <6000000>;
+	};
+
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@0x16001000 {
+			compatible = "arm,cortex-a7-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-controller;
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x1000>;
+		};
+
+		pm_uart: uart@1f221000 {
+			compatible = "ns16550a";
+			reg = <0x1f221000 0x100>;
+			reg-shift = <3>;
+			clock-frequency = <172000000>;
+			status = "disabled";
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..d0c53153faad
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..bea22cf62373
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+};
+
-- 
2.23.0

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

* [PATCH 3/4] ARM: mstar: Add infinity series dtsi
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Jarkko Sakkinen,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	daniel, Russell King, Bartosz Golaszewski, Nathan Huckleberry,
	Icenowy Zheng, devicetree, Arnd Bergmann, Maxime Ripard,
	Rob Herring, Stefan Agner, Jonathan Cameron, Doug Anderson,
	Nathan Chancellor, linux-arm-kernel, Ard Biesheuvel,
	Greg Kroah-Hartman, Nicolas Pitre, Nick Desaulniers,
	linux-kernel, Paul Burton, Andrew Morton, Shawn Guo,
	David S. Miller

Adds initial dtsis for the infinity SoC family and a dtsi for
the infinity3 based msc313e part.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/Makefile               |  3 +
 arch/arm/boot/dts/infinity.dtsi          | 71 ++++++++++++++++++++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
 arch/arm/boot/dts/infinity3.dtsi         | 11 ++++
 5 files changed, 100 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index e35c3eb2b680..8045563ac76f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1986,6 +1986,7 @@ M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/mach-mstar/
+F:	arch/arm/boot/dts/infinity*.dtsi
 S:	Maintained
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b21b3a64641a..bf0aa53d3a13 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1303,3 +1303,6 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-bmc-opp-zaius.dtb \
 	aspeed-bmc-portwell-neptune.dtb \
 	aspeed-bmc-quanta-q71l.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += \
+	infinity3-msc313e-breadbee.dtb
+
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..101582f277ff
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <6000000>;
+	};
+
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@0x16001000 {
+			compatible = "arm,cortex-a7-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-controller;
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x1000>;
+		};
+
+		pm_uart: uart@1f221000 {
+			compatible = "ns16550a";
+			reg = <0x1f221000 0x100>;
+			reg-shift = <3>;
+			clock-frequency = <172000000>;
+			status = "disabled";
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..d0c53153faad
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..bea22cf62373
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+};
+
-- 
2.23.0


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

* [PATCH 4/4] ARM: mstar: Add dts for msc313e based BreadBee board
  2019-10-14  6:15 ` Daniel Palmer
  (?)
@ 2019-10-14  6:15   ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton,
	Bartosz Golaszewski, Doug Anderson, Ard Biesheuvel,
	Benjamin Gaignard, Nick Desaulniers, Stefan Agner, Nicolas Pitre,
	Masahiro Yamada, Nathan Chancellor, Andreas Färber,
	Nathan Huckleberry, linux-arm-kernel, devicetree, linux-kernel

BreadBee is an opensource development board based on the
MStar msc313e SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  1 +
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 26 +++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bf0aa53d3a13..e546dfafef55 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1276,6 +1276,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..cf185878c412
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "thingy.jp breadbee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3", "mstar,infinity";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+		bootargs = "console=ttyS0,115200";
+	};
+
+	aliases {
+		console = &pm_uart;
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.23.0


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

* [PATCH 4/4] ARM: mstar: Add dts for msc313e based BreadBee board
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: daniel, Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Shawn Guo, Heiko Stuebner, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Arnd Bergmann, Linus Walleij, Paul Burton, Andrew Morton,
	Bartosz

BreadBee is an opensource development board based on the
MStar msc313e SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  1 +
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 26 +++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bf0aa53d3a13..e546dfafef55 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1276,6 +1276,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..cf185878c412
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "thingy.jp breadbee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3", "mstar,infinity";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+		bootargs = "console=ttyS0,115200";
+	};
+
+	aliases {
+		console = &pm_uart;
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.23.0

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

* [PATCH 4/4] ARM: mstar: Add dts for msc313e based BreadBee board
@ 2019-10-14  6:15   ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-14  6:15 UTC (permalink / raw)
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Stefan Agner,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	daniel, Russell King, Bartosz Golaszewski, Nathan Huckleberry,
	Icenowy Zheng, devicetree, Arnd Bergmann, Maxime Ripard,
	Rob Herring, Jonathan Cameron, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Ard Biesheuvel, Greg Kroah-Hartman,
	Nicolas Pitre, Nick Desaulniers, linux-kernel,
	Andreas Färber, Paul Burton, Andrew Morton, Shawn Guo,
	David S. Miller

BreadBee is an opensource development board based on the
MStar msc313e SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  1 +
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 26 +++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bf0aa53d3a13..e546dfafef55 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1276,6 +1276,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTAR) += infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..cf185878c412
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "thingy.jp breadbee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3", "mstar,infinity";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+		bootargs = "console=ttyS0,115200";
+	};
+
+	aliases {
+		console = &pm_uart;
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.23.0


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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
  2019-10-14  6:15   ` Daniel Palmer
  (?)
@ 2019-10-14 11:19     ` Arnd Bergmann
  -1 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2019-10-14 11:19 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Heiko Stuebner, Shawn Guo, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Linus Walleij, Paul Burton, Andrew Morton, Mike Rapoport,
	Bartosz Golaszewski, Doug Anderson, Ard Biesheuvel,
	Benjamin Gaignard, Nick Desaulniers, Stefan Agner, Nicolas Pitre,
	Masahiro Yamada, Nathan Chancellor, Andreas Färber,
	Nathan Huckleberry, Linux ARM, DTML, linux-kernel

On Mon, Oct 14, 2019 at 8:21 AM Daniel Palmer <daniel@0x0f.com> wrote:
>
> Initial support for the MStar infinity/infinity3 series of Cortex A7
> based IP camera SoCs.
>
> These chips are interesting in that they contain a Cortex A7,
> peripherals and system memory in a single tiny QFN package that
> can be hand soldered allowing almost anyone to embed Linux
> in their projects.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>

> +
> +static void __init infinity_map_io(void)
> +{
> +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_FLUSH);
> +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_STATUS);
> +}

If you do this a little later in .init_machine, you can use a simple ioremap()
rather than picking a hardcoded physical address. It looks like nothing
uses the mapping before you set soc_mb anyway.

> +static DEFINE_SPINLOCK(infinity_mb_lock);
> +
> +static void infinity_mb(void)
> +{
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&infinity_mb_lock, flags);
> +       /* toggle the flush miu pipe fire bit */
> +       writel_relaxed(0, miu_flush);
> +       writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> +       while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
> +               /* wait for flush to complete */
> +       }
> +       spin_unlock_irqrestore(&infinity_mb_lock, flags);
> +}

Wow, this is a heavy barrier. From your description it doesn't sound like
there is anything to be done about it unfortunately.

Two possible issues I see here:

* It looks like it relies on CONFIG_ARM_HEAVY_BARRIER, but your Kconfig
  entry does not select that. In many configurations, CACHE_L2X0 would
  be set, but there is no need for yours on the Cortex-A7.

* You might get into a deadlock if you get an FIQ (NMI) interrupt while
   holding the infinity_mb_lock, and then issue another memory barrier
   from that handler, so you might need to use
   local_irq_disable()+local_fiq_disable()+raw_spin_lock() here, making
   it even more expensive.
   Not sure if it matters in practice, as almost nothing uses fiq any more.
   OTOH, maybe the lock is not needed at all? AFAICT if the sequence
   gets interrupted by a handler that also calls mb(), you would still
   continue in the original thread while observing a full l3 barrier. ;-)

        Arnd

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-14 11:19     ` Arnd Bergmann
  0 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2019-10-14 11:19 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Daniel Palmer, Rob Herring, Mark Rutland, Russell King,
	Maxime Ripard, Heiko Stuebner, Shawn Guo, Laurent Pinchart,
	Icenowy Zheng, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Cameron, Paul E. McKenney,
	Linus Walleij, Paul Burton, Andrew Morton, Mike Rapoport,
	Bartosz Golaszewski

On Mon, Oct 14, 2019 at 8:21 AM Daniel Palmer <daniel@0x0f.com> wrote:
>
> Initial support for the MStar infinity/infinity3 series of Cortex A7
> based IP camera SoCs.
>
> These chips are interesting in that they contain a Cortex A7,
> peripherals and system memory in a single tiny QFN package that
> can be hand soldered allowing almost anyone to embed Linux
> in their projects.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>

> +
> +static void __init infinity_map_io(void)
> +{
> +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_FLUSH);
> +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_STATUS);
> +}

If you do this a little later in .init_machine, you can use a simple ioremap()
rather than picking a hardcoded physical address. It looks like nothing
uses the mapping before you set soc_mb anyway.

> +static DEFINE_SPINLOCK(infinity_mb_lock);
> +
> +static void infinity_mb(void)
> +{
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&infinity_mb_lock, flags);
> +       /* toggle the flush miu pipe fire bit */
> +       writel_relaxed(0, miu_flush);
> +       writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> +       while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
> +               /* wait for flush to complete */
> +       }
> +       spin_unlock_irqrestore(&infinity_mb_lock, flags);
> +}

Wow, this is a heavy barrier. From your description it doesn't sound like
there is anything to be done about it unfortunately.

Two possible issues I see here:

* It looks like it relies on CONFIG_ARM_HEAVY_BARRIER, but your Kconfig
  entry does not select that. In many configurations, CACHE_L2X0 would
  be set, but there is no need for yours on the Cortex-A7.

* You might get into a deadlock if you get an FIQ (NMI) interrupt while
   holding the infinity_mb_lock, and then issue another memory barrier
   from that handler, so you might need to use
   local_irq_disable()+local_fiq_disable()+raw_spin_lock() here, making
   it even more expensive.
   Not sure if it matters in practice, as almost nothing uses fiq any more.
   OTOH, maybe the lock is not needed at all? AFAICT if the sequence
   gets interrupted by a handler that also calls mb(), you would still
   continue in the original thread while observing a full l3 barrier. ;-)

        Arnd

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-14 11:19     ` Arnd Bergmann
  0 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2019-10-14 11:19 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Stefan Agner,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	Russell King, Mike Rapoport, Bartosz Golaszewski,
	Nathan Huckleberry, Icenowy Zheng, DTML, Maxime Ripard,
	Rob Herring, Jonathan Cameron, Doug Anderson, Nathan Chancellor,
	Linux ARM, Ard Biesheuvel, Greg Kroah-Hartman, Nicolas Pitre,
	Nick Desaulniers, linux-kernel, Andreas Färber, Paul Burton,
	Andrew Morton, Shawn Guo, David S. Miller

On Mon, Oct 14, 2019 at 8:21 AM Daniel Palmer <daniel@0x0f.com> wrote:
>
> Initial support for the MStar infinity/infinity3 series of Cortex A7
> based IP camera SoCs.
>
> These chips are interesting in that they contain a Cortex A7,
> peripherals and system memory in a single tiny QFN package that
> can be hand soldered allowing almost anyone to embed Linux
> in their projects.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>

> +
> +static void __init infinity_map_io(void)
> +{
> +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_FLUSH);
> +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> +                       + INFINITY_L3BRIDGE_STATUS);
> +}

If you do this a little later in .init_machine, you can use a simple ioremap()
rather than picking a hardcoded physical address. It looks like nothing
uses the mapping before you set soc_mb anyway.

> +static DEFINE_SPINLOCK(infinity_mb_lock);
> +
> +static void infinity_mb(void)
> +{
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&infinity_mb_lock, flags);
> +       /* toggle the flush miu pipe fire bit */
> +       writel_relaxed(0, miu_flush);
> +       writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> +       while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
> +               /* wait for flush to complete */
> +       }
> +       spin_unlock_irqrestore(&infinity_mb_lock, flags);
> +}

Wow, this is a heavy barrier. From your description it doesn't sound like
there is anything to be done about it unfortunately.

Two possible issues I see here:

* It looks like it relies on CONFIG_ARM_HEAVY_BARRIER, but your Kconfig
  entry does not select that. In many configurations, CACHE_L2X0 would
  be set, but there is no need for yours on the Cortex-A7.

* You might get into a deadlock if you get an FIQ (NMI) interrupt while
   holding the infinity_mb_lock, and then issue another memory barrier
   from that handler, so you might need to use
   local_irq_disable()+local_fiq_disable()+raw_spin_lock() here, making
   it even more expensive.
   Not sure if it matters in practice, as almost nothing uses fiq any more.
   OTOH, maybe the lock is not needed at all? AFAICT if the sequence
   gets interrupted by a handler that also calls mb(), you would still
   continue in the original thread while observing a full l3 barrier. ;-)

        Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
  2019-10-14 11:19     ` Arnd Bergmann
@ 2019-10-16 20:32       ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-16 20:32 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, linux-arm-kernel

> > +
> > +static void __init infinity_map_io(void)
> > +{
> > +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> > +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> > +                       + INFINITY_L3BRIDGE_FLUSH);
> > +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> > +                       + INFINITY_L3BRIDGE_STATUS);
> > +}
> 
> If you do this a little later in .init_machine, you can use a simple ioremap()
> rather than picking a hardcoded physical address. It looks like nothing
> uses the mapping before you set soc_mb anyway.

I've moved this into infinity_barriers_init() using ioremap() as suggested.
I'd like to keep the fixed remap address for now as there are some
drivers in the vendor code that might be useful until rewrites are done but 
are littered with hard coded addresses.

> > +static DEFINE_SPINLOCK(infinity_mb_lock);
> > +
> > +static void infinity_mb(void)
> > +{
> > +       unsigned long flags;
> > +
> > +       spin_lock_irqsave(&infinity_mb_lock, flags);
> > +       /* toggle the flush miu pipe fire bit */
> > +       writel_relaxed(0, miu_flush);
> > +       writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> > +       while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
> > +               /* wait for flush to complete */
> > +       }
> > +       spin_unlock_irqrestore(&infinity_mb_lock, flags);
> > +}
> 
> Wow, this is a heavy barrier. From your description it doesn't sound like
> there is anything to be done about it unfortunately.

It's possible there is a better way once I can find out what the L3 bridge
actually is. There is a small amount of documentation for the miu (DDR
controller) that says it has an 8 or 4 operation configurable pipeline but
this flushing bit is in a totally different area that's only documented
by the comment about it in u-boot.

> Two possible issues I see here:
> 
> * It looks like it relies on CONFIG_ARM_HEAVY_BARRIER, but your Kconfig
>   entry does not select that. In many configurations, CACHE_L2X0 would
>   be set, but there is no need for yours on the Cortex-A7.

Fixed.
 
>    Not sure if it matters in practice, as almost nothing uses fiq any more.
>    OTOH, maybe the lock is not needed at all? AFAICT if the sequence
>    gets interrupted by a handler that also calls mb(), you would still
>    continue in the original thread while observing a full l3 barrier. ;-)

I've taken the lock out and tested that the ethernet isn't sending garbage
and everything looks good.

I'm still hoping for some feedback on the other parts of the series.
I'll post a v2 series in a few days.

Thanks!

Daniel

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-16 20:32       ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-16 20:32 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, linux-arm-kernel

> > +
> > +static void __init infinity_map_io(void)
> > +{
> > +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> > +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> > +                       + INFINITY_L3BRIDGE_FLUSH);
> > +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> > +                       + INFINITY_L3BRIDGE_STATUS);
> > +}
> 
> If you do this a little later in .init_machine, you can use a simple ioremap()
> rather than picking a hardcoded physical address. It looks like nothing
> uses the mapping before you set soc_mb anyway.

I've moved this into infinity_barriers_init() using ioremap() as suggested.
I'd like to keep the fixed remap address for now as there are some
drivers in the vendor code that might be useful until rewrites are done but 
are littered with hard coded addresses.

> > +static DEFINE_SPINLOCK(infinity_mb_lock);
> > +
> > +static void infinity_mb(void)
> > +{
> > +       unsigned long flags;
> > +
> > +       spin_lock_irqsave(&infinity_mb_lock, flags);
> > +       /* toggle the flush miu pipe fire bit */
> > +       writel_relaxed(0, miu_flush);
> > +       writel_relaxed(INFINITY_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> > +       while (!(readl_relaxed(miu_status) & INFINITY_L3BRIDGE_STATUS_DONE)) {
> > +               /* wait for flush to complete */
> > +       }
> > +       spin_unlock_irqrestore(&infinity_mb_lock, flags);
> > +}
> 
> Wow, this is a heavy barrier. From your description it doesn't sound like
> there is anything to be done about it unfortunately.

It's possible there is a better way once I can find out what the L3 bridge
actually is. There is a small amount of documentation for the miu (DDR
controller) that says it has an 8 or 4 operation configurable pipeline but
this flushing bit is in a totally different area that's only documented
by the comment about it in u-boot.

> Two possible issues I see here:
> 
> * It looks like it relies on CONFIG_ARM_HEAVY_BARRIER, but your Kconfig
>   entry does not select that. In many configurations, CACHE_L2X0 would
>   be set, but there is no need for yours on the Cortex-A7.

Fixed.
 
>    Not sure if it matters in practice, as almost nothing uses fiq any more.
>    OTOH, maybe the lock is not needed at all? AFAICT if the sequence
>    gets interrupted by a handler that also calls mb(), you would still
>    continue in the original thread while observing a full l3 barrier. ;-)

I've taken the lock out and tested that the ethernet isn't sending garbage
and everything looks good.

I'm still hoping for some feedback on the other parts of the series.
I'll post a v2 series in a few days.

Thanks!

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
  2019-10-16 20:32       ` Daniel Palmer
@ 2019-10-17 13:02         ` Arnd Bergmann
  -1 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2019-10-17 13:02 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-kernel, Linux ARM

On Wed, Oct 16, 2019 at 10:32 PM Daniel Palmer <daniel@0x0f.com> wrote:
>
> > > +
> > > +static void __init infinity_map_io(void)
> > > +{
> > > +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> > > +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> > > +                       + INFINITY_L3BRIDGE_FLUSH);
> > > +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> > > +                       + INFINITY_L3BRIDGE_STATUS);
> > > +}
> >
> > If you do this a little later in .init_machine, you can use a simple ioremap()
> > rather than picking a hardcoded physical address. It looks like nothing
> > uses the mapping before you set soc_mb anyway.
>
> I've moved this into infinity_barriers_init() using ioremap() as suggested.
> I'd like to keep the fixed remap address for now as there are some
> drivers in the vendor code that might be useful until rewrites are done but
> are littered with hard coded addresses.

Maybe keep the infinity_io_desc as an out-of-tree patch then? You can
simply do both, and ioremap() will return the hardcoded address.

> >    Not sure if it matters in practice, as almost nothing uses fiq any more.
> >    OTOH, maybe the lock is not needed at all? AFAICT if the sequence
> >    gets interrupted by a handler that also calls mb(), you would still
> >    continue in the original thread while observing a full l3 barrier. ;-)
>
> I've taken the lock out and tested that the ethernet isn't sending garbage
> and everything looks good.

I would not expect a missing spinlock to have an observable effect, the
question is more whether it's correct in all rare corner cases where
the barrier is interrupted and the interrupt handler uses another barrier.

I think it is, but I would recommend adding a comment to explain this if
you drop the spinlock. (or a comment about why this works with fiq if you
keep the lock).

     Arnd

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-17 13:02         ` Arnd Bergmann
  0 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2019-10-17 13:02 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-kernel, Linux ARM

On Wed, Oct 16, 2019 at 10:32 PM Daniel Palmer <daniel@0x0f.com> wrote:
>
> > > +
> > > +static void __init infinity_map_io(void)
> > > +{
> > > +       iotable_init(infinity_io_desc, ARRAY_SIZE(infinity_io_desc));
> > > +       miu_flush = (void __iomem *)(infinity_io_desc[0].virtual
> > > +                       + INFINITY_L3BRIDGE_FLUSH);
> > > +       miu_status = (void __iomem *)(infinity_io_desc[0].virtual
> > > +                       + INFINITY_L3BRIDGE_STATUS);
> > > +}
> >
> > If you do this a little later in .init_machine, you can use a simple ioremap()
> > rather than picking a hardcoded physical address. It looks like nothing
> > uses the mapping before you set soc_mb anyway.
>
> I've moved this into infinity_barriers_init() using ioremap() as suggested.
> I'd like to keep the fixed remap address for now as there are some
> drivers in the vendor code that might be useful until rewrites are done but
> are littered with hard coded addresses.

Maybe keep the infinity_io_desc as an out-of-tree patch then? You can
simply do both, and ioremap() will return the hardcoded address.

> >    Not sure if it matters in practice, as almost nothing uses fiq any more.
> >    OTOH, maybe the lock is not needed at all? AFAICT if the sequence
> >    gets interrupted by a handler that also calls mb(), you would still
> >    continue in the original thread while observing a full l3 barrier. ;-)
>
> I've taken the lock out and tested that the ethernet isn't sending garbage
> and everything looks good.

I would not expect a missing spinlock to have an observable effect, the
question is more whether it's correct in all rare corner cases where
the barrier is interrupted and the interrupt handler uses another barrier.

I think it is, but I would recommend adding a comment to explain this if
you drop the spinlock. (or a comment about why this works with fiq if you
keep the lock).

     Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
  2019-10-17 13:02         ` Arnd Bergmann
@ 2019-10-17 21:15           ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-17 21:15 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, linux-arm-kernel

On Thu, Oct 17, 2019 at 03:02:22PM +0200, Arnd Bergmann wrote:
> > I've moved this into infinity_barriers_init() using ioremap() as suggested.
> > I'd like to keep the fixed remap address for now as there are some
> > drivers in the vendor code that might be useful until rewrites are done but
> > are littered with hard coded addresses.
>
> Maybe keep the infinity_io_desc as an out-of-tree patch then? You can
> simply do both, and ioremap() will return the hardcoded address.

That makes sense.
 
> > I've taken the lock out and tested that the ethernet isn't sending garbage
> > and everything looks good.
> 
> I would not expect a missing spinlock to have an observable effect, the
> question is more whether it's correct in all rare corner cases where
> the barrier is interrupted and the interrupt handler uses another barrier.
> 
> I think it is, but I would recommend adding a comment to explain this if
> you drop the spinlock. (or a comment about why this works with fiq if you
> keep the lock).

I think I'll drop the lock for now and add it back if it becomes apparent
it's needed. I suspect it was added in the vendor code out of habit instead
of need.

Thanks for the input.

Daniel

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

* Re: [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs
@ 2019-10-17 21:15           ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-17 21:15 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, linux-arm-kernel

On Thu, Oct 17, 2019 at 03:02:22PM +0200, Arnd Bergmann wrote:
> > I've moved this into infinity_barriers_init() using ioremap() as suggested.
> > I'd like to keep the fixed remap address for now as there are some
> > drivers in the vendor code that might be useful until rewrites are done but
> > are littered with hard coded addresses.
>
> Maybe keep the infinity_io_desc as an out-of-tree patch then? You can
> simply do both, and ioremap() will return the hardcoded address.

That makes sense.
 
> > I've taken the lock out and tested that the ethernet isn't sending garbage
> > and everything looks good.
> 
> I would not expect a missing spinlock to have an observable effect, the
> question is more whether it's correct in all rare corner cases where
> the barrier is interrupted and the interrupt handler uses another barrier.
> 
> I think it is, but I would recommend adding a comment to explain this if
> you drop the spinlock. (or a comment about why this works with fiq if you
> keep the lock).

I think I'll drop the lock for now and add it back if it becomes apparent
it's needed. I suspect it was added in the vendor code out of habit instead
of need.

Thanks for the input.

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2019-10-14  6:15 ` Daniel Palmer
@ 2019-10-23 20:02   ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2019-10-23 20:02 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Daniel Palmer, Mark Rutland, Russell King, Maxime Ripard,
	Shawn Guo, Heiko Stuebner, Laurent Pinchart, Icenowy Zheng,
	Mauro Carvalho Chehab, David S. Miller, Greg Kroah-Hartman,
	Jonathan Cameron, Paul E. McKenney, Arnd Bergmann, Linus Walleij,
	Paul Burton, Andrew Morton, Bartosz Golaszewski, Doug Anderson,
	Ard Biesheuvel, Benjamin Gaignard, Nick Desaulniers,
	Stefan Agner, Nicolas Pitre, Masahiro Yamada, Nathan Chancellor,
	Sugaya Taichi, Nathan Huckleberry, linux-arm-kernel, devicetree,
	linux-kernel

On Mon, Oct 14, 2019 at 03:15:56PM +0900, Daniel Palmer wrote:
> This adds a prefix for MStar and thingy.jp and then defines compatible
> strings for the first MStar based board.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 22 +++++++++++++++++++
>  .../devicetree/bindings/vendor-prefixes.yaml  |  4 ++++
>  MAINTAINERS                                   |  6 +++++
>  3 files changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..0ea5b2b9387f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,22 @@
> +# SPDX-License-Identifier: (GPL-2.0+ OR X11)

(GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +

Drop the blank line.

> +      - description: thingy.jp BreadBee
> +        items:
> +          - const: thingyjp,breadbee
> +          - const: mstar,infinity
> +          - const: mstar,infinity3

infinity vs. infinity3? What's the difference? It's generally sufficient 
to just list a board compatible and a SoC compatible.

> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 967e78c5ec0a..1425468188da 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -617,6 +617,8 @@ patternProperties:
>      description: Microsemi Corporation
>    "^msi,.*":
>      description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.
>    "^mti,.*":
>      description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>    "^multi-inno,.*":
> @@ -943,6 +945,8 @@ patternProperties:
>      description: Three Five Corp
>    "^thine,.*":
>      description: THine Electronics, Inc.
> +  "^thingyjp,.*":
> +    description: thingy.jp
>    "^ti,.*":
>      description: Texas Instruments
>    "^tianma,.*":
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a69e6db80c79..8b7913c13f9a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1981,6 +1981,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>  F:	arch/arm/mach-pxa/mioa701.c
>  S:	Maintained
>  
> +ARM/MStar SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +S:	Maintained
> +
>  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>  M:	Michael Petchkovsky <mkpetch@internode.on.net>
>  S:	Maintained
> -- 
> 2.23.0
> 

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-23 20:02   ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2019-10-23 20:02 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Mark Rutland, Heiko Stuebner, Linus Walleij, Stefan Agner,
	Masahiro Yamada, Daniel Palmer, Laurent Pinchart,
	Benjamin Gaignard, Mauro Carvalho Chehab, Paul E. McKenney,
	Russell King, Bartosz Golaszewski, Nathan Huckleberry,
	Icenowy Zheng, devicetree, Arnd Bergmann, Maxime Ripard,
	Jonathan Cameron, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Ard Biesheuvel, Sugaya Taichi,
	Greg Kroah-Hartman, Nicolas Pitre, Nick Desaulniers,
	linux-kernel, Paul Burton, Andrew Morton, Shawn Guo,
	David S. Miller

On Mon, Oct 14, 2019 at 03:15:56PM +0900, Daniel Palmer wrote:
> This adds a prefix for MStar and thingy.jp and then defines compatible
> strings for the first MStar based board.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 22 +++++++++++++++++++
>  .../devicetree/bindings/vendor-prefixes.yaml  |  4 ++++
>  MAINTAINERS                                   |  6 +++++
>  3 files changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..0ea5b2b9387f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,22 @@
> +# SPDX-License-Identifier: (GPL-2.0+ OR X11)

(GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +

Drop the blank line.

> +      - description: thingy.jp BreadBee
> +        items:
> +          - const: thingyjp,breadbee
> +          - const: mstar,infinity
> +          - const: mstar,infinity3

infinity vs. infinity3? What's the difference? It's generally sufficient 
to just list a board compatible and a SoC compatible.

> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 967e78c5ec0a..1425468188da 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -617,6 +617,8 @@ patternProperties:
>      description: Microsemi Corporation
>    "^msi,.*":
>      description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.
>    "^mti,.*":
>      description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>    "^multi-inno,.*":
> @@ -943,6 +945,8 @@ patternProperties:
>      description: Three Five Corp
>    "^thine,.*":
>      description: THine Electronics, Inc.
> +  "^thingyjp,.*":
> +    description: thingy.jp
>    "^ti,.*":
>      description: Texas Instruments
>    "^tianma,.*":
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a69e6db80c79..8b7913c13f9a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1981,6 +1981,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>  F:	arch/arm/mach-pxa/mioa701.c
>  S:	Maintained
>  
> +ARM/MStar SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +S:	Maintained
> +
>  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>  M:	Michael Petchkovsky <mkpetch@internode.on.net>
>  S:	Maintained
> -- 
> 2.23.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2019-10-23 20:02   ` Rob Herring
@ 2019-10-23 22:43     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-23 22:43 UTC (permalink / raw)
  To: Rob Herring; +Cc: linux-arm-kernel, devicetree, linux-kernel

On Wed, Oct 23, 2019 at 03:02:28PM -0500, Rob Herring wrote:
> > +# SPDX-License-Identifier: (GPL-2.0+ OR X11)
> 
> (GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?

I used the sunxi file as a template and thought they had some
reason to do that. I'll change it to just GPL-2.0.

> > +      - description: thingy.jp BreadBee
> > +        items:
> > +          - const: thingyjp,breadbee
> > +          - const: mstar,infinity
> > +          - const: mstar,infinity3
> 
> infinity vs. infinity3? What's the difference? It's generally sufficient 
> to just list a board compatible and a SoC compatible.

Apart from some very slight differences (max clock speed, different PWM block)
they are the same and the PCB for the BreadBee can take either the msc313(i1) or
msc313e(i3). My v2 patch will remove the mstar,infinity line from there and move
it to a second board called the breadbee-crust to handle the i1 configuration.

Thanks,

Daniel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-23 22:43     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-23 22:43 UTC (permalink / raw)
  To: Rob Herring; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Wed, Oct 23, 2019 at 03:02:28PM -0500, Rob Herring wrote:
> > +# SPDX-License-Identifier: (GPL-2.0+ OR X11)
> 
> (GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?

I used the sunxi file as a template and thought they had some
reason to do that. I'll change it to just GPL-2.0.

> > +      - description: thingy.jp BreadBee
> > +        items:
> > +          - const: thingyjp,breadbee
> > +          - const: mstar,infinity
> > +          - const: mstar,infinity3
> 
> infinity vs. infinity3? What's the difference? It's generally sufficient 
> to just list a board compatible and a SoC compatible.

Apart from some very slight differences (max clock speed, different PWM block)
they are the same and the PCB for the BreadBee can take either the msc313(i1) or
msc313e(i3). My v2 patch will remove the mstar,infinity line from there and move
it to a second board called the breadbee-crust to handle the i1 configuration.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2019-10-23 22:43     ` Daniel Palmer
@ 2019-10-23 23:45       ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2019-10-23 23:45 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	devicetree, linux-kernel

On Wed, Oct 23, 2019 at 5:44 PM Daniel Palmer <daniel@0x0f.com> wrote:
>
> On Wed, Oct 23, 2019 at 03:02:28PM -0500, Rob Herring wrote:
> > > +# SPDX-License-Identifier: (GPL-2.0+ OR X11)
> >
> > (GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?
>
> I used the sunxi file as a template and thought they had some
> reason to do that. I'll change it to just GPL-2.0.

That wasn't a choice, but dual license it please.

> > > +      - description: thingy.jp BreadBee
> > > +        items:
> > > +          - const: thingyjp,breadbee
> > > +          - const: mstar,infinity
> > > +          - const: mstar,infinity3
> >
> > infinity vs. infinity3? What's the difference? It's generally sufficient
> > to just list a board compatible and a SoC compatible.
>
> Apart from some very slight differences (max clock speed, different PWM block)
> they are the same and the PCB for the BreadBee can take either the msc313(i1) or
> msc313e(i3). My v2 patch will remove the mstar,infinity line from there and move
> it to a second board called the breadbee-crust to handle the i1 configuration.

Sounds like you want:

items:
 - const: thingyjp,breadbee
 - enum:
     - mstar,infinity
     - mstar,infinity3

If one board can do both chips. Though if the same PCB is populated
differently beyond the SoC, then maybe 2 board compatibles makes
sense.

Why not use the part numbers (msc313...)?

Rob

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-23 23:45       ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2019-10-23 23:45 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: devicetree, linux-kernel,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

On Wed, Oct 23, 2019 at 5:44 PM Daniel Palmer <daniel@0x0f.com> wrote:
>
> On Wed, Oct 23, 2019 at 03:02:28PM -0500, Rob Herring wrote:
> > > +# SPDX-License-Identifier: (GPL-2.0+ OR X11)
> >
> > (GPL-2.0-only OR BSD-2-Clause) is preferred. Any reason to differ?
>
> I used the sunxi file as a template and thought they had some
> reason to do that. I'll change it to just GPL-2.0.

That wasn't a choice, but dual license it please.

> > > +      - description: thingy.jp BreadBee
> > > +        items:
> > > +          - const: thingyjp,breadbee
> > > +          - const: mstar,infinity
> > > +          - const: mstar,infinity3
> >
> > infinity vs. infinity3? What's the difference? It's generally sufficient
> > to just list a board compatible and a SoC compatible.
>
> Apart from some very slight differences (max clock speed, different PWM block)
> they are the same and the PCB for the BreadBee can take either the msc313(i1) or
> msc313e(i3). My v2 patch will remove the mstar,infinity line from there and move
> it to a second board called the breadbee-crust to handle the i1 configuration.

Sounds like you want:

items:
 - const: thingyjp,breadbee
 - enum:
     - mstar,infinity
     - mstar,infinity3

If one board can do both chips. Though if the same PCB is populated
differently beyond the SoC, then maybe 2 board compatibles makes
sense.

Why not use the part numbers (msc313...)?

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2019-10-23 23:45       ` Rob Herring
@ 2019-10-24  1:47         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-24  1:47 UTC (permalink / raw)
  To: Rob Herring
  Cc: moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	devicetree, linux-kernel

On Wed, Oct 23, 2019 at 06:45:29PM -0500, Rob Herring wrote:
> > I used the sunxi file as a template and thought they had some
> > reason to do that. I'll change it to just GPL-2.0.
> 
> That wasn't a choice, but dual license it please.

Will do.

> Sounds like you want:
> 
> items:
>  - const: thingyjp,breadbee
>  - enum:
>      - mstar,infinity
>      - mstar,infinity3
> 
> If one board can do both chips. Though if the same PCB is populated
> differently beyond the SoC, then maybe 2 board compatibles makes
> sense.

You can take one chip off and swap it with the other without any PCB/component
changes but as I've been working on both chips there are a few differences
coming up that means you can't use the same DT for both configurations.
For example the ethernet phy needs to be configured differently, the i1
SoC has less instances of the DMA controller blocks and so on.

The version of the chip can be detected from a register and I had considered
patching over the differences based on that but I couldn't find an example
of doing it within the kernel. So I'm detecting the chip version in u-boot and
loading the right DT there.
 
> Why not use the part numbers (msc313...)?

I had initially done that when I thought i1 was the msc31e and i3 was the
msc313e. For the i1 the only part I have found so far is the msc313 but
the i3 is a series of around 4 or 5 different configurations of the same SoC 
with differing amounts of DDR and pins. This is like the AllWinner V3S and 
S3/S3L where the same V3 SoC is packaged differently. As there is no source
of this information that appears on a google search I've started documenting
it at http://linux-chenxing.org/

I think the only place the actual chip model will need to be used will be a
compatible string for the pinctrl driver to setup the right pin numbers.

Thanks,

Daniel

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

* Re: [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2019-10-24  1:47         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2019-10-24  1:47 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree, linux-kernel,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

On Wed, Oct 23, 2019 at 06:45:29PM -0500, Rob Herring wrote:
> > I used the sunxi file as a template and thought they had some
> > reason to do that. I'll change it to just GPL-2.0.
> 
> That wasn't a choice, but dual license it please.

Will do.

> Sounds like you want:
> 
> items:
>  - const: thingyjp,breadbee
>  - enum:
>      - mstar,infinity
>      - mstar,infinity3
> 
> If one board can do both chips. Though if the same PCB is populated
> differently beyond the SoC, then maybe 2 board compatibles makes
> sense.

You can take one chip off and swap it with the other without any PCB/component
changes but as I've been working on both chips there are a few differences
coming up that means you can't use the same DT for both configurations.
For example the ethernet phy needs to be configured differently, the i1
SoC has less instances of the DMA controller blocks and so on.

The version of the chip can be detected from a register and I had considered
patching over the differences based on that but I couldn't find an example
of doing it within the kernel. So I'm detecting the chip version in u-boot and
loading the right DT there.
 
> Why not use the part numbers (msc313...)?

I had initially done that when I thought i1 was the msc31e and i3 was the
msc313e. For the i1 the only part I have found so far is the msc313 but
the i3 is a series of around 4 or 5 different configurations of the same SoC 
with differing amounts of DDR and pins. This is like the AllWinner V3S and 
S3/S3L where the same V3 SoC is packaged differently. As there is no source
of this information that appears on a google search I've started documenting
it at http://linux-chenxing.org/

I think the only place the actual chip model will need to be used will be a
compatible string for the pinctrl driver to setup the right pin numbers.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 0/5] Initial MStar/Sigmastar ARMv7 SoC support
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:03     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:03 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Maxime Ripard, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Christian Lamparter, Ard Biesheuvel,
	Joel Stanley, Nathan Huckleberry, Andreas Färber,
	Marc Zyngier, linux-arm-kernel, linux-kernel

This patch set adds initial support for MStar/Sigmastar's
ARMv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the ARMv7 based chips.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.


Daniel Palmer (5):
  dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family
    ARMv7 SoCs
  ARM: mstar: Add infinity/mercury series dtsi
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 30 ++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++
 MAINTAINERS                                   | 10 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 ++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               | 10 +++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              | 10 +++
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               | 10 +++
 arch/arm/boot/dts/mstar-v7.dtsi               | 71 ++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 +++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 72 +++++++++++++++++++
 19 files changed, 370 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


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

* [PATCH v2 0/5] Initial MStar/Sigmastar ARMv7 SoC support
@ 2020-06-10  9:03     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:03 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Joel Stanley, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, linux-arm-kernel, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel,
	Andreas Färber, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller

This patch set adds initial support for MStar/Sigmastar's
ARMv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the ARMv7 based chips.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.


Daniel Palmer (5):
  dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family
    ARMv7 SoCs
  ARM: mstar: Add infinity/mercury series dtsi
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 30 ++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++
 MAINTAINERS                                   | 10 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 ++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               | 10 +++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              | 10 +++
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               | 10 +++
 arch/arm/boot/dts/mstar-v7.dtsi               | 71 ++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 +++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 72 +++++++++++++++++++
 19 files changed, 370 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:03     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:03 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Nathan Huckleberry, Andreas Färber, Ard Biesheuvel,
	Marc Zyngier, linux-arm-kernel, linux-kernel

Adds a prefixes for MStar, thingy.jp, 70mai and then defines compatible
strings for the first MStar based boards.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 30 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++++
 MAINTAINERS                                   |  6 ++++
 3 files changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..09e87cf6d6f0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+      - description: thingy.jp BreadBee
+        items:
+          - const: thingyjp,breadbee
+          - const: mstar,infinity3
+
+      - description: thingy.jp BreadBee Crust
+        items:
+          - const: thingyjp,breadbee-crust
+          - const: mstar,infinity
+
+      - description: 70mai midrive d08
+        items:
+          - const: 70mai,midrived08
+          - const: mstar,mercury5
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ef6d75b9113a..1770fc794027 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
@@ -678,6 +680,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc.
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
@@ -1030,6 +1034,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index 77a3fa5e3edd..1ca77f97b8ee 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar ARMv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2020-06-10  9:03     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:03 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel, Andreas Färber, Mark Brown, Marc Zyngier,
	David S. Miller, Mike Rapoport

Adds a prefixes for MStar, thingy.jp, 70mai and then defines compatible
strings for the first MStar based boards.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 30 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++++
 MAINTAINERS                                   |  6 ++++
 3 files changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..09e87cf6d6f0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+      - description: thingy.jp BreadBee
+        items:
+          - const: thingyjp,breadbee
+          - const: mstar,infinity3
+
+      - description: thingy.jp BreadBee Crust
+        items:
+          - const: thingyjp,breadbee-crust
+          - const: mstar,infinity
+
+      - description: 70mai midrive d08
+        items:
+          - const: 70mai,midrived08
+          - const: mstar,mercury5
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ef6d75b9113a..1770fc794027 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
@@ -678,6 +680,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc.
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
@@ -1030,6 +1034,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index 77a3fa5e3edd..1ca77f97b8ee 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar ARMv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:04     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Christian Lamparter, Nathan Huckleberry,
	Andreas Färber, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Initial support for the MStar/Sigmastar infinity/mercury series of ARMv7
based IP camera and dashcam SoCs.

These chips are interesting in that they contain a Cortex A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 +++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 72 +++++++++++++++++++++++++++++++++++
 6 files changed, 103 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 1ca77f97b8ee..754521938303 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
+F:	arch/arm/mach-mstar/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fb6c85c5d344..e466694f8486 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -669,6 +669,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..6235d0a7860a
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar ARMv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on ARMv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..ee96ce46cbbc
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar ARMv7 SoCs
+ *
+ * Copyright (c) 2019 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x1f204414
+#define MSTARV7_L3BRIDGE_STATUS		0x1f204440
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static u32 __iomem *miu_status;
+static u32 __iomem *miu_flush;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, miu_flush);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
+	while (!(readl_relaxed(miu_status) & MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_barriers_init(void)
+{
+	miu_flush = ioremap(MSTARV7_L3BRIDGE_FLUSH, sizeof(*miu_flush));
+	miu_status = ioremap(MSTARV7_L3BRIDGE_STATUS, sizeof(*miu_status));
+	soc_mb = mstarv7_mb;
+}
+
+static void __init mstarv7_init(void)
+{
+	mstarv7_barriers_init();
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar ARMv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-10  9:04     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Christian Lamparter, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Andreas Färber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

Initial support for the MStar/Sigmastar infinity/mercury series of ARMv7
based IP camera and dashcam SoCs.

These chips are interesting in that they contain a Cortex A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 +++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 72 +++++++++++++++++++++++++++++++++++
 6 files changed, 103 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 1ca77f97b8ee..754521938303 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
+F:	arch/arm/mach-mstar/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fb6c85c5d344..e466694f8486 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -669,6 +669,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..6235d0a7860a
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar ARMv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on ARMv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..ee96ce46cbbc
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar ARMv7 SoCs
+ *
+ * Copyright (c) 2019 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x1f204414
+#define MSTARV7_L3BRIDGE_STATUS		0x1f204440
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static u32 __iomem *miu_status;
+static u32 __iomem *miu_flush;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, miu_flush);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
+	while (!(readl_relaxed(miu_status) & MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_barriers_init(void)
+{
+	miu_flush = ioremap(MSTARV7_L3BRIDGE_FLUSH, sizeof(*miu_flush));
+	miu_status = ioremap(MSTARV7_L3BRIDGE_STATUS, sizeof(*miu_status));
+	soc_mb = mstarv7_mb;
+}
+
+static void __init mstarv7_init(void)
+{
+	mstarv7_barriers_init();
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar ARMv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:04     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor, Marc Zyngier,
	Ard Biesheuvel, Andreas Färber, linux-arm-kernel,
	linux-kernel

Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for infinity
and mercury families, and then some chip level dtsis for chips in those
families.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  3 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
 arch/arm/boot/dts/infinity.dtsi          | 10 ++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
 arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
 arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
 arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
 8 files changed, 146 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 754521938303..839ae0250d3d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2114,6 +2114,9 @@ ARM/MStar/Sigmastar ARMv7 SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
+F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..4eb522e6a75d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..25d379028689
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..d0c53153faad
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..cf5f18a07835
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7513f903c838
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..25d379028689
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..0fccc4ca52a4
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <6000000>;
+	};
+
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-controller;
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x1000>;
+		};
+
+		pm_uart: uart@1f221000 {
+			compatible = "ns16550a";
+			reg = <0x1f221000 0x100>;
+			reg-shift = <3>;
+			clock-frequency = <172000000>;
+			status = "disabled";
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-10  9:04     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Andreas Färber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for infinity
and mercury families, and then some chip level dtsis for chips in those
families.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  3 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
 arch/arm/boot/dts/infinity.dtsi          | 10 ++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
 arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
 arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
 arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
 8 files changed, 146 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 754521938303..839ae0250d3d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2114,6 +2114,9 @@ ARM/MStar/Sigmastar ARMv7 SoC support
 M:	Daniel Palmer <daniel@thingy.jp>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
+F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..4eb522e6a75d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..25d379028689
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..d0c53153faad
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..cf5f18a07835
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7513f903c838
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..25d379028689
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
+
+/ {
+};
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..0fccc4ca52a4
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <6000000>;
+	};
+
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-controller;
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x1000>;
+		};
+
+		pm_uart: uart@1f221000 {
+			compatible = "ns16550a";
+			reg = <0x1f221000 0x100>;
+			reg-shift = <3>;
+			clock-frequency = <172000000>;
+			status = "disabled";
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:04     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Maxime Ripard, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Nathan Chancellor, Andreas Färber, Ard Biesheuvel,
	Nathan Huckleberry, Marc Zyngier, linux-arm-kernel, linux-kernel

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..8a827c8fd8b2
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "breadbee-crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..423bb32e6b74
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "breadbee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
@ 2020-06-10  9:04     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel, Andreas Färber, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller, Mike Rapoport

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..8a827c8fd8b2
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "breadbee-crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..423bb32e6b74
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "breadbee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
  2019-10-14  6:15   ` Daniel Palmer
@ 2020-06-10  9:04     ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: k, tim.bird, daniel, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Stephan Gerhold, Lubomir Rintel, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Will Deacon,
	Nick Desaulniers, Marc Zyngier, Christian Lamparter,
	Nathan Chancellor, Nathan Huckleberry, Andreas Färber,
	Ard Biesheuvel, linux-arm-kernel, linux-kernel

Adds inital support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..35c7ecc52c60 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrive08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
new file mode 100644
index 000000000000..4ee50ecf6ab1
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "midrive d08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
@ 2020-06-10  9:04     ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10  9:04 UTC (permalink / raw)
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel,
	Andreas Färber, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller

Adds inital support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..35c7ecc52c60 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrive08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
new file mode 100644
index 000000000000..4ee50ecf6ab1
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "midrive d08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-10  9:35       ` Marc Zyngier
  -1 siblings, 0 replies; 146+ messages in thread
From: Marc Zyngier @ 2020-06-10  9:35 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor,
	Ard Biesheuvel, Andreas Färber, linux-arm-kernel,
	linux-kernel

Daniel,

On 2020-06-10 10:04, Daniel Palmer wrote:
> Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for 
> infinity
> and mercury families, and then some chip level dtsis for chips in those
> families.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  MAINTAINERS                              |  3 +
>  arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
>  arch/arm/boot/dts/infinity.dtsi          | 10 ++++
>  arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
>  arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
>  arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
>  arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
>  arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
>  8 files changed, 146 insertions(+)
>  create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity3.dtsi
>  create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
>  create mode 100644 arch/arm/boot/dts/mercury5.dtsi
>  create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

[...]

> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi 
> b/arch/arm/boot/dts/mstar-v7.dtsi
> new file mode 100644
> index 000000000000..0fccc4ca52a4
> --- /dev/null
> +++ b/arch/arm/boot/dts/mstar-v7.dtsi
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	interrupt-parent = <&gic>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a7";
> +			reg = <0x0>;
> +		};
> +	};
> +
> +	arch_timer {
> +		compatible = "arm,armv7-timer";
> +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>;
> +		clock-frequency = <6000000>;

This is 2020, and not 2012 anymore. The frequency should be set
by your favourite bootloader.

> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a7-pmu";
> +		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
> +	};
> +
> +	soc: soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		gic: interrupt-controller@16001000 {
> +			compatible = "arm,cortex-a7-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			interrupt-controller;
> +			reg = <0x16001000 0x1000>,
> +			      <0x16002000 0x1000>;

The GICC region is likely to be 8kB, and not 4kB.
Missing GICH and GICV regions, as well as the maintenance interrupt.

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-10  9:35       ` Marc Zyngier
  0 siblings, 0 replies; 146+ messages in thread
From: Marc Zyngier @ 2020-06-10  9:35 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Andreas Färber, Mark Brown,
	Andrew Morton, David S. Miller

Daniel,

On 2020-06-10 10:04, Daniel Palmer wrote:
> Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for 
> infinity
> and mercury families, and then some chip level dtsis for chips in those
> families.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  MAINTAINERS                              |  3 +
>  arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
>  arch/arm/boot/dts/infinity.dtsi          | 10 ++++
>  arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
>  arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
>  arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
>  arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
>  arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
>  8 files changed, 146 insertions(+)
>  create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
>  create mode 100644 arch/arm/boot/dts/infinity3.dtsi
>  create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
>  create mode 100644 arch/arm/boot/dts/mercury5.dtsi
>  create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

[...]

> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi 
> b/arch/arm/boot/dts/mstar-v7.dtsi
> new file mode 100644
> index 000000000000..0fccc4ca52a4
> --- /dev/null
> +++ b/arch/arm/boot/dts/mstar-v7.dtsi
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	interrupt-parent = <&gic>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a7";
> +			reg = <0x0>;
> +		};
> +	};
> +
> +	arch_timer {
> +		compatible = "arm,armv7-timer";
> +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>;
> +		clock-frequency = <6000000>;

This is 2020, and not 2012 anymore. The frequency should be set
by your favourite bootloader.

> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a7-pmu";
> +		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
> +	};
> +
> +	soc: soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		gic: interrupt-controller@16001000 {
> +			compatible = "arm,cortex-a7-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			interrupt-controller;
> +			reg = <0x16001000 0x1000>,
> +			      <0x16002000 0x1000>;

The GICC region is likely to be 8kB, and not 4kB.
Missing GICH and GICV regions, as well as the maintenance interrupt.

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2020-06-10  9:03     ` Daniel Palmer
@ 2020-06-10  9:35       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-10  9:35 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Hi Daniel,

Am 10.06.20 um 11:03 schrieb Daniel Palmer:
> Adds a prefixes for MStar, thingy.jp, 70mai and then defines compatible
> strings for the first MStar based boards.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   .../devicetree/bindings/arm/mstar.yaml        | 30 +++++++++++++++++++
>   .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++++
>   MAINTAINERS                                   |  6 ++++
>   3 files changed, 42 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..09e87cf6d6f0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,30 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +      - description: thingy.jp BreadBee
> +        items:
> +          - const: thingyjp,breadbee
> +          - const: mstar,infinity3
> +
> +      - description: thingy.jp BreadBee Crust
> +        items:
> +          - const: thingyjp,breadbee-crust
> +          - const: mstar,infinity
> +
> +      - description: 70mai midrive d08
> +        items:
> +          - const: 70mai,midrived08
> +          - const: mstar,mercury5

I would advise to restructure these three for forward planning:

Use const only for the SoC compatible.

For the boards use an enum with (for now) only the one entry. This 
affects the description, which may mislead people to duplicate these 
blocks for each board rather than just for each SoC family. Take a look 
at other existing files (e.g., my realtek.yaml and actions.yaml, but 
note they don't have the new-style description line yet - I assume it'll 
work the same in enum as in your oneOf).

> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index ef6d75b9113a..1770fc794027 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -23,6 +23,8 @@ patternProperties:
>     "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
>   
>     # Keep list in alphabetical order.
> +  "^70mai,.*":
> +    description: 70mai

"70mai Co., Ltd." please - don't just repeat the prefix.

>     "^abilis,.*":
>       description: Abilis Systems
>     "^abracon,.*":
> @@ -678,6 +680,8 @@ patternProperties:
>       description: Microsemi Corporation
>     "^msi,.*":
>       description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.
>     "^mti,.*":
>       description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>     "^multi-inno,.*":
> @@ -1030,6 +1034,8 @@ patternProperties:
>       description: Three Five Corp
>     "^thine,.*":
>       description: THine Electronics, Inc.
> +  "^thingyjp,.*":
> +    description: thingy.jp
>     "^ti,.*":
>       description: Texas Instruments
>     "^tianma,.*":

If you split the vendor prefixes to a preceding patch, they have a 
chance of getting Reviewed-bys more quickly. You can then also CC the 
vendors on the prefixes you're assigning for them.

> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77a3fa5e3edd..1ca77f97b8ee 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
>   F:	arch/arm/mach-pxa/mioa701.c
>   
> +ARM/MStar/Sigmastar ARMv7 SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>   M:	Michael Petchkovsky <mkpetch@internode.on.net>
>   S:	Maintained

In theory it's spelled Armv7 since 2017, but MAINTAINERS, subject prefix 
conventions and many other places in Linux still use the old upper-case 
spelling, too...

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2020-06-10  9:35       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-10  9:35 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel, Mark Brown, Marc Zyngier, David S. Miller,
	Mike Rapoport

Hi Daniel,

Am 10.06.20 um 11:03 schrieb Daniel Palmer:
> Adds a prefixes for MStar, thingy.jp, 70mai and then defines compatible
> strings for the first MStar based boards.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   .../devicetree/bindings/arm/mstar.yaml        | 30 +++++++++++++++++++
>   .../devicetree/bindings/vendor-prefixes.yaml  |  6 ++++
>   MAINTAINERS                                   |  6 ++++
>   3 files changed, 42 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..09e87cf6d6f0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,30 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +      - description: thingy.jp BreadBee
> +        items:
> +          - const: thingyjp,breadbee
> +          - const: mstar,infinity3
> +
> +      - description: thingy.jp BreadBee Crust
> +        items:
> +          - const: thingyjp,breadbee-crust
> +          - const: mstar,infinity
> +
> +      - description: 70mai midrive d08
> +        items:
> +          - const: 70mai,midrived08
> +          - const: mstar,mercury5

I would advise to restructure these three for forward planning:

Use const only for the SoC compatible.

For the boards use an enum with (for now) only the one entry. This 
affects the description, which may mislead people to duplicate these 
blocks for each board rather than just for each SoC family. Take a look 
at other existing files (e.g., my realtek.yaml and actions.yaml, but 
note they don't have the new-style description line yet - I assume it'll 
work the same in enum as in your oneOf).

> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index ef6d75b9113a..1770fc794027 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -23,6 +23,8 @@ patternProperties:
>     "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
>   
>     # Keep list in alphabetical order.
> +  "^70mai,.*":
> +    description: 70mai

"70mai Co., Ltd." please - don't just repeat the prefix.

>     "^abilis,.*":
>       description: Abilis Systems
>     "^abracon,.*":
> @@ -678,6 +680,8 @@ patternProperties:
>       description: Microsemi Corporation
>     "^msi,.*":
>       description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.
>     "^mti,.*":
>       description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>     "^multi-inno,.*":
> @@ -1030,6 +1034,8 @@ patternProperties:
>       description: Three Five Corp
>     "^thine,.*":
>       description: THine Electronics, Inc.
> +  "^thingyjp,.*":
> +    description: thingy.jp
>     "^ti,.*":
>       description: Texas Instruments
>     "^tianma,.*":

If you split the vendor prefixes to a preceding patch, they have a 
chance of getting Reviewed-bys more quickly. You can then also CC the 
vendors on the prefixes you're assigning for them.

> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77a3fa5e3edd..1ca77f97b8ee 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
>   F:	arch/arm/mach-pxa/mioa701.c
>   
> +ARM/MStar/Sigmastar ARMv7 SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>   M:	Michael Petchkovsky <mkpetch@internode.on.net>
>   S:	Maintained

In theory it's spelled Armv7 since 2017, but MAINTAINERS, subject prefix 
conventions and many other places in Linux still use the old upper-case 
spelling, too...

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-10  9:43       ` Arnd Bergmann
  -1 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2020-06-10  9:43 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, Bird, Timothy, DTML, Daniel Palmer, Rob Herring, Russell King,
	Sam Ravnborg, Linus Walleij, Heiko Stuebner, Maxime Ripard,
	Lubomir Rintel, Stephan Gerhold, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Mike Rapoport, Andrew Morton, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Christian Lamparter, Nathan Huckleberry, Andreas Färber,
	Ard Biesheuvel, Marc Zyngier, Linux ARM, linux-kernel

On Wed, Jun 10, 2020 at 11:08 AM Daniel Palmer <daniel@0x0f.com> wrote:

> +/*
> + * This may need locking to deal with situations where an interrupt
> + * happens while we are in here and mb() gets called by the interrupt handler.
> + */

I would suspect that you don't need locking here, and locking would likely
make it worse.

From what I can tell, an interrupt happening anywhere inside of mstarv7_mb()
would still result in the function completing (as miu_status still has the
MSTARV7_L3BRIDGE_STATUS_DONE bit set) and nothing that could
happen inside the irq would make the barrier weaker, only stronger.

> +static void mstarv7_mb(void)
> +{
> +       /* toggle the flush miu pipe fire bit */
> +       writel_relaxed(0, miu_flush);
> +       writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> +       while (!(readl_relaxed(miu_status) & MSTARV7_L3BRIDGE_STATUS_DONE)) {
> +               /* wait for flush to complete */
> +       }
> +}

This is a heavy memory barrier indeed.

The use of _relaxed() accessors is normally a bad idea and should be
avoided, but
this is one of the places where it is necessary because the normal
writel()/readl()
would recurse into arm_heavy_barrier(). Can you add a comment explaining this
for the next reviewer?

> +static void __init mstarv7_barriers_init(void)
> +{
> +       miu_flush = ioremap(MSTARV7_L3BRIDGE_FLUSH, sizeof(*miu_flush));
> +       miu_status = ioremap(MSTARV7_L3BRIDGE_STATUS, sizeof(*miu_status));
> +       soc_mb = mstarv7_mb;
> +}

Hardcoding physical addresses is generally considered bad style,
even if you know the address in advance. Can you change this to get
the address of the L3BRIDGE from DT instead and just hardcode the
offsets? Note that they are in the same physical page, so you only
need a single of_iomap().

> +static void __init mstarv7_init(void)
> +{
> +       mstarv7_barriers_init();
> +}

I think you can fold this into a single function.

       Arnd

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-10  9:43       ` Arnd Bergmann
  0 siblings, 0 replies; 146+ messages in thread
From: Arnd Bergmann @ 2020-06-10  9:43 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, Linux ARM, Nathan Huckleberry, DTML,
	Stephan Gerhold, allen, Bird, Timothy, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Christian Lamparter, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Andreas Färber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

On Wed, Jun 10, 2020 at 11:08 AM Daniel Palmer <daniel@0x0f.com> wrote:

> +/*
> + * This may need locking to deal with situations where an interrupt
> + * happens while we are in here and mb() gets called by the interrupt handler.
> + */

I would suspect that you don't need locking here, and locking would likely
make it worse.

From what I can tell, an interrupt happening anywhere inside of mstarv7_mb()
would still result in the function completing (as miu_status still has the
MSTARV7_L3BRIDGE_STATUS_DONE bit set) and nothing that could
happen inside the irq would make the barrier weaker, only stronger.

> +static void mstarv7_mb(void)
> +{
> +       /* toggle the flush miu pipe fire bit */
> +       writel_relaxed(0, miu_flush);
> +       writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, miu_flush);
> +       while (!(readl_relaxed(miu_status) & MSTARV7_L3BRIDGE_STATUS_DONE)) {
> +               /* wait for flush to complete */
> +       }
> +}

This is a heavy memory barrier indeed.

The use of _relaxed() accessors is normally a bad idea and should be
avoided, but
this is one of the places where it is necessary because the normal
writel()/readl()
would recurse into arm_heavy_barrier(). Can you add a comment explaining this
for the next reviewer?

> +static void __init mstarv7_barriers_init(void)
> +{
> +       miu_flush = ioremap(MSTARV7_L3BRIDGE_FLUSH, sizeof(*miu_flush));
> +       miu_status = ioremap(MSTARV7_L3BRIDGE_STATUS, sizeof(*miu_status));
> +       soc_mb = mstarv7_mb;
> +}

Hardcoding physical addresses is generally considered bad style,
even if you know the address in advance. Can you change this to get
the address of the L3BRIDGE from DT instead and just hardcode the
offsets? Note that they are in the same physical page, so you only
need a single of_iomap().

> +static void __init mstarv7_init(void)
> +{
> +       mstarv7_barriers_init();
> +}

I think you can fold this into a single function.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2020-06-10  9:35       ` Andreas Färber
@ 2020-06-10 10:29         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10 10:29 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Nathan Huckleberry, Ard Biesheuvel,
	Marc Zyngier, linux-arm-kernel, linux-kernel

> > +
> > +properties:
> > +  $nodename:
> > +    const: '/'
> > +  compatible:
> > +    oneOf:
> > +      - description: thingy.jp BreadBee
> > +        items:
> > +          - const: thingyjp,breadbee
> > +          - const: mstar,infinity3
> > +
> > +      - description: thingy.jp BreadBee Crust
> > +        items:
> > +          - const: thingyjp,breadbee-crust
> > +          - const: mstar,infinity
> > +
> > +      - description: 70mai midrive d08
> > +        items:
> > +          - const: 70mai,midrived08
> > +          - const: mstar,mercury5
>
> I would advise to restructure these three for forward planning:

That makes a lot of sense. To be honest I basically copied something
that was in-tree to come up with something that would make checkpatch
happy and didn't think too much about it.

> >     # Keep list in alphabetical order.
> > +  "^70mai,.*":
> > +    description: 70mai
>
> "70mai Co., Ltd." please - don't just repeat the prefix.

Understood.

> If you split the vendor prefixes to a preceding patch, they have a
> chance of getting Reviewed-bys more quickly. You can then also CC the
> vendors on the prefixes you're assigning for them.

thingy.jp is the vendor I'm using for the breadbee project. As for
70mai and MStar/Sigmastar I have
tried reaching out to them in the past and they don't respond. In
70mai's case their camera doesn't
run Linux by default so I don't think they will care much.

If it helps I can split them out but I'm not sure if it'll be possible
to ever get the ok from the other vendors.
For what it's worth the "mstar" prefix is what was being used in their
kernels up until very recently when
they switched everything to using "sstar" for SigmaStar. I considered
using the sstar prefix but went
with mstar because SigmaStar is totally unknown whereas MStar is
slightly known, would be more
recognisable, most of the chips still have mstar written on them and so on.

> > +ARM/MStar/Sigmastar ARMv7 SoC support
> > +M:   Daniel Palmer <daniel@thingy.jp>
> > +L:   linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> > +S:   Maintained
> > +F:   Documentation/devicetree/bindings/arm/mstar.yaml
> > +
> >   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
> >   M:  Michael Petchkovsky <mkpetch@internode.on.net>
> >   S:  Maintained
>
> In theory it's spelled Armv7 since 2017, but MAINTAINERS, subject prefix
> conventions and many other places in Linux still use the old upper-case
> spelling, too...

Understood. I'll fix that up.

Thankyou for your input,

Daniel

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2020-06-10 10:29         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-10 10:29 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	David S. Miller, Mike Rapoport

> > +
> > +properties:
> > +  $nodename:
> > +    const: '/'
> > +  compatible:
> > +    oneOf:
> > +      - description: thingy.jp BreadBee
> > +        items:
> > +          - const: thingyjp,breadbee
> > +          - const: mstar,infinity3
> > +
> > +      - description: thingy.jp BreadBee Crust
> > +        items:
> > +          - const: thingyjp,breadbee-crust
> > +          - const: mstar,infinity
> > +
> > +      - description: 70mai midrive d08
> > +        items:
> > +          - const: 70mai,midrived08
> > +          - const: mstar,mercury5
>
> I would advise to restructure these three for forward planning:

That makes a lot of sense. To be honest I basically copied something
that was in-tree to come up with something that would make checkpatch
happy and didn't think too much about it.

> >     # Keep list in alphabetical order.
> > +  "^70mai,.*":
> > +    description: 70mai
>
> "70mai Co., Ltd." please - don't just repeat the prefix.

Understood.

> If you split the vendor prefixes to a preceding patch, they have a
> chance of getting Reviewed-bys more quickly. You can then also CC the
> vendors on the prefixes you're assigning for them.

thingy.jp is the vendor I'm using for the breadbee project. As for
70mai and MStar/Sigmastar I have
tried reaching out to them in the past and they don't respond. In
70mai's case their camera doesn't
run Linux by default so I don't think they will care much.

If it helps I can split them out but I'm not sure if it'll be possible
to ever get the ok from the other vendors.
For what it's worth the "mstar" prefix is what was being used in their
kernels up until very recently when
they switched everything to using "sstar" for SigmaStar. I considered
using the sstar prefix but went
with mstar because SigmaStar is totally unknown whereas MStar is
slightly known, would be more
recognisable, most of the chips still have mstar written on them and so on.

> > +ARM/MStar/Sigmastar ARMv7 SoC support
> > +M:   Daniel Palmer <daniel@thingy.jp>
> > +L:   linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> > +S:   Maintained
> > +F:   Documentation/devicetree/bindings/arm/mstar.yaml
> > +
> >   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
> >   M:  Michael Petchkovsky <mkpetch@internode.on.net>
> >   S:  Maintained
>
> In theory it's spelled Armv7 since 2017, but MAINTAINERS, subject prefix
> conventions and many other places in Linux still use the old upper-case
> spelling, too...

Understood. I'll fix that up.

Thankyou for your input,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-11 12:49       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 12:49 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Christian Lamparter, Nathan Huckleberry,
	Ard Biesheuvel, Marc Zyngier, linux-arm-kernel, linux-kernel

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Initial support for the MStar/Sigmastar infinity/mercury series of ARMv7
> based IP camera and dashcam SoCs.
> 
> These chips are interesting in that they contain a Cortex A7,

"Cortex-A7"

> peripherals and system memory in a single tiny QFN package that
> can be hand soldered allowing almost anyone to embed Linux

"soldered, allowing"?

> in their projects.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   MAINTAINERS                   |  1 +
>   arch/arm/Kconfig              |  2 +
>   arch/arm/Makefile             |  1 +
>   arch/arm/mach-mstar/Kconfig   | 26 +++++++++++++
>   arch/arm/mach-mstar/Makefile  |  1 +
>   arch/arm/mach-mstar/mstarv7.c | 72 +++++++++++++++++++++++++++++++++++
>   6 files changed, 103 insertions(+)
>   create mode 100644 arch/arm/mach-mstar/Kconfig
>   create mode 100644 arch/arm/mach-mstar/Makefile
>   create mode 100644 arch/arm/mach-mstar/mstarv7.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1ca77f97b8ee..754521938303 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>   M:	Daniel Palmer <daniel@thingy.jp>
>   L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
> +F:	arch/arm/mach-mstar/
>   F:	Documentation/devicetree/bindings/arm/mstar.yaml
>   
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
[snip]

The sort order has recently been changed to case-sensitive, i.e., you 
should append arch after Documentation.

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 12:49       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 12:49 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Christian Lamparter, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller, Mike Rapoport

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Initial support for the MStar/Sigmastar infinity/mercury series of ARMv7
> based IP camera and dashcam SoCs.
> 
> These chips are interesting in that they contain a Cortex A7,

"Cortex-A7"

> peripherals and system memory in a single tiny QFN package that
> can be hand soldered allowing almost anyone to embed Linux

"soldered, allowing"?

> in their projects.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   MAINTAINERS                   |  1 +
>   arch/arm/Kconfig              |  2 +
>   arch/arm/Makefile             |  1 +
>   arch/arm/mach-mstar/Kconfig   | 26 +++++++++++++
>   arch/arm/mach-mstar/Makefile  |  1 +
>   arch/arm/mach-mstar/mstarv7.c | 72 +++++++++++++++++++++++++++++++++++
>   6 files changed, 103 insertions(+)
>   create mode 100644 arch/arm/mach-mstar/Kconfig
>   create mode 100644 arch/arm/mach-mstar/Makefile
>   create mode 100644 arch/arm/mach-mstar/mstarv7.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1ca77f97b8ee..754521938303 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>   M:	Daniel Palmer <daniel@thingy.jp>
>   L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
> +F:	arch/arm/mach-mstar/
>   F:	Documentation/devicetree/bindings/arm/mstar.yaml
>   
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
[snip]

The sort order has recently been changed to case-sensitive, i.e., you 
should append arch after Documentation.

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-11 12:58       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 12:58 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Christian Lamparter, Nathan Huckleberry,
	Ard Biesheuvel, Marc Zyngier, linux-arm-kernel, linux-kernel

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 59fde2d598d8..e7f4ca060c0f 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
>   machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
>   machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
>   machine-$(CONFIG_ARCH_MXS)		+= mxs
> +machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
>   machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
>   machine-$(CONFIG_ARCH_NPCM)		+= npcm
>   machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
> diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
> new file mode 100644
> index 000000000000..6235d0a7860a
> --- /dev/null
> +++ b/arch/arm/mach-mstar/Kconfig
> @@ -0,0 +1,26 @@
> +menuconfig ARCH_MSTARV7

You call the dir mach-mstar, but name the Kconfig ARCH_MSTARV7. I had 
previously been asked to just use the vendor name, so this should 
probably be just ARCH_MSTAR. Outside arch/arm/ you can then use ARM && 
ARCH_MSTAR condition to make things 32-bit only, allowing to reuse 
ARCH_MSTAR for arm64 or whatever.

> +	bool "MStar/Sigmastar ARMv7 SoC Support"
> +	depends on ARCH_MULTI_V7
> +	select ARM_GIC
> +	select ARM_HEAVY_MB
> +	help
> +	  Support for newer MStar/Sigmastar SoC families that are
> +	  based on ARMv7 cores like the Cortex A7 and share the same
> +	  basic hardware like the infinity and mercury series.
> +
> +if ARCH_MSTARV7
> +
> +config MACH_INFINITY
> +	bool "MStar/Sigmastar infinity SoC support"
> +	default ARCH_MSTARV7
> +	help
> +	  Support for MStar/Sigmastar infinity IP camera SoCs.
> +
> +config MACH_MERCURY
> +	bool "MStar/Sigmastar mercury SoC support"
> +	default ARCH_MSTARV7
> +	help
> +	  Support for MStar/Sigmastar mercury dash camera SoCs.
> +	  Note that older Mercury2 SoCs are ARM9 based and not supported.

Is this comment really helpful? This menu item would only seem to come 
up after having selected multi_v7, which kind of rules out ARM9.

Consider adding mercury in a second step?

> +
> +endif

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 12:58       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 12:58 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Christian Lamparter, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller, Mike Rapoport

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 59fde2d598d8..e7f4ca060c0f 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
>   machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
>   machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
>   machine-$(CONFIG_ARCH_MXS)		+= mxs
> +machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
>   machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
>   machine-$(CONFIG_ARCH_NPCM)		+= npcm
>   machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
> diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
> new file mode 100644
> index 000000000000..6235d0a7860a
> --- /dev/null
> +++ b/arch/arm/mach-mstar/Kconfig
> @@ -0,0 +1,26 @@
> +menuconfig ARCH_MSTARV7

You call the dir mach-mstar, but name the Kconfig ARCH_MSTARV7. I had 
previously been asked to just use the vendor name, so this should 
probably be just ARCH_MSTAR. Outside arch/arm/ you can then use ARM && 
ARCH_MSTAR condition to make things 32-bit only, allowing to reuse 
ARCH_MSTAR for arm64 or whatever.

> +	bool "MStar/Sigmastar ARMv7 SoC Support"
> +	depends on ARCH_MULTI_V7
> +	select ARM_GIC
> +	select ARM_HEAVY_MB
> +	help
> +	  Support for newer MStar/Sigmastar SoC families that are
> +	  based on ARMv7 cores like the Cortex A7 and share the same
> +	  basic hardware like the infinity and mercury series.
> +
> +if ARCH_MSTARV7
> +
> +config MACH_INFINITY
> +	bool "MStar/Sigmastar infinity SoC support"
> +	default ARCH_MSTARV7
> +	help
> +	  Support for MStar/Sigmastar infinity IP camera SoCs.
> +
> +config MACH_MERCURY
> +	bool "MStar/Sigmastar mercury SoC support"
> +	default ARCH_MSTARV7
> +	help
> +	  Support for MStar/Sigmastar mercury dash camera SoCs.
> +	  Note that older Mercury2 SoCs are ARM9 based and not supported.

Is this comment really helpful? This menu item would only seem to come 
up after having selected multi_v7, which kind of rules out ARM9.

Consider adding mercury in a second step?

> +
> +endif

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-11 12:49       ` Andreas Färber
@ 2020-06-11 13:01         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 13:01 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Andrew Morton, Doug Anderson, Benjamin Gaignard,
	Gregory Fong, Bartosz Golaszewski, Masahiro Yamada,
	Nathan Chancellor, Nick Desaulniers, Christian Lamparter,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
> > peripherals and system memory in a single tiny QFN package that
> > can be hand soldered allowing almost anyone to embed Linux
>
> "soldered, allowing"?

The original reads ok to me. Maybe I can just split that into two sentences?
Like ".. QFN package that can be hand soldered. This allows almost anyone..".

> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
> >   M:  Daniel Palmer <daniel@thingy.jp>
> >   L:  linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> >   S:  Maintained
> > +F:   arch/arm/mach-mstar/
> >   F:  Documentation/devicetree/bindings/arm/mstar.yaml
> >
> >   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
> [snip]
>
> The sort order has recently been changed to case-sensitive, i.e., you
> should append arch after Documentation.

Interesting. Checkpatch didn't complain about that although it
complained about the
original ordering I had.

Thanks for the input.

Daniel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 13:01         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 13:01 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

Hi Andreas,

On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
> > peripherals and system memory in a single tiny QFN package that
> > can be hand soldered allowing almost anyone to embed Linux
>
> "soldered, allowing"?

The original reads ok to me. Maybe I can just split that into two sentences?
Like ".. QFN package that can be hand soldered. This allows almost anyone..".

> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
> >   M:  Daniel Palmer <daniel@thingy.jp>
> >   L:  linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> >   S:  Maintained
> > +F:   arch/arm/mach-mstar/
> >   F:  Documentation/devicetree/bindings/arm/mstar.yaml
> >
> >   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
> [snip]
>
> The sort order has recently been changed to case-sensitive, i.e., you
> should append arch after Documentation.

Interesting. Checkpatch didn't complain about that although it
complained about the
original ordering I had.

Thanks for the input.

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-11 12:58       ` Andreas Färber
@ 2020-06-11 13:18         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 13:18 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Andrew Morton, Doug Anderson, Benjamin Gaignard,
	Gregory Fong, Bartosz Golaszewski, Masahiro Yamada,
	Nathan Chancellor, Nick Desaulniers, Christian Lamparter,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 21:58, Andreas Färber <afaerber@suse.de> wrote:

> You call the dir mach-mstar, but name the Kconfig ARCH_MSTARV7. I had
> previously been asked to just use the vendor name, so this should
> probably be just ARCH_MSTAR. Outside arch/arm/ you can then use ARM &&
> ARCH_MSTAR condition to make things 32-bit only, allowing to reuse
> ARCH_MSTAR for arm64 or whatever.

The ARM9 MStar chips before they switched to a common ARMv7 base aren't directly
compatible so I thought there should be some distinction there. I
doubt anyone will do it
but I made the directory mach-mstar so potentially someone could add
machine support
for the older stuff to without having more directories.

> > +     bool "MStar/Sigmastar ARMv7 SoC Support"
> > +     depends on ARCH_MULTI_V7
> > +     select ARM_GIC
> > +     select ARM_HEAVY_MB
> > +     help
> > +       Support for newer MStar/Sigmastar SoC families that are
> > +       based on ARMv7 cores like the Cortex A7 and share the same
> > +       basic hardware like the infinity and mercury series.
> > +
> > +if ARCH_MSTARV7
> > +
> > +config MACH_INFINITY
> > +     bool "MStar/Sigmastar infinity SoC support"
> > +     default ARCH_MSTARV7
> > +     help
> > +       Support for MStar/Sigmastar infinity IP camera SoCs.
> > +
> > +config MACH_MERCURY
> > +     bool "MStar/Sigmastar mercury SoC support"
> > +     default ARCH_MSTARV7
> > +     help
> > +       Support for MStar/Sigmastar mercury dash camera SoCs.
> > +       Note that older Mercury2 SoCs are ARM9 based and not supported.
>
> Is this comment really helpful? This menu item would only seem to come
> up after having selected multi_v7, which kind of rules out ARM9.

The older mercury2 based chips seem to still be available and used in
drive recorders
that are on the market right now. The infinity series is all ARMv7 so
can be supported
but for the mercury series only the newer ones are ARMv7 so I thought
it was worth
mentioning that "mercury SoC support" doesn't mean all of them. I'll
take it out if you
think it's unnecessary.

> Consider adding mercury in a second step?

I'll think about that. I wanted to try to get a machine that isn't one
I'm personally making
into the series.

Cheers,

Daniel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 13:18         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 13:18 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

Hi Andreas,

On Thu, 11 Jun 2020 at 21:58, Andreas Färber <afaerber@suse.de> wrote:

> You call the dir mach-mstar, but name the Kconfig ARCH_MSTARV7. I had
> previously been asked to just use the vendor name, so this should
> probably be just ARCH_MSTAR. Outside arch/arm/ you can then use ARM &&
> ARCH_MSTAR condition to make things 32-bit only, allowing to reuse
> ARCH_MSTAR for arm64 or whatever.

The ARM9 MStar chips before they switched to a common ARMv7 base aren't directly
compatible so I thought there should be some distinction there. I
doubt anyone will do it
but I made the directory mach-mstar so potentially someone could add
machine support
for the older stuff to without having more directories.

> > +     bool "MStar/Sigmastar ARMv7 SoC Support"
> > +     depends on ARCH_MULTI_V7
> > +     select ARM_GIC
> > +     select ARM_HEAVY_MB
> > +     help
> > +       Support for newer MStar/Sigmastar SoC families that are
> > +       based on ARMv7 cores like the Cortex A7 and share the same
> > +       basic hardware like the infinity and mercury series.
> > +
> > +if ARCH_MSTARV7
> > +
> > +config MACH_INFINITY
> > +     bool "MStar/Sigmastar infinity SoC support"
> > +     default ARCH_MSTARV7
> > +     help
> > +       Support for MStar/Sigmastar infinity IP camera SoCs.
> > +
> > +config MACH_MERCURY
> > +     bool "MStar/Sigmastar mercury SoC support"
> > +     default ARCH_MSTARV7
> > +     help
> > +       Support for MStar/Sigmastar mercury dash camera SoCs.
> > +       Note that older Mercury2 SoCs are ARM9 based and not supported.
>
> Is this comment really helpful? This menu item would only seem to come
> up after having selected multi_v7, which kind of rules out ARM9.

The older mercury2 based chips seem to still be available and used in
drive recorders
that are on the market right now. The infinity series is all ARMv7 so
can be supported
but for the mercury series only the newer ones are ARMv7 so I thought
it was worth
mentioning that "mercury SoC support" doesn't mean all of them. I'll
take it out if you
think it's unnecessary.

> Consider adding mercury in a second step?

I'll think about that. I wanted to try to get a machine that isn't one
I'm personally making
into the series.

Cheers,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-11 13:39       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:39 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor, Marc Zyngier,
	Ard Biesheuvel, linux-arm-kernel, linux-kernel

Hi,

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for infinity
> and mercury families, and then some chip level dtsis for chips in those
> families.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   MAINTAINERS                              |  3 +
>   arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
>   arch/arm/boot/dts/infinity.dtsi          | 10 ++++
>   arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
>   arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
>   arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
>   arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
>   arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
>   8 files changed, 146 insertions(+)

Can you split this up into three parts for easier review?

>   create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity3.dtsi
>   create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
>   create mode 100644 arch/arm/boot/dts/mercury5.dtsi
>   create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 754521938303..839ae0250d3d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2114,6 +2114,9 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>   M:	Daniel Palmer <daniel@thingy.jp>
>   L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
> +F:	arch/arm/boot/dts/infinity*.dtsi
> +F:	arch/arm/boot/dts/mercury*.dtsi
> +F:	arch/arm/boot/dts/mstar-v7.dtsi

Sort order wrt D.

>   F:	arch/arm/mach-mstar/
>   F:	Documentation/devicetree/bindings/arm/mstar.yaml
>   
> diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
> new file mode 100644
> index 000000000000..4eb522e6a75d
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity-msc313.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0

DTs as hardware description should be dual-licensed as either MIT or 
BSD-2-Clause, similar to the schema.

Also, elsewhere, for any code that might get reused for OpenOCD (e.g., 
clk drivers and low-level init like machine - 2/5) or other non-kernel 
projects potentially incompatible with GPL-2.0-only, it would be useful 
to use the -or-later version of the GPL for code sharing - if the 
sources you used permit that.

> +/*
> + * Copyright (c) 2019 thingy.jp.

2019-2020? Check elsewhere.

> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity.dtsi"
> +
> +/ {
> +	memory {
> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;

The memory node needs to become memory@20000000 then.

> +	};

I take it, this RAM is integrated? Maybe add some explanation of what 
this file is

> +};
> diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
> new file mode 100644
> index 000000000000..25d379028689
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mstar-v7.dtsi"
> +
> +/ {
> +};

What do you intend to add here? Is it really needed? (same below)

Pre-DT-Schema I used to add a compatible property in the .dtsi, to make 
sure we have at least the SoC's, in case someone neglects to add one in 
their board's .dts. With DT schema that's no longer valid (if enum/const 
is required), but Linux would still work better with than without.

> diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
> new file mode 100644
> index 000000000000..d0c53153faad
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity3.dtsi"
> +
> +/ {
> +	memory {

Ditto, unit address missing.

> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
> new file mode 100644
> index 000000000000..cf5f18a07835
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity.dtsi"
> +
> +/ {
> +};

Don't you anticipate incompatibilities between infinity and infinity3, 
i.e., things you don't want to inherit? Seems a bit optimistic. You can 
of course overwrite properties, but deleting is more difficult.

> diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
> new file mode 100644
> index 000000000000..7513f903c838
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mercury5.dtsi"
> +
> +/ {
> +	memory {

Unit address.

> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
> new file mode 100644
> index 000000000000..25d379028689
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mstar-v7.dtsi"
> +
> +/ {
> +};
> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
> new file mode 100644
> index 000000000000..0fccc4ca52a4
> --- /dev/null
> +++ b/arch/arm/boot/dts/mstar-v7.dtsi

So this is the only file starting with mstar. Have you thought about 
prefixing infinity/mercury, so that they're grouped together?

> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;> 
> +	interrupt-parent = <&gic>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a7";
> +			reg = <0x0>;
> +		};
> +	};
> +
> +	arch_timer {
> +		compatible = "arm,armv7-timer";
> +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>;
> +		clock-frequency = <6000000>;
> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a7-pmu";
> +		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;

Lacking interrupt-affinity.

"This property should be present when there is more than a single SPI."

To deal with single- vs. dual-core models, you should give the pmu node 
a label, e.g., arm_pmu used elsewhere, I think. Depending on your 
preferences you could set it here in common code (less work) or in the 
SoC-specific .dtsi where you know the number of CPUs for sure (safer to 
not forget later).

> +	};
> +
> +	soc: soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;

I had been instructed not to use full identity ranges but to exclude RAM 
ranges for safety reasons.

> +
> +		gic: interrupt-controller@16001000 {
> +			compatible = "arm,cortex-a7-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			interrupt-controller;
> +			reg = <0x16001000 0x1000>,
> +			      <0x16002000 0x1000>;

In addition to Marc's comments, please reorder reg to below compatible 
for consistency. Suggest to also reorder interrupt-controller before the 
-cells properties, after reg.

> +		};
> +
> +		pm_uart: uart@1f221000 {
> +			compatible = "ns16550a";
> +			reg = <0x1f221000 0x100>;
> +			reg-shift = <3>;
> +			clock-frequency = <172000000>;
> +			status = "disabled";
> +		};

If you have any decent manuals for these SoCs, I suggest to check 
whether there are any internal buses that you may want to model as 
simple-bus for grouping. In-tree examples include meson and recently 
merged rtd1195 - it affects the reg addresses and unit addresses via 
suitable ranges mappings.

> +	};
> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-11 13:39       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:39 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller

Hi,

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Adds initial dtsi for the base MStar ARMv7 SoCs, family dtsis for infinity
> and mercury families, and then some chip level dtsis for chips in those
> families.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   MAINTAINERS                              |  3 +
>   arch/arm/boot/dts/infinity-msc313.dtsi   | 14 +++++
>   arch/arm/boot/dts/infinity.dtsi          | 10 ++++
>   arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 +++++
>   arch/arm/boot/dts/infinity3.dtsi         | 10 ++++
>   arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 +++++
>   arch/arm/boot/dts/mercury5.dtsi          | 10 ++++
>   arch/arm/boot/dts/mstar-v7.dtsi          | 71 ++++++++++++++++++++++++
>   8 files changed, 146 insertions(+)

Can you split this up into three parts for easier review?

>   create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
>   create mode 100644 arch/arm/boot/dts/infinity3.dtsi
>   create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
>   create mode 100644 arch/arm/boot/dts/mercury5.dtsi
>   create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 754521938303..839ae0250d3d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2114,6 +2114,9 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>   M:	Daniel Palmer <daniel@thingy.jp>
>   L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
> +F:	arch/arm/boot/dts/infinity*.dtsi
> +F:	arch/arm/boot/dts/mercury*.dtsi
> +F:	arch/arm/boot/dts/mstar-v7.dtsi

Sort order wrt D.

>   F:	arch/arm/mach-mstar/
>   F:	Documentation/devicetree/bindings/arm/mstar.yaml
>   
> diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
> new file mode 100644
> index 000000000000..4eb522e6a75d
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity-msc313.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0

DTs as hardware description should be dual-licensed as either MIT or 
BSD-2-Clause, similar to the schema.

Also, elsewhere, for any code that might get reused for OpenOCD (e.g., 
clk drivers and low-level init like machine - 2/5) or other non-kernel 
projects potentially incompatible with GPL-2.0-only, it would be useful 
to use the -or-later version of the GPL for code sharing - if the 
sources you used permit that.

> +/*
> + * Copyright (c) 2019 thingy.jp.

2019-2020? Check elsewhere.

> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity.dtsi"
> +
> +/ {
> +	memory {
> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;

The memory node needs to become memory@20000000 then.

> +	};

I take it, this RAM is integrated? Maybe add some explanation of what 
this file is

> +};
> diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
> new file mode 100644
> index 000000000000..25d379028689
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mstar-v7.dtsi"
> +
> +/ {
> +};

What do you intend to add here? Is it really needed? (same below)

Pre-DT-Schema I used to add a compatible property in the .dtsi, to make 
sure we have at least the SoC's, in case someone neglects to add one in 
their board's .dts. With DT schema that's no longer valid (if enum/const 
is required), but Linux would still work better with than without.

> diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
> new file mode 100644
> index 000000000000..d0c53153faad
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity3.dtsi"
> +
> +/ {
> +	memory {

Ditto, unit address missing.

> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
> new file mode 100644
> index 000000000000..cf5f18a07835
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "infinity.dtsi"
> +
> +/ {
> +};

Don't you anticipate incompatibilities between infinity and infinity3, 
i.e., things you don't want to inherit? Seems a bit optimistic. You can 
of course overwrite properties, but deleting is more difficult.

> diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
> new file mode 100644
> index 000000000000..7513f903c838
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
> @@ -0,0 +1,14 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mercury5.dtsi"
> +
> +/ {
> +	memory {

Unit address.

> +		device_type = "memory";
> +		reg = <0x20000000 0x4000000>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
> new file mode 100644
> index 000000000000..25d379028689
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5.dtsi
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include "mstar-v7.dtsi"
> +
> +/ {
> +};
> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
> new file mode 100644
> index 000000000000..0fccc4ca52a4
> --- /dev/null
> +++ b/arch/arm/boot/dts/mstar-v7.dtsi

So this is the only file starting with mstar. Have you thought about 
prefixing infinity/mercury, so that they're grouped together?

> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;> 
> +	interrupt-parent = <&gic>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		cpu0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a7";
> +			reg = <0x0>;
> +		};
> +	};
> +
> +	arch_timer {
> +		compatible = "arm,armv7-timer";
> +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>,
> +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
> +				| IRQ_TYPE_LEVEL_LOW)>;
> +		clock-frequency = <6000000>;
> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a7-pmu";
> +		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;

Lacking interrupt-affinity.

"This property should be present when there is more than a single SPI."

To deal with single- vs. dual-core models, you should give the pmu node 
a label, e.g., arm_pmu used elsewhere, I think. Depending on your 
preferences you could set it here in common code (less work) or in the 
SoC-specific .dtsi where you know the number of CPUs for sure (safer to 
not forget later).

> +	};
> +
> +	soc: soc {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;

I had been instructed not to use full identity ranges but to exclude RAM 
ranges for safety reasons.

> +
> +		gic: interrupt-controller@16001000 {
> +			compatible = "arm,cortex-a7-gic";
> +			#interrupt-cells = <3>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			interrupt-controller;
> +			reg = <0x16001000 0x1000>,
> +			      <0x16002000 0x1000>;

In addition to Marc's comments, please reorder reg to below compatible 
for consistency. Suggest to also reorder interrupt-controller before the 
-cells properties, after reg.

> +		};
> +
> +		pm_uart: uart@1f221000 {
> +			compatible = "ns16550a";
> +			reg = <0x1f221000 0x100>;
> +			reg-shift = <3>;
> +			clock-frequency = <172000000>;
> +			status = "disabled";
> +		};

If you have any decent manuals for these SoCs, I suggest to check 
whether there are any internal buses that you may want to model as 
simple-bus for grouping. In-tree examples include meson and recently 
merged rtd1195 - it affects the reg addresses and unit addresses via 
suitable ranges mappings.

> +	};
> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-11 13:45       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:45 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Maxime Ripard, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Nathan Chancellor, Ard Biesheuvel, Nathan Huckleberry,
	Marc Zyngier, linux-arm-kernel, linux-kernel

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> BreadBee is an opensource development board based on the
> MStar msc313(e) SoC.
> 
> Hardware details, schematics and so on can be found at:
> https://github.com/breadbee/breadbee
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   arch/arm/boot/dts/Makefile                    |  3 +++
>   .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
>   .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
>   3 files changed, 53 insertions(+)
>   create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
>   create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index e6a1cac0bfc7..4a5f8075a4f6 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
>   	mt8127-moose.dtb \
>   	mt8135-evbp1.dtb
>   dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
> +dtb-$(CONFIG_ARCH_MSTARV7) += \
> +	infinity-msc313-breadbee_crust.dtb \
> +	infinity3-msc313e-breadbee.dtb
>   dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
>   dtb-$(CONFIG_ARCH_ASPEED) += \
>   	aspeed-ast2500-evb.dtb \
> diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
> new file mode 100644
> index 000000000000..8a827c8fd8b2
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "infinity-msc313.dtsi"
> +
> +/ {
> +	model = "breadbee-crust";

This is user-visible text, so "BreadBee Crust" or so?

> +	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

Might this be a more suited place for temporary clock-frequency? For 
lack of clk driver it would seem to depend on the board's bootloader 
pre-configuring it rather than being a default of the SoC.

> +};
> diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> new file mode 100644
> index 000000000000..423bb32e6b74
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "infinity3-msc313e.dtsi"
> +
> +/ {
> +	model = "breadbee";

Ditto, "BreadBee"?

> +	compatible = "thingyjp,breadbee", "mstar,infinity3";
> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

Ditto, clock-frequency?

> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
@ 2020-06-11 13:45       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:45 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, k, Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller, Mike Rapoport

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> BreadBee is an opensource development board based on the
> MStar msc313(e) SoC.
> 
> Hardware details, schematics and so on can be found at:
> https://github.com/breadbee/breadbee
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   arch/arm/boot/dts/Makefile                    |  3 +++
>   .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
>   .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
>   3 files changed, 53 insertions(+)
>   create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
>   create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index e6a1cac0bfc7..4a5f8075a4f6 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
>   	mt8127-moose.dtb \
>   	mt8135-evbp1.dtb
>   dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
> +dtb-$(CONFIG_ARCH_MSTARV7) += \
> +	infinity-msc313-breadbee_crust.dtb \
> +	infinity3-msc313e-breadbee.dtb
>   dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
>   dtb-$(CONFIG_ARCH_ASPEED) += \
>   	aspeed-ast2500-evb.dtb \
> diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
> new file mode 100644
> index 000000000000..8a827c8fd8b2
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "infinity-msc313.dtsi"
> +
> +/ {
> +	model = "breadbee-crust";

This is user-visible text, so "BreadBee Crust" or so?

> +	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

Might this be a more suited place for temporary clock-frequency? For 
lack of clk driver it would seem to depend on the board's bootloader 
pre-configuring it rather than being a default of the SoC.

> +};
> diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> new file mode 100644
> index 000000000000..423bb32e6b74
> --- /dev/null
> +++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "infinity3-msc313e.dtsi"
> +
> +/ {
> +	model = "breadbee";

Ditto, "BreadBee"?

> +	compatible = "thingyjp,breadbee", "mstar,infinity3";
> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

Ditto, clock-frequency?

> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
  2020-06-10  9:04     ` Daniel Palmer
@ 2020-06-11 13:54       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:54 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Stephan Gerhold, Lubomir Rintel, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Will Deacon,
	Nick Desaulniers, Marc Zyngier, Christian Lamparter,
	Nathan Chancellor, Nathan Huckleberry, Ard Biesheuvel,
	linux-arm-kernel, linux-kernel

BTW I think the subject convention has been "ARM: dts: ...", with "ARM: 
mstar: ..." more for mach-mstar.

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Adds inital support for the 70mai midrive d08 dash camera.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   arch/arm/boot/dts/Makefile                    |  3 ++-
>   .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
>   2 files changed, 27 insertions(+), 1 deletion(-)
>   create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4a5f8075a4f6..35c7ecc52c60 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
>   dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
>   dtb-$(CONFIG_ARCH_MSTARV7) += \
>   	infinity-msc313-breadbee_crust.dtb \
> -	infinity3-msc313e-breadbee.dtb
> +	infinity3-msc313e-breadbee.dtb \
> +	mercury5-ssc8336n-midrive08.dtb
>   dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
>   dtb-$(CONFIG_ARCH_ASPEED) += \
>   	aspeed-ast2500-evb.dtb \
> diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> new file mode 100644
> index 000000000000..4ee50ecf6ab1
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "mercury5-ssc8336n.dtsi"
> +
> +/ {
> +	model = "midrive d08";

Couldn't find this on their website. Should this be "70mai midrive ..." 
or is "midrive" a different brand?

> +	compatible = "70mai,midrived08", "mstar,mercury5";

Have you considered naming it "70mai,midrive-d08" for better 
readability? (affects 1/5)

> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

clock-frequency?

> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
@ 2020-06-11 13:54       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 13:54 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

BTW I think the subject convention has been "ARM: dts: ...", with "ARM: 
mstar: ..." more for mach-mstar.

Am 10.06.20 um 11:04 schrieb Daniel Palmer:
> Adds inital support for the 70mai midrive d08 dash camera.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>   arch/arm/boot/dts/Makefile                    |  3 ++-
>   .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
>   2 files changed, 27 insertions(+), 1 deletion(-)
>   create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4a5f8075a4f6..35c7ecc52c60 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
>   dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
>   dtb-$(CONFIG_ARCH_MSTARV7) += \
>   	infinity-msc313-breadbee_crust.dtb \
> -	infinity3-msc313e-breadbee.dtb
> +	infinity3-msc313e-breadbee.dtb \
> +	mercury5-ssc8336n-midrive08.dtb
>   dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
>   dtb-$(CONFIG_ARCH_ASPEED) += \
>   	aspeed-ast2500-evb.dtb \
> diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> new file mode 100644
> index 000000000000..4ee50ecf6ab1
> --- /dev/null
> +++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 thingy.jp.
> + * Author: Daniel Palmer <daniel@thingy.jp>
> + */
> +
> +/dts-v1/;
> +#include "mercury5-ssc8336n.dtsi"
> +
> +/ {
> +	model = "midrive d08";

Couldn't find this on their website. Should this be "70mai midrive ..." 
or is "midrive" a different brand?

> +	compatible = "70mai,midrived08", "mstar,mercury5";

Have you considered naming it "70mai,midrive-d08" for better 
readability? (affects 1/5)

> +
> +	aliases {
> +		serial0 = &pm_uart;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&pm_uart {
> +	status = "okay";

clock-frequency?

> +};

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2020-06-11 13:39       ` Andreas Färber
@ 2020-06-11 14:19         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:19 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor, Marc Zyngier,
	Ard Biesheuvel, linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 22:39, Andreas Färber <afaerber@suse.de> wrote:

> Can you split this up into three parts for easier review?

Understood. Will do.

> 2019-2020? Check elsewhere.

The patches are originally from 2019. I'll update everything.

> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "infinity.dtsi"
> > +
> > +/ {
> > +     memory {
> > +             device_type = "memory";
> > +             reg = <0x20000000 0x4000000>;
>
> The memory node needs to become memory@20000000 then.
>
> > +     };
>
> I take it, this RAM is integrated? Maybe add some explanation of what
> this file is

Yes. The memory is integrated and the size depends on the specific chips
so the memory node is at the chip level dtsi and not the board level.

> > +};
> > diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
> > new file mode 100644
> > index 000000000000..25d379028689
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/infinity.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "mstar-v7.dtsi"
> > +
> > +/ {
> > +};
>
> What do you intend to add here? Is it really needed? (same below)

The specific nodes will go into there. This is mostly an artefact of splitting
the device trees out of a more developed tree.

> > new file mode 100644
> > index 000000000000..cf5f18a07835
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/infinity3.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "infinity.dtsi"
> > +
> > +/ {
> > +};
>
> Don't you anticipate incompatibilities between infinity and infinity3,
> i.e., things you don't want to inherit? Seems a bit optimistic. You can
> of course overwrite properties, but deleting is more difficult.

In my tree with drivers for the rest of the hardware it hasn't been a problem.
So far I've found infinity, infinity2, infinity3, infinity5 and
infinity6 chips. The memory
map for them is almost identical and the changes are adding in more
copies of things
like DMA controllers, extra clock blocks etc.

Having infinity.dtsi as the base for the newer versions should avoid
having duplication
of nodes that aren't common on the mstar armv7 level but are common to
the infinity subtypes.

There are two good examples of this:
For infinity? the USB and SD controllers are at the same place for all
of the chips I've
found so far. Unfortunately, despite using the same IP block and the
same driver those
blocks are in different places in the mercury5. At the moment with all
of the infinity chips
pulling in infinity.dtsi those nodes are only in infinity.dtsi and
mercury5.dtsi.
If infinity?.dtsi are all stacked on top of the mstarv7.dtsi base then
there will be a number of
copies of the same nodes.

> > diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
> > new file mode 100644
> > index 000000000000..25d379028689
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mercury5.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "mstar-v7.dtsi"
> > +
> > +/ {
> > +};
> > diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
> > new file mode 100644
> > index 000000000000..0fccc4ca52a4
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mstar-v7.dtsi
>
> So this is the only file starting with mstar. Have you thought about
> prefixing infinity/mercury, so that they're grouped together?

I have been thinking about that. I didn't see any other dts in arm that had
the vendor as a prefix though. With arm64 everything is in per vendor
subdirectories
to achieve the same thing.

> > +             };
> > +
> > +             pm_uart: uart@1f221000 {
> > +                     compatible = "ns16550a";
> > +                     reg = <0x1f221000 0x100>;
> > +                     reg-shift = <3>;
> > +                     clock-frequency = <172000000>;
> > +                     status = "disabled";
> > +             };
>
> If you have any decent manuals for these SoCs,

Everything so far has been reverse engineered from an old 3.18
kernel, poking with a multimeter etc. I wish I had a decent manual.

> I suggest to check whether there are any internal buses that you may
> want to model as simple-bus for grouping. In-tree examples include meson
> and recently merged rtd1195 - it affects the reg addresses and unit addresses via
> suitable ranges mappings.

There is a bridge that is between the CPU and the peripheral registers
that doesn't quite fit simple-bus (from what I remember it needs a clk).
My plan was to introduce the thin driver for that bus (it just consumes the clks
it needs so they don't get disabled at the moment) after introducing
the clk support.

Thanks,

Daniel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-11 14:19         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:19 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, Krzysztof Adamski,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

Hi Andreas,

On Thu, 11 Jun 2020 at 22:39, Andreas Färber <afaerber@suse.de> wrote:

> Can you split this up into three parts for easier review?

Understood. Will do.

> 2019-2020? Check elsewhere.

The patches are originally from 2019. I'll update everything.

> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "infinity.dtsi"
> > +
> > +/ {
> > +     memory {
> > +             device_type = "memory";
> > +             reg = <0x20000000 0x4000000>;
>
> The memory node needs to become memory@20000000 then.
>
> > +     };
>
> I take it, this RAM is integrated? Maybe add some explanation of what
> this file is

Yes. The memory is integrated and the size depends on the specific chips
so the memory node is at the chip level dtsi and not the board level.

> > +};
> > diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
> > new file mode 100644
> > index 000000000000..25d379028689
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/infinity.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "mstar-v7.dtsi"
> > +
> > +/ {
> > +};
>
> What do you intend to add here? Is it really needed? (same below)

The specific nodes will go into there. This is mostly an artefact of splitting
the device trees out of a more developed tree.

> > new file mode 100644
> > index 000000000000..cf5f18a07835
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/infinity3.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "infinity.dtsi"
> > +
> > +/ {
> > +};
>
> Don't you anticipate incompatibilities between infinity and infinity3,
> i.e., things you don't want to inherit? Seems a bit optimistic. You can
> of course overwrite properties, but deleting is more difficult.

In my tree with drivers for the rest of the hardware it hasn't been a problem.
So far I've found infinity, infinity2, infinity3, infinity5 and
infinity6 chips. The memory
map for them is almost identical and the changes are adding in more
copies of things
like DMA controllers, extra clock blocks etc.

Having infinity.dtsi as the base for the newer versions should avoid
having duplication
of nodes that aren't common on the mstar armv7 level but are common to
the infinity subtypes.

There are two good examples of this:
For infinity? the USB and SD controllers are at the same place for all
of the chips I've
found so far. Unfortunately, despite using the same IP block and the
same driver those
blocks are in different places in the mercury5. At the moment with all
of the infinity chips
pulling in infinity.dtsi those nodes are only in infinity.dtsi and
mercury5.dtsi.
If infinity?.dtsi are all stacked on top of the mstarv7.dtsi base then
there will be a number of
copies of the same nodes.

> > diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
> > new file mode 100644
> > index 000000000000..25d379028689
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mercury5.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +#include "mstar-v7.dtsi"
> > +
> > +/ {
> > +};
> > diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
> > new file mode 100644
> > index 000000000000..0fccc4ca52a4
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mstar-v7.dtsi
>
> So this is the only file starting with mstar. Have you thought about
> prefixing infinity/mercury, so that they're grouped together?

I have been thinking about that. I didn't see any other dts in arm that had
the vendor as a prefix though. With arm64 everything is in per vendor
subdirectories
to achieve the same thing.

> > +             };
> > +
> > +             pm_uart: uart@1f221000 {
> > +                     compatible = "ns16550a";
> > +                     reg = <0x1f221000 0x100>;
> > +                     reg-shift = <3>;
> > +                     clock-frequency = <172000000>;
> > +                     status = "disabled";
> > +             };
>
> If you have any decent manuals for these SoCs,

Everything so far has been reverse engineered from an old 3.18
kernel, poking with a multimeter etc. I wish I had a decent manual.

> I suggest to check whether there are any internal buses that you may
> want to model as simple-bus for grouping. In-tree examples include meson
> and recently merged rtd1195 - it affects the reg addresses and unit addresses via
> suitable ranges mappings.

There is a bridge that is between the CPU and the peripheral registers
that doesn't quite fit simple-bus (from what I remember it needs a clk).
My plan was to introduce the thin driver for that bus (it just consumes the clks
it needs so they don't get disabled at the moment) after introducing
the clk support.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
  2020-06-11 13:45       ` Andreas Färber
@ 2020-06-11 14:26         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:26 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Stephan Gerhold, Lubomir Rintel, Maxime Ripard,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Andrew Morton, Doug Anderson, Benjamin Gaignard,
	Gregory Fong, Bartosz Golaszewski, Masahiro Yamada,
	Nick Desaulniers, Nathan Chancellor, Ard Biesheuvel,
	Nathan Huckleberry, Marc Zyngier, linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 22:45, Andreas Färber <afaerber@suse.de> wrote:

> > +     compatible = "thingyjp,breadbee-crust", "mstar,infinity";
> > +
> > +     aliases {
> > +             serial0 = &pm_uart;
> > +     };
> > +
> > +     chosen {
> > +             stdout-path = "serial0:115200n8";
> > +     };
> > +};
> > +
> > +&pm_uart {
> > +     status = "okay";
>
> Might this be a more suited place for temporary clock-frequency? For
> lack of clk driver it would seem to depend on the board's bootloader
> pre-configuring it rather than being a default of the SoC.

For all of the chips so far their second stage bootloader always turns
on a PLL and
reconfigures the pm_uart clock to use a 172MHz tap from that PLL right
at the start
of the boot process before u-boot is started. The new u-boot SPL I'm
working on to replace
that loader follows that convention.
Once the clk parts are in it should be possible to pull out the fixed
frequency and
replace it with a proper handle to that PLL tap.
Basically it's not documented anywhere except the assembly but the
convention for
these chips is to use the 172MHz clock for the uart pretty soon after
power on so it
made sense to have it in one place.

Thanks,

Daniel

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

* Re: [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards
@ 2020-06-11 14:26         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:26 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller, Mike Rapoport

Hi Andreas,

On Thu, 11 Jun 2020 at 22:45, Andreas Färber <afaerber@suse.de> wrote:

> > +     compatible = "thingyjp,breadbee-crust", "mstar,infinity";
> > +
> > +     aliases {
> > +             serial0 = &pm_uart;
> > +     };
> > +
> > +     chosen {
> > +             stdout-path = "serial0:115200n8";
> > +     };
> > +};
> > +
> > +&pm_uart {
> > +     status = "okay";
>
> Might this be a more suited place for temporary clock-frequency? For
> lack of clk driver it would seem to depend on the board's bootloader
> pre-configuring it rather than being a default of the SoC.

For all of the chips so far their second stage bootloader always turns
on a PLL and
reconfigures the pm_uart clock to use a 172MHz tap from that PLL right
at the start
of the boot process before u-boot is started. The new u-boot SPL I'm
working on to replace
that loader follows that convention.
Once the clk parts are in it should be possible to pull out the fixed
frequency and
replace it with a proper handle to that PLL tap.
Basically it's not documented anywhere except the assembly but the
convention for
these chips is to use the 172MHz clock for the uart pretty soon after
power on so it
made sense to have it in one place.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-11 13:01         ` Daniel Palmer
@ 2020-06-11 14:27           ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 14:27 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Andrew Morton, Doug Anderson, Benjamin Gaignard,
	Gregory Fong, Bartosz Golaszewski, Masahiro Yamada,
	Nathan Chancellor, Nick Desaulniers, Christian Lamparter,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Hi Daniel,

Am 11.06.20 um 15:01 schrieb Daniel Palmer:
> On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
>>> peripherals and system memory in a single tiny QFN package that
>>> can be hand soldered allowing almost anyone to embed Linux
>>
>> "soldered, allowing"?
> 
> The original reads ok to me. Maybe I can just split that into two sentences?
> Like ".. QFN package that can be hand soldered. This allows almost anyone..".

As non-native speaker I merely wondered whether a comma should better be 
inserted to separate the two parts of the sentence. Splitting it in two 
or leaving as is should be fine, too - I assume you're a native speaker. 
Most people will rather read the bindings document than old git history, 
so you might want to consider adding such a description below its title.

>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>>>    M:  Daniel Palmer <daniel@thingy.jp>
>>>    L:  linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>>>    S:  Maintained
>>> +F:   arch/arm/mach-mstar/
>>>    F:  Documentation/devicetree/bindings/arm/mstar.yaml
>>>
>>>    ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>> [snip]
>>
>> The sort order has recently been changed to case-sensitive, i.e., you
>> should append arch after Documentation.
> 
> Interesting. Checkpatch didn't complain about that although it
> complained about the
> original ordering I had.

I only noticed because someone refactored my Realtek section, causing a 
merge conflict.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3b50142d8528e1efc1c07f69c540f926c58ab3ad

Which reminds me, in 1/5 you should probably add a W: line (after S: 
according to above sort commit) pointing to your 
http://linux-chenxing.org/ website.

And for the community following your project, you may want to set up a 
linux-chenxing mailing list on vger.kernel.org or on infradead.org and 
add it as L:, to allow for error reports and patches to not just go to 
you and crowded LAKML.

Cheers,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 14:27           ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 14:27 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

Hi Daniel,

Am 11.06.20 um 15:01 schrieb Daniel Palmer:
> On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
>>> peripherals and system memory in a single tiny QFN package that
>>> can be hand soldered allowing almost anyone to embed Linux
>>
>> "soldered, allowing"?
> 
> The original reads ok to me. Maybe I can just split that into two sentences?
> Like ".. QFN package that can be hand soldered. This allows almost anyone..".

As non-native speaker I merely wondered whether a comma should better be 
inserted to separate the two parts of the sentence. Splitting it in two 
or leaving as is should be fine, too - I assume you're a native speaker. 
Most people will rather read the bindings document than old git history, 
so you might want to consider adding such a description below its title.

>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -2114,6 +2114,7 @@ ARM/MStar/Sigmastar ARMv7 SoC support
>>>    M:  Daniel Palmer <daniel@thingy.jp>
>>>    L:  linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>>>    S:  Maintained
>>> +F:   arch/arm/mach-mstar/
>>>    F:  Documentation/devicetree/bindings/arm/mstar.yaml
>>>
>>>    ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>> [snip]
>>
>> The sort order has recently been changed to case-sensitive, i.e., you
>> should append arch after Documentation.
> 
> Interesting. Checkpatch didn't complain about that although it
> complained about the
> original ordering I had.

I only noticed because someone refactored my Realtek section, causing a 
merge conflict.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3b50142d8528e1efc1c07f69c540f926c58ab3ad

Which reminds me, in 1/5 you should probably add a W: line (after S: 
according to above sort commit) pointing to your 
http://linux-chenxing.org/ website.

And for the community following your project, you may want to set up a 
linux-chenxing mailing list on vger.kernel.org or on infradead.org and 
add it as L:, to allow for error reports and patches to not just go to 
you and crowded LAKML.

Cheers,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
  2020-06-11 13:54       ` Andreas Färber
@ 2020-06-11 14:38         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:38 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Stephan Gerhold, Lubomir Rintel,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Will Deacon,
	Nick Desaulniers, Marc Zyngier, Christian Lamparter,
	Nathan Chancellor, Nathan Huckleberry, Ard Biesheuvel,
	linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 22:54, Andreas Färber <afaerber@suse.de> wrote:
>
> BTW I think the subject convention has been "ARM: dts: ...", with "ARM:
> mstar: ..." more for mach-mstar.

I noticed this after sending out this series. I've fixed up the
subjects in line with convention for the next try.

> > diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> > new file mode 100644
> > index 000000000000..4ee50ecf6ab1
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> > @@ -0,0 +1,25 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +/dts-v1/;
> > +#include "mercury5-ssc8336n.dtsi"
> > +
> > +/ {
> > +     model = "midrive d08";
>
> Couldn't find this on their website. Should this be "70mai midrive ..."
> or is "midrive" a different brand?

I think it should be 70mai Midrive D08 based on your comments on the
other model names.
On their site this camera is now called "Dash Cam Lite".
Midrive D08 is the name I bought it under and the name that was used
for it's FCC approval (https://fccid.io/2AOK9-MIDRIVED08) so that's
what I went
with.

> > +     compatible = "70mai,midrived08", "mstar,mercury5";
>
> Have you considered naming it "70mai,midrive-d08" for better
> readability? (affects 1/5)

I went with midrived08 as that's what was used for the FCC and from
what I remember was written on the casing.

Thanks,

Daniel

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

* Re: [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08
@ 2020-06-11 14:38         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:38 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, Krzysztof Adamski,
	Christian Lamparter, Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller

Hi Andreas,

On Thu, 11 Jun 2020 at 22:54, Andreas Färber <afaerber@suse.de> wrote:
>
> BTW I think the subject convention has been "ARM: dts: ...", with "ARM:
> mstar: ..." more for mach-mstar.

I noticed this after sending out this series. I've fixed up the
subjects in line with convention for the next try.

> > diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> > new file mode 100644
> > index 000000000000..4ee50ecf6ab1
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
> > @@ -0,0 +1,25 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (c) 2019 thingy.jp.
> > + * Author: Daniel Palmer <daniel@thingy.jp>
> > + */
> > +
> > +/dts-v1/;
> > +#include "mercury5-ssc8336n.dtsi"
> > +
> > +/ {
> > +     model = "midrive d08";
>
> Couldn't find this on their website. Should this be "70mai midrive ..."
> or is "midrive" a different brand?

I think it should be 70mai Midrive D08 based on your comments on the
other model names.
On their site this camera is now called "Dash Cam Lite".
Midrive D08 is the name I bought it under and the name that was used
for it's FCC approval (https://fccid.io/2AOK9-MIDRIVED08) so that's
what I went
with.

> > +     compatible = "70mai,midrived08", "mstar,mercury5";
>
> Have you considered naming it "70mai,midrive-d08" for better
> readability? (affects 1/5)

I went with midrived08 as that's what was used for the FCC and from
what I remember was written on the casing.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2020-06-11 14:19         ` Daniel Palmer
@ 2020-06-11 14:39           ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 14:39 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor, Marc Zyngier,
	Ard Biesheuvel, linux-arm-kernel, linux-kernel

Hi,

Am 11.06.20 um 16:19 schrieb Daniel Palmer:
> On Thu, 11 Jun 2020 at 22:39, Andreas Färber <afaerber@suse.de> wrote:
>>> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
>>> new file mode 100644
>>> index 000000000000..0fccc4ca52a4
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/mstar-v7.dtsi
>>
>> So this is the only file starting with mstar. Have you thought about
>> prefixing infinity/mercury, so that they're grouped together?
> 
> I have been thinking about that. I didn't see any other dts in arm that had
> the vendor as a prefix though. With arm64 everything is in per vendor
> subdirectories
> to achieve the same thing.

qcom- and arm- are examples. Admittedly outliers, but for a new target 
you don't have all the historical backwards-compatibility baggage.

The downside would be if someone wanted to add newer sstar chips under 
the new name later, then they wouldn't be grouped with predecessor 
families. Right now it seems like mercury and infinity are not that 
different, so I figured it might be useful for people contributing 
patches to see that changes in one might require review of the other.

Cheers,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-11 14:39           ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 14:39 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, Krzysztof Adamski,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

Hi,

Am 11.06.20 um 16:19 schrieb Daniel Palmer:
> On Thu, 11 Jun 2020 at 22:39, Andreas Färber <afaerber@suse.de> wrote:
>>> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
>>> new file mode 100644
>>> index 000000000000..0fccc4ca52a4
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/mstar-v7.dtsi
>>
>> So this is the only file starting with mstar. Have you thought about
>> prefixing infinity/mercury, so that they're grouped together?
> 
> I have been thinking about that. I didn't see any other dts in arm that had
> the vendor as a prefix though. With arm64 everything is in per vendor
> subdirectories
> to achieve the same thing.

qcom- and arm- are examples. Admittedly outliers, but for a new target 
you don't have all the historical backwards-compatibility baggage.

The downside would be if someone wanted to add newer sstar chips under 
the new name later, then they wouldn't be grouped with predecessor 
families. Right now it seems like mercury and infinity are not that 
different, so I figured it might be useful for people contributing 
patches to see that changes in one might require review of the other.

Cheers,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
  2020-06-11 14:27           ` Andreas Färber
@ 2020-06-11 14:58             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:58 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Jonathan Corbet, Greg Kroah-Hartman, Arnd Bergmann,
	Mike Rapoport, Andrew Morton, Doug Anderson, Benjamin Gaignard,
	Gregory Fong, Bartosz Golaszewski, Masahiro Yamada,
	Nathan Chancellor, Nick Desaulniers, Christian Lamparter,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 23:27, Andreas Färber <afaerber@suse.de> wrote:
>
> Hi Daniel,
>
> Am 11.06.20 um 15:01 schrieb Daniel Palmer:
> > On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
> >>> peripherals and system memory in a single tiny QFN package that
> >>> can be hand soldered allowing almost anyone to embed Linux
> >>
> >> "soldered, allowing"?
> >
> > The original reads ok to me. Maybe I can just split that into two sentences?
> > Like ".. QFN package that can be hand soldered. This allows almost anyone..".
>
> As non-native speaker I merely wondered whether a comma should better be
> inserted to separate the two parts of the sentence. Splitting it in two
> or leaving as is should be fine, too - I assume you're a native speaker.

I'm a native speaker but it's not my daily driver anymore so I often mangle it.

> Most people will rather read the bindings document than old git history,
> so you might want to consider adding such a description below its title.

I'll move the blurb and maybe reword it.

> Which reminds me, in 1/5 you should probably add a W: line (after S:
> according to above sort commit) pointing to your
> http://linux-chenxing.org/ website.
>
> And for the community following your project, you may want to set up a
> linux-chenxing mailing list on vger.kernel.org or on infradead.org and
> add it as L:, to allow for error reports and patches to not just go to
> you and crowded LAKML.

Very good points. I was thinking I should probably get this into mainline
before setting up lists etc.

Thanks,

Daniel

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

* Re: [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs
@ 2020-06-11 14:58             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 14:58 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, Gregory Fong, Doug Anderson,
	Nathan Chancellor, Krzysztof Adamski, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

Hi Andreas,

On Thu, 11 Jun 2020 at 23:27, Andreas Färber <afaerber@suse.de> wrote:
>
> Hi Daniel,
>
> Am 11.06.20 um 15:01 schrieb Daniel Palmer:
> > On Thu, 11 Jun 2020 at 21:49, Andreas Färber <afaerber@suse.de> wrote:
> >>> peripherals and system memory in a single tiny QFN package that
> >>> can be hand soldered allowing almost anyone to embed Linux
> >>
> >> "soldered, allowing"?
> >
> > The original reads ok to me. Maybe I can just split that into two sentences?
> > Like ".. QFN package that can be hand soldered. This allows almost anyone..".
>
> As non-native speaker I merely wondered whether a comma should better be
> inserted to separate the two parts of the sentence. Splitting it in two
> or leaving as is should be fine, too - I assume you're a native speaker.

I'm a native speaker but it's not my daily driver anymore so I often mangle it.

> Most people will rather read the bindings document than old git history,
> so you might want to consider adding such a description below its title.

I'll move the blurb and maybe reword it.

> Which reminds me, in 1/5 you should probably add a W: line (after S:
> according to above sort commit) pointing to your
> http://linux-chenxing.org/ website.
>
> And for the community following your project, you may want to set up a
> linux-chenxing mailing list on vger.kernel.org or on infradead.org and
> add it as L:, to allow for error reports and patches to not just go to
> you and crowded LAKML.

Very good points. I was thinking I should probably get this into mainline
before setting up lists etc.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
  2020-06-10  9:03     ` Daniel Palmer
  (?)
@ 2020-06-11 15:00       ` Andreas Färber
  -1 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 15:00 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: k, tim.bird, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Maxime Ripard, Lubomir Rintel, Stephan Gerhold, Mark Brown,
	allen, Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel, linux-kernel, linux-mediatek

+ linux-mediatek

Am 10.06.20 um 11:03 schrieb Daniel Palmer:
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index ef6d75b9113a..1770fc794027 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
[...]
> @@ -678,6 +680,8 @@ patternProperties:
>       description: Microsemi Corporation
>     "^msi,.*":
>       description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.

Depending on what exactly its legal status is these days 
(https://en.wikipedia.org/wiki/MStar), you might either follow the below 
MIPS example of describing it as

"MediaTek Inc. (formerly MStar Semiconductor, Inc.)",

or you might extend above description as
"MStar Semiconductor, Inc. (acquired by MediaTek Inc.)" if it still exists.

Or accordingly "Xiamen Xingchen Technology Co., Ltd. (formerly MStar 
Semiconductor, Inc.)" if it was renamed to Sigmastar (in which case you 
might additionally reserve sstar prefix for Sigmastar while at it).

http://www.sigmastarsemi.com/en/enterprisenews/info.aspx?itemid=441

>     "^mti,.*":
>       description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>     "^multi-inno,.*":
[...]
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77a3fa5e3edd..1ca77f97b8ee 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
>   F:	arch/arm/mach-pxa/mioa701.c
>   
> +ARM/MStar/Sigmastar ARMv7 SoC support

Here you do mention Sigmastar.

> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>   M:	Michael Petchkovsky <mkpetch@internode.on.net>
>   S:	Maintained

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2020-06-11 15:00       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 15:00 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, linux-mediatek, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	David S. Miller, Mike Rapoport

+ linux-mediatek

Am 10.06.20 um 11:03 schrieb Daniel Palmer:
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index ef6d75b9113a..1770fc794027 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
[...]
> @@ -678,6 +680,8 @@ patternProperties:
>       description: Microsemi Corporation
>     "^msi,.*":
>       description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.

Depending on what exactly its legal status is these days 
(https://en.wikipedia.org/wiki/MStar), you might either follow the below 
MIPS example of describing it as

"MediaTek Inc. (formerly MStar Semiconductor, Inc.)",

or you might extend above description as
"MStar Semiconductor, Inc. (acquired by MediaTek Inc.)" if it still exists.

Or accordingly "Xiamen Xingchen Technology Co., Ltd. (formerly MStar 
Semiconductor, Inc.)" if it was renamed to Sigmastar (in which case you 
might additionally reserve sstar prefix for Sigmastar while at it).

http://www.sigmastarsemi.com/en/enterprisenews/info.aspx?itemid=441

>     "^mti,.*":
>       description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>     "^multi-inno,.*":
[...]
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77a3fa5e3edd..1ca77f97b8ee 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
>   F:	arch/arm/mach-pxa/mioa701.c
>   
> +ARM/MStar/Sigmastar ARMv7 SoC support

Here you do mention Sigmastar.

> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>   M:	Michael Petchkovsky <mkpetch@internode.on.net>
>   S:	Maintained

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings
@ 2020-06-11 15:00       ` Andreas Färber
  0 siblings, 0 replies; 146+ messages in thread
From: Andreas Färber @ 2020-06-11 15:00 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Maxime Ripard,
	Lubomir Rintel, Rob Herring, linux-mediatek, Gregory Fong,
	Doug Anderson, Nathan Chancellor, k, Greg Kroah-Hartman,
	Nick Desaulniers, linux-kernel, Mark Brown, Marc Zyngier,
	David S. Miller, Mike Rapoport

+ linux-mediatek

Am 10.06.20 um 11:03 schrieb Daniel Palmer:
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index ef6d75b9113a..1770fc794027 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
[...]
> @@ -678,6 +680,8 @@ patternProperties:
>       description: Microsemi Corporation
>     "^msi,.*":
>       description: Micro-Star International Co. Ltd.
> +  "^mstar,.*":
> +    description: MStar Semiconductor, Inc.

Depending on what exactly its legal status is these days 
(https://en.wikipedia.org/wiki/MStar), you might either follow the below 
MIPS example of describing it as

"MediaTek Inc. (formerly MStar Semiconductor, Inc.)",

or you might extend above description as
"MStar Semiconductor, Inc. (acquired by MediaTek Inc.)" if it still exists.

Or accordingly "Xiamen Xingchen Technology Co., Ltd. (formerly MStar 
Semiconductor, Inc.)" if it was renamed to Sigmastar (in which case you 
might additionally reserve sstar prefix for Sigmastar while at it).

http://www.sigmastarsemi.com/en/enterprisenews/info.aspx?itemid=441

>     "^mti,.*":
>       description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
>     "^multi-inno,.*":
[...]
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77a3fa5e3edd..1ca77f97b8ee 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2110,6 +2110,12 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>   S:	Maintained
>   F:	arch/arm/mach-pxa/mioa701.c
>   
> +ARM/MStar/Sigmastar ARMv7 SoC support

Here you do mention Sigmastar.

> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>   ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>   M:	Michael Petchkovsky <mkpetch@internode.on.net>
>   S:	Maintained

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
  2020-06-11 14:39           ` Andreas Färber
@ 2020-06-11 15:07             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 15:07 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Krzysztof Adamski, tim.bird, devicetree, Daniel Palmer,
	Rob Herring, Russell King, Sam Ravnborg, Linus Walleij,
	Heiko Stuebner, Maxime Ripard, Lubomir Rintel, Stephan Gerhold,
	Mark Brown, allen, Mauro Carvalho Chehab, David S. Miller,
	Greg Kroah-Hartman, Jonathan Corbet, Arnd Bergmann,
	Andrew Morton, Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Nathan Huckleberry, Nathan Chancellor, Marc Zyngier,
	Ard Biesheuvel, linux-arm-kernel, linux-kernel

Hi Andreas,

On Thu, 11 Jun 2020 at 23:39, Andreas Färber <afaerber@suse.de> wrote:

> The downside would be if someone wanted to add newer sstar chips under
> the new name later, then they wouldn't be grouped with predecessor
> families. Right now it seems like mercury and infinity are not that
> different, so I figured it might be useful for people contributing
> patches to see that changes in one might require review of the other.

I've thought about this too. One thing I considered was not using
mstar or sstar at all
and doing the same thing as sunxi and using either the "chenxing"
(MorningStar, MStar) or "xingchen" (SigmaStar)
moniker instead.
However, there are lots of kernel dumps from MStar based TVs etc in
the wild already that are using the mstar
prefix so just continuing to use that seems like the right thing to do.

Thanks,

Daniel

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

* Re: [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi
@ 2020-06-11 15:07             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-11 15:07 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, Russell King,
	Bartosz Golaszewski, linux-arm-kernel, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, tim.bird, Will Deacon,
	Maxime Ripard, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, Krzysztof Adamski,
	Greg Kroah-Hartman, Nick Desaulniers, linux-kernel, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

Hi Andreas,

On Thu, 11 Jun 2020 at 23:39, Andreas Färber <afaerber@suse.de> wrote:

> The downside would be if someone wanted to add newer sstar chips under
> the new name later, then they wouldn't be grouped with predecessor
> families. Right now it seems like mercury and infinity are not that
> different, so I figured it might be useful for people contributing
> patches to see that changes in one might require review of the other.

I've thought about this too. One thing I considered was not using
mstar or sstar at all
and doing the same thing as sunxi and using either the "chenxing"
(MorningStar, MStar) or "xingchen" (SigmaStar)
moniker instead.
However, there are lots of kernel dumps from MStar based TVs etc in
the wild already that are using the mstar
prefix so just continuing to use that seems like the right thing to do.

Thanks,

Daniel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 00/12] Initial MStar/Sigmastar Armv7 SoC support
  2020-06-10  9:03     ` Daniel Palmer
@ 2020-06-12 13:00       ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Nathan Chancellor, Marc Zyngier, Nathan Huckleberry,
	Ard Biesheuvel, linux-arm-kernel

This patch set adds initial support for MStar/Sigmastar's
Armv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the Armv7 based chips.

Differences from v2:

1. With Marc Zyngier's help the GIC node has been filled out properly.

2. A comment was added to the arch timer node to explain why the
clock-frequency is specified. Basically the vendor u-boot is old and
broken.

3. Based on Arnd Bergmann's feedback the heavy memory barrier is now
implemented using a DT node to specify where the registers are instead
of hardcoding their location. A binding description has been added for
the new node.

4. Expanded comments around the heavy memory barrier code so it's more
obvious why it looks like it does.

5. The heavy memory barrier init code was folded into the machine init
function.

6. Updated the device tree bindings and prefixes based on Andreas Färber's
feedback. They have also been split out into a number of commits

7. Based on Andreas Färber's feedback I've added the "riu" (register interface
unit) internal bus that contains all of the peripheral registers and the proper
ranges for the soc node. This bus has clocks, interrupts and some configuration
register so it might get it's own driver in the future.

8. I've dropped the pmu node for now as it's not needed to boot and I'm not
sure of the relationship between the single core in most of the chips and
the 4 documented interrupts.

9. Numerous cosmetic changes based on Andreas Färber's feedback.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.

Daniel Palmer (12):
  dt-bindings: vendor-prefixes: Add mstar vendor prefix
  dt-bindings: vendor-prefixes: Add sstar vendor prefix
  dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  dt-bindings: vendor-prefixes: Add thingy.jp prefix
  dt-bindings: dt-bindings: arm: Add mstar YAML schema
  ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  ARM: mstar: Add binding details for mstar,l3bridge
  ARM: mstar: Add Armv7 base dtsi
  ARM: mstar: Add infinity/infinity3 family dtsis
  ARM: mstar: Add mercury5 series dtsis
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 33 ++++++++
 .../bindings/misc/mstar,l3bridge.yaml         | 44 ++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  8 ++
 MAINTAINERS                                   | 11 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 +
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 ++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               |  7 ++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 ++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              |  7 ++
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 ++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               |  7 ++
 arch/arm/boot/dts/mstar-v7.dtsi               | 83 +++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 ++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 80 ++++++++++++++++++
 20 files changed, 431 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


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

* [PATCH v3 00/12] Initial MStar/Sigmastar Armv7 SoC support
@ 2020-06-12 13:00       ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, Nick Desaulniers, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

This patch set adds initial support for MStar/Sigmastar's
Armv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the Armv7 based chips.

Differences from v2:

1. With Marc Zyngier's help the GIC node has been filled out properly.

2. A comment was added to the arch timer node to explain why the
clock-frequency is specified. Basically the vendor u-boot is old and
broken.

3. Based on Arnd Bergmann's feedback the heavy memory barrier is now
implemented using a DT node to specify where the registers are instead
of hardcoding their location. A binding description has been added for
the new node.

4. Expanded comments around the heavy memory barrier code so it's more
obvious why it looks like it does.

5. The heavy memory barrier init code was folded into the machine init
function.

6. Updated the device tree bindings and prefixes based on Andreas Färber's
feedback. They have also been split out into a number of commits

7. Based on Andreas Färber's feedback I've added the "riu" (register interface
unit) internal bus that contains all of the peripheral registers and the proper
ranges for the soc node. This bus has clocks, interrupts and some configuration
register so it might get it's own driver in the future.

8. I've dropped the pmu node for now as it's not needed to boot and I'm not
sure of the relationship between the single core in most of the chips and
the 4 documented interrupts.

9. Numerous cosmetic changes based on Andreas Färber's feedback.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.

Daniel Palmer (12):
  dt-bindings: vendor-prefixes: Add mstar vendor prefix
  dt-bindings: vendor-prefixes: Add sstar vendor prefix
  dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  dt-bindings: vendor-prefixes: Add thingy.jp prefix
  dt-bindings: dt-bindings: arm: Add mstar YAML schema
  ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  ARM: mstar: Add binding details for mstar,l3bridge
  ARM: mstar: Add Armv7 base dtsi
  ARM: mstar: Add infinity/infinity3 family dtsis
  ARM: mstar: Add mercury5 series dtsis
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 33 ++++++++
 .../bindings/misc/mstar,l3bridge.yaml         | 44 ++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  8 ++
 MAINTAINERS                                   | 11 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 +
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 ++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               |  7 ++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 ++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              |  7 ++
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 ++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               |  7 ++
 arch/arm/boot/dts/mstar-v7.dtsi               | 83 +++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 ++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 80 ++++++++++++++++++
 20 files changed, 431 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Andrew Morton, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Will Deacon, Nick Desaulniers,
	Nathan Huckleberry, Ard Biesheuvel, Nathan Chancellor,
	Marc Zyngier, linux-arm-kernel

Add prefix for MStar Semiconductor, Inc.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ef6d75b9113a..86b569a0c008 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -678,6 +678,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, Nick Desaulniers, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller

Add prefix for MStar Semiconductor, Inc.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ef6d75b9113a..86b569a0c008 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -678,6 +678,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Greg Kroah-Hartman,
	Jonathan Corbet, Arnd Bergmann, Andrew Morton, Mike Rapoport,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Nathan Chancellor, Christian Lamparter, Nathan Huckleberry,
	Ard Biesheuvel, Marc Zyngier, linux-arm-kernel

Add prefix for Xiamen Xingchen Technology Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 86b569a0c008..314a2ddcb6a0 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -984,6 +984,8 @@ patternProperties:
     description: Spreadtrum Communications Inc.
   "^sst,.*":
     description: Silicon Storage Technology, Inc.
+  "^sstar,.*":
+    description: Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
   "^st,.*":
     description: STMicroelectronics
   "^starry,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Christian Lamparter, Greg Kroah-Hartman, Nick Desaulniers,
	afaerber, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller, Mike Rapoport

Add prefix for Xiamen Xingchen Technology Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 86b569a0c008..314a2ddcb6a0 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -984,6 +984,8 @@ patternProperties:
     description: Spreadtrum Communications Inc.
   "^sst,.*":
     description: Silicon Storage Technology, Inc.
+  "^sstar,.*":
+    description: Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
   "^st,.*":
     description: STMicroelectronics
   "^starry,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Andrew Morton, Mike Rapoport,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Will Deacon, Nathan Huckleberry, Marc Zyngier, Ard Biesheuvel,
	linux-arm-kernel

Add prefix for 70mai Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 314a2ddcb6a0..7c45b4c6fe40 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai Co., Ltd.
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, afaerber, Mark Brown, Marc Zyngier,
	Andrew Morton, David S. Miller, Mike Rapoport

Add prefix for 70mai Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 314a2ddcb6a0..7c45b4c6fe40 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai Co., Ltd.
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Will Deacon, Nick Desaulniers,
	Nathan Huckleberry, Joel Stanley, Nathan Chancellor,
	Ard Biesheuvel, Marc Zyngier, linux-arm-kernel

Add prefix for thingy.jp

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 7c45b4c6fe40..70a8f2696427 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1036,6 +1036,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Joel Stanley, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, Will Deacon, Lubomir Rintel,
	Rob Herring, Gregory Fong, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Greg Kroah-Hartman, Nick Desaulniers, afaerber,
	Mark Brown, Marc Zyngier, David S. Miller, Mike Rapoport

Add prefix for thingy.jp

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 7c45b4c6fe40..70a8f2696427 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1036,6 +1036,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
-- 
2.27.0.rc0


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

* [PATCH v3 05/12] dt-bindings: dt-bindings: arm: Add mstar YAML schema
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Greg Kroah-Hartman,
	Jonathan Corbet, Arnd Bergmann, Andrew Morton, Mike Rapoport,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Will Deacon,
	Nathan Chancellor, Christian Lamparter, Marc Zyngier,
	Nathan Huckleberry, Ard Biesheuvel, linux-arm-kernel

This adds some intial boards for Armv7 based mstar platforms.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 33 +++++++++++++++++++
 MAINTAINERS                                   |  7 ++++
 2 files changed, 40 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..633e89f415cb
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+        # infinity boards
+        items:
+          - enum:
+              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
+          - const: mstar,infinity
+
+        # infinity3 boards
+        items:
+          - enum:
+              - thingyjp,breadbee # thingy.jp BreadBee
+          - const: mstar,infinity3
+
+        # mercury5 boards
+        items:
+          - enum:
+              - 70mai,midrived08 # 70mai midrive d08
+          - const: mstar,mercury5
diff --git a/MAINTAINERS b/MAINTAINERS
index 77a3fa5e3edd..c44070f76a1b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2110,6 +2110,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar Armv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+W:	http://linux-chenxing.org/
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v3 05/12] dt-bindings: dt-bindings: arm: Add mstar YAML schema
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Christian Lamparter, Greg Kroah-Hartman, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

This adds some intial boards for Armv7 based mstar platforms.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 33 +++++++++++++++++++
 MAINTAINERS                                   |  7 ++++
 2 files changed, 40 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..633e89f415cb
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+        # infinity boards
+        items:
+          - enum:
+              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
+          - const: mstar,infinity
+
+        # infinity3 boards
+        items:
+          - enum:
+              - thingyjp,breadbee # thingy.jp BreadBee
+          - const: mstar,infinity3
+
+        # mercury5 boards
+        items:
+          - enum:
+              - 70mai,midrived08 # 70mai midrive d08
+          - const: mstar,mercury5
diff --git a/MAINTAINERS b/MAINTAINERS
index 77a3fa5e3edd..c44070f76a1b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2110,6 +2110,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar Armv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+W:	http://linux-chenxing.org/
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v3 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nick Desaulniers, Will Deacon,
	Nathan Chancellor, Nathan Huckleberry, Ard Biesheuvel,
	Marc Zyngier, linux-arm-kernel

Initial support for the MStar/Sigmastar Armv7 based IP camera
and dashcam SoCs.

These chips are interesting in that they contain a Cortex-A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 ++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 80 +++++++++++++++++++++++++++++++++++
 6 files changed, 111 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index c44070f76a1b..4bd57bbdddb0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fb6c85c5d344..e466694f8486 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -669,6 +669,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..52744fe32368
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar Armv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on Armv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..81a4cbcab206
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar Armv7 SoCs
+ *
+ * Copyright (c) 2020 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x14
+#define MSTARV7_L3BRIDGE_STATUS		0x40
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *l3bridge;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ *
+ * The vendor code did have a spin lock but it doesn't seem to be needed and
+ * removing it hasn't caused any side effects so far.
+ *
+ * [writel|readl]_relaxed have to be used here because otherwise
+ * we'd end up right back in here.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, l3bridge + MSTARV7_L3BRIDGE_FLUSH);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, l3bridge
+			+ MSTARV7_L3BRIDGE_FLUSH);
+	while (!(readl_relaxed(l3bridge + MSTARV7_L3BRIDGE_STATUS)
+			& MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_init(void)
+{
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "mstar,l3bridge");
+	l3bridge = of_iomap(np, 0);
+	if (l3bridge)
+		soc_mb = mstarv7_mb;
+	else
+		pr_warn("Failed to install memory barrier, DMA will be broken!\n");
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar Armv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v3 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, Nick Desaulniers, afaerber, Mark Brown,
	Marc Zyngier, David S. Miller, Mike Rapoport

Initial support for the MStar/Sigmastar Armv7 based IP camera
and dashcam SoCs.

These chips are interesting in that they contain a Cortex-A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 ++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 80 +++++++++++++++++++++++++++++++++++
 6 files changed, 111 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index c44070f76a1b..4bd57bbdddb0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fb6c85c5d344..e466694f8486 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -669,6 +669,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..52744fe32368
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar Armv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on Armv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..81a4cbcab206
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar Armv7 SoCs
+ *
+ * Copyright (c) 2020 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x14
+#define MSTARV7_L3BRIDGE_STATUS		0x40
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *l3bridge;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ *
+ * The vendor code did have a spin lock but it doesn't seem to be needed and
+ * removing it hasn't caused any side effects so far.
+ *
+ * [writel|readl]_relaxed have to be used here because otherwise
+ * we'd end up right back in here.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, l3bridge + MSTARV7_L3BRIDGE_FLUSH);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, l3bridge
+			+ MSTARV7_L3BRIDGE_FLUSH);
+	while (!(readl_relaxed(l3bridge + MSTARV7_L3BRIDGE_STATUS)
+			& MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_init(void)
+{
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "mstar,l3bridge");
+	l3bridge = of_iomap(np, 0);
+	if (l3bridge)
+		soc_mb = mstarv7_mb;
+	else
+		pr_warn("Failed to install memory barrier, DMA will be broken!\n");
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar Armv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v3 07/12] ARM: mstar: Add binding details for mstar,l3bridge
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Greg Kroah-Hartman,
	Jonathan Corbet, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Nathan Huckleberry, Ard Biesheuvel,
	Marc Zyngier, linux-arm-kernel

This adds a YAML description of the l3bridge node needed by the
platform code for the MStar/SigmaStar Armv7 SoCs.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml

diff --git a/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
new file mode 100644
index 000000000000..cb7fd1cdfb1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2020 thingy.jp.
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/misc/mstar,l3bridge.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: MStar/SigmaStar Armv7 SoC l3bridge
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+description: |
+  MStar/SigmaStar's Armv7 SoCs have a pipeline in the interface
+  between the CPU and memory. This means that before DMA capable
+  devices are allowed to run the pipeline must be flushed to ensure
+  everything is in memory.
+
+  The l3bridge region contains registers that allow such a flush
+  to be triggered.
+
+  This node is used by the platform code to find where the registers
+  are and install a barrier that triggers the required pipeline flush.
+
+properties:
+  compatible:
+    items:
+      - const: mstar,l3bridge
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    l3bridge: l3bridge@1f204400 {
+        compatible = "mstar,l3bridge";
+        reg = <0x1f204400 0x200>;
+    };
-- 
2.27.0.rc0


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

* [PATCH v3 07/12] ARM: mstar: Add binding details for mstar,l3bridge
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, Nick Desaulniers, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

This adds a YAML description of the l3bridge node needed by the
platform code for the MStar/SigmaStar Armv7 SoCs.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml

diff --git a/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
new file mode 100644
index 000000000000..cb7fd1cdfb1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2020 thingy.jp.
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/misc/mstar,l3bridge.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: MStar/SigmaStar Armv7 SoC l3bridge
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+description: |
+  MStar/SigmaStar's Armv7 SoCs have a pipeline in the interface
+  between the CPU and memory. This means that before DMA capable
+  devices are allowed to run the pipeline must be flushed to ensure
+  everything is in memory.
+
+  The l3bridge region contains registers that allow such a flush
+  to be triggered.
+
+  This node is used by the platform code to find where the registers
+  are and install a barrier that triggers the required pipeline flush.
+
+properties:
+  compatible:
+    items:
+      - const: mstar,l3bridge
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    l3bridge: l3bridge@1f204400 {
+        compatible = "mstar,l3bridge";
+        reg = <0x1f204400 0x200>;
+    };
-- 
2.27.0.rc0


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

* [PATCH v3 08/12] ARM: mstar: Add Armv7 base dtsi
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nathan Chancellor, Will Deacon, Joel Stanley,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel

Adds initial dtsi for the base MStar/Sigmastar Armv7 SoCs.

These SoCs have very similar memory maps and this will avoid
duplicating nodes across multiple dtsis.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                     |  1 +
 arch/arm/boot/dts/mstar-v7.dtsi | 83 +++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bd57bbdddb0..00de66458e53 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..3b99bb435bb5
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		/*
+		 * we shouldn't need this but the vendor
+		 * u-boot is broken
+		 */
+		clock-frequency = <6000000>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x16001000 0x16001000 0x00007000>,
+			 <0x1f000000 0x1f000000 0x00400000>;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x2000>,
+			      <0x16004000 0x2000>,
+			      <0x16006000 0x2000>;
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2)
+					| IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		riu: bus@1f000000 {
+			compatible = "simple-bus";
+			reg = <0x1f000000 0x00400000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x1f000000 0x00400000>;
+
+			l3bridge: l3bridge@204400 {
+				compatible = "mstar,l3bridge";
+				reg = <0x204400 0x200>;
+			};
+
+			pm_uart: uart@221000 {
+				compatible = "ns16550a";
+				reg = <0x221000 0x100>;
+				reg-shift = <3>;
+				clock-frequency = <172000000>;
+				status = "disabled";
+			};
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v3 08/12] ARM: mstar: Add Armv7 base dtsi
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Joel Stanley, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, Will Deacon, Lubomir Rintel,
	Rob Herring, Gregory Fong, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Greg Kroah-Hartman, afaerber, Mark Brown,
	Marc Zyngier, David S. Miller, Mike Rapoport

Adds initial dtsi for the base MStar/Sigmastar Armv7 SoCs.

These SoCs have very similar memory maps and this will avoid
duplicating nodes across multiple dtsis.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                     |  1 +
 arch/arm/boot/dts/mstar-v7.dtsi | 83 +++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bd57bbdddb0..00de66458e53 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..3b99bb435bb5
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		/*
+		 * we shouldn't need this but the vendor
+		 * u-boot is broken
+		 */
+		clock-frequency = <6000000>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x16001000 0x16001000 0x00007000>,
+			 <0x1f000000 0x1f000000 0x00400000>;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x2000>,
+			      <0x16004000 0x2000>,
+			      <0x16006000 0x2000>;
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2)
+					| IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		riu: bus@1f000000 {
+			compatible = "simple-bus";
+			reg = <0x1f000000 0x00400000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x1f000000 0x00400000>;
+
+			l3bridge: l3bridge@204400 {
+				compatible = "mstar,l3bridge";
+				reg = <0x204400 0x200>;
+			};
+
+			pm_uart: uart@221000 {
+				compatible = "ns16550a";
+				reg = <0x221000 0x100>;
+				reg-shift = <3>;
+				clock-frequency = <172000000>;
+				status = "disabled";
+			};
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v3 09/12] ARM: mstar: Add infinity/infinity3 family dtsis
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Doug Anderson,
	Benjamin Gaignard, Gregory Fong, Bartosz Golaszewski,
	Masahiro Yamada, Nick Desaulniers, Will Deacon,
	Christian Lamparter, Joel Stanley, Nathan Chancellor,
	Nathan Huckleberry, Ard Biesheuvel, Marc Zyngier,
	linux-arm-kernel

This adds two family level dtsis for the infinity and infinity3
and then adds a chip level dtsi each for a chip in those families.

infinity3.dtsi includes infinity.dtsi as these SoCs share most of
their memory map and we would have a lot of duplication otherwise.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 ++++++++++++++
 arch/arm/boot/dts/infinity.dtsi          |  7 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/infinity3.dtsi         |  7 +++++++
 5 files changed, 43 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 00de66458e53..7673acf55172 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/infinity*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..42f2b5552c77
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..4e7239afd823
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..2830d064c07d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v3 09/12] ARM: mstar: Add infinity/infinity3 family dtsis
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Joel Stanley, Nathan Huckleberry,
	devicetree, Arnd Bergmann, allen, Will Deacon, Lubomir Rintel,
	Rob Herring, Gregory Fong, Doug Anderson, Nathan Chancellor,
	linux-arm-kernel, Christian Lamparter, Greg Kroah-Hartman,
	Nick Desaulniers, afaerber, Mark Brown, Marc Zyngier,
	David S. Miller, Mike Rapoport

This adds two family level dtsis for the infinity and infinity3
and then adds a chip level dtsi each for a chip in those families.

infinity3.dtsi includes infinity.dtsi as these SoCs share most of
their memory map and we would have a lot of duplication otherwise.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 ++++++++++++++
 arch/arm/boot/dts/infinity.dtsi          |  7 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/infinity3.dtsi         |  7 +++++++
 5 files changed, 43 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 00de66458e53..7673acf55172 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2116,6 +2116,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/infinity*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..42f2b5552c77
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..4e7239afd823
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..2830d064c07d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v3 10/12] ARM: mstar: Add mercury5 series dtsis
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Greg Kroah-Hartman,
	Jonathan Corbet, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nathan Chancellor,
	Will Deacon, Nathan Huckleberry, Christian Lamparter,
	Ard Biesheuvel, Marc Zyngier, linux-arm-kernel

This adds a family level dtsi for the mercury5 and then a
chip level dtsi for the ssc8336n chip.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/mercury5.dtsi          |  7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 7673acf55172..246951ab0888 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2117,6 +2117,7 @@ S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7d4a4630c25c
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v3 10/12] ARM: mstar: Add mercury5 series dtsis
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Christian Lamparter, Greg Kroah-Hartman, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

This adds a family level dtsi for the mercury5 and then a
chip level dtsi for the ssc8336n chip.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/mercury5.dtsi          |  7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 7673acf55172..246951ab0888 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2117,6 +2117,7 @@ S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7d4a4630c25c
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v3 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Andrew Morton, Mike Rapoport,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Nathan Chancellor, Marc Zyngier, Nathan Huckleberry,
	Ard Biesheuvel, linux-arm-kernel

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..f24c5580d3e4
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "BreadBee Crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..1f93401c8530
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "BreadBee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v3 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Lubomir Rintel, Rob Herring, Gregory Fong,
	Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Greg Kroah-Hartman, Nick Desaulniers, afaerber, Mark Brown,
	Marc Zyngier, Andrew Morton, David S. Miller, Mike Rapoport

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..f24c5580d3e4
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "BreadBee Crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..1f93401c8530
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "BreadBee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v3 12/12] ARM: mstar: Add dts for 70mai midrive d08
  2020-06-12 13:00       ` Daniel Palmer
@ 2020-06-12 13:00         ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: daniel, afaerber, devicetree, Daniel Palmer, Rob Herring,
	Russell King, Sam Ravnborg, Linus Walleij, Heiko Stuebner,
	Stephan Gerhold, Lubomir Rintel, Mark Brown, allen,
	Mauro Carvalho Chehab, David S. Miller, Jonathan Corbet,
	Greg Kroah-Hartman, Arnd Bergmann, Mike Rapoport, Andrew Morton,
	Doug Anderson, Benjamin Gaignard, Gregory Fong,
	Bartosz Golaszewski, Masahiro Yamada, Nick Desaulniers,
	Will Deacon, Christian Lamparter, Ard Biesheuvel,
	Nathan Chancellor, Nathan Huckleberry, Marc Zyngier,
	linux-arm-kernel

Adds initial support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..35c7ecc52c60 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrive08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
new file mode 100644
index 000000000000..f24bd8cb8e60
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "70mai Midrive D08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v3 12/12] ARM: mstar: Add dts for 70mai midrive d08
@ 2020-06-12 13:00         ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-12 13:00 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Sam Ravnborg, Ard Biesheuvel, Stephan Gerhold, Jonathan Corbet,
	Mauro Carvalho Chehab, Heiko Stuebner, daniel, Russell King,
	Bartosz Golaszewski, Nathan Huckleberry, devicetree,
	Arnd Bergmann, allen, Will Deacon, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Christian Lamparter, Greg Kroah-Hartman, Nick Desaulniers,
	afaerber, Mark Brown, Marc Zyngier, Andrew Morton,
	David S. Miller, Mike Rapoport

Adds initial support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrive08.dts  | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..35c7ecc52c60 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrive08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
new file mode 100644
index 000000000000..f24bd8cb8e60
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "70mai Midrive D08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* Re: [PATCH v3 05/12] dt-bindings: dt-bindings: arm: Add mstar YAML schema
  2020-06-12 13:00         ` Daniel Palmer
@ 2020-06-12 22:07           ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-06-12 22:07 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: afaerber, Russell King, Masahiro Yamada, Nathan Huckleberry,
	Rob Herring, Gregory Fong, Sam Ravnborg, Greg Kroah-Hartman,
	Stephan Gerhold, Benjamin Gaignard, Doug Anderson, Will Deacon,
	linux-arm-kernel, Daniel Palmer, Nathan Chancellor,
	Bartosz Golaszewski, Linus Walleij, Mike Rapoport, linux-kernel,
	Mauro Carvalho Chehab, allen, Lubomir Rintel, Heiko Stuebner,
	Marc Zyngier, David S. Miller, Christian Lamparter,
	Andrew Morton, Mark Brown, Ard Biesheuvel, devicetree,
	Arnd Bergmann, Jonathan Corbet

On Fri, 12 Jun 2020 22:00:05 +0900, Daniel Palmer wrote:
> This adds some intial boards for Armv7 based mstar platforms.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 33 +++++++++++++++++++
>  MAINTAINERS                                   |  7 ++++
>  2 files changed, 40 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 


My bot found errors running 'make dt_binding_check' on your patch:

Traceback (most recent call last):
  File "/usr/local/bin/dt-doc-validate", line 64, in <module>
    ret = check_doc(args.yamldt)
  File "/usr/local/bin/dt-doc-validate", line 25, in check_doc
    testtree = dtschema.load(filename, line_number=line_number, duplicate_keys=False)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 595, in load
    return yaml.load(f.read())
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/arm/mstar.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/arm/mstar.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "/usr/local/bin/dt-mk-schema", line 34, in <module>
    schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 557, in process_schemas
    sch = process_schema(os.path.abspath(filename))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 510, in process_schema
    schema = load_schema(filename)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 123, in load_schema
    return do_load(os.path.join(schema_basedir, schema))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 108, in do_load
    return yaml.load(tmp)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:45: recipe for target 'Documentation/devicetree/bindings/processed-schema.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/processed-schema.yaml] Error 123
make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema.yaml'
Traceback (most recent call last):
  File "/usr/local/bin/dt-mk-schema", line 34, in <module>
    schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 557, in process_schemas
    sch = process_schema(os.path.abspath(filename))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 510, in process_schema
    schema = load_schema(filename)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 123, in load_schema
    return do_load(os.path.join(schema_basedir, schema))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 108, in do_load
    return yaml.load(tmp)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:41: recipe for target 'Documentation/devicetree/bindings/processed-schema-examples.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/processed-schema-examples.yaml] Error 123
make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema-examples.yaml'
Makefile:1300: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


See https://patchwork.ozlabs.org/patch/1308156

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.


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

* Re: [PATCH v3 05/12] dt-bindings: dt-bindings: arm: Add mstar YAML schema
@ 2020-06-12 22:07           ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-06-12 22:07 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Linus Walleij, Masahiro Yamada, Daniel Palmer, Benjamin Gaignard,
	Will Deacon, Ard Biesheuvel, Marc Zyngier, Arnd Bergmann,
	Jonathan Corbet, Mauro Carvalho Chehab, Sam Ravnborg,
	Russell King, Bartosz Golaszewski, Nathan Huckleberry,
	devicetree, Stephan Gerhold, allen, Lubomir Rintel, Rob Herring,
	Gregory Fong, Doug Anderson, Nathan Chancellor, linux-arm-kernel,
	Christian Lamparter, Greg Kroah-Hartman, linux-kernel,
	David S. Miller, Mark Brown, Heiko Stuebner, Andrew Morton,
	afaerber, Mike Rapoport

On Fri, 12 Jun 2020 22:00:05 +0900, Daniel Palmer wrote:
> This adds some intial boards for Armv7 based mstar platforms.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 33 +++++++++++++++++++
>  MAINTAINERS                                   |  7 ++++
>  2 files changed, 40 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 


My bot found errors running 'make dt_binding_check' on your patch:

Traceback (most recent call last):
  File "/usr/local/bin/dt-doc-validate", line 64, in <module>
    ret = check_doc(args.yamldt)
  File "/usr/local/bin/dt-doc-validate", line 25, in check_doc
    testtree = dtschema.load(filename, line_number=line_number, duplicate_keys=False)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 595, in load
    return yaml.load(f.read())
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/arm/mstar.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/arm/mstar.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "/usr/local/bin/dt-mk-schema", line 34, in <module>
    schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 557, in process_schemas
    sch = process_schema(os.path.abspath(filename))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 510, in process_schema
    schema = load_schema(filename)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 123, in load_schema
    return do_load(os.path.join(schema_basedir, schema))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 108, in do_load
    return yaml.load(tmp)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:45: recipe for target 'Documentation/devicetree/bindings/processed-schema.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/processed-schema.yaml] Error 123
make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema.yaml'
Traceback (most recent call last):
  File "/usr/local/bin/dt-mk-schema", line 34, in <module>
    schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 557, in process_schemas
    sch = process_schema(os.path.abspath(filename))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 510, in process_schema
    schema = load_schema(filename)
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 123, in load_schema
    return do_load(os.path.join(schema_basedir, schema))
  File "/usr/local/lib/python3.6/dist-packages/dtschema/lib.py", line 108, in do_load
    return yaml.load(tmp)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 113, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 123, in construct_document
    for _dummy in generator:
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 723, in construct_yaml_map
    value = self.construct_mapping(node)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 440, in construct_mapping
    return BaseConstructor.construct_mapping(self, node, deep=deep)
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 257, in construct_mapping
    if self.check_mapping_key(node, key_node, mapping, key, value):
  File "/usr/local/lib/python3.6/dist-packages/ruamel/yaml/constructor.py", line 295, in check_mapping_key
    raise DuplicateKeyError(*args)
ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
  in "<unicode string>", line 18, column 9
found duplicate key "items" with value "[]" (original value: "[]")
  in "<unicode string>", line 24, column 9

To suppress this check see:
    http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys

Duplicate keys will become an error in future releases, and are errors
by default when using the new API.

Documentation/devicetree/bindings/Makefile:41: recipe for target 'Documentation/devicetree/bindings/processed-schema-examples.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/processed-schema-examples.yaml] Error 123
make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema-examples.yaml'
Makefile:1300: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


See https://patchwork.ozlabs.org/patch/1308156

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v4 00/12] Initial MStar/Sigmastar ARMv7 SoC support
  2020-06-12 13:00         ` Daniel Palmer
@ 2020-06-16 12:15           ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

This patch set adds initial support for MStar/Sigmastar's
Armv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the Armv7 based chips.

Sorry for the spamming this. I just really want to make some
progress on this because I'm worried the other bits that are
needed for these SoCs (Really old AT91 support in macb and
the fotg210 usb host) will be lost or stop working in the meantime.
This already happened in u-boot.

Differences from v3:
1. Fixed the issue with the mstar binding that Rob Herring's bot
found.
2. Fixed the filename for the midrived08 dts.

Differences from v2:

1. With Marc Zyngier's help the GIC node has been filled out properly.

2. A comment was added to the arch timer node to explain why the
clock-frequency is specified. Basically the vendor u-boot is old and
broken.

3. Based on Arnd Bergmann's feedback the heavy memory barrier is now
implemented using a DT node to specify where the registers are instead
of hardcoding their location. A binding description has been added for
the new node.

4. Expanded comments around the heavy memory barrier code so it's more
obvious why it looks like it does.

5. The heavy memory barrier init code was folded into the machine init
function.

6. Updated the device tree bindings and prefixes based on Andreas Färber's
feedback. They have also been split out into a number of commits

7. Based on Andreas Färber's feedback I've added the "riu" (register interface
unit) internal bus that contains all of the peripheral registers and the proper
ranges for the soc node. This bus has clocks, interrupts and some configuration
register so it might get it's own driver in the future.

8. I've dropped the pmu node for now as it's not needed to boot and I'm not
sure of the relationship between the single core in most of the chips and
the 4 documented interrupts.

9. Numerous cosmetic changes based on Andreas Färber's feedback.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.


Daniel Palmer (12):
  dt-bindings: vendor-prefixes: Add mstar vendor prefix
  dt-bindings: vendor-prefixes: Add sstar vendor prefix
  dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  dt-bindings: vendor-prefixes: Add thingy.jp prefix
  dt-bindings: arm: Add mstar YAML schema
  ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  ARM: mstar: Add binding details for mstar,l3bridge
  ARM: mstar: Add Armv7 base dtsi
  ARM: mstar: Add infinity/infinity3 family dtsis
  ARM: mstar: Add mercury5 series dtsis
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 34 ++++++++
 .../bindings/misc/mstar,l3bridge.yaml         | 44 ++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  8 ++
 MAINTAINERS                                   | 11 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 +
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 ++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               |  7 ++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 ++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              |  7 ++
 .../boot/dts/mercury5-ssc8336n-midrived08.dts | 25 ++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               |  7 ++
 arch/arm/boot/dts/mstar-v7.dtsi               | 83 +++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 ++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 80 ++++++++++++++++++
 20 files changed, 432 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


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

* [PATCH v4 00/12] Initial MStar/Sigmastar ARMv7 SoC support
@ 2020-06-16 12:15           ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

This patch set adds initial support for MStar/Sigmastar's
Armv7 based SoCs. There is just enough here to get to a shell
with an initramfs but support for a lot of the hardware is
in progress and will follow.

MStar also shipped chips with MIPS cores and ARM9 etc which
are incompatible so I've tried to make the distinction in the
code that this is strictly for the Armv7 based chips.

Sorry for the spamming this. I just really want to make some
progress on this because I'm worried the other bits that are
needed for these SoCs (Really old AT91 support in macb and
the fotg210 usb host) will be lost or stop working in the meantime.
This already happened in u-boot.

Differences from v3:
1. Fixed the issue with the mstar binding that Rob Herring's bot
found.
2. Fixed the filename for the midrived08 dts.

Differences from v2:

1. With Marc Zyngier's help the GIC node has been filled out properly.

2. A comment was added to the arch timer node to explain why the
clock-frequency is specified. Basically the vendor u-boot is old and
broken.

3. Based on Arnd Bergmann's feedback the heavy memory barrier is now
implemented using a DT node to specify where the registers are instead
of hardcoding their location. A binding description has been added for
the new node.

4. Expanded comments around the heavy memory barrier code so it's more
obvious why it looks like it does.

5. The heavy memory barrier init code was folded into the machine init
function.

6. Updated the device tree bindings and prefixes based on Andreas Färber's
feedback. They have also been split out into a number of commits

7. Based on Andreas Färber's feedback I've added the "riu" (register interface
unit) internal bus that contains all of the peripheral registers and the proper
ranges for the soc node. This bus has clocks, interrupts and some configuration
register so it might get it's own driver in the future.

8. I've dropped the pmu node for now as it's not needed to boot and I'm not
sure of the relationship between the single core in most of the chips and
the 4 documented interrupts.

9. Numerous cosmetic changes based on Andreas Färber's feedback.

Differences from v1:

1. v1 only really supported two specific chips that were known
at the time of submitting that patch series. Since then it's
become apparent that there are a few families of SoCs based
on the same ARMv7 core, clk blocks, interrupt controllers etc
and this v2 attempts to make support more generic so in the future
more SoCs from this lineage can be added. Support for some other
chips is already in progress and will follow.

2. v1 only added support for the BreadBee boards that I have been
working on. v2 also adds support for a readily available car dash
camera.

3. Support for the BreadBee board has been split into two top level
dts to cleanly support if either the msc313 or msc313e is mounted on
the board. The chips are pin compatible but some of the internal
hardware is different. The u-boot port for these SoCs can detect
which chip it is running on and select the right dts so the user
doesn't have to care which chip is mounted on their board.


Daniel Palmer (12):
  dt-bindings: vendor-prefixes: Add mstar vendor prefix
  dt-bindings: vendor-prefixes: Add sstar vendor prefix
  dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  dt-bindings: vendor-prefixes: Add thingy.jp prefix
  dt-bindings: arm: Add mstar YAML schema
  ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  ARM: mstar: Add binding details for mstar,l3bridge
  ARM: mstar: Add Armv7 base dtsi
  ARM: mstar: Add infinity/infinity3 family dtsis
  ARM: mstar: Add mercury5 series dtsis
  ARM: mstar: Add dts for msc313(e) based BreadBee boards
  ARM: mstar: Add dts for 70mai midrive d08

 .../devicetree/bindings/arm/mstar.yaml        | 34 ++++++++
 .../bindings/misc/mstar,l3bridge.yaml         | 44 ++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  8 ++
 MAINTAINERS                                   | 11 +++
 arch/arm/Kconfig                              |  2 +
 arch/arm/Makefile                             |  1 +
 arch/arm/boot/dts/Makefile                    |  4 +
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 ++++++
 arch/arm/boot/dts/infinity-msc313.dtsi        | 14 ++++
 arch/arm/boot/dts/infinity.dtsi               |  7 ++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 ++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi      | 14 ++++
 arch/arm/boot/dts/infinity3.dtsi              |  7 ++
 .../boot/dts/mercury5-ssc8336n-midrived08.dts | 25 ++++++
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi      | 14 ++++
 arch/arm/boot/dts/mercury5.dtsi               |  7 ++
 arch/arm/boot/dts/mstar-v7.dtsi               | 83 +++++++++++++++++++
 arch/arm/mach-mstar/Kconfig                   | 26 ++++++
 arch/arm/mach-mstar/Makefile                  |  1 +
 arch/arm/mach-mstar/mstarv7.c                 | 80 ++++++++++++++++++
 20 files changed, 432 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

-- 
2.27.0.rc0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v4 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Add prefix for MStar Semiconductor, Inc.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 9aeab66be85f..b09b6c9911c3 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -680,6 +680,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Add prefix for MStar Semiconductor, Inc.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 9aeab66be85f..b09b6c9911c3 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -680,6 +680,8 @@ patternProperties:
     description: Microsemi Corporation
   "^msi,.*":
     description: Micro-Star International Co. Ltd.
+  "^mstar,.*":
+    description: MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
   "^mti,.*":
     description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
   "^multi-inno,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Add prefix for Xiamen Xingchen Technology Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b09b6c9911c3..ba5bd3b0ed9a 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -986,6 +986,8 @@ patternProperties:
     description: Spreadtrum Communications Inc.
   "^sst,.*":
     description: Silicon Storage Technology, Inc.
+  "^sstar,.*":
+    description: Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
   "^st,.*":
     description: STMicroelectronics
   "^starry,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Add prefix for Xiamen Xingchen Technology Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b09b6c9911c3..ba5bd3b0ed9a 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -986,6 +986,8 @@ patternProperties:
     description: Spreadtrum Communications Inc.
   "^sst,.*":
     description: Silicon Storage Technology, Inc.
+  "^sstar,.*":
+    description: Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
   "^st,.*":
     description: STMicroelectronics
   "^starry,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Add prefix for 70mai Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ba5bd3b0ed9a..53cd050668e6 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai Co., Ltd.
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Add prefix for 70mai Co., Ltd

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ba5bd3b0ed9a..53cd050668e6 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -23,6 +23,8 @@ patternProperties:
   "^(simple-audio-card|simple-graph-card|st-plgpio|st-spics|ts),.*": true
 
   # Keep list in alphabetical order.
+  "^70mai,.*":
+    description: 70mai Co., Ltd.
   "^abilis,.*":
     description: Abilis Systems
   "^abracon,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Add prefix for thingy.jp

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 53cd050668e6..c209b3dc7ecc 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1038,6 +1038,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Add prefix for thingy.jp

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 53cd050668e6..c209b3dc7ecc 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1038,6 +1038,8 @@ patternProperties:
     description: Three Five Corp
   "^thine,.*":
     description: THine Electronics, Inc.
+  "^thingyjp,.*":
+    description: thingy.jp
   "^ti,.*":
     description: Texas Instruments
   "^tianma,.*":
-- 
2.27.0.rc0


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

* [PATCH v4 05/12] dt-bindings: arm: Add mstar YAML schema
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

This adds some intial boards for Armv7 based mstar platforms.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 34 +++++++++++++++++++
 MAINTAINERS                                   |  7 ++++
 2 files changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..7bb91a546b5f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+        # infinity boards
+        - items:
+          - enum:
+              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
+              - thingyjp,breadbee-crustx # thingy.jp BreadBee Crustx
+          - const: mstar,infinity
+
+        # infinity3 boards
+        - items:
+          - enum:
+              - thingyjp,breadbee # thingy.jp BreadBee
+          - const: mstar,infinity3
+
+        # mercury5 boards
+        - items:
+          - enum:
+              - 70mai,midrived08 # 70mai midrive d08
+          - const: mstar,mercury5
diff --git a/MAINTAINERS b/MAINTAINERS
index 68f21d46614c..a8640c1c50cc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2117,6 +2117,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar Armv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+W:	http://linux-chenxing.org/
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v4 05/12] dt-bindings: arm: Add mstar YAML schema
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

This adds some intial boards for Armv7 based mstar platforms.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../devicetree/bindings/arm/mstar.yaml        | 34 +++++++++++++++++++
 MAINTAINERS                                   |  7 ++++
 2 files changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml

diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
new file mode 100644
index 000000000000..7bb91a546b5f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mstar.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mstar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MStar platforms device tree bindings
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+        # infinity boards
+        - items:
+          - enum:
+              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
+              - thingyjp,breadbee-crustx # thingy.jp BreadBee Crustx
+          - const: mstar,infinity
+
+        # infinity3 boards
+        - items:
+          - enum:
+              - thingyjp,breadbee # thingy.jp BreadBee
+          - const: mstar,infinity3
+
+        # mercury5 boards
+        - items:
+          - enum:
+              - 70mai,midrived08 # 70mai midrive d08
+          - const: mstar,mercury5
diff --git a/MAINTAINERS b/MAINTAINERS
index 68f21d46614c..a8640c1c50cc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2117,6 +2117,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/mach-pxa/mioa701.c
 
+ARM/MStar/Sigmastar Armv7 SoC support
+M:	Daniel Palmer <daniel@thingy.jp>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+W:	http://linux-chenxing.org/
+F:	Documentation/devicetree/bindings/arm/mstar.yaml
+
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
 S:	Maintained
-- 
2.27.0.rc0


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

* [PATCH v4 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Initial support for the MStar/Sigmastar Armv7 based IP camera
and dashcam SoCs.

These chips are interesting in that they contain a Cortex-A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 ++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 80 +++++++++++++++++++++++++++++++++++
 6 files changed, 111 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index a8640c1c50cc..3d31bc749f6d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2ac74904a3ce..d54c413ad937 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -668,6 +668,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..52744fe32368
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar Armv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on Armv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..81a4cbcab206
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar Armv7 SoCs
+ *
+ * Copyright (c) 2020 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x14
+#define MSTARV7_L3BRIDGE_STATUS		0x40
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *l3bridge;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ *
+ * The vendor code did have a spin lock but it doesn't seem to be needed and
+ * removing it hasn't caused any side effects so far.
+ *
+ * [writel|readl]_relaxed have to be used here because otherwise
+ * we'd end up right back in here.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, l3bridge + MSTARV7_L3BRIDGE_FLUSH);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, l3bridge
+			+ MSTARV7_L3BRIDGE_FLUSH);
+	while (!(readl_relaxed(l3bridge + MSTARV7_L3BRIDGE_STATUS)
+			& MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_init(void)
+{
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "mstar,l3bridge");
+	l3bridge = of_iomap(np, 0);
+	if (l3bridge)
+		soc_mb = mstarv7_mb;
+	else
+		pr_warn("Failed to install memory barrier, DMA will be broken!\n");
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar Armv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v4 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Initial support for the MStar/Sigmastar Armv7 based IP camera
and dashcam SoCs.

These chips are interesting in that they contain a Cortex-A7,
peripherals and system memory in a single tiny QFN package that
can be hand soldered allowing almost anyone to embed Linux
in their projects.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                   |  1 +
 arch/arm/Kconfig              |  2 +
 arch/arm/Makefile             |  1 +
 arch/arm/mach-mstar/Kconfig   | 26 ++++++++++++
 arch/arm/mach-mstar/Makefile  |  1 +
 arch/arm/mach-mstar/mstarv7.c | 80 +++++++++++++++++++++++++++++++++++
 6 files changed, 111 insertions(+)
 create mode 100644 arch/arm/mach-mstar/Kconfig
 create mode 100644 arch/arm/mach-mstar/Makefile
 create mode 100644 arch/arm/mach-mstar/mstarv7.c

diff --git a/MAINTAINERS b/MAINTAINERS
index a8640c1c50cc..3d31bc749f6d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
 M:	Michael Petchkovsky <mkpetch@internode.on.net>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2ac74904a3ce..d54c413ad937 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -668,6 +668,8 @@ source "arch/arm/mach-mmp/Kconfig"
 
 source "arch/arm/mach-moxart/Kconfig"
 
+source "arch/arm/mach-mstar/Kconfig"
+
 source "arch/arm/mach-mv78xx0/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 59fde2d598d8..e7f4ca060c0f 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_MXC)		+= imx
 machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
 machine-$(CONFIG_ARCH_MILBEAUT)		+= milbeaut
 machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MSTARV7)		+= mstar
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 machine-$(CONFIG_ARCH_NPCM)		+= npcm
 machine-$(CONFIG_ARCH_NSPIRE)		+= nspire
diff --git a/arch/arm/mach-mstar/Kconfig b/arch/arm/mach-mstar/Kconfig
new file mode 100644
index 000000000000..52744fe32368
--- /dev/null
+++ b/arch/arm/mach-mstar/Kconfig
@@ -0,0 +1,26 @@
+menuconfig ARCH_MSTARV7
+	bool "MStar/Sigmastar Armv7 SoC Support"
+	depends on ARCH_MULTI_V7
+	select ARM_GIC
+	select ARM_HEAVY_MB
+	help
+	  Support for newer MStar/Sigmastar SoC families that are
+	  based on Armv7 cores like the Cortex A7 and share the same
+	  basic hardware like the infinity and mercury series.
+
+if ARCH_MSTARV7
+
+config MACH_INFINITY
+	bool "MStar/Sigmastar infinity SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar infinity IP camera SoCs.
+
+config MACH_MERCURY
+	bool "MStar/Sigmastar mercury SoC support"
+	default ARCH_MSTARV7
+	help
+	  Support for MStar/Sigmastar mercury dash camera SoCs.
+	  Note that older Mercury2 SoCs are ARM9 based and not supported.
+
+endif
diff --git a/arch/arm/mach-mstar/Makefile b/arch/arm/mach-mstar/Makefile
new file mode 100644
index 000000000000..93b0391ede7e
--- /dev/null
+++ b/arch/arm/mach-mstar/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ARCH_MSTARV7) += mstarv7.o
diff --git a/arch/arm/mach-mstar/mstarv7.c b/arch/arm/mach-mstar/mstarv7.c
new file mode 100644
index 000000000000..81a4cbcab206
--- /dev/null
+++ b/arch/arm/mach-mstar/mstarv7.c
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree support for MStar/Sigmastar Armv7 SoCs
+ *
+ * Copyright (c) 2020 thingy.jp
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <linux/init.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/io.h>
+
+/*
+ * In the u-boot code the area these registers are in is
+ * called "L3 bridge" and there are register descriptions
+ * for something in the same area called "AXI".
+ *
+ * It's not exactly known what this is but the vendor code
+ * for both u-boot and linux share calls to "flush the miu pipe".
+ * This seems to be to force pending CPU writes to memory so that
+ * the state is right before DMA capable devices try to read
+ * descriptors and data the CPU has prepared. Without doing this
+ * ethernet doesn't work reliably for example.
+ */
+
+#define MSTARV7_L3BRIDGE_FLUSH		0x14
+#define MSTARV7_L3BRIDGE_STATUS		0x40
+#define MSTARV7_L3BRIDGE_FLUSH_TRIGGER	BIT(0)
+#define MSTARV7_L3BRIDGE_STATUS_DONE	BIT(12)
+
+static void __iomem *l3bridge;
+
+static const char * const mstarv7_board_dt_compat[] __initconst = {
+	"mstar,infinity",
+	"mstar,infinity3",
+	"mstar,mercury5",
+	NULL,
+};
+
+/*
+ * This may need locking to deal with situations where an interrupt
+ * happens while we are in here and mb() gets called by the interrupt handler.
+ *
+ * The vendor code did have a spin lock but it doesn't seem to be needed and
+ * removing it hasn't caused any side effects so far.
+ *
+ * [writel|readl]_relaxed have to be used here because otherwise
+ * we'd end up right back in here.
+ */
+static void mstarv7_mb(void)
+{
+	/* toggle the flush miu pipe fire bit */
+	writel_relaxed(0, l3bridge + MSTARV7_L3BRIDGE_FLUSH);
+	writel_relaxed(MSTARV7_L3BRIDGE_FLUSH_TRIGGER, l3bridge
+			+ MSTARV7_L3BRIDGE_FLUSH);
+	while (!(readl_relaxed(l3bridge + MSTARV7_L3BRIDGE_STATUS)
+			& MSTARV7_L3BRIDGE_STATUS_DONE)) {
+		/* wait for flush to complete */
+	}
+}
+
+static void __init mstarv7_init(void)
+{
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "mstar,l3bridge");
+	l3bridge = of_iomap(np, 0);
+	if (l3bridge)
+		soc_mb = mstarv7_mb;
+	else
+		pr_warn("Failed to install memory barrier, DMA will be broken!\n");
+}
+
+DT_MACHINE_START(MSTARV7_DT, "MStar/Sigmastar Armv7 (Device Tree)")
+	.dt_compat	= mstarv7_board_dt_compat,
+	.init_machine	= mstarv7_init,
+MACHINE_END
-- 
2.27.0.rc0


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

* [PATCH v4 07/12] ARM: mstar: Add binding details for mstar,l3bridge
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

This adds a YAML description of the l3bridge node needed by the
platform code for the MStar/SigmaStar Armv7 SoCs.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml

diff --git a/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
new file mode 100644
index 000000000000..cb7fd1cdfb1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2020 thingy.jp.
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/misc/mstar,l3bridge.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: MStar/SigmaStar Armv7 SoC l3bridge
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+description: |
+  MStar/SigmaStar's Armv7 SoCs have a pipeline in the interface
+  between the CPU and memory. This means that before DMA capable
+  devices are allowed to run the pipeline must be flushed to ensure
+  everything is in memory.
+
+  The l3bridge region contains registers that allow such a flush
+  to be triggered.
+
+  This node is used by the platform code to find where the registers
+  are and install a barrier that triggers the required pipeline flush.
+
+properties:
+  compatible:
+    items:
+      - const: mstar,l3bridge
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    l3bridge: l3bridge@1f204400 {
+        compatible = "mstar,l3bridge";
+        reg = <0x1f204400 0x200>;
+    };
-- 
2.27.0.rc0


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

* [PATCH v4 07/12] ARM: mstar: Add binding details for mstar,l3bridge
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

This adds a YAML description of the l3bridge node needed by the
platform code for the MStar/SigmaStar Armv7 SoCs.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml

diff --git a/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
new file mode 100644
index 000000000000..cb7fd1cdfb1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2020 thingy.jp.
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/misc/mstar,l3bridge.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: MStar/SigmaStar Armv7 SoC l3bridge
+
+maintainers:
+  - Daniel Palmer <daniel@thingy.jp>
+
+description: |
+  MStar/SigmaStar's Armv7 SoCs have a pipeline in the interface
+  between the CPU and memory. This means that before DMA capable
+  devices are allowed to run the pipeline must be flushed to ensure
+  everything is in memory.
+
+  The l3bridge region contains registers that allow such a flush
+  to be triggered.
+
+  This node is used by the platform code to find where the registers
+  are and install a barrier that triggers the required pipeline flush.
+
+properties:
+  compatible:
+    items:
+      - const: mstar,l3bridge
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    l3bridge: l3bridge@1f204400 {
+        compatible = "mstar,l3bridge";
+        reg = <0x1f204400 0x200>;
+    };
-- 
2.27.0.rc0


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

* [PATCH v4 08/12] ARM: mstar: Add Armv7 base dtsi
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Adds initial dtsi for the base MStar/Sigmastar Armv7 SoCs.

These SoCs have very similar memory maps and this will avoid
duplicating nodes across multiple dtsis.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                     |  1 +
 arch/arm/boot/dts/mstar-v7.dtsi | 83 +++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 3d31bc749f6d..54a2fc60a1d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..3b99bb435bb5
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		/*
+		 * we shouldn't need this but the vendor
+		 * u-boot is broken
+		 */
+		clock-frequency = <6000000>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x16001000 0x16001000 0x00007000>,
+			 <0x1f000000 0x1f000000 0x00400000>;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x2000>,
+			      <0x16004000 0x2000>,
+			      <0x16006000 0x2000>;
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2)
+					| IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		riu: bus@1f000000 {
+			compatible = "simple-bus";
+			reg = <0x1f000000 0x00400000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x1f000000 0x00400000>;
+
+			l3bridge: l3bridge@204400 {
+				compatible = "mstar,l3bridge";
+				reg = <0x204400 0x200>;
+			};
+
+			pm_uart: uart@221000 {
+				compatible = "ns16550a";
+				reg = <0x221000 0x100>;
+				reg-shift = <3>;
+				clock-frequency = <172000000>;
+				status = "disabled";
+			};
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v4 08/12] ARM: mstar: Add Armv7 base dtsi
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Adds initial dtsi for the base MStar/Sigmastar Armv7 SoCs.

These SoCs have very similar memory maps and this will avoid
duplicating nodes across multiple dtsis.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                     |  1 +
 arch/arm/boot/dts/mstar-v7.dtsi | 83 +++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 3d31bc749f6d..54a2fc60a1d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
 ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
new file mode 100644
index 000000000000..3b99bb435bb5
--- /dev/null
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+	};
+
+	arch_timer {
+		compatible = "arm,armv7-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2)
+				| IRQ_TYPE_LEVEL_LOW)>;
+		/*
+		 * we shouldn't need this but the vendor
+		 * u-boot is broken
+		 */
+		clock-frequency = <6000000>;
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x16001000 0x16001000 0x00007000>,
+			 <0x1f000000 0x1f000000 0x00400000>;
+
+		gic: interrupt-controller@16001000 {
+			compatible = "arm,cortex-a7-gic";
+			reg = <0x16001000 0x1000>,
+			      <0x16002000 0x2000>,
+			      <0x16004000 0x2000>,
+			      <0x16006000 0x2000>;
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2)
+					| IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		riu: bus@1f000000 {
+			compatible = "simple-bus";
+			reg = <0x1f000000 0x00400000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x1f000000 0x00400000>;
+
+			l3bridge: l3bridge@204400 {
+				compatible = "mstar,l3bridge";
+				reg = <0x204400 0x200>;
+			};
+
+			pm_uart: uart@221000 {
+				compatible = "ns16550a";
+				reg = <0x221000 0x100>;
+				reg-shift = <3>;
+				clock-frequency = <172000000>;
+				status = "disabled";
+			};
+		};
+	};
+};
-- 
2.27.0.rc0


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

* [PATCH v4 09/12] ARM: mstar: Add infinity/infinity3 family dtsis
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

This adds two family level dtsis for the infinity and infinity3
and then adds a chip level dtsi each for a chip in those families.

infinity3.dtsi includes infinity.dtsi as these SoCs share most of
their memory map and we would have a lot of duplication otherwise.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 ++++++++++++++
 arch/arm/boot/dts/infinity.dtsi          |  7 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/infinity3.dtsi         |  7 +++++++
 5 files changed, 43 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 54a2fc60a1d9..8c152e29877d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/infinity*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..42f2b5552c77
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..4e7239afd823
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..2830d064c07d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v4 09/12] ARM: mstar: Add infinity/infinity3 family dtsis
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

This adds two family level dtsis for the infinity and infinity3
and then adds a chip level dtsi each for a chip in those families.

infinity3.dtsi includes infinity.dtsi as these SoCs share most of
their memory map and we would have a lot of duplication otherwise.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/infinity-msc313.dtsi   | 14 ++++++++++++++
 arch/arm/boot/dts/infinity.dtsi          |  7 +++++++
 arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/infinity3.dtsi         |  7 +++++++
 5 files changed, 43 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi
 create mode 100644 arch/arm/boot/dts/infinity.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi
 create mode 100644 arch/arm/boot/dts/infinity3.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 54a2fc60a1d9..8c152e29877d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2123,6 +2123,7 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
+F:	arch/arm/boot/dts/infinity*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/infinity-msc313.dtsi b/arch/arm/boot/dts/infinity-msc313.dtsi
new file mode 100644
index 000000000000..42f2b5552c77
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity.dtsi b/arch/arm/boot/dts/infinity.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/infinity.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
diff --git a/arch/arm/boot/dts/infinity3-msc313e.dtsi b/arch/arm/boot/dts/infinity3-msc313e.dtsi
new file mode 100644
index 000000000000..4e7239afd823
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity3.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/infinity3.dtsi b/arch/arm/boot/dts/infinity3.dtsi
new file mode 100644
index 000000000000..2830d064c07d
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "infinity.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v4 10/12] ARM: mstar: Add mercury5 series dtsis
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

This adds a family level dtsi for the mercury5 and then a
chip level dtsi for the ssc8336n chip.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/mercury5.dtsi          |  7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 8c152e29877d..f0a2b7b3c0b6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2124,6 +2124,7 @@ S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7d4a4630c25c
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v4 10/12] ARM: mstar: Add mercury5 series dtsis
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

This adds a family level dtsi for the mercury5 and then a
chip level dtsi for the ssc8336n chip.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 MAINTAINERS                              |  1 +
 arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 ++++++++++++++
 arch/arm/boot/dts/mercury5.dtsi          |  7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi
 create mode 100644 arch/arm/boot/dts/mercury5.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index 8c152e29877d..f0a2b7b3c0b6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2124,6 +2124,7 @@ S:	Maintained
 W:	http://linux-chenxing.org/
 F:	Documentation/devicetree/bindings/arm/mstar.yaml
 F:	arch/arm/boot/dts/infinity*.dtsi
+F:	arch/arm/boot/dts/mercury*.dtsi
 F:	arch/arm/boot/dts/mstar-v7.dtsi
 F:	arch/arm/mach-mstar/
 
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n.dtsi b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
new file mode 100644
index 000000000000..7d4a4630c25c
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mercury5.dtsi"
+
+/ {
+	memory@20000000 {
+		device_type = "memory";
+		reg = <0x20000000 0x4000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/mercury5.dtsi b/arch/arm/boot/dts/mercury5.dtsi
new file mode 100644
index 000000000000..f68e6d59c328
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+#include "mstar-v7.dtsi"
-- 
2.27.0.rc0


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

* [PATCH v4 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..f24c5580d3e4
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "BreadBee Crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..1f93401c8530
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "BreadBee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v4 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

BreadBee is an opensource development board based on the
MStar msc313(e) SoC.

Hardware details, schematics and so on can be found at:
https://github.com/breadbee/breadbee

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 +++
 .../dts/infinity-msc313-breadbee_crust.dts    | 25 +++++++++++++++++++
 .../boot/dts/infinity3-msc313e-breadbee.dts   | 25 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
 create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6a1cac0bfc7..4a5f8075a4f6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1342,6 +1342,9 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 	mt8127-moose.dtb \
 	mt8135-evbp1.dtb
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+dtb-$(CONFIG_ARCH_MSTARV7) += \
+	infinity-msc313-breadbee_crust.dtb \
+	infinity3-msc313e-breadbee.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
new file mode 100644
index 000000000000..f24c5580d3e4
--- /dev/null
+++ b/arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity-msc313.dtsi"
+
+/ {
+	model = "BreadBee Crust";
+	compatible = "thingyjp,breadbee-crust", "mstar,infinity";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
new file mode 100644
index 000000000000..1f93401c8530
--- /dev/null
+++ b/arch/arm/boot/dts/infinity3-msc313e-breadbee.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2019 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "infinity3-msc313e.dtsi"
+
+/ {
+	model = "BreadBee";
+	compatible = "thingyjp,breadbee", "mstar,infinity3";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v4 12/12] ARM: mstar: Add dts for 70mai midrive d08
  2020-06-16 12:15           ` Daniel Palmer
@ 2020-06-16 12:15             ` Daniel Palmer
  -1 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, linux-kernel, Daniel Palmer

Adds initial support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrived08.dts | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..caf4a47ba799 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrived08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
new file mode 100644
index 000000000000..f24bd8cb8e60
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "70mai Midrive D08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* [PATCH v4 12/12] ARM: mstar: Add dts for 70mai midrive d08
@ 2020-06-16 12:15             ` Daniel Palmer
  0 siblings, 0 replies; 146+ messages in thread
From: Daniel Palmer @ 2020-06-16 12:15 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: devicetree, Daniel Palmer, linux-kernel

Adds initial support for the 70mai midrive d08 dash camera.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/Makefile                    |  3 ++-
 .../boot/dts/mercury5-ssc8336n-midrived08.dts | 25 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4a5f8075a4f6..caf4a47ba799 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1344,7 +1344,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
 dtb-$(CONFIG_ARCH_MSTARV7) += \
 	infinity-msc313-breadbee_crust.dtb \
-	infinity3-msc313e-breadbee.dtb
+	infinity3-msc313e-breadbee.dtb \
+	mercury5-ssc8336n-midrived08.dtb
 dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
 dtb-$(CONFIG_ARCH_ASPEED) += \
 	aspeed-ast2500-evb.dtb \
diff --git a/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts b/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
new file mode 100644
index 000000000000..f24bd8cb8e60
--- /dev/null
+++ b/arch/arm/boot/dts/mercury5-ssc8336n-midrived08.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2020 thingy.jp.
+ * Author: Daniel Palmer <daniel@thingy.jp>
+ */
+
+/dts-v1/;
+#include "mercury5-ssc8336n.dtsi"
+
+/ {
+	model = "70mai Midrive D08";
+	compatible = "70mai,midrived08", "mstar,mercury5";
+
+	aliases {
+		serial0 = &pm_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&pm_uart {
+	status = "okay";
+};
-- 
2.27.0.rc0


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

* Re: [PATCH v4 05/12] dt-bindings: arm: Add mstar YAML schema
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:04               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-arm-kernel, devicetree, linux-kernel

On Tue, Jun 16, 2020 at 09:15:18PM +0900, Daniel Palmer wrote:
> This adds some intial boards for Armv7 based mstar platforms.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 34 +++++++++++++++++++
>  MAINTAINERS                                   |  7 ++++
>  2 files changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..7bb91a546b5f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +        # infinity boards

Make a 'description:' rather than a comment. With that,

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

> +        - items:
> +          - enum:
> +              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
> +              - thingyjp,breadbee-crustx # thingy.jp BreadBee Crustx
> +          - const: mstar,infinity
> +
> +        # infinity3 boards
> +        - items:
> +          - enum:
> +              - thingyjp,breadbee # thingy.jp BreadBee
> +          - const: mstar,infinity3
> +
> +        # mercury5 boards
> +        - items:
> +          - enum:
> +              - 70mai,midrived08 # 70mai midrive d08
> +          - const: mstar,mercury5
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 68f21d46614c..a8640c1c50cc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2117,6 +2117,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>  S:	Maintained
>  F:	arch/arm/mach-pxa/mioa701.c
>  
> +ARM/MStar/Sigmastar Armv7 SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +W:	http://linux-chenxing.org/
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>  M:	Michael Petchkovsky <mkpetch@internode.on.net>
>  S:	Maintained
> -- 
> 2.27.0.rc0
> 

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

* Re: [PATCH v4 05/12] dt-bindings: arm: Add mstar YAML schema
@ 2020-07-09 23:04               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, Jun 16, 2020 at 09:15:18PM +0900, Daniel Palmer wrote:
> This adds some intial boards for Armv7 based mstar platforms.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../devicetree/bindings/arm/mstar.yaml        | 34 +++++++++++++++++++
>  MAINTAINERS                                   |  7 ++++
>  2 files changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/mstar.yaml b/Documentation/devicetree/bindings/arm/mstar.yaml
> new file mode 100644
> index 000000000000..7bb91a546b5f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mstar.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/mstar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MStar platforms device tree bindings
> +
> +maintainers:
> +  - Daniel Palmer <daniel@thingy.jp>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +        # infinity boards

Make a 'description:' rather than a comment. With that,

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

> +        - items:
> +          - enum:
> +              - thingyjp,breadbee-crust # thingy.jp BreadBee Crust
> +              - thingyjp,breadbee-crustx # thingy.jp BreadBee Crustx
> +          - const: mstar,infinity
> +
> +        # infinity3 boards
> +        - items:
> +          - enum:
> +              - thingyjp,breadbee # thingy.jp BreadBee
> +          - const: mstar,infinity3
> +
> +        # mercury5 boards
> +        - items:
> +          - enum:
> +              - 70mai,midrived08 # 70mai midrive d08
> +          - const: mstar,mercury5
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 68f21d46614c..a8640c1c50cc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2117,6 +2117,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
>  S:	Maintained
>  F:	arch/arm/mach-pxa/mioa701.c
>  
> +ARM/MStar/Sigmastar Armv7 SoC support
> +M:	Daniel Palmer <daniel@thingy.jp>
> +L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> +S:	Maintained
> +W:	http://linux-chenxing.org/
> +F:	Documentation/devicetree/bindings/arm/mstar.yaml
> +
>  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
>  M:	Michael Petchkovsky <mkpetch@internode.on.net>
>  S:	Maintained
> -- 
> 2.27.0.rc0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:04               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-kernel, linux-arm-kernel, devicetree

On Tue, 16 Jun 2020 21:15:14 +0900, Daniel Palmer wrote:
> Add prefix for MStar Semiconductor, Inc.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

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

* Re: [PATCH v4 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix
@ 2020-07-09 23:04               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, 16 Jun 2020 21:15:14 +0900, Daniel Palmer wrote:
> Add prefix for MStar Semiconductor, Inc.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:04               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-arm-kernel, devicetree, linux-kernel

On Tue, 16 Jun 2020 21:15:15 +0900, Daniel Palmer wrote:
> Add prefix for Xiamen Xingchen Technology Co., Ltd
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

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

* Re: [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix
@ 2020-07-09 23:04               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:04 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, 16 Jun 2020 21:15:15 +0900, Daniel Palmer wrote:
> Add prefix for Xiamen Xingchen Technology Co., Ltd
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:05               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:05 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-arm-kernel, linux-kernel, devicetree

On Tue, 16 Jun 2020 21:15:16 +0900, Daniel Palmer wrote:
> Add prefix for 70mai Co., Ltd
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

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

* Re: [PATCH v4 03/12] dt-bindings: vendor-prefixes: Add 70mai vendor prefix
@ 2020-07-09 23:05               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:05 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, 16 Jun 2020 21:15:16 +0900, Daniel Palmer wrote:
> Add prefix for 70mai Co., Ltd
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:05               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:05 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-arm-kernel, linux-kernel

On Tue, 16 Jun 2020 21:15:17 +0900, Daniel Palmer wrote:
> Add prefix for thingy.jp
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

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

* Re: [PATCH v4 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix
@ 2020-07-09 23:05               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:05 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, 16 Jun 2020 21:15:17 +0900, Daniel Palmer wrote:
> Add prefix for thingy.jp
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 07/12] ARM: mstar: Add binding details for mstar,l3bridge
  2020-06-16 12:15             ` Daniel Palmer
@ 2020-07-09 23:06               ` Rob Herring
  -1 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:06 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: linux-kernel, linux-arm-kernel, devicetree

On Tue, 16 Jun 2020 21:15:20 +0900, Daniel Palmer wrote:
> This adds a YAML description of the l3bridge node needed by the
> platform code for the MStar/SigmaStar Armv7 SoCs.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
>  1 file changed, 44 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
> 

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

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

* Re: [PATCH v4 07/12] ARM: mstar: Add binding details for mstar,l3bridge
@ 2020-07-09 23:06               ` Rob Herring
  0 siblings, 0 replies; 146+ messages in thread
From: Rob Herring @ 2020-07-09 23:06 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: devicetree, linux-kernel, linux-arm-kernel

On Tue, 16 Jun 2020 21:15:20 +0900, Daniel Palmer wrote:
> This adds a YAML description of the l3bridge node needed by the
> platform code for the MStar/SigmaStar Armv7 SoCs.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  .../bindings/misc/mstar,l3bridge.yaml         | 44 +++++++++++++++++++
>  1 file changed, 44 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml
> 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2020-07-09 23:07 UTC | newest]

Thread overview: 146+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-14  6:15 [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings Daniel Palmer
2019-10-14  6:15 ` Daniel Palmer
2019-10-14  6:15 ` Daniel Palmer
2019-10-14  6:15 ` [PATCH 2/4] ARM: mstar: Add machine for MStar infinity family SoCs Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-14 11:19   ` Arnd Bergmann
2019-10-14 11:19     ` Arnd Bergmann
2019-10-14 11:19     ` Arnd Bergmann
2019-10-16 20:32     ` Daniel Palmer
2019-10-16 20:32       ` Daniel Palmer
2019-10-17 13:02       ` Arnd Bergmann
2019-10-17 13:02         ` Arnd Bergmann
2019-10-17 21:15         ` Daniel Palmer
2019-10-17 21:15           ` Daniel Palmer
2020-06-10  9:03   ` [PATCH v2 0/5] Initial MStar/Sigmastar ARMv7 SoC support Daniel Palmer
2020-06-10  9:03     ` Daniel Palmer
2020-06-12 13:00     ` [PATCH v3 00/12] Initial MStar/Sigmastar Armv7 " Daniel Palmer
2020-06-12 13:00       ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-16 12:15         ` [PATCH v4 00/12] Initial MStar/Sigmastar ARMv7 SoC support Daniel Palmer
2020-06-16 12:15           ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 01/12] dt-bindings: vendor-prefixes: Add mstar vendor prefix Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:04             ` Rob Herring
2020-07-09 23:04               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add sstar " Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:04             ` Rob Herring
2020-07-09 23:04               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 03/12] dt-bindings: vendor-prefixes: Add 70mai " Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:05             ` Rob Herring
2020-07-09 23:05               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:05             ` Rob Herring
2020-07-09 23:05               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 05/12] dt-bindings: arm: Add mstar YAML schema Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:04             ` Rob Herring
2020-07-09 23:04               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 07/12] ARM: mstar: Add binding details for mstar,l3bridge Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-07-09 23:06             ` Rob Herring
2020-07-09 23:06               ` Rob Herring
2020-06-16 12:15           ` [PATCH v4 08/12] ARM: mstar: Add Armv7 base dtsi Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 09/12] ARM: mstar: Add infinity/infinity3 family dtsis Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 10/12] ARM: mstar: Add mercury5 series dtsis Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-16 12:15           ` [PATCH v4 12/12] ARM: mstar: Add dts for 70mai midrive d08 Daniel Palmer
2020-06-16 12:15             ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 02/12] dt-bindings: vendor-prefixes: Add sstar vendor prefix Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 03/12] dt-bindings: vendor-prefixes: Add 70mai " Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 04/12] dt-bindings: vendor-prefixes: Add thingy.jp prefix Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 05/12] dt-bindings: dt-bindings: arm: Add mstar YAML schema Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 22:07         ` Rob Herring
2020-06-12 22:07           ` Rob Herring
2020-06-12 13:00       ` [PATCH v3 06/12] ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 07/12] ARM: mstar: Add binding details for mstar,l3bridge Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 08/12] ARM: mstar: Add Armv7 base dtsi Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 09/12] ARM: mstar: Add infinity/infinity3 family dtsis Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 10/12] ARM: mstar: Add mercury5 series dtsis Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 11/12] ARM: mstar: Add dts for msc313(e) based BreadBee boards Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-12 13:00       ` [PATCH v3 12/12] ARM: mstar: Add dts for 70mai midrive d08 Daniel Palmer
2020-06-12 13:00         ` Daniel Palmer
2020-06-10  9:03   ` [PATCH v2 1/5] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings Daniel Palmer
2020-06-10  9:03     ` Daniel Palmer
2020-06-10  9:35     ` Andreas Färber
2020-06-10  9:35       ` Andreas Färber
2020-06-10 10:29       ` Daniel Palmer
2020-06-10 10:29         ` Daniel Palmer
2020-06-11 15:00     ` Andreas Färber
2020-06-11 15:00       ` Andreas Färber
2020-06-11 15:00       ` Andreas Färber
2020-06-10  9:04   ` [PATCH v2 2/5] ARM: mstar: Add machine for MStar/Sigmastar infinity/mercury family ARMv7 SoCs Daniel Palmer
2020-06-10  9:04     ` Daniel Palmer
2020-06-10  9:43     ` Arnd Bergmann
2020-06-10  9:43       ` Arnd Bergmann
2020-06-11 12:49     ` Andreas Färber
2020-06-11 12:49       ` Andreas Färber
2020-06-11 13:01       ` Daniel Palmer
2020-06-11 13:01         ` Daniel Palmer
2020-06-11 14:27         ` Andreas Färber
2020-06-11 14:27           ` Andreas Färber
2020-06-11 14:58           ` Daniel Palmer
2020-06-11 14:58             ` Daniel Palmer
2020-06-11 12:58     ` Andreas Färber
2020-06-11 12:58       ` Andreas Färber
2020-06-11 13:18       ` Daniel Palmer
2020-06-11 13:18         ` Daniel Palmer
2020-06-10  9:04   ` [PATCH v2 3/5] ARM: mstar: Add infinity/mercury series dtsi Daniel Palmer
2020-06-10  9:04     ` Daniel Palmer
2020-06-10  9:35     ` Marc Zyngier
2020-06-10  9:35       ` Marc Zyngier
2020-06-11 13:39     ` Andreas Färber
2020-06-11 13:39       ` Andreas Färber
2020-06-11 14:19       ` Daniel Palmer
2020-06-11 14:19         ` Daniel Palmer
2020-06-11 14:39         ` Andreas Färber
2020-06-11 14:39           ` Andreas Färber
2020-06-11 15:07           ` Daniel Palmer
2020-06-11 15:07             ` Daniel Palmer
2020-06-10  9:04   ` [PATCH v2 4/5] ARM: mstar: Add dts for msc313(e) based BreadBee boards Daniel Palmer
2020-06-10  9:04     ` Daniel Palmer
2020-06-11 13:45     ` Andreas Färber
2020-06-11 13:45       ` Andreas Färber
2020-06-11 14:26       ` Daniel Palmer
2020-06-11 14:26         ` Daniel Palmer
2020-06-10  9:04   ` [PATCH v2 5/5] ARM: mstar: Add dts for 70mai midrive d08 Daniel Palmer
2020-06-10  9:04     ` Daniel Palmer
2020-06-11 13:54     ` Andreas Färber
2020-06-11 13:54       ` Andreas Färber
2020-06-11 14:38       ` Daniel Palmer
2020-06-11 14:38         ` Daniel Palmer
2019-10-14  6:15 ` [PATCH 3/4] ARM: mstar: Add infinity series dtsi Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-14  6:15 ` [PATCH 4/4] ARM: mstar: Add dts for msc313e based BreadBee board Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-14  6:15   ` Daniel Palmer
2019-10-23 20:02 ` [PATCH 1/4] dt-bindings: arm: Initial MStar vendor prefixes and compatible strings Rob Herring
2019-10-23 20:02   ` Rob Herring
2019-10-23 22:43   ` Daniel Palmer
2019-10-23 22:43     ` Daniel Palmer
2019-10-23 23:45     ` Rob Herring
2019-10-23 23:45       ` Rob Herring
2019-10-24  1:47       ` Daniel Palmer
2019-10-24  1:47         ` Daniel Palmer

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.