devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 01/13] dt-bindings: soc: Add Renesas RZ/T2H (R9A09G077) SoC
       [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
@ 2025-03-31 12:26 ` Thierry Bultel
  2025-03-31 12:26 ` [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC Thierry Bultel
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 12:26 UTC (permalink / raw)
  To: thierry.bultel
  Cc: linux-renesas-soc, geert, paul.barker.ct, Thierry Bultel,
	Rob Herring, Geert Uytterhoeven, devicetree, linux-kernel

Add RZ/T2H (R9A09G077), its variants, and the rt2h-evk evaluation board in
documentation.

Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
---
Changes v5->v6: rebased on next-20250331
Changes v4->v5: none
Changes v3->v4: none
---
 .../devicetree/bindings/soc/renesas/renesas.yaml       | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/renesas/renesas.yaml b/Documentation/devicetree/bindings/soc/renesas/renesas.yaml
index 51a4c48eea6d..6874f425bf1f 100644
--- a/Documentation/devicetree/bindings/soc/renesas/renesas.yaml
+++ b/Documentation/devicetree/bindings/soc/renesas/renesas.yaml
@@ -570,6 +570,16 @@ properties:
           - const: renesas,r9a09g057h48
           - const: renesas,r9a09g057
 
+      - description: RZ/T2H (R9A09G077)
+        items:
+          - enum:
+              - renesas,rzt2h-evk # RZ/T2H Evaluation Board
+          - enum:
+              - renesas,r9a09g077m04 # RZ/T2H with Single Cortex-A55 + Dual Cortex-R52 - no security
+              - renesas,r9a09g077m24 # RZ/T2H with Dual Cortex-A55 + Dual Cortex-R52 - no security
+              - renesas,r9a09g077m44 # RZ/T2H with Quad Cortex-A55 + Dual Cortex-R52 - no security
+          - const: renesas,r9a09g077
+
 additionalProperties: true
 
 ...
-- 
2.43.0


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

* [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC
       [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
  2025-03-31 12:26 ` [PATCH v6 01/13] dt-bindings: soc: Add Renesas RZ/T2H (R9A09G077) SoC Thierry Bultel
@ 2025-03-31 12:26 ` Thierry Bultel
  2025-03-31 23:59   ` Rob Herring
  2025-03-31 12:26 ` [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci Thierry Bultel
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 12:26 UTC (permalink / raw)
  To: thierry.bultel
  Cc: linux-renesas-soc, geert, paul.barker.ct, Thierry Bultel,
	Geert Uytterhoeven, linux-clk, devicetree, linux-kernel

Document RZ/T2H (a.k.a r9a09g077) cpg-mssr (Clock Pulse Generator) binding.

Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
---
Changes v5->v6:
  - Set clock minItem constraint
  - Moved additionalProperties after 'allOf' section
Changes v4->v5:
  - Set reg minItems and maxItems defaults at top level
Changes v3->v4:
  - Handle maxItems and clocks names properly in schema. 
---
 .../bindings/clock/renesas,cpg-mssr.yaml      | 57 +++++++++++++------
 .../clock/renesas,r9a09g077-cpg-mssr.h        | 49 ++++++++++++++++
 2 files changed, 90 insertions(+), 16 deletions(-)
 create mode 100644 include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h

diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
index 77ce3615c65a..dee4c44ef025 100644
--- a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
+++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
@@ -52,9 +52,11 @@ properties:
       - renesas,r8a779f0-cpg-mssr # R-Car S4-8
       - renesas,r8a779g0-cpg-mssr # R-Car V4H
       - renesas,r8a779h0-cpg-mssr # R-Car V4M
+      - renesas,r9a09g077-cpg-mssr # RZ/T2H
 
   reg:
-    maxItems: 1
+    minItems: 1
+    maxItems: 2
 
   clocks:
     minItems: 1
@@ -63,11 +65,6 @@ properties:
   clock-names:
     minItems: 1
     maxItems: 2
-    items:
-      enum:
-        - extal     # All
-        - extalr    # Most R-Car Gen3 and RZ/G2
-        - usb_extal # Most R-Car Gen2 and RZ/G1
 
   '#clock-cells':
     description: |
@@ -92,16 +89,6 @@ properties:
       the datasheet.
     const: 1
 
-if:
-  not:
-    properties:
-      compatible:
-        items:
-          enum:
-            - renesas,r7s9210-cpg-mssr
-then:
-  required:
-    - '#reset-cells'
 
 required:
   - compatible
@@ -111,6 +98,44 @@ required:
   - '#clock-cells'
   - '#power-domain-cells'
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r9a09g077-cpg-mssr
+    then:
+      properties:
+        reg:
+          minItems: 2
+        clocks:
+          minItems: 2
+        clock-names:
+          items:
+            - const: extal
+            - const: loco
+    else:
+      properties:
+        reg:
+          maxItems: 1
+        clock-names:
+          items:
+            enum:
+              - extal     # All
+              - extalr    # Most R-Car Gen3 and RZ/G2
+              - usb_extal # Most R-Car Gen2 and RZ/G1
+
+  - if:
+      not:
+        properties:
+          compatible:
+            items:
+              enum:
+                - renesas,r7s9210-cpg-mssr
+    then:
+      required:
+        - '#reset-cells'
+
 additionalProperties: false
 
 examples:
diff --git a/include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h b/include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h
new file mode 100644
index 000000000000..27c9cdcdf7c8
--- /dev/null
+++ b/include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+ *
+ * Copyright (C) 2025 Renesas Electronics Corp.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_RENESAS_R9A09G077_CPG_H__
+#define __DT_BINDINGS_CLOCK_RENESAS_R9A09G077_CPG_H__
+
+#include <dt-bindings/clock/renesas-cpg-mssr.h>
+
+/* R9A09G077 CPG Core Clocks */
+#define R9A09G077_CA55C0		0
+#define R9A09G077_CA55C1		1
+#define R9A09G077_CA55C2		2
+#define R9A09G077_CA55C3		3
+#define R9A09G077_SDHIHS		4
+#define R9A09G077_CLK_PLL1_ETH_PHY	5
+#define R9A09G077_CLK_OSC_ETH_PHY	6
+#define R9A09G077_CLK_ETHPHY		7
+#define R9A09G077_PCLKAH		8
+#define R9A09G077_PCLKAM		9
+#define R9A09G077_PCLKAL		10
+#define R9A09G077_CLK_SEL_ETH_PHY	11
+#define R9A09G077_DFI			12
+#define R9A09G077_PCLKH			13
+#define R9A09G077_PCLKM			14
+#define R9A09G077_PCLKL			15
+#define R9A09G077_PCLKGPTL		16
+#define R9A09G077_PCLKSHOST		17
+#define R9A09G077_PCLKRTC		18
+#define R9A09G077_USB			19
+#define R9A09G077_SPI0			20
+#define R9A09G077_SPI1			21
+#define R9A09G077_SPI2			22
+#define R9A09G077_SPI3			23
+#define R9A09G077_ETCLKA		24
+#define R9A09G077_ETCLKB		25
+#define R9A09G077_ETCLKC		26
+#define R9A09G077_ETCLKD		27
+#define R9A09G077_ETCLKE		28
+#define R9A09G077_ETHCLKE		29
+#define R9A09G077_ETHCLK_EXTAL		30
+#define R9A09G077_ETH_REFCLK		31
+#define R9A09G077_LCDC_CLKA		32
+#define R9A09G077_LCDC_CLKP		33
+#define R9A09G077_CA55			34
+#define R9A09G077_LCDC_CLKD		35
+
+#endif /* __DT_BINDINGS_CLOCK_RENESAS_R9A09G077_CPG_H__ */
-- 
2.43.0


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

* [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci
       [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
  2025-03-31 12:26 ` [PATCH v6 01/13] dt-bindings: soc: Add Renesas RZ/T2H (R9A09G077) SoC Thierry Bultel
  2025-03-31 12:26 ` [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC Thierry Bultel
@ 2025-03-31 12:26 ` Thierry Bultel
  2025-03-31 13:04   ` Geert Uytterhoeven
  2025-03-31 12:26 ` [PATCH v6 11/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H SoC Thierry Bultel
  2025-03-31 12:26 ` [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board Thierry Bultel
  4 siblings, 1 reply; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 12:26 UTC (permalink / raw)
  To: thierry.bultel
  Cc: linux-renesas-soc, geert, paul.barker.ct, Thierry Bultel,
	Rob Herring, Geert Uytterhoeven, linux-kernel, linux-serial,
	devicetree

The SCI of RZ/T2H SoC (a.k.a r9a09g077), as a lot
of similarities with other Renesas SoC like G2L, G3S, V2L;
However, it has a different set of registers, and in addition to serial,
this IP also supports SCIe (encoder), SmartCard, i2c and spi.
This is why the 'renesas,sci' fallback for generic SCI does not apply for it.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
---
Changes v5->v6: none
Changes v4->v5: none
Changes v3->v4:
  - Added more details in commit description about why renesas,sci 
    does not apply.
  - Removed uart-has-rtscts for !rzsci.
----
 .../bindings/serial/renesas,sci.yaml          | 63 ++++++++++++-------
 1 file changed, 39 insertions(+), 24 deletions(-)

diff --git a/Documentation/devicetree/bindings/serial/renesas,sci.yaml b/Documentation/devicetree/bindings/serial/renesas,sci.yaml
index 64d3db6e54e5..13c5c47cd72f 100644
--- a/Documentation/devicetree/bindings/serial/renesas,sci.yaml
+++ b/Documentation/devicetree/bindings/serial/renesas,sci.yaml
@@ -9,9 +9,6 @@ title: Renesas Serial Communication Interface
 maintainers:
   - Geert Uytterhoeven <geert+renesas@glider.be>
 
-allOf:
-  - $ref: serial.yaml#
-
 properties:
   compatible:
     oneOf:
@@ -22,6 +19,8 @@ properties:
               - renesas,r9a07g054-sci     # RZ/V2L
           - const: renesas,sci            # generic SCI compatible UART
 
+      - const: renesas,r9a09g077-sci      # RZ/T2H
+
       - items:
           - const: renesas,sci            # generic SCI compatible UART
 
@@ -54,8 +53,6 @@ properties:
         - fck # UART functional clock
         - sck # optional external clock input
 
-  uart-has-rtscts: false
-
 required:
   - compatible
   - reg
@@ -63,25 +60,43 @@ required:
   - clocks
   - clock-names
 
-if:
-  properties:
-    compatible:
-      contains:
-        enum:
-          - renesas,r9a07g043-sci
-          - renesas,r9a07g044-sci
-          - renesas,r9a07g054-sci
-then:
-  properties:
-    resets:
-      maxItems: 1
-
-    power-domains:
-      maxItems: 1
-
-  required:
-    - resets
-    - power-domains
+allOf:
+  - $ref: serial.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r9a09g077-sci
+    then:
+      properties:
+        power-domains:
+          maxItems: 1
+      required:
+        - power-domains
+
+    else:
+      properties:
+        uart-has-rtscts: false
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - renesas,r9a07g043-sci
+              - renesas,r9a07g044-sci
+              - renesas,r9a07g054-sci
+    then:
+      properties:
+        resets:
+          maxItems: 1
+
+        power-domains:
+          maxItems: 1
+
+      required:
+        - resets
+        - power-domains
 
 unevaluatedProperties: false
 
-- 
2.43.0


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

* [PATCH v6 11/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H SoC
       [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
                   ` (2 preceding siblings ...)
  2025-03-31 12:26 ` [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci Thierry Bultel
@ 2025-03-31 12:26 ` Thierry Bultel
  2025-03-31 12:26 ` [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board Thierry Bultel
  4 siblings, 0 replies; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 12:26 UTC (permalink / raw)
  To: thierry.bultel
  Cc: linux-renesas-soc, geert, paul.barker.ct, Thierry Bultel,
	devicetree, linux-kernel

Add the initial dtsi for the RZ/T2H Soc:

- gic
- armv8-timer
- cpg clock
- sci0 uart

also add arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi, that keeps
all 4 CPUs enabled, for consistency with later support of -m24
and -m04 SoC revisions, that only have 2 and 1 Cortex-A55, respectively,
and that will use /delete-node/ to disable the missing CPUs.

Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
---
Changes v5->v6: none
Changes v4->v5: none
Changes v3->v4: none
---
 arch/arm64/boot/dts/renesas/r9a09g077.dtsi    | 129 ++++++++++++++++++
 arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi |  13 ++
 2 files changed, 142 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r9a09g077.dtsi
 create mode 100644 arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi

diff --git a/arch/arm64/boot/dts/renesas/r9a09g077.dtsi b/arch/arm64/boot/dts/renesas/r9a09g077.dtsi
new file mode 100644
index 000000000000..80e7805f2561
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r9a09g077.dtsi
@@ -0,0 +1,129 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Device Tree Source for the RZ/T2H SoC
+ *
+ * Copyright (C) 2025 Renesas Electronics Corp.
+ */
+
+#include <dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "renesas,r9a09g077";
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	extal_clk: extal {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		/* This value must be overridden by the board */
+		clock-frequency = <0>;
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		l3_ca55: cache-controller-0 {
+			compatible = "cache";
+			cache-unified;
+			cache-size = <0x100000>;
+			cache-level = <3>;
+		};
+
+		cpu0: cpu@0 {
+			compatible = "arm,cortex-a55";
+			reg = <0>;
+			device_type = "cpu";
+			next-level-cache = <&l3_ca55>;
+			enable-method = "psci";
+		};
+
+		cpu1: cpu@100 {
+			compatible = "arm,cortex-a55";
+			reg = <0x100>;
+			device_type = "cpu";
+			next-level-cache = <&l3_ca55>;
+			enable-method = "psci";
+		};
+
+		cpu2: cpu@200 {
+			compatible = "arm,cortex-a55";
+			reg = <0x200>;
+			device_type = "cpu";
+			next-level-cache = <&l3_ca55>;
+			enable-method = "psci";
+		};
+
+		cpu3: cpu@300 {
+			compatible = "arm,cortex-a55";
+			reg = <0x300>;
+			device_type = "cpu";
+			next-level-cache = <&l3_ca55>;
+			enable-method = "psci";
+		};
+	};
+
+	loco_clk: loco {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		/* This value must be overridden by the board */
+		clock-frequency = <0>;
+	};
+
+	psci {
+		compatible = "arm,psci-1.0", "arm,psci-0.2";
+		method = "smc";
+	};
+
+	soc: soc {
+		compatible = "simple-bus";
+		interrupt-parent = <&gic>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		sci0: serial@80005000 {
+			compatible = "renesas,r9a09g077-sci";
+			reg = <0 0x80005000 0 0x400>;
+			interrupts = <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 591 IRQ_TYPE_EDGE_RISING>,
+				     <GIC_SPI 592 IRQ_TYPE_EDGE_RISING>,
+				     <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "eri", "rxi", "txi", "tei";
+			clocks = <&cpg CPG_MOD 108>;
+			clock-names = "fck";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		cpg: clock-controller@80280000 {
+			compatible = "renesas,r9a09g077-cpg-mssr";
+			reg = <0 0x80280000 0 0x1000>,
+			      <0 0x81280000 0 0x9000>;
+			clocks = <&extal_clk>, <&loco_clk>;
+			clock-names = "extal", "loco";
+			#clock-cells = <2>;
+			#reset-cells = <1>;
+			#power-domain-cells = <0>;
+		};
+
+		gic: interrupt-controller@83000000 {
+			compatible = "arm,gic-v3";
+			reg = <0x0 0x83000000 0 0x40000>,
+			      <0x0 0x83040000 0 0x160000>;
+			#interrupt-cells = <3>;
+			#address-cells = <0>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+	};
+};
diff --git a/arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi b/arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi
new file mode 100644
index 000000000000..6f4a11b39d12
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r9a09g077m44.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Device Tree Source for the RZ/T2H 4-core SoC
+ *
+ * Copyright (C) 2025 Renesas Electronics Corp.
+ */
+
+/dts-v1/;
+#include "r9a09g077.dtsi"
+
+/ {
+	compatible = "renesas,r9a09g077m44", "renesas,r9a09g077";
+};
-- 
2.43.0


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

* [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board
       [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
                   ` (3 preceding siblings ...)
  2025-03-31 12:26 ` [PATCH v6 11/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H SoC Thierry Bultel
@ 2025-03-31 12:26 ` Thierry Bultel
  2025-03-31 13:00   ` Geert Uytterhoeven
  4 siblings, 1 reply; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 12:26 UTC (permalink / raw)
  To: thierry.bultel
  Cc: linux-renesas-soc, geert, paul.barker.ct, Thierry Bultel,
	devicetree, linux-kernel

Add the initial device tree for the RZ/T2H evaluation board.

Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
---
Changes v5->v6: rebased on next-20250331
Changes v4->v5: none
Changes v3->v4: none
---
 arch/arm/boot/dts/renesas/Makefile            |  1 +
 .../dts/renesas/r9a09g077m44-rzt2h-evk.dts    | 35 +++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 arch/arm/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts

diff --git a/arch/arm/boot/dts/renesas/Makefile b/arch/arm/boot/dts/renesas/Makefile
index 833a02447ecf..213a9819f965 100644
--- a/arch/arm/boot/dts/renesas/Makefile
+++ b/arch/arm/boot/dts/renesas/Makefile
@@ -30,4 +30,5 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
 	r8a7794-alt.dtb \
 	r8a7794-silk.dtb \
 	r9a06g032-rzn1d400-db.dtb \
+	r9a09g077m44-rzt2h-evk.dtb \
 	sh73a0-kzm9g.dtb
diff --git a/arch/arm/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts b/arch/arm/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts
new file mode 100644
index 000000000000..c87b95468023
--- /dev/null
+++ b/arch/arm/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+* Device Tree Source for the RZ/T2H Development EVK board
+*
+* Copyright (C) 2025 Renesas Electronics Corp.
+*/
+
+/dts-v1/;
+
+#include "r9a09g077m44.dtsi"
+
+/ {
+	model = "Renesas Development EVK based on r9a09g077m44";
+	compatible = "renesas,rzt2h-evk", "renesas,r9a09g077m44", "renesas,r9a09g077";
+
+	aliases {
+		serial0 = &sci0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&extal_clk {
+	clock-frequency = <25000000>;
+};
+
+&loco_clk {
+	clock-frequency = <1000000>;
+};
+
+&sci0 {
+	status = "okay";
+};
-- 
2.43.0


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

* Re: [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board
  2025-03-31 12:26 ` [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board Thierry Bultel
@ 2025-03-31 13:00   ` Geert Uytterhoeven
  2025-03-31 13:06     ` Thierry Bultel
  0 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2025-03-31 13:00 UTC (permalink / raw)
  To: Thierry Bultel
  Cc: thierry.bultel, linux-renesas-soc, paul.barker.ct, devicetree,
	linux-kernel

Hi Thierry,

On Mon, 31 Mar 2025 at 14:28, Thierry Bultel
<thierry.bultel.yh@bp.renesas.com> wrote:
> Add the initial device tree for the RZ/T2H evaluation board.
>
> Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> ---
> Changes v5->v6: rebased on next-20250331
> Changes v4->v5: none
> Changes v3->v4: none

Thanks for the update!

> --- a/arch/arm/boot/dts/renesas/Makefile
> +++ b/arch/arm/boot/dts/renesas/Makefile
> @@ -30,4 +30,5 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
>         r8a7794-alt.dtb \
>         r8a7794-silk.dtb \
>         r9a06g032-rzn1d400-db.dtb \
> +       r9a09g077m44-rzt2h-evk.dtb \

What happened? Why has this suddenly moved to the 32-bit ARM Makefile?

>         sh73a0-kzm9g.dtb

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

* Re: [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci
  2025-03-31 12:26 ` [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci Thierry Bultel
@ 2025-03-31 13:04   ` Geert Uytterhoeven
  2025-03-31 13:55     ` Thierry Bultel
  0 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2025-03-31 13:04 UTC (permalink / raw)
  To: Thierry Bultel
  Cc: thierry.bultel, linux-renesas-soc, paul.barker.ct, Rob Herring,
	Geert Uytterhoeven, linux-kernel, linux-serial, devicetree

Hi Thierry,

Thanks for the update!

On Mon, 31 Mar 2025 at 14:27, Thierry Bultel
<thierry.bultel.yh@bp.renesas.com> wrote:
> The SCI of RZ/T2H SoC (a.k.a r9a09g077), as a lot

RSCI in the RZ/T2H SoC ... has

> of similarities with other Renesas SoC like G2L, G3S, V2L;

... with SCI in other ..

> However, it has a different set of registers, and in addition to serial,
> this IP also supports SCIe (encoder), SmartCard, i2c and spi.
> This is why the 'renesas,sci' fallback for generic SCI does not apply for it.
>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>

> --- a/Documentation/devicetree/bindings/serial/renesas,sci.yaml
> +++ b/Documentation/devicetree/bindings/serial/renesas,sci.yaml

Given we're now using the "RSCI" naming, I think it deserves its own
DT binding document.

> @@ -9,9 +9,6 @@ title: Renesas Serial Communication Interface
>  maintainers:
>    - Geert Uytterhoeven <geert+renesas@glider.be>
>
> -allOf:
> -  - $ref: serial.yaml#
> -
>  properties:
>    compatible:
>      oneOf:
> @@ -22,6 +19,8 @@ properties:
>                - renesas,r9a07g054-sci     # RZ/V2L
>            - const: renesas,sci            # generic SCI compatible UART
>
> +      - const: renesas,r9a09g077-sci      # RZ/T2H

renesas,r9a09g077-rsci

> +
>        - items:
>            - const: renesas,sci            # generic SCI compatible UART
>

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

* RE: [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board
  2025-03-31 13:00   ` Geert Uytterhoeven
@ 2025-03-31 13:06     ` Thierry Bultel
  0 siblings, 0 replies; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 13:06 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: thierry.bultel@linatsea.fr, linux-renesas-soc@vger.kernel.org,
	Paul Barker, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org



> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: lundi 31 mars 2025 15:01
> To: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> Cc: thierry.bultel@linatsea.fr; linux-renesas-soc@vger.kernel.org; Paul
> Barker <paul.barker.ct@bp.renesas.com>; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH v6 12/13] arm64: dts: renesas: Add initial support for
> renesas RZ/T2H eval board
> 
> Hi Thierry,
> 
Hi Geert,

> On Mon, 31 Mar 2025 at 14:28, Thierry Bultel
> <thierry.bultel.yh@bp.renesas.com> wrote:
> > Add the initial device tree for the RZ/T2H evaluation board.
> >
> > Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> > ---
> > Changes v5->v6: rebased on next-20250331 Changes v4->v5: none Changes
> > v3->v4: none
> 
> Thanks for the update!
> 
> > --- a/arch/arm/boot/dts/renesas/Makefile
> > +++ b/arch/arm/boot/dts/renesas/Makefile
> > @@ -30,4 +30,5 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
> >         r8a7794-alt.dtb \
> >         r8a7794-silk.dtb \
> >         r9a06g032-rzn1d400-db.dtb \
> > +       r9a09g077m44-rzt2h-evk.dtb \
> 
> What happened? Why has this suddenly moved to the 32-bit ARM Makefile?

Well probably because I haven't payed enough attention when rebasing,
sorry.

> 
> >         sh73a0-kzm9g.dtb
> 
> 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] 12+ messages in thread

* RE: [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci
  2025-03-31 13:04   ` Geert Uytterhoeven
@ 2025-03-31 13:55     ` Thierry Bultel
  2025-03-31 14:27       ` Geert Uytterhoeven
  0 siblings, 1 reply; 12+ messages in thread
From: Thierry Bultel @ 2025-03-31 13:55 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: thierry.bultel@linatsea.fr, linux-renesas-soc@vger.kernel.org,
	Paul Barker, Rob Herring, Geert Uytterhoeven,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
	devicetree@vger.kernel.org

Hi Geert,

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: lundi 31 mars 2025 15:04
> To: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> Cc: thierry.bultel@linatsea.fr; linux-renesas-soc@vger.kernel.org; Paul
> Barker <paul.barker.ct@bp.renesas.com>; Rob Herring <robh@kernel.org>;
> Geert Uytterhoeven <geert+renesas@glider.be>; linux-
> kernel@vger.kernel.org; linux-serial@vger.kernel.org;
> devicetree@vger.kernel.org
> Subject: Re: [PATCH v6 03/13] dt-bindings: serial: Add compatible for
> Renesas RZ/T2H SoC in sci
> 
> Hi Thierry,
> 
> Thanks for the update!
> 
> On Mon, 31 Mar 2025 at 14:27, Thierry Bultel
> <thierry.bultel.yh@bp.renesas.com> wrote:
> > The SCI of RZ/T2H SoC (a.k.a r9a09g077), as a lot
> 
> RSCI in the RZ/T2H SoC ... has
> 
> > of similarities with other Renesas SoC like G2L, G3S, V2L;
> 
> ... with SCI in other ..
> 
> > However, it has a different set of registers, and in addition to
> > serial, this IP also supports SCIe (encoder), SmartCard, i2c and spi.
> > This is why the 'renesas,sci' fallback for generic SCI does not apply
> for it.
> >
> > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> > Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> 
> > --- a/Documentation/devicetree/bindings/serial/renesas,sci.yaml
> > +++ b/Documentation/devicetree/bindings/serial/renesas,sci.yaml
> 
> Given we're now using the "RSCI" naming, I think it deserves its own DT
> binding document.

All right, but I have then several questions
1) I am not sure it can have generic fallback,
e.g. something like :

properties:
  compatible:
    - const: renesas,r9a09g077-rsci      # RZ/T2H

... is just enough, can you confirm ?

2) Should I also change the node name in .dtsi file from 'sci0' to 'rsci0' ?

Thanks !

> 
> > @@ -9,9 +9,6 @@ title: Renesas Serial Communication Interface
> >  maintainers:
> >    - Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > -allOf:
> > -  - $ref: serial.yaml#
> > -
> >  properties:
> >    compatible:
> >      oneOf:
> > @@ -22,6 +19,8 @@ properties:
> >                - renesas,r9a07g054-sci     # RZ/V2L
> >            - const: renesas,sci            # generic SCI compatible UART
> >
> > +      - const: renesas,r9a09g077-sci      # RZ/T2H
> 
> renesas,r9a09g077-rsci
> 
> > +
> >        - items:
> >            - const: renesas,sci            # generic SCI compatible UART
> >
> 
> 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] 12+ messages in thread

* Re: [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci
  2025-03-31 13:55     ` Thierry Bultel
@ 2025-03-31 14:27       ` Geert Uytterhoeven
  0 siblings, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2025-03-31 14:27 UTC (permalink / raw)
  To: Thierry Bultel
  Cc: thierry.bultel@linatsea.fr, linux-renesas-soc@vger.kernel.org,
	Paul Barker, Rob Herring, Geert Uytterhoeven,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
	devicetree@vger.kernel.org

Hi Thierry,

On Mon, 31 Mar 2025 at 15:55, Thierry Bultel
<thierry.bultel.yh@bp.renesas.com> wrote:
> > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > On Mon, 31 Mar 2025 at 14:27, Thierry Bultel
> > <thierry.bultel.yh@bp.renesas.com> wrote:
> > > The SCI of RZ/T2H SoC (a.k.a r9a09g077), as a lot
> >
> > RSCI in the RZ/T2H SoC ... has
> >
> > > of similarities with other Renesas SoC like G2L, G3S, V2L;
> >
> > ... with SCI in other ..
> >
> > > However, it has a different set of registers, and in addition to
> > > serial, this IP also supports SCIe (encoder), SmartCard, i2c and spi.
> > > This is why the 'renesas,sci' fallback for generic SCI does not apply
> > for it.
> > >
> > > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> > > Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> >
> > > --- a/Documentation/devicetree/bindings/serial/renesas,sci.yaml
> > > +++ b/Documentation/devicetree/bindings/serial/renesas,sci.yaml
> >
> > Given we're now using the "RSCI" naming, I think it deserves its own DT
> > binding document.
>
> All right, but I have then several questions
> 1) I am not sure it can have generic fallback,
> e.g. something like :
>
> properties:
>   compatible:
>     - const: renesas,r9a09g077-rsci      # RZ/T2H
>
> ... is just enough, can you confirm ?

I don't think we need a generic fallback at this point.
You didn't have one before.

> 2) Should I also change the node name in .dtsi file from 'sci0' to 'rsci0' ?

You mean the labels? The node name is always "serial".
I think keeping sci0 for the label is fine, as that matches the name
of the instance in the documentation.

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

* Re: [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC
  2025-03-31 12:26 ` [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC Thierry Bultel
@ 2025-03-31 23:59   ` Rob Herring
  2025-04-01 12:20     ` Thierry Bultel
  0 siblings, 1 reply; 12+ messages in thread
From: Rob Herring @ 2025-03-31 23:59 UTC (permalink / raw)
  To: Thierry Bultel
  Cc: thierry.bultel, linux-renesas-soc, geert, paul.barker.ct,
	Geert Uytterhoeven, linux-clk, devicetree, linux-kernel

On Mon, Mar 31, 2025 at 02:26:43PM +0200, Thierry Bultel wrote:
> Document RZ/T2H (a.k.a r9a09g077) cpg-mssr (Clock Pulse Generator) binding.
> 
> Signed-off-by: Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
> ---
> Changes v5->v6:
>   - Set clock minItem constraint
>   - Moved additionalProperties after 'allOf' section
> Changes v4->v5:
>   - Set reg minItems and maxItems defaults at top level
> Changes v3->v4:
>   - Handle maxItems and clocks names properly in schema. 
> ---
>  .../bindings/clock/renesas,cpg-mssr.yaml      | 57 +++++++++++++------
>  .../clock/renesas,r9a09g077-cpg-mssr.h        | 49 ++++++++++++++++
>  2 files changed, 90 insertions(+), 16 deletions(-)
>  create mode 100644 include/dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h
> 
> diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> index 77ce3615c65a..dee4c44ef025 100644
> --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> @@ -52,9 +52,11 @@ properties:
>        - renesas,r8a779f0-cpg-mssr # R-Car S4-8
>        - renesas,r8a779g0-cpg-mssr # R-Car V4H
>        - renesas,r8a779h0-cpg-mssr # R-Car V4M
> +      - renesas,r9a09g077-cpg-mssr # RZ/T2H
>  
>    reg:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 2

You need to define what each entry is. And do that here assuming the 
first entry is the same in either case.

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

* RE: [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC
  2025-03-31 23:59   ` Rob Herring
@ 2025-04-01 12:20     ` Thierry Bultel
  0 siblings, 0 replies; 12+ messages in thread
From: Thierry Bultel @ 2025-04-01 12:20 UTC (permalink / raw)
  To: Rob Herring
  Cc: thierry.bultel@linatsea.fr, linux-renesas-soc@vger.kernel.org,
	geert@linux-m68k.org, Paul Barker, Geert Uytterhoeven,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org

Hi Rob, 
thanks for your review,

> >
> > diff --git
> > a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> > b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> > index 77ce3615c65a..dee4c44ef025 100644
> > --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> > +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
> > @@ -52,9 +52,11 @@ properties:
> >        - renesas,r8a779f0-cpg-mssr # R-Car S4-8
> >        - renesas,r8a779g0-cpg-mssr # R-Car V4H
> >        - renesas,r8a779h0-cpg-mssr # R-Car V4M
> > +      - renesas,r9a09g077-cpg-mssr # RZ/T2H
> >
> >    reg:
> > -    maxItems: 1
> > +    minItems: 1
> > +    maxItems: 2
> 
> You need to define what each entry is. And do that here assuming the first
> entry is the same in either case.

Would this be the right way ? (maxItems become implicit)


  reg:
    minItems: 1
    items:
      - description: base address of register block 0
      - description: base address of register block 1
    description: base addresses of clock controller. Some controllers
      (like r9a09g077) use two blocks instead of a single one).


Thanks !
Thierry

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

end of thread, other threads:[~2025-04-01 12:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250331122657.3390355-1-thierry.bultel.yh@bp.renesas.com>
2025-03-31 12:26 ` [PATCH v6 01/13] dt-bindings: soc: Add Renesas RZ/T2H (R9A09G077) SoC Thierry Bultel
2025-03-31 12:26 ` [PATCH v6 02/13] dt-bindings: clock: Add cpg for the Renesas RZ/T2H SoC Thierry Bultel
2025-03-31 23:59   ` Rob Herring
2025-04-01 12:20     ` Thierry Bultel
2025-03-31 12:26 ` [PATCH v6 03/13] dt-bindings: serial: Add compatible for Renesas RZ/T2H SoC in sci Thierry Bultel
2025-03-31 13:04   ` Geert Uytterhoeven
2025-03-31 13:55     ` Thierry Bultel
2025-03-31 14:27       ` Geert Uytterhoeven
2025-03-31 12:26 ` [PATCH v6 11/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H SoC Thierry Bultel
2025-03-31 12:26 ` [PATCH v6 12/13] arm64: dts: renesas: Add initial support for renesas RZ/T2H eval board Thierry Bultel
2025-03-31 13:00   ` Geert Uytterhoeven
2025-03-31 13:06     ` Thierry Bultel

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