[PATCH/RFC 1/9] dt-bindings: can: renesas,rcar-canfd: Document R-Car X5H support
Geert Uytterhoeven
geert+renesas at glider.be
Thu Oct 29 06:11:02 PDT 2026
Document support for the Controller Area Network Flexible Data Rate
(CAN-FD) modules as found on R-Car X5H, which is the first member of the
R-Car Gen5 family. It is a further evolution of the CAN-FD block found
on R-Car Gen4 SoCs, adding Freedom From Interference and Virtual Machine
support.
Binding-wise, the major difference is the split of global and
per-channel interrupts (like on RZ/G2L), and the addition of Virtual
Machine interrupts.
Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
---
Do we need the VM interrupts, or are they meant for the hypervisor?
If yes, should we add a third option for interrupts and interrupt-names:
- 2 global interrupts,
- 8 VM interrupts,
- 8 (= number of channels) x 3 channel interrupts,
so we can easily restrict the number of interrupts when a variant with
less than 8 channels appears?
---
.../bindings/net/can/renesas,rcar-canfd.yaml | 84 +++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
index 470d178e5faccf6a..2d36d63b281e30b2 100644
--- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
@@ -40,6 +40,11 @@ properties:
- renesas,r8a779h0-canfd # R-Car V4M
- const: renesas,rcar-gen4-canfd # R-Car Gen4
+ - items:
+ - enum:
+ - renesas,r8a78000-canfd # R-Car X5H
+ - const: renesas,rcar-gen5-canfd # R-Car Gen5
+
- items:
- enum:
- renesas,r9a07g043-canfd # RZ/G2UL and RZ/Five
@@ -86,6 +91,36 @@ properties:
- description: CAN5 error interrupt
- description: CAN5 transmit interrupt
- description: CAN5 transmit/receive FIFO receive completion interrupt
+ - description: CAN6 error interrupt
+ - description: CAN6 transmit interrupt
+ - description: CAN6 transmit/receive FIFO receive completion interrupt
+ - description: CAN7 error interrupt
+ - description: CAN7 transmit interrupt
+ - description: CAN7 transmit/receive FIFO receive completion interrupt
+ - description: Virtual Machine 0 transmit interrupt
+ - description: Virtual Machine 0 receive interrupt
+ - description: Virtual Machine 0 error interrupt
+ - description: Virtual Machine 1 transmit interrupt
+ - description: Virtual Machine 1 receive interrupt
+ - description: Virtual Machine 1 error interrupt
+ - description: Virtual Machine 2 transmit interrupt
+ - description: Virtual Machine 2 receive interrupt
+ - description: Virtual Machine 2 error interrupt
+ - description: Virtual Machine 3 transmit interrupt
+ - description: Virtual Machine 3 receive interrupt
+ - description: Virtual Machine 3 error interrupt
+ - description: Virtual Machine 4 transmit interrupt
+ - description: Virtual Machine 4 receive interrupt
+ - description: Virtual Machine 4 error interrupt
+ - description: Virtual Machine 5 transmit interrupt
+ - description: Virtual Machine 5 receive interrupt
+ - description: Virtual Machine 5 error interrupt
+ - description: Virtual Machine 6 transmit interrupt
+ - description: Virtual Machine 6 receive interrupt
+ - description: Virtual Machine 6 error interrupt
+ - description: Virtual Machine 7 transmit interrupt
+ - description: Virtual Machine 7 receive interrupt
+ - description: Virtual Machine 7 error interrupt
minItems: 8
interrupt-names:
@@ -114,6 +149,36 @@ properties:
- const: ch5_err
- const: ch5_rec
- const: ch5_trx
+ - const: ch6_err
+ - const: ch6_rec
+ - const: ch6_trx
+ - const: ch7_err
+ - const: ch7_rec
+ - const: ch7_trx
+ - const: vm0_tx
+ - const: vm0_rx
+ - const: vm0_err
+ - const: vm1_tx
+ - const: vm1_rx
+ - const: vm1_err
+ - const: vm2_tx
+ - const: vm2_rx
+ - const: vm2_err
+ - const: vm3_tx
+ - const: vm3_rx
+ - const: vm3_err
+ - const: vm4_tx
+ - const: vm4_rx
+ - const: vm4_err
+ - const: vm5_tx
+ - const: vm5_rx
+ - const: vm5_err
+ - const: vm6_tx
+ - const: vm6_rx
+ - const: vm6_err
+ - const: vm7_tx
+ - const: vm7_rx
+ - const: vm7_err
minItems: 8
clocks:
@@ -232,6 +297,22 @@ allOf:
resets:
maxItems: 1
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: renesas,rcar-gen5-canfd
+ then:
+ properties:
+ interrupts:
+ minItems: 50
+
+ interrupt-names:
+ minItems: 50
+
+ resets:
+ maxItems: 1
+
- if:
properties:
compatible:
@@ -241,9 +322,11 @@ allOf:
properties:
interrupts:
minItems: 20
+ maxItems: 20
interrupt-names:
minItems: 20
+ maxItems: 20
resets:
minItems: 2
@@ -354,6 +437,7 @@ allOf:
enum:
- renesas,rcar-gen3-canfd
- renesas,rcar-gen4-canfd
+ - renesas,rcar-gen5-canfd
then:
required:
- resets
--
2.43.0
More information about the linux-arm-kernel
mailing list