* [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S
@ 2026-07-14 17:33 Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD Claudiu Beznea
` (8 more replies)
0 siblings, 9 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Hi,
Series adds CAN support for the Renesas RZ/G3S SoC. Along with it a typo
fix patch was added on the CAN driver.
Thank you,
Claudiu
Changes in v3:
- addressed sashiko review comments
Changes in v2:
- collected tags
- addressed sashiko review comments
Claudiu Beznea (8):
clk: r9a08g045-cpg: Add clocks and resets for CAN-FD
dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC
can: rcar_canfd: Fix typos in macro names
can: rcar_canfd: Allow the CAN FD clock to be sourced from fck
can: rcar_canfd: Do not set registers selecting the CAN mode
can: rcar_canfd: Add support for Renesas RZ/G3S
arm64: dts: renesas: r9a08g045: Add CAN-FD node
arm64: dts: renesas: rzg3s-smarc: Enable CAN-FD
.../bindings/net/can/renesas,rcar-canfd.yaml | 20 +++++-
arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 39 +++++++++++
.../boot/dts/renesas/rzg3s-smarc-switches.h | 12 ++++
arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi | 46 +++++++++++++
drivers/clk/renesas/r9a08g045-cpg.c | 9 +++
drivers/net/can/rcar/rcar_canfd.c | 65 +++++++++++++++----
6 files changed, 178 insertions(+), 13 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-15 8:58 ` Geert Uytterhoeven
2026-07-14 17:33 ` [PATCH v3 2/8] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC Claudiu Beznea
` (7 subsequent siblings)
8 siblings, 1 reply; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Renesas RZ/G3S SoC has a CAN-FD IP. Add clocks and resets for it.
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- none
Changes in v2:
- used R9A08G045_CLK_P4 ID for P4 clock
- still collected the tags; Biju, Geert, please let me know if you consider
otherwise
drivers/clk/renesas/r9a08g045-cpg.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/clk/renesas/r9a08g045-cpg.c b/drivers/clk/renesas/r9a08g045-cpg.c
index 624fc5e6fb24..ea2a6a71aebd 100644
--- a/drivers/clk/renesas/r9a08g045-cpg.c
+++ b/drivers/clk/renesas/r9a08g045-cpg.c
@@ -77,6 +77,7 @@ enum clk_ids {
CLK_SEL_PLL4,
CLK_P1_DIV2,
CLK_P3_DIV2,
+ CLK_P4_DIV2,
CLK_SD0_DIV4,
CLK_SD1_DIV4,
CLK_SD2_DIV4,
@@ -172,6 +173,8 @@ static const struct cpg_core_clk r9a08g045_core_clks[] __initconst = {
DEF_G3S_DIV("P3", R9A08G045_CLK_P3, CLK_PLL3_DIV2_4, DIVPL3C, G3S_DIVPL3C_STS,
dtable_1_32, 0, 0, 0, NULL),
DEF_FIXED("P3_DIV2", CLK_P3_DIV2, R9A08G045_CLK_P3, 1, 2),
+ DEF_FIXED("P4", R9A08G045_CLK_P4, CLK_PLL2_DIV2, 1, 5),
+ DEF_FIXED("P4_DIV2", CLK_P4_DIV2, R9A08G045_CLK_P4, 1, 2),
DEF_FIXED("P5", R9A08G045_CLK_P5, CLK_PLL2_DIV2, 1, 4),
DEF_FIXED("ZT", R9A08G045_CLK_ZT, CLK_PLL3_DIV2_8, 1, 1),
DEF_FIXED("S0", R9A08G045_CLK_S0, CLK_SEL_PLL4, 1, 2),
@@ -274,6 +277,10 @@ static const struct rzg2l_mod_clk r9a08g045_mod_clks[] = {
MSTOP(BUS_MCPU2, BIT(5))),
DEF_MOD("scif5_clk_pck", R9A08G045_SCIF5_CLK_PCK, R9A08G045_CLK_P0, 0x584, 5,
MSTOP(BUS_MCPU3, BIT(4))),
+ DEF_MOD("canfd_pclk", R9A08G045_CANFD_PCLK, CLK_P4_DIV2, 0x594, 0,
+ MSTOP(BUS_MCPU2, BIT(9))),
+ DEF_MOD("canfd_clk_ram", R9A08G045_CANFD_CLK_RAM, R9A08G045_CLK_P4, 0x594, 1,
+ MSTOP(BUS_MCPU2, BIT(9))),
DEF_MOD("gpio_hclk", R9A08G045_GPIO_HCLK, R9A08G045_OSCCLK, 0x598, 0,
MSTOP(BUS_PERI_CPU, BIT(6))),
DEF_MOD("adc_adclk", R9A08G045_ADC_ADCLK, R9A08G045_CLK_TSU, 0x5a8, 0,
@@ -324,6 +331,8 @@ static const struct rzg2l_reset r9a08g045_resets[] = {
DEF_RST(R9A08G045_SCIF3_RST_SYSTEM_N, 0x884, 3),
DEF_RST(R9A08G045_SCIF4_RST_SYSTEM_N, 0x884, 4),
DEF_RST(R9A08G045_SCIF5_RST_SYSTEM_N, 0x884, 5),
+ DEF_RST(R9A08G045_CANFD_RSTP_N, 0x894, 0),
+ DEF_RST(R9A08G045_CANFD_RSTC_N, 0x894, 1),
DEF_RST(R9A08G045_GPIO_RSTN, 0x898, 0),
DEF_RST(R9A08G045_GPIO_PORT_RESETN, 0x898, 1),
DEF_RST(R9A08G045_GPIO_SPARE_RESETN, 0x898, 2),
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/8] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 3/8] can: rcar_canfd: Fix typos in macro names Claudiu Beznea
` (6 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
The CAN FD controller found on the Renesas RZ/G3S SoC is largely compatible
with the variant present on the RZ/G3E SoC. The main differences are:
- the RZ/G3S provides only two CAN FD channels
- the RZ/G3S supports only CAN FD operation; the Channel n CAN FD
Configuration Register does not implement the bits used to select
classical CAN-only mode (bit 30) or CAN FD-only mode (bit 28);
consequently, bit 31 (CAN FD Frame Distinction Enable) of the same
register is also not implemented
- some bits in several registers (mainly reserved or status bits) are
read-write on the RZ/G3S but read-only on the RZ/G3E; their behavior is
otherwise identical: the bits read back as 0 on both SoCs and software
is allowed to write only 0 to them on the RZ/G3S
- the RZ/G3S provides 256 acceptance filters, compared to 768 on the
RZ/G3E
- the RZ/G3S can use PCLK clock as the CAN FD clock source through an
internal clock divider, while also supporting an external CAN FD clock
source
Since:
- the SoC clock generator provides to the CAN IP only the peripheral and
the RAM clocks
- when sourced from the peripheral clock, the CAN-FD clock is obtained
inside the IP itself by dividing the peripheral clock
- the assigned-clocks and assigned-clock-rates properties are specific to
the CAN-FD clock
the assigned-clocks and assigned-clock-rates properties were dropped from
the required properties list of the Renesas RZ/G3S SoC.
Add documentation for the Renesas RZ/G3S SoC.
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- updated the patch description to reflect RZ/G3S has 256 acceptance
filters and RZ/G3E has 768 acceptance filters
- kept compatibles alphanumerically sorted
Changes in v2:
- forbid renesas,no-can-fd and renesas,fd-only since the IP supports
only CAN-FD; for this didn't collect Biju's tag
.../bindings/net/can/renesas,rcar-canfd.yaml | 20 +++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
index b9d9dd7a7967..bbaaef8f4282 100644
--- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
@@ -13,6 +13,7 @@ properties:
compatible:
oneOf:
- enum:
+ - renesas,r9a08g045-canfd # RZ/G3S
- renesas,r9a09g047-canfd # RZ/G3E
- renesas,r9a09g077-canfd # RZ/T2H
@@ -185,8 +186,6 @@ required:
- clocks
- clock-names
- power-domains
- - assigned-clocks
- - assigned-clock-rates
- channel0
- channel1
@@ -198,6 +197,7 @@ allOf:
compatible:
contains:
enum:
+ - renesas,r9a08g045-canfd
- renesas,rzg2l-canfd
then:
properties:
@@ -266,6 +266,7 @@ allOf:
compatible:
contains:
enum:
+ - renesas,r9a08g045-canfd
- renesas,r9a09g077-canfd
- renesas,rcar-gen3-canfd
- renesas,rzg2l-canfd
@@ -330,6 +331,7 @@ allOf:
compatible:
contains:
enum:
+ - renesas,r9a08g045-canfd
- renesas,r9a09g047-canfd
- renesas,rzg2l-canfd
then:
@@ -350,6 +352,20 @@ allOf:
properties:
reset-names: false
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: renesas,r9a08g045-canfd
+ then:
+ properties:
+ renesas,no-can-fd: false
+ renesas,fd-only: false
+ else:
+ required:
+ - assigned-clocks
+ - assigned-clock-rates
+
unevaluatedProperties: false
examples:
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 3/8] can: rcar_canfd: Fix typos in macro names
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 2/8] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 4/8] can: rcar_canfd: Allow the CAN FD clock to be sourced from fck Claudiu Beznea
` (5 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
The bits 1..0 of the Channel n Control Register are named CHMDC (Channel
Mode select). Fix typos in macro names by replacing DMC with MDC.
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- none
Changes in v2:
- collected tags
drivers/net/can/rcar/rcar_canfd.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
index 4ee108abffb8..879f31c97276 100644
--- a/drivers/net/can/rcar/rcar_canfd.c
+++ b/drivers/net/can/rcar/rcar_canfd.c
@@ -132,9 +132,9 @@
#define RCANFD_CCTR_BEIE BIT(8)
#define RCANFD_CCTR_CSLPR BIT(2)
#define RCANFD_CCTR_CHMDC_MASK (0x3)
-#define RCANFD_CCTR_CHDMC_COPM (0x0)
-#define RCANFD_CCTR_CHDMC_CRESET (0x1)
-#define RCANFD_CCTR_CHDMC_CHLT (0x2)
+#define RCANFD_CCTR_CHMDC_COPM (0x0)
+#define RCANFD_CCTR_CHMDC_CRESET (0x1)
+#define RCANFD_CCTR_CHMDC_CHLT (0x2)
/* RSCFDnCFDCmSTS / RSCFDnCmSTS */
#define RCANFD_CSTS_COMSTS BIT(7)
@@ -828,7 +828,7 @@ static int rcar_canfd_reset_controller(struct rcar_canfd_global *gpriv)
rcar_canfd_update_bit(gpriv->base, RCANFD_CCTR(ch),
RCANFD_CCTR_CHMDC_MASK,
- RCANFD_CCTR_CHDMC_CRESET);
+ RCANFD_CCTR_CHMDC_CRESET);
/* Ensure Channel reset mode */
err = readl_poll_timeout((gpriv->base + RCANFD_CSTS(ch)), sts,
@@ -1504,7 +1504,7 @@ static int rcar_canfd_start(struct net_device *ndev)
/* Set channel to Operational mode */
rcar_canfd_update_bit(priv->base, RCANFD_CCTR(ch),
- RCANFD_CCTR_CHMDC_MASK, RCANFD_CCTR_CHDMC_COPM);
+ RCANFD_CCTR_CHMDC_MASK, RCANFD_CCTR_CHMDC_COPM);
/* Verify channel mode change */
err = readl_poll_timeout((priv->base + RCANFD_CSTS(ch)), sts,
@@ -1578,7 +1578,7 @@ static void rcar_canfd_stop(struct net_device *ndev)
/* Transition to channel reset mode */
rcar_canfd_update_bit(priv->base, RCANFD_CCTR(ch),
- RCANFD_CCTR_CHMDC_MASK, RCANFD_CCTR_CHDMC_CRESET);
+ RCANFD_CCTR_CHMDC_MASK, RCANFD_CCTR_CHMDC_CRESET);
/* Check Channel reset mode */
err = readl_poll_timeout((priv->base + RCANFD_CSTS(ch)), sts,
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 4/8] can: rcar_canfd: Allow the CAN FD clock to be sourced from fck
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (2 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 3/8] can: rcar_canfd: Fix typos in macro names Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 5/8] can: rcar_canfd: Do not set registers selecting the CAN mode Claudiu Beznea
` (4 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
On the Renesas RZ/G3S, the CAN FD clock can be sourced either from fck
(the peripheral clock) or from an external clock (can_clk). When fck is
used, it is divided internally by the CAN FD controller.
Adjust the existing canfd clock handling code to support the RZ/G3S CAN.
The existing struct rcar_canfd_hw_info instances were updated to address
the request in the Link discussion.
Link: https://lore.kernel.org/all/1d9719e3-10ff-4cd8-b729-55fea93c37ce@wanadoo.fr
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- set gpriv->can_clk = NULL if info->fcan_pclk
Changes in v2:
- changed the logic to request canfd only if info->fcan_pclk and contrary
get the fcan clock from pclk; for this didn't collect the Rb tag
drivers/net/can/rcar/rcar_canfd.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
index 879f31c97276..7fa9cbbf8dde 100644
--- a/drivers/net/can/rcar/rcar_canfd.c
+++ b/drivers/net/can/rcar/rcar_canfd.c
@@ -444,6 +444,7 @@ struct rcar_canfd_hw_info {
unsigned ch_interface_mode:1; /* Has channel interface mode */
unsigned shared_can_regs:1; /* Has shared classical can registers */
unsigned external_clk:1; /* Has external clock */
+ unsigned fcan_pclk:1; /* Has fcan sourced from pclk. */
};
/* Channel priv data */
@@ -617,6 +618,7 @@ static const struct rcar_canfd_hw_info rcar_gen3_hw_info = {
.ch_interface_mode = 0,
.shared_can_regs = 0,
.external_clk = 1,
+ .fcan_pclk = 0,
};
static const struct rcar_canfd_hw_info rcar_gen4_hw_info = {
@@ -634,6 +636,7 @@ static const struct rcar_canfd_hw_info rcar_gen4_hw_info = {
.ch_interface_mode = 1,
.shared_can_regs = 1,
.external_clk = 1,
+ .fcan_pclk = 0,
};
static const struct rcar_canfd_hw_info rzg2l_hw_info = {
@@ -651,6 +654,7 @@ static const struct rcar_canfd_hw_info rzg2l_hw_info = {
.ch_interface_mode = 0,
.shared_can_regs = 0,
.external_clk = 1,
+ .fcan_pclk = 0,
};
static const struct rcar_canfd_hw_info r9a09g047_hw_info = {
@@ -668,6 +672,7 @@ static const struct rcar_canfd_hw_info r9a09g047_hw_info = {
.ch_interface_mode = 1,
.shared_can_regs = 1,
.external_clk = 0,
+ .fcan_pclk = 0,
};
static const struct rcar_canfd_hw_info r9a09g077_hw_info = {
@@ -685,6 +690,7 @@ static const struct rcar_canfd_hw_info r9a09g077_hw_info = {
.ch_interface_mode = 1,
.shared_can_regs = 1,
.external_clk = 1,
+ .fcan_pclk = 0,
};
/* Helper functions */
@@ -2191,13 +2197,20 @@ static int rcar_canfd_probe(struct platform_device *pdev)
*/
gpriv->can_clk = devm_clk_get(dev, "can_clk");
if (IS_ERR(gpriv->can_clk) || (clk_get_rate(gpriv->can_clk) == 0)) {
- gpriv->can_clk = devm_clk_get(dev, "canfd");
- if (IS_ERR(gpriv->can_clk))
- return dev_err_probe(dev, PTR_ERR(gpriv->can_clk),
- "cannot get canfd clock\n");
+ if (info->fcan_pclk) {
+ fcan_freq = clk_get_rate(gpriv->clkp);
+ gpriv->can_clk = NULL;
+ } else {
+ gpriv->can_clk = devm_clk_get(dev, "canfd");
+ if (IS_ERR(gpriv->can_clk))
+ return dev_err_probe(dev, PTR_ERR(gpriv->can_clk),
+ "cannot get canfd clock\n");
+
+ fcan_freq = clk_get_rate(gpriv->can_clk);
+ }
/* CANFD clock may be further divided within the IP */
- fcan_freq = clk_get_rate(gpriv->can_clk) / info->postdiv;
+ fcan_freq /= info->postdiv;
} else {
fcan_freq = clk_get_rate(gpriv->can_clk);
gpriv->extclk = gpriv->info->external_clk;
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 5/8] can: rcar_canfd: Do not set registers selecting the CAN mode
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (3 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 4/8] can: rcar_canfd: Allow the CAN FD clock to be sourced from fck Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 6/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (3 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
The bits 30 (classical CAN-only mode) and 28 (FD-only enable) of the
Channel n CAN-FD Configuration Register of the Renesas RZ/G3S SoC are not
available. The IP supports only CAN-FD mode. RZ/G3S HW manual (revision
1.30) specify the bits are read as zero and the write value should always
be zero.
Add the mode_select_na flag in struct rcar_canfd_hw_info to cover RZ/G3S
and avoid writing to unavailable bits.
The existing struct rcar_canfd_hw_info instances were updated to address
the request in the Link discussion.
Commit prepares for the addition of the Renesas RZ/G3S SoC.
Link: https://lore.kernel.org/all/1d9719e3-10ff-4cd8-b729-55fea93c37ce@wanadoo.fr
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- none
Changes in v2:
- collected the tags
- updated patch description to reflect this is a preparatory commit
drivers/net/can/rcar/rcar_canfd.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
index 7fa9cbbf8dde..8ba8905c965a 100644
--- a/drivers/net/can/rcar/rcar_canfd.c
+++ b/drivers/net/can/rcar/rcar_canfd.c
@@ -445,6 +445,7 @@ struct rcar_canfd_hw_info {
unsigned shared_can_regs:1; /* Has shared classical can registers */
unsigned external_clk:1; /* Has external clock */
unsigned fcan_pclk:1; /* Has fcan sourced from pclk. */
+ unsigned mode_select_na:1; /* Has no bits for selecting the mode. */
};
/* Channel priv data */
@@ -619,6 +620,7 @@ static const struct rcar_canfd_hw_info rcar_gen3_hw_info = {
.shared_can_regs = 0,
.external_clk = 1,
.fcan_pclk = 0,
+ .mode_select_na = 0,
};
static const struct rcar_canfd_hw_info rcar_gen4_hw_info = {
@@ -637,6 +639,7 @@ static const struct rcar_canfd_hw_info rcar_gen4_hw_info = {
.shared_can_regs = 1,
.external_clk = 1,
.fcan_pclk = 0,
+ .mode_select_na = 0,
};
static const struct rcar_canfd_hw_info rzg2l_hw_info = {
@@ -655,6 +658,7 @@ static const struct rcar_canfd_hw_info rzg2l_hw_info = {
.shared_can_regs = 0,
.external_clk = 1,
.fcan_pclk = 0,
+ .mode_select_na = 0,
};
static const struct rcar_canfd_hw_info r9a09g047_hw_info = {
@@ -673,6 +677,7 @@ static const struct rcar_canfd_hw_info r9a09g047_hw_info = {
.shared_can_regs = 1,
.external_clk = 0,
.fcan_pclk = 0,
+ .mode_select_na = 0,
};
static const struct rcar_canfd_hw_info r9a09g077_hw_info = {
@@ -691,6 +696,7 @@ static const struct rcar_canfd_hw_info r9a09g077_hw_info = {
.shared_can_regs = 1,
.external_clk = 1,
.fcan_pclk = 0,
+ .mode_select_na = 0,
};
/* Helper functions */
@@ -846,6 +852,9 @@ static int rcar_canfd_reset_controller(struct rcar_canfd_global *gpriv)
}
/* Set the controller into appropriate mode */
+ if (gpriv->info->mode_select_na)
+ continue;
+
if (gpriv->info->ch_interface_mode) {
/* Do not set CLOE and FDOE simultaneously */
if (!gpriv->fdmode) {
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 6/8] can: rcar_canfd: Add support for Renesas RZ/G3S
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (4 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 5/8] can: rcar_canfd: Do not set registers selecting the CAN mode Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 7/8] arm64: dts: renesas: r9a08g045: Add CAN-FD node Claudiu Beznea
` (2 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Add support for Renesas RZ/G3S
The Renesas RZ/G3S CAN-FD controller is largely compatible with the
variant found on the Renesas RZ/G3E. The main differences are:
- the RZ/G3S provides 16 AFL pages
- the RZ/G3S supports only two channels
- the RZ/G3S supports only CAN-FD operation and does not implement the
bits used to select between classical CAN-only and CAN FD-only modes.
- the RZ/G3S includes an internal divider that allows the peripheral
clock to be used as the CAN FD clock source.
Add support for the Renesas RZ/G3S.
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- updated max_aflpn as it refers to the number of available pages
that could be used to access the acceptance filters; updated the
patch description for this change
Changes in v2:
- initialized shared_global_irqs = 0 for RZ/G3S, to follow the request
from https://lore.kernel.org/all/1d9719e3-10ff-4cd8-b729-55fea93c37ce@wanadoo.fr
- collected tags
drivers/net/can/rcar/rcar_canfd.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
index 8ba8905c965a..d858778ff002 100644
--- a/drivers/net/can/rcar/rcar_canfd.c
+++ b/drivers/net/can/rcar/rcar_canfd.c
@@ -661,6 +661,26 @@ static const struct rcar_canfd_hw_info rzg2l_hw_info = {
.mode_select_na = 0,
};
+static const struct rcar_canfd_hw_info r9a08g045_hw_info = {
+ .nom_bittiming = &rcar_canfd_gen4_nom_bittiming_const,
+ .data_bittiming = &rcar_canfd_gen4_data_bittiming_const,
+ .tdc_const = &rcar_canfd_gen4_tdc_const,
+ .regs = &rcar_gen4_regs,
+ .sh = &rcar_gen4_shift_data,
+ .rnc_field_width = 16,
+ .max_aflpn = 15,
+ .max_cftml = 31,
+ .max_channels = 2,
+ .postdiv = 2,
+ .shared_global_irqs = 0,
+ .multi_channel_irqs = 1,
+ .ch_interface_mode = 1,
+ .shared_can_regs = 1,
+ .external_clk = 1,
+ .fcan_pclk = 1,
+ .mode_select_na = 1,
+};
+
static const struct rcar_canfd_hw_info r9a09g047_hw_info = {
.nom_bittiming = &rcar_canfd_gen4_nom_bittiming_const,
.data_bittiming = &rcar_canfd_gen4_data_bittiming_const,
@@ -2384,6 +2404,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,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 [flat|nested] 12+ messages in thread
* [PATCH v3 7/8] arm64: dts: renesas: r9a08g045: Add CAN-FD node
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (5 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 6/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 8/8] arm64: dts: renesas: rzg3s-smarc: Enable CAN-FD Claudiu Beznea
2026-07-15 9:01 ` [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Geert Uytterhoeven
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
The Renesas RZ/G3S SoC includes a CAN-FD controller with two channels.
Add the corresponding device tree node.
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- none
Changes in v2:
- collected tags
arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 39 ++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g045.dtsi b/arch/arm64/boot/dts/renesas/r9a08g045.dtsi
index 3a69bb246bab..fe46f3d9c7cc 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g045.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g045.dtsi
@@ -29,6 +29,13 @@ audio_clk2: audio2-clk {
clock-frequency = <0>;
};
+ can_clk: can-clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ /* This value must be overridden by boards that provide it. */
+ clock-frequency = <0>;
+ };
+
cluster0_opp: opp-table-0 {
compatible = "operating-points-v2";
opp-shared;
@@ -498,6 +505,38 @@ ssi3: ssi@100a8c00 {
status = "disabled";
};
+ canfd: can@100c0000 {
+ compatible = "renesas,r9a08g045-canfd";
+ reg = <0 0x100c0000 0 0x20000>;
+ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "g_err", "g_recc",
+ "ch0_err", "ch0_rec", "ch0_trx",
+ "ch1_err", "ch1_rec", "ch1_trx";
+ clocks = <&cpg CPG_MOD R9A08G045_CANFD_PCLK>,
+ <&cpg CPG_MOD R9A08G045_CANFD_CLK_RAM>,
+ <&can_clk>;
+ clock-names = "fck", "ram_clk", "can_clk";
+ resets = <&cpg R9A08G045_CANFD_RSTP_N>,
+ <&cpg R9A08G045_CANFD_RSTC_N>;
+ reset-names = "rstp_n", "rstc_n";
+ power-domains = <&cpg>;
+ status = "disabled";
+
+ channel0 {
+ status = "disabled";
+ };
+ channel1 {
+ status = "disabled";
+ };
+ };
+
cpg: clock-controller@11010000 {
compatible = "renesas,r9a08g045-cpg";
reg = <0 0x11010000 0 0x10000>;
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 8/8] arm64: dts: renesas: rzg3s-smarc: Enable CAN-FD
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (6 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 7/8] arm64: dts: renesas: r9a08g045: Add CAN-FD node Claudiu Beznea
@ 2026-07-14 17:33 ` Claudiu Beznea
2026-07-15 9:01 ` [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Geert Uytterhoeven
8 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-14 17:33 UTC (permalink / raw)
To: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz
Cc: claudiu.beznea, linux-can, devicetree, linux-renesas-soc,
linux-kernel, linux-clk, Claudiu Beznea
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
The two CAN FD channels available on the Renesas RZ/G3S SoC are routed
through the Renesas SMARC Carrier II board when used with the Renesas
RZ/G3S SMARC Module.
The CAN transceiver on the Carrier II board has its standby pins connected
to GPIOs that are selected through the SW_GPIO_CAN_PMOD switches. By
default, these switches route the GPIOs to the PMOD interfaces.
Enable the CAN FD controller and its two available channels.
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
Changes in v3:
- none
Changes in v2:
- collected tags
.../boot/dts/renesas/rzg3s-smarc-switches.h | 12 +++++
arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi | 46 +++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/rzg3s-smarc-switches.h b/arch/arm64/boot/dts/renesas/rzg3s-smarc-switches.h
index bbf908a5322c..198874ad9a65 100644
--- a/arch/arm64/boot/dts/renesas/rzg3s-smarc-switches.h
+++ b/arch/arm64/boot/dts/renesas/rzg3s-smarc-switches.h
@@ -37,4 +37,16 @@
*/
#define SW_OPT_MUX4 SW_ON
+/*
+ * SW_GPIO_CAN_PMOD[x] switches' states:
+ * @SW_GPIO_CAN_PMOD1:
+ * SW_OFF - GPIO8 connected to CAN0_STB (position 1-2)
+ * SW_ON - GPIO8 connected to PMOD1 (position 2-3)
+ * @SW_GPIO_CAN_PMOD2:
+ * SW_OFF - GPIO9 connected to CAN1_STB (position 4-5)
+ * SW_ON - GPIO9 connected to PMOD1 (position 5-6)
+ */
+#define SW_GPIO_CAN_PMOD1 SW_ON
+#define SW_GPIO_CAN_PMOD2 SW_ON
+
#endif /* __RZG3S_SMARC_SWITCHES_H__ */
diff --git a/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi b/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi
index 70af605168b0..2be684f55914 100644
--- a/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi
@@ -68,6 +68,24 @@ codec_dai: simple-audio-card,codec {
};
};
+ can_transceiver0: can-phy0 {
+ compatible = "ti,tcan1042";
+ #phy-cells = <0>;
+ max-bitrate = <8000000>;
+#if SW_GPIO_CAN_PMOD1 == SW_OFF
+ standby-gpios = <&pinctrl RZG2L_GPIO(13, 0) GPIO_ACTIVE_HIGH>;
+#endif
+ };
+
+ can_transceiver1: can-phy1 {
+ compatible = "ti,tcan1042";
+ #phy-cells = <0>;
+ max-bitrate = <8000000>;
+#if SW_GPIO_CAN_PMOD2 == SW_OFF
+ standby-gpios = <&pinctrl RZG2L_GPIO(13, 1) GPIO_ACTIVE_HIGH>;
+#endif
+ };
+
vcc_sdhi1: regulator-vcc-sdhi1 {
compatible = "regulator-fixed";
regulator-name = "SDHI1 Vcc";
@@ -92,6 +110,22 @@ &audio_clk2 {
clock-frequency = <12288000>;
};
+&canfd {
+ pinctrl-0 = <&canfd_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ channel0 {
+ phys = <&can_transceiver0>;
+ status = "okay";
+ };
+
+ channel1 {
+ phys = <&can_transceiver1>;
+ status = "okay";
+ };
+};
+
&ehci0 {
dr_mode = "otg";
status = "okay";
@@ -171,6 +205,18 @@ audio_clock_pins: audio-clock {
input-enable;
};
+ canfd_pins: canfd {
+ can0_pins: can0 {
+ pinmux = <RZG2L_PORT_PINMUX(6, 1, 3)>, /* CAN0_TX */
+ <RZG2L_PORT_PINMUX(6, 2, 3)>; /* CAN0_RX */
+ };
+
+ can1_pins: can1 {
+ pinmux = <RZG2L_PORT_PINMUX(17, 0, 3)>, /* CAN1_TX */
+ <RZG2L_PORT_PINMUX(17, 1, 3)>; /* CAN1_RX */
+ };
+ };
+
key-1-gpio-hog {
gpio-hog;
gpios = <RZG2L_GPIO(18, 0) GPIO_ACTIVE_LOW>;
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD
2026-07-14 17:33 ` [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD Claudiu Beznea
@ 2026-07-15 8:58 ` Geert Uytterhoeven
2026-07-15 10:27 ` Claudiu Beznea
0 siblings, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2026-07-15 8:58 UTC (permalink / raw)
To: Claudiu Beznea
Cc: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz, claudiu.beznea, linux-can, devicetree,
linux-renesas-soc, linux-kernel, linux-clk, Claudiu Beznea
Hi Claudiu,
On Tue, 14 Jul 2026 at 19:33, Claudiu Beznea
<claudiu.beznea+renesas@tuxon.dev> wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>
> Renesas RZ/G3S SoC has a CAN-FD IP. Add clocks and resets for it.
>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> ---
>
> Changes in v3:
> - none
No need to resend applied patches.
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 v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
` (7 preceding siblings ...)
2026-07-14 17:33 ` [PATCH v3 8/8] arm64: dts: renesas: rzg3s-smarc: Enable CAN-FD Claudiu Beznea
@ 2026-07-15 9:01 ` Geert Uytterhoeven
8 siblings, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2026-07-15 9:01 UTC (permalink / raw)
To: Claudiu Beznea
Cc: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz, claudiu.beznea, linux-can, devicetree,
linux-renesas-soc, linux-kernel, linux-clk, Claudiu Beznea
Hi Claudiu,
On Tue, 14 Jul 2026 at 19:33, Claudiu Beznea
<claudiu.beznea+renesas@tuxon.dev> wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>
> Hi,
>
> Series adds CAN support for the Renesas RZ/G3S SoC. Along with it a typo
> fix patch was added on the CAN driver.
>
> Thank you,
> Claudiu
>
> Changes in v3:
> - addressed sashiko review comments
FTR, this doesn't provide any real information.
Fortunately you do list the actual changes in the individual patches ;-)
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 v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD
2026-07-15 8:58 ` Geert Uytterhoeven
@ 2026-07-15 10:27 ` Claudiu Beznea
0 siblings, 0 replies; 12+ messages in thread
From: Claudiu Beznea @ 2026-07-15 10:27 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: mkl, mailhol, robh, krzk+dt, conor+dt, geert+renesas,
magnus.damm, mturquette, sboyd, bmasney, biju.das.jz,
fabrizio.castro.jz, claudiu.beznea, linux-can, devicetree,
linux-renesas-soc, linux-kernel, linux-clk, Claudiu Beznea
Hi, Geert,
On 7/15/26 11:58, Geert Uytterhoeven wrote:
> Hi Claudiu,
>
> On Tue, 14 Jul 2026 at 19:33, Claudiu Beznea
> <claudiu.beznea+renesas@tuxon.dev> wrote:
>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>
>> Renesas RZ/G3S SoC has a CAN-FD IP. Add clocks and resets for it.
>>
>> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
>> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>> ---
>>
>> Changes in v3:
>> - none
>
> No need to resend applied patches.
Apologies for any inconvenience. I worked against next-20260713. I missed to
check the yesterday next.
Thank you,
Claudiu
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-07-15 10:27 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-14 17:33 [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 1/8] clk: r9a08g045-cpg: Add clocks and resets for CAN-FD Claudiu Beznea
2026-07-15 8:58 ` Geert Uytterhoeven
2026-07-15 10:27 ` Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 2/8] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 3/8] can: rcar_canfd: Fix typos in macro names Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 4/8] can: rcar_canfd: Allow the CAN FD clock to be sourced from fck Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 5/8] can: rcar_canfd: Do not set registers selecting the CAN mode Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 6/8] can: rcar_canfd: Add support for Renesas RZ/G3S Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 7/8] arm64: dts: renesas: r9a08g045: Add CAN-FD node Claudiu Beznea
2026-07-14 17:33 ` [PATCH v3 8/8] arm64: dts: renesas: rzg3s-smarc: Enable CAN-FD Claudiu Beznea
2026-07-15 9:01 ` [PATCH v3 0/8] can: rcar_canfd: Add support for Renesas RZ/G3S Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox