All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM: shmobile: Add support for RZ/A2
@ 2018-07-12  3:01 Chris Brandt
  2018-07-12  3:01 ` [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
  2018-07-12  3:01 ` [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
  0 siblings, 2 replies; 15+ messages in thread
From: Chris Brandt @ 2018-07-12  3:01 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.


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

 Documentation/devicetree/bindings/arm/shmobile.txt |  2 ++
 arch/arm/mach-shmobile/Kconfig                     |  6 +++++
 arch/arm/mach-shmobile/Makefile                    |  1 +
 arch/arm/mach-shmobile/setup-r7s9210.c             | 27 ++++++++++++++++++++++
 4 files changed, 36 insertions(+)
 create mode 100644 arch/arm/mach-shmobile/setup-r7s9210.c

-- 
2.16.1

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

* [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12  3:01 [PATCH 0/2] ARM: shmobile: Add support for RZ/A2 Chris Brandt
@ 2018-07-12  3:01 ` Chris Brandt
  2018-07-12 12:54   ` Geert Uytterhoeven
  2018-07-12  3:01 ` [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-12  3:01 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] 15+ messages in thread

* [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12  3:01 [PATCH 0/2] ARM: shmobile: Add support for RZ/A2 Chris Brandt
  2018-07-12  3:01 ` [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
@ 2018-07-12  3:01 ` Chris Brandt
  2018-07-12 12:14   ` Geert Uytterhoeven
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-12  3:01 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.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
---
 Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 89b4a389fbc7..7288c2081cd5 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)
-- 
2.16.1

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

* Re: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12  3:01 ` [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
@ 2018-07-12 12:14   ` Geert Uytterhoeven
  2018-07-12 13:15     ` Chris Brandt
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-12 12:14 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 Thu, Jul 12, 2018 at 5:02 AM Chris Brandt <chris.brandt@renesas.com> wrote:
> Add device tree bindings documentation for Renesas RZ/A2 (r7s9210) SoC.
>
> Signed-off-by: Chris Brandt <chris.brandt@renesas.com>

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

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

There seems to be a difference between the r7s92104x and the r7s92105x
parts (with "x" just denoting a different packaging)?
Do we need one more digit?

>    - SH-Mobile AG5 (R8A73A00/SH73A0)
>      compatible = "renesas,sh73a0"
>    - R-Mobile APE6 (R8A73A40)

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

* Re: [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12  3:01 ` [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
@ 2018-07-12 12:54   ` Geert Uytterhoeven
  2018-07-12 15:40     ` Chris Brandt
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-12 12:54 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 Thu, Jul 12, 2018 at 5:02 AM 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>

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

I'm wondering if you could do without any board code, i.e. without
setup-r7s9210.c?

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

* RE: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12 12:14   ` Geert Uytterhoeven
@ 2018-07-12 13:15     ` Chris Brandt
  2018-07-12 13:35       ` Geert Uytterhoeven
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-12 13:15 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> > +  - RZ/A2 (R7S9210)
> > +    compatible = "renesas,r7s9210"
> 
> There seems to be a difference between the r7s92104x and the r7s92105x
> parts (with "x" just denoting a different packaging)?
> Do we need one more digit?

From an "architecture" standpoint all the hardware in the RZ/A2 
(R7S9210xx series) will be the same. So from a device driver standpoint, 
CONFIG_ARCH_R7S9210 would cover everything.

The rest of the numbers are just for package and number of HW channels.
 
Of course, sometimes when they make smaller packages, they also make 
smaller silicon to make it cheaper. But in that case, they just simply 
remove HW or the number of channels for the hardware. (you don't need as 
many peripherals if you don't have as many pins anymore). But, they never 
change the functionality of the hardware.

Take for example RZ/A1
 RZ/A1H  R7S72100x
 RZ/A1M  R7S72101x
 RZ/A1L  R7S72102x
 RZ/A1LU R7S72103x

These parts all had the same hardware, but different package options And
the "L" parts were cheaper because they reduced the die size by 
removing HW.
But the same drivers worked on all of them because the IP was all 
exactly the same.
So I would have suggested CONFIG_ARCH_R7S7210 for the RZ/A1 series. 
(well, until I found about the R-Car part that took the same part number in 
this series)


As for the r7s92104x vs r7s92105x, that is for a HW feature that will 
have nothing to do with Linux, so we can ignore that number.

But even if we did make a tiny cut-down version of the device, say a 
R7S92106x, all HW IP would be the same, just less of it. So in my mind, the
architecture (from a CONFIG_ARCH perspective) is still the same. Maybe 
just a different .dtsi.

What do you think?

Chris

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

* Re: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12 13:15     ` Chris Brandt
@ 2018-07-12 13:35       ` Geert Uytterhoeven
  2018-07-12 15:48         ` Chris Brandt
  2018-07-13 11:50         ` Chris Brandt
  0 siblings, 2 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-12 13:35 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 Thu, Jul 12, 2018 at 3:15 PM Chris Brandt <Chris.Brandt@renesas.com> wrote:
> On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> > > +  - RZ/A2 (R7S9210)
> > > +    compatible = "renesas,r7s9210"
> >
> > There seems to be a difference between the r7s92104x and the r7s92105x
> > parts (with "x" just denoting a different packaging)?
> > Do we need one more digit?
>
> From an "architecture" standpoint all the hardware in the RZ/A2
> (R7S9210xx series) will be the same. So from a device driver standpoint,
> CONFIG_ARCH_R7S9210 would cover everything.
>
> The rest of the numbers are just for package and number of HW channels.
>
> Of course, sometimes when they make smaller packages, they also make
> smaller silicon to make it cheaper. But in that case, they just simply
> remove HW or the number of channels for the hardware. (you don't need as
> many peripherals if you don't have as many pins anymore). But, they never
> change the functionality of the hardware.
>
> Take for example RZ/A1
>  RZ/A1H  R7S72100x
>  RZ/A1M  R7S72101x
>  RZ/A1L  R7S72102x
>  RZ/A1LU R7S72103x
>
> These parts all had the same hardware, but different package options And
> the "L" parts were cheaper because they reduced the die size by
> removing HW.
> But the same drivers worked on all of them because the IP was all
> exactly the same.
> So I would have suggested CONFIG_ARCH_R7S7210 for the RZ/A1 series.
> (well, until I found about the R-Car part that took the same part number in
> this series)

That's the issue with using wildcards, or truncating part numbers: you
don't know what unrelated future parts may match...

> As for the r7s92104x vs r7s92105x, that is for a HW feature that will
> have nothing to do with Linux, so we can ignore that number.

OK.

> But even if we did make a tiny cut-down version of the device, say a
> R7S92106x, all HW IP would be the same, just less of it. So in my mind, the
> architecture (from a CONFIG_ARCH perspective) is still the same. Maybe
> just a different .dtsi.
>
> What do you think?

As the IP cores are the same in all variants, using
"renesas,r7s9210-<something>" should be fine for matching drivers to IP
cores. Same for CONFIG_ARCH_R7S9210.

However, as the actual dies differ between H, M, and L versions, there may
be integration issues to be worked around. So I think it would be wise to
use one more digit in the compatible value at the main SoC level, i.e.
"renesas,r7s92104".
Unless there's a hardware register to detect the version at runtime.
But it seems RZ/A2 doesn't have a Product Register
(PRR), which most other SH/R-Mobile and R-Car SoCs do have?

Thanks!

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

* RE: [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12 12:54   ` Geert Uytterhoeven
@ 2018-07-12 15:40     ` Chris Brandt
  2018-07-12 17:20       ` Geert Uytterhoeven
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-12 15:40 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> I'm wondering if you could do without any board code, i.e. without
> setup-r7s9210.c?

I think I see them being removed for R-Car.
But....I'm not sure how that actually works.

I'll have a look.

As you can see, there's really nothing in the RZ/A1 setup file either.


Chris

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

* RE: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12 13:35       ` Geert Uytterhoeven
@ 2018-07-12 15:48         ` Chris Brandt
  2018-07-13 11:50         ` Chris Brandt
  1 sibling, 0 replies; 15+ messages in thread
From: Chris Brandt @ 2018-07-12 15:48 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> As the IP cores are the same in all variants, using
> "renesas,r7s9210-<something>" should be fine for matching drivers to IP
> cores. Same for CONFIG_ARCH_R7S9210.
> 
> However, as the actual dies differ between H, M, and L versions, there may
> be integration issues to be worked around. So I think it would be wise to
> use one more digit in the compatible value at the main SoC level, i.e.
> "renesas,r7s92104".
> Unless there's a hardware register to detect the version at runtime.
> But it seems RZ/A2 doesn't have a Product Register
> (PRR), which most other SH/R-Mobile and R-Car SoCs do have?

There is supposed to be one. I specifically asked for it (and remember 
reviewing it).
But, now I'm not seeing it in the latest version of the manual.

Let me find out where it is.

Chris



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

* Re: [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12 15:40     ` Chris Brandt
@ 2018-07-12 17:20       ` Geert Uytterhoeven
  2018-07-12 17:33         ` Chris Brandt
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-12 17:20 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 Thu, Jul 12, 2018 at 5:40 PM Chris Brandt <Chris.Brandt@renesas.com> wrote:
> On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> > I'm wondering if you could do without any board code, i.e. without
> > setup-r7s9210.c?
>
> I think I see them being removed for R-Car.
> But....I'm not sure how that actually works.
>
> I'll have a look.
>
> As you can see, there's really nothing in the RZ/A1 setup file either.

Yeah, that's why I asked: setup-r7s72100.c is the smallest setup file.

It uses shmobile_init_delay() to preset loops-per-jiffy, to avoid
calibrating the
delay loop, and shmobile_init_late() to make s2ram do more than s2idle.
As RZ/A doesn't have SMP, and thus there's no use for disabling secondary
CPU cores, the impact of the latter is small (read: I don't know what's the real
impact of calling cpu_idle_poll_ctrl()).

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

* RE: [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12 17:20       ` Geert Uytterhoeven
@ 2018-07-12 17:33         ` Chris Brandt
  2018-07-13 10:06           ` Geert Uytterhoeven
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-12 17:33 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> Yeah, that's why I asked: setup-r7s72100.c is the smallest setup file.
> 
> It uses shmobile_init_delay() to preset loops-per-jiffy, to avoid
> calibrating the
> delay loop, and shmobile_init_late() to make s2ram do more than s2idle.
> As RZ/A doesn't have SMP, and thus there's no use for disabling secondary
> CPU cores, the impact of the latter is small (read: I don't know what's
> the real
> impact of calling cpu_idle_poll_ctrl()).

It's been quite a while, but I remember when porting RZ/A1 code that 
without those two functions, things didn't work right. Of course that was 
many releases ago.


However, one thing that I know I need is

+	.l2c_aux_val    = 0,
+	.l2c_aux_mask   = ~0,

Without that, I don't get my L2C driver loaded.

Hence:
a96bb197693e ("ARM: 8660/1: shmobile: r7s72100: Enable L2 cache")

So at least for now, I would say I still need the setup file.


Chris


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

* Re: [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support
  2018-07-12 17:33         ` Chris Brandt
@ 2018-07-13 10:06           ` Geert Uytterhoeven
  0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-13 10:06 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 Thu, Jul 12, 2018 at 7:34 PM Chris Brandt <Chris.Brandt@renesas.com> wrote:
> On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> > Yeah, that's why I asked: setup-r7s72100.c is the smallest setup file.
> >
> > It uses shmobile_init_delay() to preset loops-per-jiffy, to avoid
> > calibrating the
> > delay loop, and shmobile_init_late() to make s2ram do more than s2idle.
> > As RZ/A doesn't have SMP, and thus there's no use for disabling secondary
> > CPU cores, the impact of the latter is small (read: I don't know what's
> > the real
> > impact of calling cpu_idle_poll_ctrl()).
>
> It's been quite a while, but I remember when porting RZ/A1 code that
> without those two functions, things didn't work right. Of course that was
> many releases ago.

Right, you may not have had an early timer running yet, causing the loop
calibration to hang. May have been fixed by ostm support.

> However, one thing that I know I need is
>
> +       .l2c_aux_val    = 0,
> +       .l2c_aux_mask   = ~0,
>
> Without that, I don't get my L2C driver loaded.
>
> Hence:
> a96bb197693e ("ARM: 8660/1: shmobile: r7s72100: Enable L2 cache")
>
> So at least for now, I would say I still need the setup file.

I forgot about the L2C. Yeah, it's a pity we still need board code to
enable the PL310 cache with default settings.

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

* RE: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-12 13:35       ` Geert Uytterhoeven
  2018-07-12 15:48         ` Chris Brandt
@ 2018-07-13 11:50         ` Chris Brandt
  2018-07-13 12:13           ` Geert Uytterhoeven
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Brandt @ 2018-07-13 11:50 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> As the IP cores are the same in all variants, using
> "renesas,r7s9210-<something>" should be fine for matching drivers to IP
> cores. Same for CONFIG_ARCH_R7S9210.
> 
> However, as the actual dies differ between H, M, and L versions, there may
> be integration issues to be worked around. So I think it would be wise to
> use one more digit in the compatible value at the main SoC level, i.e.
> "renesas,r7s92104".
> Unless there's a hardware register to detect the version at runtime.
> But it seems RZ/A2 doesn't have a Product Register
> (PRR), which most other SH/R-Mobile and R-Car SoCs do have?


There is an ID register in RZ/A2 that will have a different number for 
each silicon.
See the first entry in Table 5.6 (BSID register).

Technically, it's not  "PRR" like it's SH/R-Car devices. It's actually 
the boundary scan ID number. All RZ/A1 devices have this too. But with 
RZ/A1, you could only get to this register through JTAG (not by the CPU). 
So for RZ/A2+, they will mirror that register to CPU space.

So with that said, are we good with CONFIG_ARCH_R7S9210?

Chris


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

* Re: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-13 11:50         ` Chris Brandt
@ 2018-07-13 12:13           ` Geert Uytterhoeven
  2018-07-13 16:33             ` Chris Brandt
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-07-13 12:13 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 Fri, Jul 13, 2018 at 1:50 PM Chris Brandt <Chris.Brandt@renesas.com> wrote:
> On Thursday, July 12, 2018, Geert Uytterhoeven wrote:
> > As the IP cores are the same in all variants, using
> > "renesas,r7s9210-<something>" should be fine for matching drivers to IP
> > cores. Same for CONFIG_ARCH_R7S9210.
> >
> > However, as the actual dies differ between H, M, and L versions, there may
> > be integration issues to be worked around. So I think it would be wise to
> > use one more digit in the compatible value at the main SoC level, i.e.
> > "renesas,r7s92104".
> > Unless there's a hardware register to detect the version at runtime.
> > But it seems RZ/A2 doesn't have a Product Register
> > (PRR), which most other SH/R-Mobile and R-Car SoCs do have?
>
> There is an ID register in RZ/A2 that will have a different number for
> each silicon.
> See the first entry in Table 5.6 (BSID register).
>
> Technically, it's not  "PRR" like it's SH/R-Car devices. It's actually
> the boundary scan ID number. All RZ/A1 devices have this too. But with
> RZ/A1, you could only get to this register through JTAG (not by the CPU).
> So for RZ/A2+, they will mirror that register to CPU space.

Cool. So if you add a "renesas,bsid" device node to the dtsi, and add
support for using that to drivers/soc/renesas/renesas-soc.c, then we can
use soc_device_match() to filter on SoC revision, if ever needed.

> So with that said, are we good with CONFIG_ARCH_R7S9210?

Yes, the Kconfig symbol is fine for sure.

Thansk!

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

* RE: [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings
  2018-07-13 12:13           ` Geert Uytterhoeven
@ 2018-07-13 16:33             ` Chris Brandt
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Brandt @ 2018-07-13 16:33 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, Linux-Renesas,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

Hi Geert,

On Friday, July 13, 2018, Geert Uytterhoeven wrote:
> > There is an ID register in RZ/A2 that will have a different number for
> > each silicon.
> > See the first entry in Table 5.6 (BSID register).
> >
> > Technically, it's not  "PRR" like it's SH/R-Car devices. It's actually
> > the boundary scan ID number. All RZ/A1 devices have this too. But with
> > RZ/A1, you could only get to this register through JTAG (not by the CPU).
> > So for RZ/A2+, they will mirror that register to CPU space.
> 
> Cool. So if you add a "renesas,bsid" device node to the dtsi, and add
> support for using that to drivers/soc/renesas/renesas-soc.c, then we can
> use soc_device_match() to filter on SoC revision, if ever needed.

Oh, I see.


> > So with that said, are we good with CONFIG_ARCH_R7S9210?
> 
> Yes, the Kconfig symbol is fine for sure.
> 
> Thansk!

Cool...except now I have more code to go off and write ;)


Chris

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

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

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-12  3:01 [PATCH 0/2] ARM: shmobile: Add support for RZ/A2 Chris Brandt
2018-07-12  3:01 ` [PATCH 1/2] ARM: shmobile: Add basic RZ/A2 SoC support Chris Brandt
2018-07-12 12:54   ` Geert Uytterhoeven
2018-07-12 15:40     ` Chris Brandt
2018-07-12 17:20       ` Geert Uytterhoeven
2018-07-12 17:33         ` Chris Brandt
2018-07-13 10:06           ` Geert Uytterhoeven
2018-07-12  3:01 ` [PATCH 2/2] dt-bindings: arm: Document RZ/A2 SoC DT bindings Chris Brandt
2018-07-12 12:14   ` Geert Uytterhoeven
2018-07-12 13:15     ` Chris Brandt
2018-07-12 13:35       ` Geert Uytterhoeven
2018-07-12 15:48         ` Chris Brandt
2018-07-13 11:50         ` Chris Brandt
2018-07-13 12:13           ` Geert Uytterhoeven
2018-07-13 16:33             ` Chris Brandt

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.