devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] ARM: shmobile: Add support for RZ/A2
@ 2018-07-25 21:22 Chris Brandt
  2018-07-25 21:22 ` [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Chris Brandt @ 2018-07-25 21:22 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland
  Cc: Geert Uytterhoeven, linux-renesas-soc, devicetree, Chris Brandt

Introduce RZ/A2 (R7S9210) as an SoC that can be selected.

There is no DT mainlined yet, so this is what the entry would look
like for the BSID register:

	bsid: chipid@fcfe8004 {
		compatible = "renesas,bsid";
		reg = <0xfcfe8004 4>;
	};



Chris Brandt (3):
  ARM: shmobile: Add basic RZ/A2 SoC support
  soc: renesas: identify RZ/A2
  dt-bindings: arm: Document RZ/A2 SoC DT bindings

 Documentation/devicetree/bindings/arm/shmobile.txt |  4 +-
 arch/arm/mach-shmobile/Kconfig                     |  6 +++
 arch/arm/mach-shmobile/Makefile                    |  1 +
 arch/arm/mach-shmobile/setup-r7s9210.c             | 27 ++++++++++
 drivers/soc/renesas/renesas-soc.c                  | 60 +++++++++++++++++-----
 5 files changed, 85 insertions(+), 13 deletions(-)
 create mode 100644 arch/arm/mach-shmobile/setup-r7s9210.c

-- 
2.16.1

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

* [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-25 21:22 [PATCH v2 0/3] ARM: shmobile: Add support for RZ/A2 Chris Brandt
@ 2018-07-25 21:22 ` Chris Brandt
  2018-07-26 11:51   ` Geert Uytterhoeven
  2018-07-25 21:22 ` [PATCH v2 2/3] soc: renesas: identify RZ/A2 Chris Brandt
  2018-07-25 21:22 ` [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
  2 siblings, 1 reply; 8+ messages in thread
From: Chris Brandt @ 2018-07-25 21:22 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland
  Cc: Geert Uytterhoeven, linux-renesas-soc, devicetree, Chris Brandt

Add the RZ/A2 SoC to the Renesas SoC collection.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
---
 arch/arm/mach-shmobile/Kconfig         |  6 ++++++
 arch/arm/mach-shmobile/Makefile        |  1 +
 arch/arm/mach-shmobile/setup-r7s9210.c | 27 +++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 arch/arm/mach-shmobile/setup-r7s9210.c

diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 0b67254eabb2..9338eb0d574f 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -54,6 +54,12 @@ config ARCH_R7S72100
 	select SYS_SUPPORTS_SH_MTU2
 	select RENESAS_OSTM
 
+config ARCH_R7S9210
+	bool "RZ/A2 (R7S9210)"
+	select PM
+	select PM_GENERIC_DOMAINS
+	select RENESAS_OSTM
+
 config ARCH_R8A73A4
 	bool "R-Mobile APE6 (R8A73A40)"
 	select ARCH_RMOBILE
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index b33dc59d8698..5591646cb9bb 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_ARCH_R8A7778)	+= setup-r8a7778.o
 obj-$(CONFIG_ARCH_R8A7779)	+= setup-r8a7779.o
 obj-$(CONFIG_ARCH_EMEV2)	+= setup-emev2.o
 obj-$(CONFIG_ARCH_R7S72100)	+= setup-r7s72100.o
+obj-$(CONFIG_ARCH_R7S9210)	+= setup-r7s9210.o
 
 # CPU reset vector handling objects
 cpu-y				:= platsmp.o headsmp.o
diff --git a/arch/arm/mach-shmobile/setup-r7s9210.c b/arch/arm/mach-shmobile/setup-r7s9210.c
new file mode 100644
index 000000000000..573fb9955e7e
--- /dev/null
+++ b/arch/arm/mach-shmobile/setup-r7s9210.c
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * r7s9210 processor support
+ *
+ * Copyright (C) 2018  Renesas Electronics Corporation
+ * Copyright (C) 2018  Chris Brandt
+ *
+ */
+
+#include <linux/kernel.h>
+
+#include <asm/mach/arch.h>
+
+#include "common.h"
+
+static const char *const r7s9210_boards_compat_dt[] __initconst = {
+	"renesas,r7s9210",
+	NULL,
+};
+
+DT_MACHINE_START(R7S72100_DT, "Generic R7S9210 (Flattened Device Tree)")
+	.l2c_aux_val    = 0,
+	.l2c_aux_mask   = ~0,
+	.init_early	= shmobile_init_delay,
+	.init_late	= shmobile_init_late,
+	.dt_compat	= r7s9210_boards_compat_dt,
+MACHINE_END
-- 
2.16.1

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

* [PATCH v2 2/3] soc: renesas: identify RZ/A2
  2018-07-25 21:22 [PATCH v2 0/3] ARM: shmobile: Add support for RZ/A2 Chris Brandt
  2018-07-25 21:22 ` [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
@ 2018-07-25 21:22 ` Chris Brandt
  2018-07-26 12:12   ` Geert Uytterhoeven
  2018-07-25 21:22 ` [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
  2 siblings, 1 reply; 8+ messages in thread
From: Chris Brandt @ 2018-07-25 21:22 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland
  Cc: Geert Uytterhoeven, linux-renesas-soc, devicetree, Chris Brandt

Add support for identifying the RZ/A2M (R7S9210) SoC.
Also add support for reading the BSID register which is a different format
than the PRR.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
---
 drivers/soc/renesas/renesas-soc.c | 60 +++++++++++++++++++++++++++++++--------
 1 file changed, 48 insertions(+), 12 deletions(-)

diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
index d44d0e687ab8..e528744b07c3 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
@@ -20,10 +20,15 @@
 #include <linux/string.h>
 #include <linux/sys_soc.h>
 
+enum {
+	TYPE_PRR,
+	TYPE_BSID,
+};
 
 struct renesas_family {
 	const char name[16];
-	u32 reg;			/* CCCR or PRR, if not in DT */
+	u32 reg;			/* CCCR, PRR or BSID, if not in DT */
+	u8 type;
 };
 
 static const struct renesas_family fam_rcar_gen1 __initconst __maybe_unused = {
@@ -46,8 +51,14 @@ static const struct renesas_family fam_rmobile __initconst __maybe_unused = {
 	.reg	= 0xe600101c,		/* CCCR (Common Chip Code Register) */
 };
 
-static const struct renesas_family fam_rza __initconst __maybe_unused = {
-	.name	= "RZ/A",
+static const struct renesas_family fam_rza1 __initconst __maybe_unused = {
+	.name	= "RZ/A1",
+};
+
+static const struct renesas_family fam_rza2 __initconst __maybe_unused = {
+	.name	= "RZ/A2",
+	.reg	= 0xfcfe8004,		/* BSID (Boundary Scan ID Register) */
+	.type	= TYPE_BSID,
 };
 
 static const struct renesas_family fam_rzg __initconst __maybe_unused = {
@@ -67,7 +78,12 @@ struct renesas_soc {
 };
 
 static const struct renesas_soc soc_rz_a1h __initconst __maybe_unused = {
-	.family	= &fam_rza,
+	.family	= &fam_rza1,
+};
+
+static const struct renesas_soc soc_rz_a2m __initconst __maybe_unused = {
+	.family	= &fam_rza2,
+	.id	= 0x3b,
 };
 
 static const struct renesas_soc soc_rmobile_ape6 __initconst __maybe_unused = {
@@ -184,6 +200,9 @@ static const struct of_device_id renesas_socs[] __initconst = {
 #ifdef CONFIG_ARCH_R7S72100
 	{ .compatible = "renesas,r7s72100",	.data = &soc_rz_a1h },
 #endif
+#ifdef CONFIG_ARCH_R7S9210
+	{ .compatible = "renesas,r7s9210",	.data = &soc_rz_a2m },
+#endif
 #ifdef CONFIG_ARCH_R8A73A4
 	{ .compatible = "renesas,r8a73a4",	.data = &soc_rmobile_ape6 },
 #endif
@@ -263,6 +282,7 @@ static int __init renesas_soc_init(void)
 	struct soc_device *soc_dev;
 	struct device_node *np;
 	unsigned int product;
+	u8 reg_type = TYPE_PRR;
 
 	match = of_match_node(renesas_socs, of_root);
 	if (!match)
@@ -271,23 +291,39 @@ static int __init renesas_soc_init(void)
 	soc = match->data;
 	family = soc->family;
 
-	/* Try PRR first, then hardcoded fallback */
+	/* Try PRR and BSID first, then hardcoded fallback */
 	np = of_find_compatible_node(NULL, NULL, "renesas,prr");
+	if (!np) {
+		np = of_find_compatible_node(NULL, NULL, "renesas,bsid");
+		if (np)
+			reg_type = TYPE_BSID;
+	}
 	if (np) {
 		chipid = of_iomap(np, 0);
 		of_node_put(np);
 	} else if (soc->id) {
 		chipid = ioremap(family->reg, 4);
+		reg_type = family->type;
 	}
 	if (chipid) {
 		product = readl(chipid);
 		iounmap(chipid);
-		/* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
-		if ((product & 0x7fff) == 0x5210)
-			product ^= 0x11;
-		if (soc->id && ((product >> 8) & 0xff) != soc->id) {
-			pr_warn("SoC mismatch (product = 0x%x)\n", product);
-			return -ENODEV;
+
+		if (reg_type == TYPE_PRR) {
+			/* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
+			if ((product & 0x7fff) == 0x5210)
+				product ^= 0x11;
+			if (soc->id && ((product >> 8) & 0xff) != soc->id) {
+				pr_warn("SoC mismatch (product = 0x%x)\n",
+					product);
+				return -ENODEV;
+			}
+		} else if (reg_type == TYPE_BSID) {
+			if (soc->id && ((product >> 16) & 0xff) != soc->id) {
+				pr_warn("SoC mismatch (product = 0x%x)\n",
+					product);
+				return -ENODEV;
+			}
 		}
 	}
 
@@ -302,7 +338,7 @@ static int __init renesas_soc_init(void)
 	soc_dev_attr->family = kstrdup_const(family->name, GFP_KERNEL);
 	soc_dev_attr->soc_id = kstrdup_const(strchr(match->compatible, ',') + 1,
 					     GFP_KERNEL);
-	if (chipid)
+	if (chipid && (reg_type == TYPE_PRR))
 		soc_dev_attr->revision = kasprintf(GFP_KERNEL, "ES%u.%u",
 						   ((product >> 4) & 0x0f) + 1,
 						   product & 0xf);
-- 
2.16.1

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

* [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-25 21:22 [PATCH v2 0/3] ARM: shmobile: Add support for RZ/A2 Chris Brandt
  2018-07-25 21:22 ` [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
  2018-07-25 21:22 ` [PATCH v2 2/3] soc: renesas: identify RZ/A2 Chris Brandt
@ 2018-07-25 21:22 ` Chris Brandt
  2018-07-26  7:25   ` Geert Uytterhoeven
  2 siblings, 1 reply; 8+ messages in thread
From: Chris Brandt @ 2018-07-25 21:22 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland
  Cc: Geert Uytterhoeven, linux-renesas-soc, devicetree, Chris Brandt

Add device tree bindings documentation for Renesas RZ/A2 (r7s9210) SoC.
Also document new option for "renesas,bsid"

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v2:
 * added Reviewed-by
 * added renesas,bsid comment
---
 Documentation/devicetree/bindings/arm/shmobile.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 89b4a389fbc7..1b2e32171924 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -7,6 +7,8 @@ SoCs:
     compatible = "renesas,emev2"
   - RZ/A1H (R7S72100)
     compatible = "renesas,r7s72100"
+  - RZ/A2 (R7S9210)
+    compatible = "renesas,r7s9210"
   - SH-Mobile AG5 (R8A73A00/SH73A0)
     compatible = "renesas,sh73a0"
   - R-Mobile APE6 (R8A73A40)
@@ -148,7 +150,7 @@ product and revision information.  If present, a device node for this register
 should be added.
 
 Required properties:
-  - compatible: Must be "renesas,prr".
+  - compatible: Must be "renesas,prr" or "renesas,bsid"
   - reg: Base address and length of the register block.
 
 
-- 
2.16.1

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

* Re: [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-25 21:22 ` [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
@ 2018-07-26  7:25   ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2018-07-26  7:25 UTC (permalink / raw)
  To: Chris Brandt
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Chris,

On Wed, Jul 25, 2018 at 11:22 PM Chris Brandt <chris.brandt@renesas.com> wrote:
> Add device tree bindings documentation for Renesas RZ/A2 (r7s9210) SoC.
> Also document new option for "renesas,bsid"
>
> Signed-off-by: Chris Brandt <chris.brandt@renesas.com>

Thanks for ypur patch!

> --- a/Documentation/devicetree/bindings/arm/shmobile.txt
> +++ b/Documentation/devicetree/bindings/arm/shmobile.txt

> @@ -148,7 +150,7 @@ product and revision information.  If present, a device node for this register
>  should be added.

Please add "or Boundary Scan ID Register" to the paragraph above.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-25 21:22 ` [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
@ 2018-07-26 11:51   ` Geert Uytterhoeven
  2018-07-26 13:57     ` Simon Horman
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2018-07-26 11:51 UTC (permalink / raw)
  To: Chris Brandt
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

On Wed, Jul 25, 2018 at 11:22 PM Chris Brandt <chris.brandt@renesas.com> wrote:
> Add the RZ/A2 SoC to the Renesas SoC collection.
>
> Signed-off-by: Chris Brandt <chris.brandt@renesas.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v2 2/3] soc: renesas: identify RZ/A2
  2018-07-25 21:22 ` [PATCH v2 2/3] soc: renesas: identify RZ/A2 Chris Brandt
@ 2018-07-26 12:12   ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2018-07-26 12:12 UTC (permalink / raw)
  To: Chris Brandt
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Chris,

On Wed, Jul 25, 2018 at 11:22 PM Chris Brandt <chris.brandt@renesas.com> wrote:
> Add support for identifying the RZ/A2M (R7S9210) SoC.
> Also add support for reading the BSID register which is a different format
> than the PRR.
>
> Signed-off-by: Chris Brandt <chris.brandt@renesas.com>

Thanks for your patch!

> --- a/drivers/soc/renesas/renesas-soc.c
> +++ b/drivers/soc/renesas/renesas-soc.c
> @@ -20,10 +20,15 @@
>  #include <linux/string.h>
>  #include <linux/sys_soc.h>
>
> +enum {
> +       TYPE_PRR,
> +       TYPE_BSID,
> +};
>
>  struct renesas_family {
>         const char name[16];
> -       u32 reg;                        /* CCCR or PRR, if not in DT */
> +       u32 reg;                        /* CCCR, PRR or BSID, if not in DT */
> +       u8 type;

The only reason we have the reg field in this struct is because we added
SoC identification for existing SoCs, which didn't have PRR in DT from the
start.
As RZ/A2 is a new SoC family, we can assume there will always be a device
node for the BSID.  Hence I think any code to support RZ/A2 without BSID in
DT can be dropped (incl. the type field and enums, see below).

>  };
>
>  static const struct renesas_family fam_rcar_gen1 __initconst __maybe_unused = {
> @@ -46,8 +51,14 @@ static const struct renesas_family fam_rmobile __initconst __maybe_unused = {
>         .reg    = 0xe600101c,           /* CCCR (Common Chip Code Register) */
>  };
>
> -static const struct renesas_family fam_rza __initconst __maybe_unused = {
> -       .name   = "RZ/A",
> +static const struct renesas_family fam_rza1 __initconst __maybe_unused = {
> +       .name   = "RZ/A1",
> +};
> +
> +static const struct renesas_family fam_rza2 __initconst __maybe_unused = {
> +       .name   = "RZ/A2",
> +       .reg    = 0xfcfe8004,           /* BSID (Boundary Scan ID Register) */
> +       .type   = TYPE_BSID,

Hence please drop the reg and type initialization.

> @@ -263,6 +282,7 @@ static int __init renesas_soc_init(void)
>         struct soc_device *soc_dev;
>         struct device_node *np;
>         unsigned int product;
> +       u8 reg_type = TYPE_PRR;
>
>         match = of_match_node(renesas_socs, of_root);
>         if (!match)
> @@ -271,23 +291,39 @@ static int __init renesas_soc_init(void)
>         soc = match->data;
>         family = soc->family;
>
> -       /* Try PRR first, then hardcoded fallback */
> +       /* Try PRR and BSID first, then hardcoded fallback */
>         np = of_find_compatible_node(NULL, NULL, "renesas,prr");
> +       if (!np) {
> +               np = of_find_compatible_node(NULL, NULL, "renesas,bsid");
> +               if (np)
> +                       reg_type = TYPE_BSID;
> +       }
>         if (np) {
>                 chipid = of_iomap(np, 0);
>                 of_node_put(np);
>         } else if (soc->id) {
>                 chipid = ioremap(family->reg, 4);
> +               reg_type = family->type;
>         }
>         if (chipid) {
>                 product = readl(chipid);
>                 iounmap(chipid);
> -               /* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
> -               if ((product & 0x7fff) == 0x5210)
> -                       product ^= 0x11;
> -               if (soc->id && ((product >> 8) & 0xff) != soc->id) {
> -                       pr_warn("SoC mismatch (product = 0x%x)\n", product);
> -                       return -ENODEV;
> +
> +               if (reg_type == TYPE_PRR) {
> +                       /* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
> +                       if ((product & 0x7fff) == 0x5210)
> +                               product ^= 0x11;
> +                       if (soc->id && ((product >> 8) & 0xff) != soc->id) {
> +                               pr_warn("SoC mismatch (product = 0x%x)\n",
> +                                       product);
> +                               return -ENODEV;
> +                       }
> +               } else if (reg_type == TYPE_BSID) {
> +                       if (soc->id && ((product >> 16) & 0xff) != soc->id) {
> +                               pr_warn("SoC mismatch (product = 0x%x)\n",
> +                                       product);
> +                               return -ENODEV;
> +                       }
>                 }
>         }

The complexity in the code above lies in the handling of both DT and
non-DT based product registers, and the quirk for M3-W ES1.1.
As RZ/A2 will always have it in DT, I think it make sense to simplify it
as e.g.

        np = of_find_compatible_node(NULL, NULL, "renesas,bsid");
        if (np) {
                /* New BSID handling */
                ....
        } else {
                /* Old CCCR/PRR handling for DT and non-DT */
                ...
        }

Perhaps even using "goto done" instead of the "else", so you don't have to
increase indentation of the old code?

> @@ -302,7 +338,7 @@ static int __init renesas_soc_init(void)
>         soc_dev_attr->family = kstrdup_const(family->name, GFP_KERNEL);
>         soc_dev_attr->soc_id = kstrdup_const(strchr(match->compatible, ',') + 1,
>                                              GFP_KERNEL);
> -       if (chipid)
> +       if (chipid && (reg_type == TYPE_PRR))

if you do

        unsigned int eshi = 0, eslo;
        ...
        if (/* CCCR/PRR */) {
                 eshi = ((product >> 4) & 0x0f) + 1;
                 eslo = product & 0xf;
        }

then you can replace the check by

        if (eshi)

>                 soc_dev_attr->revision = kasprintf(GFP_KERNEL, "ES%u.%u",
>                                                    ((product >> 4) & 0x0f) + 1,
>                                                    product & 0xf);

and format eshi, eslo.

BTW, the top four bits of BSID seem to indicate the chip version.
Perhaps that corresponds to the ES version on R-Car?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-26 11:51   ` Geert Uytterhoeven
@ 2018-07-26 13:57     ` Simon Horman
  0 siblings, 0 replies; 8+ messages in thread
From: Simon Horman @ 2018-07-26 13:57 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Chris Brandt, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

On Thu, Jul 26, 2018 at 01:51:18PM +0200, Geert Uytterhoeven wrote:
> On Wed, Jul 25, 2018 at 11:22 PM Chris Brandt <chris.brandt@renesas.com> wrote:
> > Add the RZ/A2 SoC to the Renesas SoC collection.
> >
> > Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks, applied for v4.20.

I'm expecting v3 of patches 2 and 3 to address Geert's review of them.

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

end of thread, other threads:[~2018-07-26 13:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-25 21:22 [PATCH v2 0/3] ARM: shmobile: Add support for RZ/A2 Chris Brandt
2018-07-25 21:22 ` [PATCH v2 1/3] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
2018-07-26 11:51   ` Geert Uytterhoeven
2018-07-26 13:57     ` Simon Horman
2018-07-25 21:22 ` [PATCH v2 2/3] soc: renesas: identify RZ/A2 Chris Brandt
2018-07-26 12:12   ` Geert Uytterhoeven
2018-07-25 21:22 ` [PATCH v2 3/3] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
2018-07-26  7:25   ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).