linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Add SoC identification support for RZ/V2M
@ 2022-11-16 10:21 Biju Das
  2022-11-16 10:21 ` [PATCH v4 1/3] dt-bindings: arm: renesas: Document Renesas RZ/V2M System Configuration Biju Das
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Biju Das @ 2022-11-16 10:21 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski
  Cc: Biju Das, Geert Uytterhoeven, Magnus Damm, linux-renesas-soc,
	devicetree, Chris Paterson, Fabrizio Castro

This patch series aims to add SoC identification support for RZ/V2M.

v3->v4:
 * Added Rb tags from Krzysztof and Geert
 * Fixed the example indentation from 3 spaces-> 2 spaces.
v2->v3:
 * Renamed the binding file based on the compatible
 * Dropped quotes from id and schema
 * Updated binding description
 * Renamed device node from system-configuration->system-controller
 * Renamed label name from sysc->sys
 * Fixed the indentation in example
 * Updated commit header and description for SoC dtsi
 * Updated label and node-names for SoC dtsi
 * system-controller is enabled by default as it do not need external
   resources from board. 
v1->v2:
 * Moved the binding file from arm->soc/renesas
 * Updated the binding example
 * Removed config from patch#2 as it is already present
 * Removed extra space before 'else if' statement

Ref:
[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220321154232.56315-3-phil.edworthy@renesas.com/
[2] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220321154232.56315-8-phil.edworthy@renesas.com/

logs:
root@rzv2m:~# dmesg | grep "Renesas RZ/V2M"
[ 0.119196] Detected Renesas RZ/V2M r9a09g011 1.1

root@rzv2m:~# for i in machine family soc_id revision; do echo -n "$i: ";cat /sys/devices/soc0/$i; done
machine: RZ/V2M Evaluation Kit 2.0
family: RZ/V2M
soc_id: r9a09g011
revision: 1.1

Biju Das (1):
  arm64: dts: renesas: r9a09g011: Add system controller node

Phil Edworthy (2):
  dt-bindings: arm: renesas: Document Renesas RZ/V2M System
    Configuration
  soc: renesas: Identify RZ/V2M SoC

 .../soc/renesas/renesas,r9a09g011-sys.yaml    | 43 +++++++++++++++++++
 arch/arm64/boot/dts/renesas/r9a09g011.dtsi    |  5 +++
 drivers/soc/renesas/renesas-soc.c             | 22 ++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g011-sys.yaml

-- 
2.25.1


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

* [PATCH v4 1/3] dt-bindings: arm: renesas: Document Renesas RZ/V2M System Configuration
  2022-11-16 10:21 [PATCH v4 0/3] Add SoC identification support for RZ/V2M Biju Das
@ 2022-11-16 10:21 ` Biju Das
  2022-11-16 10:21 ` [PATCH v4 2/3] soc: renesas: Identify RZ/V2M SoC Biju Das
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2022-11-16 10:21 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski
  Cc: Phil Edworthy, Geert Uytterhoeven, Magnus Damm,
	linux-renesas-soc, devicetree, Chris Paterson, Fabrizio Castro,
	Biju Das, Krzysztof Kozlowski

From: Phil Edworthy <phil.edworthy@renesas.com>

Add DT binding documentation for System Configuration (SYS) found on
RZ/V2M SoC's.

SYS block contains the SYS_VERSION register which can be used to retrieve
SoC version information.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
v3->v4:
 * Added Rb tags from Krzysztof and Geert
 * Fixed the example indentation from 3 spaces-> 2 spaces.
v2->v3:
 * Renamed the file based on the compatible
 * Dropped quotes from id and schema
 * Updated description
 * Renamed device node from system-configuration->system-controller
 * Renamed label name from sysc->sys
 * Fixed the indentation in example
v1->v2:
 * Moved the file from arm->soc/renesas
 * Updated the path for binding file
 * Updated the example
---
 .../soc/renesas/renesas,r9a09g011-sys.yaml    | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g011-sys.yaml

diff --git a/Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g011-sys.yaml b/Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g011-sys.yaml
new file mode 100644
index 000000000000..1cac3cb5226c
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/renesas/renesas,r9a09g011-sys.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/renesas/renesas,r9a09g011-sys.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas RZ/V2M System Configuration (SYS)
+
+maintainers:
+  - Geert Uytterhoeven <geert+renesas@glider.be>
+
+description:
+  The RZ/V2M-alike SYS (System Configuration) controls the overall
+  configuration of the LSI and supports the following functions,
+  - Bank address settings for DMAC
+  - Bank address settings of the units for ICB
+  - ETHER AxCACHE[1] (C bit) control function
+  - RAMA initialization control
+  - MD[7:0] pin monitoring
+  - LSI version
+  - PCIe related settings
+  - WDT stop control
+  - Temperature sensor (TSU) monitor
+
+properties:
+  compatible:
+    const: renesas,r9a09g011-sys
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    sys: system-controller@a3f03000 {
+      compatible = "renesas,r9a09g011-sys";
+      reg = <0xa3f03000 0x400>;
+    };
-- 
2.25.1


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

* [PATCH v4 2/3] soc: renesas: Identify RZ/V2M SoC
  2022-11-16 10:21 [PATCH v4 0/3] Add SoC identification support for RZ/V2M Biju Das
  2022-11-16 10:21 ` [PATCH v4 1/3] dt-bindings: arm: renesas: Document Renesas RZ/V2M System Configuration Biju Das
@ 2022-11-16 10:21 ` Biju Das
  2022-11-16 10:21 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g011: Add system controller node Biju Das
  2022-11-17 19:51 ` [PATCH v4 0/3] Add SoC identification support for RZ/V2M Geert Uytterhoeven
  3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2022-11-16 10:21 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Phil Edworthy, Magnus Damm, linux-renesas-soc, Chris Paterson,
	Fabrizio Castro, Biju Das

From: Phil Edworthy <phil.edworthy@renesas.com>

Add support for identifying the RZ/V2M (R9A09G011) SoC.
Note that the SoC does not have a identification register.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
[biju: removed config changes ]
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3->v4:
 * Added Rb tag from Geert.
v2->v3:
 * No change.
v1->v2:
 * Removed KConfig changes as SoC config already present
 * Fixed an extra space before 'else if' statement.
---
 drivers/soc/renesas/renesas-soc.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
index 621ceaa047d4..468ebce1ea88 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
@@ -76,6 +76,10 @@ static const struct renesas_family fam_rzv2l __initconst __maybe_unused = {
 	.name	= "RZ/V2L",
 };
 
+static const struct renesas_family fam_rzv2m __initconst __maybe_unused = {
+	.name	= "RZ/V2M",
+};
+
 static const struct renesas_family fam_shmobile __initconst __maybe_unused = {
 	.name	= "SH-Mobile",
 	.reg	= 0xe600101c,		/* CCCR (Common Chip Code Register) */
@@ -171,6 +175,10 @@ static const struct renesas_soc soc_rz_v2l __initconst __maybe_unused = {
 	.id     = 0x8447447,
 };
 
+static const struct renesas_soc soc_rz_v2m __initconst __maybe_unused = {
+	.family = &fam_rzv2m,
+};
+
 static const struct renesas_soc soc_rcar_m1a __initconst __maybe_unused = {
 	.family	= &fam_rcar_gen1,
 };
@@ -380,6 +388,9 @@ static const struct of_device_id renesas_socs[] __initconst = {
 #if defined(CONFIG_ARCH_R9A07G054)
 	{ .compatible = "renesas,r9a07g054",	.data = &soc_rz_v2l },
 #endif
+#if defined(CONFIG_ARCH_R9A09G011)
+	{ .compatible = "renesas,r9a09g011",	.data = &soc_rz_v2m },
+#endif
 #ifdef CONFIG_ARCH_SH73A0
 	{ .compatible = "renesas,sh73a0",	.data = &soc_shmobile_ag5 },
 #endif
@@ -405,6 +416,11 @@ static const struct renesas_id id_rzg2l __initconst = {
 	.mask = 0xfffffff,
 };
 
+static const struct renesas_id id_rzv2m __initconst = {
+	.offset = 0x104,
+	.mask = 0xff,
+};
+
 static const struct renesas_id id_prr __initconst = {
 	.offset = 0,
 	.mask = 0xff00,
@@ -415,6 +431,7 @@ static const struct of_device_id renesas_ids[] __initconst = {
 	{ .compatible = "renesas,r9a07g043-sysc",	.data = &id_rzg2l },
 	{ .compatible = "renesas,r9a07g044-sysc",	.data = &id_rzg2l },
 	{ .compatible = "renesas,r9a07g054-sysc",	.data = &id_rzg2l },
+	{ .compatible = "renesas,r9a09g011-sys",	.data = &id_rzv2m },
 	{ .compatible = "renesas,prr",			.data = &id_prr },
 	{ /* sentinel */ }
 };
@@ -485,6 +502,11 @@ static int __init renesas_soc_init(void)
 			soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u",
 							   eshi);
 			rev_prefix = "Rev ";
+		} else if (id == &id_rzv2m) {
+			eshi = ((product >> 4) & 0x0f);
+			eslo = product & 0xf;
+			soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u.%u",
+							   eshi, eslo);
 		}
 
 		if (soc->id &&
-- 
2.25.1


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

* [PATCH v4 3/3] arm64: dts: renesas: r9a09g011: Add system controller node
  2022-11-16 10:21 [PATCH v4 0/3] Add SoC identification support for RZ/V2M Biju Das
  2022-11-16 10:21 ` [PATCH v4 1/3] dt-bindings: arm: renesas: Document Renesas RZ/V2M System Configuration Biju Das
  2022-11-16 10:21 ` [PATCH v4 2/3] soc: renesas: Identify RZ/V2M SoC Biju Das
@ 2022-11-16 10:21 ` Biju Das
  2022-11-17 19:51 ` [PATCH v4 0/3] Add SoC identification support for RZ/V2M Geert Uytterhoeven
  3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2022-11-16 10:21 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski
  Cc: Biju Das, Geert Uytterhoeven, Magnus Damm, linux-renesas-soc,
	devicetree, Chris Paterson, Fabrizio Castro

Add system controller node to RZ/V2M SoC dtsi.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3->v4:
 * Added Rb tag from Geert.
v2->v3:
 * Updated commit header and description 
 * Updated label and node-names
 * system-controller node is enabled by default as it do not need external
   resources from board.
v2:
 * New patch
---
 arch/arm64/boot/dts/renesas/r9a09g011.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r9a09g011.dtsi b/arch/arm64/boot/dts/renesas/r9a09g011.dtsi
index ca9f022d6632..0373ec409d54 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g011.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a09g011.dtsi
@@ -130,6 +130,11 @@ cpg: clock-controller@a3500000 {
 			#power-domain-cells = <0>;
 		};
 
+		sys: system-controller@a3f03000 {
+			compatible = "renesas,r9a09g011-sys";
+			reg = <0 0xa3f03000 0 0x400>;
+		};
+
 		i2c0: i2c@a4030000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-- 
2.25.1


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

* Re: [PATCH v4 0/3] Add SoC identification support for RZ/V2M
  2022-11-16 10:21 [PATCH v4 0/3] Add SoC identification support for RZ/V2M Biju Das
                   ` (2 preceding siblings ...)
  2022-11-16 10:21 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g011: Add system controller node Biju Das
@ 2022-11-17 19:51 ` Geert Uytterhoeven
  3 siblings, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2022-11-17 19:51 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Krzysztof Kozlowski, Geert Uytterhoeven,
	Magnus Damm, linux-renesas-soc, devicetree, Chris Paterson,
	Fabrizio Castro

On Wed, Nov 16, 2022 at 11:21 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> This patch series aims to add SoC identification support for RZ/V2M.
>
> v3->v4:
>  * Added Rb tags from Krzysztof and Geert
>  * Fixed the example indentation from 3 spaces-> 2 spaces.

Thanks, queued in renesas-devel for v6.2.

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

end of thread, other threads:[~2022-11-17 19:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-16 10:21 [PATCH v4 0/3] Add SoC identification support for RZ/V2M Biju Das
2022-11-16 10:21 ` [PATCH v4 1/3] dt-bindings: arm: renesas: Document Renesas RZ/V2M System Configuration Biju Das
2022-11-16 10:21 ` [PATCH v4 2/3] soc: renesas: Identify RZ/V2M SoC Biju Das
2022-11-16 10:21 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g011: Add system controller node Biju Das
2022-11-17 19:51 ` [PATCH v4 0/3] Add SoC identification support for RZ/V2M 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).