[PATCH v2 3/7] dt-bindings: i3c: renesas,i3c: Add RZ/G3L support
From: Diogo Ivo
Date: Mon Oct 26 2026 - 07:37:15 EST
Add device tree binding support for I3C on the Renesas RZ/G3L
(R9A08G046) SoC.
The I3C IP on the RZ/G3L is a subset of the one on the RZ/G3S, as the
RZ/G3L has no HDR Exit Pattern detection interrupt. The resources are
consumed by name (the tclk clock, the presetn and tresetn resets and
seven of the named interrupts), all of which the RZ/G3L provides, so
software can match and bind a RZ/G3L node through the RZ/G3S
compatible. Add the RZ/G3L-specific "renesas,r9a08g046-i3c" compatible
with a fallback to the RZ/G3S "renesas,r9a08g045-i3c" compatible.
The RZ/G3L is not compatible with the RZ/G3E, which has no input analog
filters and supports high-speed mode (up to 3.4 Mbps).
Split the clock and interrupt constraints into separate if/else blocks
so that RZ/G3L nodes inherit the 2-clock limit from the RZ/G3S fallback
while being constrained to 16 interrupts alongside the RZ/G3E.
Signed-off-by: Diogo Ivo <diogo.ivo.sx@xxxxxxxxxxx>
---
Changes in v2:
- Describe the RZ/G3L by a SoC-specific compatible with a fallback to
the renesas,r9a08g045-i3c compatible of the RZ/G3S, instead of a
plain compatible, and drop the corresponding driver patch.
- Split the clock and interrupt constraints into separate if/else
blocks to handle the RZ/G3S fallback on RZ/G3L nodes.
- Explain in the commit message why the RZ/G3L is not made compatible
with the RZ/G3E.
---
.../devicetree/bindings/i3c/renesas,i3c.yaml | 27 ++++++++++++++--------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/i3c/renesas,i3c.yaml b/Documentation/devicetree/bindings/i3c/renesas,i3c.yaml
index a20d875086d4..9f69766df07c 100644
--- a/Documentation/devicetree/bindings/i3c/renesas,i3c.yaml
+++ b/Documentation/devicetree/bindings/i3c/renesas,i3c.yaml
@@ -17,6 +17,9 @@ properties:
- enum:
- renesas,r9a08g045-i3c # RZ/G3S
- renesas,r9a09g047-i3c # RZ/G3E
+ - items:
+ - const: renesas,r9a08g046-i3c # RZ/G3L
+ - const: renesas,r9a08g045-i3c
- items:
- enum:
- renesas,r9a09g056-i3c # RZ/V2N
@@ -120,26 +123,32 @@ allOf:
maxItems: 2
clock-names:
maxItems: 2
- interrupts:
- minItems: 17
- interrupt-names:
- minItems: 17
+ else:
+ properties:
+ clocks:
+ minItems: 3
+ clock-names:
+ minItems: 3
- if:
properties:
compatible:
contains:
- const: renesas,r9a09g047-i3c
+ enum:
+ - renesas,r9a08g046-i3c
+ - renesas,r9a09g047-i3c
then:
properties:
- clocks:
- minItems: 3
- clock-names:
- minItems: 3
interrupts:
maxItems: 16
interrupt-names:
maxItems: 16
+ else:
+ properties:
+ interrupts:
+ minItems: 17
+ interrupt-names:
+ minItems: 17
unevaluatedProperties: false
--
2.56.0