* [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD
@ 2026-09-25 8:21 Biju Das
2026-09-25 8:21 ` [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Biju Das
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Biju Das @ 2026-09-25 8:21 UTC (permalink / raw)
To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm
Cc: Biju Das, Fabrizio Castro, linux-can, devicetree,
linux-renesas-soc, Chris Paterson, Biju Das,
Prabhakar Mahadev Lad
Add support for Renesas RZ/G3L CANFD.
The RZ/G3L CANFD IP has 3 channels and 11 interrupts compared to 2 channels
and 8 interrupts that of RZ/G3S. RZ/G3L has 288 buffers compared to 192
buffers on RZ/G3S SoC.
This patch series depend upon [1]
[1] https://lore.kernel.org/all/20260902141544.565763-1-claudiu.beznea+renesas@tuxon.dev/
v2->v3:
* Collected tags.
* Added check against RCANFD_NUM_CHANNELS, to avoid overrunning the
fixed-size rcar_canfd_global.ch[] and transceivers[] arrays.
* Fixed typo 198->192 buffers in commit description.
v1->v2:
* Added support for deriving max_channels from the device tree.
* Dropped clock patch as it is accepted.
* Dropped devicetree patches, will send it later.
* Updated commit description
* Dropped RZ/G3S fallback as there are lot of differences.
Biju Das (3):
dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC
can: rcar_canfd: Derive max_channels from the device tree
can: rcar_canfd: Add support for Renesas RZ/G3L
.../bindings/net/can/renesas,rcar-canfd.yaml | 27 ++++++++++++-
drivers/net/can/rcar/rcar_canfd.c | 40 +++++++++----------
2 files changed, 46 insertions(+), 21 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC 2026-09-25 8:21 [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Biju Das @ 2026-09-25 8:21 ` Biju Das 2026-10-01 6:03 ` Krzysztof Kozlowski 2026-09-25 8:21 ` [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree Biju Das ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Biju Das @ 2026-09-25 8:21 UTC (permalink / raw) To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, Magnus Damm Cc: Biju Das, Fabrizio Castro, linux-can, devicetree, linux-renesas-soc, Chris Paterson, Biju Das, Prabhakar Mahadev Lad Document the RZ/G3L (R9A08G046) SoC support. RZ/G3L has 11 interrupts and 3 CANFD channels compared to 8 interrupts and 2 CANFD channels on RZ/G3S. RZ/G3L has 288 buffers in total compared to 192 buffers in RZ/G3S. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v2->v3: * Collected tag. v1->v2: * Updated commit description * Dropped RZ/G3S fallback as there are lot of differences. --- .../bindings/net/can/renesas,rcar-canfd.yaml | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml index bbaaef8f4282..71b756c26cec 100644 --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml @@ -14,6 +14,7 @@ properties: oneOf: - enum: - renesas,r9a08g045-canfd # RZ/G3S + - renesas,r9a08g046-canfd # RZ/G3L - renesas,r9a09g047-canfd # RZ/G3E - renesas,r9a09g077-canfd # RZ/T2H @@ -292,6 +293,28 @@ allOf: patternProperties: "^channel[6-7]$": false + - if: + properties: + compatible: + contains: + const: renesas,r9a08g046-canfd + then: + properties: + interrupts: + minItems: 11 + maxItems: 11 + + interrupt-names: + minItems: 11 + maxItems: 11 + + resets: + minItems: 2 + maxItems: 2 + + patternProperties: + "^channel[3-7]$": false + - if: properties: compatible: @@ -356,7 +379,9 @@ allOf: properties: compatible: contains: - const: renesas,r9a08g045-canfd + enum: + - renesas,r9a08g045-canfd + - renesas,r9a08g046-canfd then: properties: renesas,no-can-fd: false -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC 2026-09-25 8:21 ` [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Biju Das @ 2026-10-01 6:03 ` Krzysztof Kozlowski 0 siblings, 0 replies; 10+ messages in thread From: Krzysztof Kozlowski @ 2026-10-01 6:03 UTC (permalink / raw) To: Biju Das Cc: Marc Kleine-Budde, Vincent Mailhol, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, Magnus Damm, Fabrizio Castro, linux-can, devicetree, linux-renesas-soc, Chris Paterson, Biju Das, Prabhakar Mahadev Lad On Fri, Sep 25, 2026 at 09:21:28AM +0100, Biju Das wrote: > + then: > + properties: > + interrupts: > + minItems: 11 > + maxItems: 11 > + > + interrupt-names: > + minItems: 11 > + maxItems: 11 > + > + resets: > + minItems: 2 > + maxItems: 2 Drop maxItems I'll fix existing code. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree 2026-09-25 8:21 [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Biju Das 2026-09-25 8:21 ` [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Biju Das @ 2026-09-25 8:21 ` Biju Das 2026-09-25 8:39 ` Geert Uytterhoeven 2026-09-25 8:44 ` Claudiu Beznea 2026-09-25 8:21 ` [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L Biju Das 2026-09-29 14:23 ` [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Marc Kleine-Budde 3 siblings, 2 replies; 10+ messages in thread From: Biju Das @ 2026-09-25 8:21 UTC (permalink / raw) To: Marc Kleine-Budde, Vincent Mailhol, Geert Uytterhoeven, Magnus Damm Cc: Biju Das, Claudiu Beznea, Lad Prabhakar, Tu Nguyen, linux-can, linux-renesas-soc, Chris Paterson, Biju Das The maximum number of channels is currently hardcoded per SoC in struct rcar_canfd_hw_info. Since the DT describes the channels as child nodes of the controller, the count can be obtained at probe time with of_get_child_count() instead. Drop max_channels from struct rcar_canfd_hw_info and store the value in struct rcar_canfd_global, so it no longer needs to be maintained for each SoC variant. Update all for_each_set_bit() users over channels_mask to use gpriv->max_channels. No functional change. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v2->v3: * Added check against RCANFD_NUM_CHANNELS, to avoid overrunning the fixed-size rcar_canfd_global.ch[] and transceivers[] arrays. v2: * New patch --- drivers/net/can/rcar/rcar_canfd.c | 39 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c index 74c3c3f20991..41c395118949 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -436,7 +436,6 @@ struct rcar_canfd_hw_info { u8 rnc_field_width; u8 max_aflpn; u8 max_cftml; - u8 max_channels; u8 postdiv; /* hardware features */ unsigned shared_global_irqs:1; /* Has shared global irqs */ @@ -478,6 +477,7 @@ struct rcar_canfd_global { struct reset_control *rstc1; struct reset_control *rstc2; const struct rcar_canfd_hw_info *info; + u8 max_channels; }; /* CAN FD mode nominal rate constants */ @@ -613,7 +613,6 @@ static const struct rcar_canfd_hw_info rcar_gen3_hw_info = { .rnc_field_width = 8, .max_aflpn = 31, .max_cftml = 15, - .max_channels = 2, .postdiv = 2, .shared_global_irqs = 1, .ch_interface_mode = 0, @@ -632,7 +631,6 @@ static const struct rcar_canfd_hw_info rcar_gen4_hw_info = { .rnc_field_width = 16, .max_aflpn = 127, .max_cftml = 31, - .max_channels = 8, .postdiv = 2, .shared_global_irqs = 1, .ch_interface_mode = 1, @@ -651,7 +649,6 @@ static const struct rcar_canfd_hw_info rzg2l_hw_info = { .rnc_field_width = 8, .max_aflpn = 31, .max_cftml = 15, - .max_channels = 2, .postdiv = 1, .multi_channel_irqs = 1, .ch_interface_mode = 0, @@ -670,7 +667,6 @@ static const struct rcar_canfd_hw_info r9a08g045_hw_info = { .rnc_field_width = 16, .max_aflpn = 15, .max_cftml = 31, - .max_channels = 2, .postdiv = 2, .shared_global_irqs = 0, .multi_channel_irqs = 1, @@ -690,7 +686,6 @@ static const struct rcar_canfd_hw_info r9a09g047_hw_info = { .rnc_field_width = 16, .max_aflpn = 63, .max_cftml = 31, - .max_channels = 6, .postdiv = 1, .multi_channel_irqs = 1, .ch_interface_mode = 1, @@ -709,7 +704,6 @@ static const struct rcar_canfd_hw_info r9a09g077_hw_info = { .rnc_field_width = 16, .max_aflpn = 15, .max_cftml = 31, - .max_channels = 2, .postdiv = 1, .multi_channel_irqs = 1, .ch_interface_mode = 1, @@ -854,7 +848,7 @@ static int rcar_canfd_reset_controller(struct rcar_canfd_global *gpriv) } /* Transition all Channels to reset mode */ - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { rcar_canfd_clear_bit(gpriv->base, RCANFD_CCTR(ch), RCANFD_CCTR_CSLPR); @@ -922,7 +916,7 @@ static void rcar_canfd_configure_controller(struct rcar_canfd_global *gpriv) rcar_canfd_set_bit(gpriv->base, RCANFD_GCFG, cfg); /* Channel configuration settings */ - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { rcar_canfd_set_bit(gpriv->base, RCANFD_CCTR(ch), RCANFD_CCTR_ERRD); rcar_canfd_update_bit(gpriv->base, RCANFD_CCTR(ch), @@ -1293,7 +1287,7 @@ static irqreturn_t rcar_canfd_global_err_interrupt(int irq, void *dev_id) struct rcar_canfd_global *gpriv = dev_id; u32 ch; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) rcar_canfd_handle_global_err(gpriv, ch); return IRQ_HANDLED; @@ -1325,7 +1319,7 @@ static irqreturn_t rcar_canfd_global_receive_fifo_interrupt(int irq, void *dev_i struct rcar_canfd_global *gpriv = dev_id; u32 ch; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) rcar_canfd_handle_global_receive(gpriv, ch); return IRQ_HANDLED; @@ -1339,7 +1333,7 @@ static irqreturn_t rcar_canfd_global_interrupt(int irq, void *dev_id) /* Global error interrupts still indicate a condition specific * to a channel. RxFIFO interrupt is a global interrupt. */ - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { rcar_canfd_handle_global_err(gpriv, ch); rcar_canfd_handle_global_receive(gpriv, ch); } @@ -1435,7 +1429,7 @@ static irqreturn_t rcar_canfd_channel_interrupt(int irq, void *dev_id) u32 ch; /* Common FIFO is a per channel resource */ - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { rcar_canfd_handle_channel_err(gpriv, ch); rcar_canfd_handle_channel_tx(gpriv, ch); } @@ -2072,7 +2066,7 @@ static int rcar_canfd_global_init(struct rcar_canfd_global *gpriv) rcar_canfd_configure_controller(gpriv); /* Configure per channel attributes */ - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { /* Configure Channel's Rx fifo */ rcar_canfd_configure_rx(gpriv, ch); @@ -2145,14 +2139,18 @@ static int rcar_canfd_probe(struct platform_device *pdev) bool fdmode = true; /* CAN FD only mode - default */ char name[9] = "channelX"; u32 ch, fcan_freq; + u8 max_channels; int i; info = of_device_get_match_data(dev); + max_channels = of_get_child_count(dev->of_node); + if (max_channels > RCANFD_NUM_CHANNELS) + return -EINVAL; if (of_property_read_bool(dev->of_node, "renesas,no-can-fd")) fdmode = false; /* Classical CAN only mode */ - for (i = 0; i < info->max_channels; ++i) { + for (i = 0; i < max_channels; ++i) { name[7] = '0' + i; of_child = of_get_available_child_by_name(dev->of_node, name); if (of_child) { @@ -2199,6 +2197,7 @@ static int rcar_canfd_probe(struct platform_device *pdev) gpriv->pdev = pdev; gpriv->channels_mask = channels_mask; gpriv->fdmode = fdmode; + gpriv->max_channels = max_channels; gpriv->info = info; if (of_property_read_bool(dev->of_node, "renesas,fd-only")) @@ -2300,7 +2299,7 @@ static int rcar_canfd_probe(struct platform_device *pdev) if (err) goto fail_mode; - for_each_set_bit(ch, &gpriv->channels_mask, info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { err = rcar_canfd_channel_probe(gpriv, ch, fcan_freq, transceivers[ch]); if (err) @@ -2314,7 +2313,7 @@ static int rcar_canfd_probe(struct platform_device *pdev) return 0; fail_channel: - for_each_set_bit(ch, &gpriv->channels_mask, info->max_channels) + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) rcar_canfd_channel_remove(gpriv, ch); fail_mode: rcar_canfd_global_deinit(gpriv, false); @@ -2327,7 +2326,7 @@ static void rcar_canfd_remove(struct platform_device *pdev) struct rcar_canfd_global *gpriv = platform_get_drvdata(pdev); u32 ch; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { rcar_canfd_disable_channel_interrupts(gpriv->ch[ch]); rcar_canfd_channel_remove(gpriv, ch); } @@ -2341,7 +2340,7 @@ static int rcar_canfd_suspend(struct device *dev) int err; u32 ch; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { struct rcar_canfd_channel *priv = gpriv->ch[ch]; struct net_device *ndev = priv->ndev; @@ -2378,7 +2377,7 @@ static int rcar_canfd_resume(struct device *dev) return err; } - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) { struct rcar_canfd_channel *priv = gpriv->ch[ch]; struct net_device *ndev = priv->ndev; -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree 2026-09-25 8:21 ` [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree Biju Das @ 2026-09-25 8:39 ` Geert Uytterhoeven 2026-09-25 8:44 ` Claudiu Beznea 1 sibling, 0 replies; 10+ messages in thread From: Geert Uytterhoeven @ 2026-09-25 8:39 UTC (permalink / raw) To: Biju Das Cc: Marc Kleine-Budde, Vincent Mailhol, Magnus Damm, Claudiu Beznea, Lad Prabhakar, Tu Nguyen, linux-can, linux-renesas-soc, Chris Paterson, Biju Das On Fri, 25 Sept 2026 at 10:22, Biju Das <biju.das.jz@bp.renesas.com> wrote: > The maximum number of channels is currently hardcoded per SoC in > struct rcar_canfd_hw_info. Since the DT describes the channels as > child nodes of the controller, the count can be obtained at probe time > with of_get_child_count() instead. > > Drop max_channels from struct rcar_canfd_hw_info and store the value > in struct rcar_canfd_global, so it no longer needs to be maintained > for each SoC variant. Update all for_each_set_bit() users over > channels_mask to use gpriv->max_channels. > > No functional change. > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > --- > v2->v3: > * Added check against RCANFD_NUM_CHANNELS, to avoid overrunning the > fixed-size rcar_canfd_global.ch[] and transceivers[] arrays. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> 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] 10+ messages in thread
* Re: [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree 2026-09-25 8:21 ` [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree Biju Das 2026-09-25 8:39 ` Geert Uytterhoeven @ 2026-09-25 8:44 ` Claudiu Beznea 1 sibling, 0 replies; 10+ messages in thread From: Claudiu Beznea @ 2026-09-25 8:44 UTC (permalink / raw) To: Biju Das, Marc Kleine-Budde, Vincent Mailhol, Geert Uytterhoeven, Magnus Damm Cc: Claudiu Beznea, Lad Prabhakar, Tu Nguyen, linux-can, linux-renesas-soc, Chris Paterson, Biju Das On 9/25/26 11:21, Biju Das wrote: > The maximum number of channels is currently hardcoded per SoC in > struct rcar_canfd_hw_info. Since the DT describes the channels as > child nodes of the controller, the count can be obtained at probe time > with of_get_child_count() instead. > > Drop max_channels from struct rcar_canfd_hw_info and store the value > in struct rcar_canfd_global, so it no longer needs to be maintained > for each SoC variant. Update all for_each_set_bit() users over > channels_mask to use gpriv->max_channels. > > No functional change. > > Signed-off-by: Biju Das<biju.das.jz@bp.renesas.com> Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L 2026-09-25 8:21 [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Biju Das 2026-09-25 8:21 ` [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Biju Das 2026-09-25 8:21 ` [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree Biju Das @ 2026-09-25 8:21 ` Biju Das 2026-09-25 8:46 ` Claudiu Beznea 2026-09-29 14:23 ` [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Marc Kleine-Budde 3 siblings, 1 reply; 10+ messages in thread From: Biju Das @ 2026-09-25 8:21 UTC (permalink / raw) To: Marc Kleine-Budde, Vincent Mailhol, Geert Uytterhoeven, Magnus Damm Cc: Biju Das, Claudiu Beznea, Lad Prabhakar, Tu Nguyen, linux-can, linux-renesas-soc, Chris Paterson, Biju Das Add support for Renesas RZ/G3L CANFD IP. RZ/G3L has 3 channels and 11 interrupts, compared 2 channels and 8 interrupts on RZ/G3S. RZ/G3L has 288 buffers compared to 192 buffers on RZ/G3S. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v2->v3: * Fixed the typo 198->192 buffers in commit description. * Collected the tag. v1->v2: * Updated commit description * Dropped RZ/G3S fallback --- drivers/net/can/rcar/rcar_canfd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c index 41c395118949..c64387967368 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2403,6 +2403,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(rcar_canfd_pm_ops, rcar_canfd_suspend, static const __maybe_unused struct of_device_id rcar_canfd_of_table[] = { { .compatible = "renesas,r8a779a0-canfd", .data = &rcar_gen4_hw_info }, { .compatible = "renesas,r9a08g045-canfd", .data = &r9a08g045_hw_info }, + { .compatible = "renesas,r9a08g046-canfd", .data = &r9a08g045_hw_info }, { .compatible = "renesas,r9a09g047-canfd", .data = &r9a09g047_hw_info }, { .compatible = "renesas,r9a09g077-canfd", .data = &r9a09g077_hw_info }, { .compatible = "renesas,rcar-gen3-canfd", .data = &rcar_gen3_hw_info }, -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L 2026-09-25 8:21 ` [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L Biju Das @ 2026-09-25 8:46 ` Claudiu Beznea 0 siblings, 0 replies; 10+ messages in thread From: Claudiu Beznea @ 2026-09-25 8:46 UTC (permalink / raw) To: Biju Das, Marc Kleine-Budde, Vincent Mailhol, Geert Uytterhoeven, Magnus Damm Cc: Claudiu Beznea, Lad Prabhakar, Tu Nguyen, linux-can, linux-renesas-soc, Chris Paterson, Biju Das On 9/25/26 11:21, Biju Das wrote: > Add support for Renesas RZ/G3L CANFD IP. RZ/G3L has 3 channels and > 11 interrupts, compared 2 channels and 8 interrupts on RZ/G3S. > RZ/G3L has 288 buffers compared to 192 buffers on RZ/G3S. > > Reviewed-by: Geert Uytterhoeven<geert+renesas@glider.be> > Signed-off-by: Biju Das<biju.das.jz@bp.renesas.com> Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD 2026-09-25 8:21 [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Biju Das ` (2 preceding siblings ...) 2026-09-25 8:21 ` [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L Biju Das @ 2026-09-29 14:23 ` Marc Kleine-Budde 2026-09-29 14:25 ` Biju Das 3 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2026-09-29 14:23 UTC (permalink / raw) To: Biju Das Cc: Vincent Mailhol, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, Magnus Damm, Fabrizio Castro, linux-can, devicetree, linux-renesas-soc, Chris Paterson, Biju Das, Prabhakar Mahadev Lad [-- Attachment #1: Type: text/plain, Size: 749 bytes --] On 25.09.2026 09:21:27, Biju Das wrote: > Add support for Renesas RZ/G3L CANFD. > The RZ/G3L CANFD IP has 3 channels and 11 interrupts compared to 2 channels > and 8 interrupts that of RZ/G3S. RZ/G3L has 288 buffers compared to 192 > buffers on RZ/G3S SoC. > > This patch series depend upon [1] > [1] https://lore.kernel.org/all/20260902141544.565763-1-claudiu.beznea+renesas@tuxon.dev/ Is the DT bindings update (#1/3) going through the Renesas tree? regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD 2026-09-29 14:23 ` [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Marc Kleine-Budde @ 2026-09-29 14:25 ` Biju Das 0 siblings, 0 replies; 10+ messages in thread From: Biju Das @ 2026-09-29 14:25 UTC (permalink / raw) To: Marc Kleine-Budde Cc: Vincent Mailhol, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, magnus.damm, Fabrizio Castro, linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Chris Paterson, Prabhakar Mahadev Lad Hi Marc, > -----Original Message----- > From: Marc Kleine-Budde <mkl@pengutronix.de> > Sent: 29 September 2026 15:24 > Subject: Re: [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD > > On 25.09.2026 09:21:27, Biju Das wrote: > > Add support for Renesas RZ/G3L CANFD. > > The RZ/G3L CANFD IP has 3 channels and 11 interrupts compared to 2 > > channels and 8 interrupts that of RZ/G3S. RZ/G3L has 288 buffers > > compared to 192 buffers on RZ/G3S SoC. > > > > This patch series depend upon [1] > > [1] > > https://lore.kernel.org/all/20260902141544.565763-1-claudiu.beznea+ren > > esas@tuxon.dev/ > > Is the DT bindings update (#1/3) going through the Renesas tree? No, It is through CAN tree. Cheers, Biju ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-10-01 6:04 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-25 8:21 [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Biju Das 2026-09-25 8:21 ` [PATCH v3 1/3] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Biju Das 2026-10-01 6:03 ` Krzysztof Kozlowski 2026-09-25 8:21 ` [PATCH v3 2/3] can: rcar_canfd: Derive max_channels from the device tree Biju Das 2026-09-25 8:39 ` Geert Uytterhoeven 2026-09-25 8:44 ` Claudiu Beznea 2026-09-25 8:21 ` [PATCH v3 3/3] can: rcar_canfd: Add support for Renesas RZ/G3L Biju Das 2026-09-25 8:46 ` Claudiu Beznea 2026-09-29 14:23 ` [PATCH v3 0/3] Add support for Renesas RZ/G3L CANFD Marc Kleine-Budde 2026-09-29 14:25 ` Biju Das
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox