* [PATCH 0/4] Add RZ/G3L PCIe support
@ 2026-08-25 9:50 Biju
2026-08-25 9:50 ` [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC Biju
2026-08-25 9:50 ` [PATCH 3/4] PCI: rzg3s-host: Add support for " Biju
0 siblings, 2 replies; 7+ messages in thread
From: Biju @ 2026-08-25 9:50 UTC (permalink / raw)
To: Claudiu Beznea, Bjorn Helgaas, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm
Cc: Biju Das, Rob Herring, linux-pci, linux-renesas-soc, devicetree,
linux-kernel, Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Hi All,
The RZ/G3L PCIe controller is similar to RZ/G3S but has
some key differences:
- Has 3 clocks compared to 2 on other SoCs.
- Has a different set of reset signals
Add support for RZ/G3L PCIe.
Patch 3 apply on top of [1] and [2]
[1] https://lore.kernel.org/all/20260811200013.185956-1-prabhakar.mahadev-lad.rj@bp.renesas.com/
[2] https://lore.kernel.org/linux-renesas-soc/20260814141312.2947972-1-claudiu.beznea+renesas@tuxon.dev/
Biju Das (4):
dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
clk: renesas: r9a08g046: Add PCIe clocks and reset
PCI: rzg3s-host: Add support for RZ/G3L SoC
arm64: dts: renesas: r9a08g046: Add PCIe support
.../bindings/pci/renesas,r9a08g045-pcie.yaml | 33 +++++++++++++-
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 45 ++++++++++++++++++-
.../boot/dts/renesas/r9a08g046l48-smarc.dts | 16 +++++++
.../boot/dts/renesas/rzg3l-smarc-som.dtsi | 11 +++++
drivers/clk/renesas/r9a08g046-cpg.c | 9 ++++
drivers/pci/controller/pcie-rzg3s-host.c | 25 ++++++++++-
6 files changed, 135 insertions(+), 4 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
2026-08-25 9:50 [PATCH 0/4] Add RZ/G3L PCIe support Biju
@ 2026-08-25 9:50 ` Biju
2026-08-31 6:33 ` Krzysztof Kozlowski
2026-09-03 12:41 ` Geert Uytterhoeven
2026-08-25 9:50 ` [PATCH 3/4] PCI: rzg3s-host: Add support for " Biju
1 sibling, 2 replies; 7+ messages in thread
From: Biju @ 2026-08-25 9:50 UTC (permalink / raw)
To: Claudiu Beznea, Bjorn Helgaas, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm
Cc: Biju Das, Rob Herring, linux-pci, linux-renesas-soc, devicetree,
linux-kernel, Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Extend the existing device tree bindings for Renesas RZ/G3S PCIe
controller to include support for the RZ/G3L (renesas,r9a08g046-pcie)
PCIe controller. The RZ/G3L PCIe controller is similar to RZ/G3S but has
some key differences:
- Has 3 clocks compared to 2 on other SoCs.
- Has a different set of reset signals
Add device tree bindings for renesas,r9a08g046-pcie compatible IPs.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
.../bindings/pci/renesas,r9a08g045-pcie.yaml | 33 ++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
index 09d78bd1a577..911b1976bf53 100644
--- a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
@@ -13,7 +13,7 @@ description: |
PCIe host controller found in Renesas RZ/G3S and similar SoCs complies
with PCIe Base Specification 4.0 and supports different link speeds
depending on the SoC variant:
- - Gen2 (5 GT/s): RZ/G3S
+ - Gen2 (5 GT/s): RZ/G3{L,S}
- Gen3 (8 GT/s): RZ/G3E, RZ/V2H(P), RZ/V2N
properties:
@@ -21,6 +21,7 @@ properties:
oneOf:
- enum:
- renesas,r9a08g045-pcie # RZ/G3S
+ - renesas,r9a08g046-pcie # RZ/G3L
- renesas,r9a09g047-pcie # RZ/G3E
- renesas,r9a09g057-pcie # RZ/V2H(P)
- items:
@@ -87,14 +88,18 @@ properties:
interrupt-controller: true
clocks:
+ minItems: 2
items:
- description: System clock
- description: PM control clock or clock for L1 substate handling
+ - description: PM control clock or clock for L1 substate handling
clock-names:
+ minItems: 2
items:
- const: aclk
- enum: [pm, pmu]
+ - enum: [pm, pmu]
resets:
minItems: 1
@@ -215,6 +220,8 @@ allOf:
maxItems: 16
interrupt-names:
maxItems: 16
+ clocks:
+ maxItems: 2
clock-names:
items:
- const: aclk
@@ -223,6 +230,28 @@ allOf:
minItems: 7
reset-names:
minItems: 7
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: renesas,r9a08g046-pcie
+ then:
+ properties:
+ interrupts:
+ maxItems: 16
+ interrupt-names:
+ maxItems: 16
+ clocks:
+ minItems: 3
+ clock-names:
+ items:
+ - const: aclk
+ - const: pm
+ - const: pmu
+ resets:
+ maxItems: 1
+ reset-names:
+ maxItems: 1
- if:
properties:
compatible:
@@ -236,6 +265,8 @@ allOf:
minItems: 23
interrupt-names:
minItems: 23
+ clocks:
+ maxItems: 2
clock-names:
items:
- const: aclk
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] PCI: rzg3s-host: Add support for RZ/G3L SoC
2026-08-25 9:50 [PATCH 0/4] Add RZ/G3L PCIe support Biju
2026-08-25 9:50 ` [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC Biju
@ 2026-08-25 9:50 ` Biju
2026-09-03 12:53 ` Geert Uytterhoeven
1 sibling, 1 reply; 7+ messages in thread
From: Biju @ 2026-08-25 9:50 UTC (permalink / raw)
To: Claudiu Beznea, Lorenzo Pieralisi, Krzysztof Wilczyński,
Manivannan Sadhasivam, Bjorn Helgaas, Geert Uytterhoeven,
Magnus Damm
Cc: Biju Das, Rob Herring, linux-pci, linux-renesas-soc, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add SoC-specific data for the RZ/G3L (R9A08G046) PCIe controller and
register its "renesas,r9a08g046-pcie" compatible string. RZ/G3L reuses
the RZ/G3E config init/deinit callbacks and power resets, with its own
L1-allow syscon offset and mask.
Also increase the timeout in rzg3s_pcie_set_max_link_speed() to fix
the "Failed to set max link speed" message seen on RZ/G3L.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
drivers/pci/controller/pcie-rzg3s-host.c | 25 +++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pcie-rzg3s-host.c b/drivers/pci/controller/pcie-rzg3s-host.c
index b3531468ef38..3dffb85c6a47 100644
--- a/drivers/pci/controller/pcie-rzg3s-host.c
+++ b/drivers/pci/controller/pcie-rzg3s-host.c
@@ -1165,7 +1165,7 @@ static int rzg3s_pcie_set_max_link_speed(struct rzg3s_pcie_host *host)
FIELD_GET(RZG3S_PCI_PCSTAT1_LTSSM_STATE, tmp) == ltssm_state_l0,
PCIE_LINK_WAIT_SLEEP_MS * MILLI,
PCIE_LINK_WAIT_SLEEP_MS * MILLI *
- PCIE_LINK_WAIT_MAX_RETRIES);
+ PCIE_LINK_WAIT_MAX_RETRIES * 10);
if (ret)
return ret;
@@ -2467,6 +2467,25 @@ static const struct rzg3s_pcie_soc_data rzg3e_soc_data = {
},
};
+static const struct rzg3s_pcie_soc_data rzg3l_soc_data = {
+ .power_resets = rzg3e_soc_power_resets,
+ .num_power_resets = ARRAY_SIZE(rzg3e_soc_power_resets),
+ .num_pcie_controllers = 1,
+ .config_pre_init = rzg3e_pcie_config_pre_init,
+ .config_post_init = rzg3e_pcie_config_post_init,
+ .config_deinit = rzg3e_pcie_config_deinit,
+ .sysc_info = {
+ [RZG3S_PCIE_CONTROLLER_ID_0] = {
+ .functions = {
+ [RZG3S_SYSC_FUNC_ID_L1_ALLOW] = {
+ .offset = 0x3a0,
+ .mask = BIT(8),
+ },
+ },
+ },
+ },
+};
+
static const struct rzg3s_pcie_soc_data rzv2h_soc_data = {
.power_resets = rzg3e_soc_power_resets,
.num_power_resets = ARRAY_SIZE(rzg3e_soc_power_resets),
@@ -2516,6 +2535,10 @@ static const struct of_device_id rzg3s_pcie_of_match[] = {
.compatible = "renesas,r9a08g045-pcie",
.data = &rzg3s_soc_data,
},
+ {
+ .compatible = "renesas,r9a08g046-pcie",
+ .data = &rzg3l_soc_data,
+ },
{
.compatible = "renesas,r9a09g047-pcie",
.data = &rzg3e_soc_data,
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
2026-08-25 9:50 ` [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC Biju
@ 2026-08-31 6:33 ` Krzysztof Kozlowski
2026-09-03 12:47 ` Biju Das
2026-09-03 12:41 ` Geert Uytterhoeven
1 sibling, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-31 6:33 UTC (permalink / raw)
To: Biju
Cc: Claudiu Beznea, Bjorn Helgaas, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, Biju Das, Rob Herring, linux-pci, linux-renesas-soc,
devicetree, linux-kernel, Prabhakar Mahadev Lad
On Tue, Aug 25, 2026 at 10:50:40AM +0100, Biju wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
>
> Extend the existing device tree bindings for Renesas RZ/G3S PCIe
> controller to include support for the RZ/G3L (renesas,r9a08g046-pcie)
> PCIe controller. The RZ/G3L PCIe controller is similar to RZ/G3S but has
> some key differences:
> - Has 3 clocks compared to 2 on other SoCs.
> - Has a different set of reset signals
>
> Add device tree bindings for renesas,r9a08g046-pcie compatible IPs.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> .../bindings/pci/renesas,r9a08g045-pcie.yaml | 33 ++++++++++++++++++-
> 1 file changed, 32 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> index 09d78bd1a577..911b1976bf53 100644
> --- a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> @@ -13,7 +13,7 @@ description: |
> PCIe host controller found in Renesas RZ/G3S and similar SoCs complies
> with PCIe Base Specification 4.0 and supports different link speeds
> depending on the SoC variant:
> - - Gen2 (5 GT/s): RZ/G3S
> + - Gen2 (5 GT/s): RZ/G3{L,S}
> - Gen3 (8 GT/s): RZ/G3E, RZ/V2H(P), RZ/V2N
>
> properties:
> @@ -21,6 +21,7 @@ properties:
> oneOf:
> - enum:
> - renesas,r9a08g045-pcie # RZ/G3S
> + - renesas,r9a08g046-pcie # RZ/G3L
> - renesas,r9a09g047-pcie # RZ/G3E
> - renesas,r9a09g057-pcie # RZ/V2H(P)
> - items:
> @@ -87,14 +88,18 @@ properties:
> interrupt-controller: true
>
> clocks:
> + minItems: 2
> items:
> - description: System clock
> - description: PM control clock or clock for L1 substate handling
> + - description: PM control clock or clock for L1 substate handling
PMU? You list both clocks, but is there any different between them?
>
> clock-names:
> + minItems: 2
> items:
> - const: aclk
> - enum: [pm, pmu]
> + - enum: [pm, pmu]
This should be "const: pmu" in such case.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
2026-08-25 9:50 ` [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC Biju
2026-08-31 6:33 ` Krzysztof Kozlowski
@ 2026-09-03 12:41 ` Geert Uytterhoeven
1 sibling, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2026-09-03 12:41 UTC (permalink / raw)
To: Biju
Cc: Claudiu Beznea, Bjorn Helgaas, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam,
Krzysztof Kozlowski, Conor Dooley, Magnus Damm, Biju Das,
Rob Herring, linux-pci, linux-renesas-soc, devicetree,
linux-kernel, Prabhakar Mahadev Lad
Hi Biju,
On Tue, 25 Aug 2026 at 11:50, Biju <biju.das.au@gmail.com> wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
>
> Extend the existing device tree bindings for Renesas RZ/G3S PCIe
> controller to include support for the RZ/G3L (renesas,r9a08g046-pcie)
> PCIe controller. The RZ/G3L PCIe controller is similar to RZ/G3S but has
> some key differences:
> - Has 3 clocks compared to 2 on other SoCs.
> - Has a different set of reset signals
>
> Add device tree bindings for renesas,r9a08g046-pcie compatible IPs.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Thanks for your patch!
> --- a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> @@ -87,14 +88,18 @@ properties:
> interrupt-controller: true
>
> clocks:
> + minItems: 2
> items:
> - description: System clock
> - description: PM control clock or clock for L1 substate handling
> + - description: PM control clock or clock for L1 substate handling
As pointed out by Krzysztof, the "or ..." part should be dropped...
>
> clock-names:
> + minItems: 2
> items:
> - const: aclk
> - enum: [pm, pmu]
> + - enum: [pm, pmu]
... this can only be "pmu".
>
> resets:
> minItems: 1
The rest LGTM.
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] 7+ messages in thread
* RE: [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
2026-08-31 6:33 ` Krzysztof Kozlowski
@ 2026-09-03 12:47 ` Biju Das
0 siblings, 0 replies; 7+ messages in thread
From: Biju Das @ 2026-09-03 12:47 UTC (permalink / raw)
To: Krzysztof Kozlowski, Geert Uytterhoeven
Cc: Claudiu Beznea, Bjorn Helgaas, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
magnus.damm, Rob Herring, linux-pci@vger.kernel.org,
linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad
Hi Krzysztof Kozlowski/Geert,
Thanks for the feedback.
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 31 August 2026 07:34
> Subject: Re: [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
>
> On Tue, Aug 25, 2026 at 10:50:40AM +0100, Biju wrote:
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > Extend the existing device tree bindings for Renesas RZ/G3S PCIe
> > controller to include support for the RZ/G3L (renesas,r9a08g046-pcie)
> > PCIe controller. The RZ/G3L PCIe controller is similar to RZ/G3S but
> > has some key differences:
> > - Has 3 clocks compared to 2 on other SoCs.
> > - Has a different set of reset signals
> >
> > Add device tree bindings for renesas,r9a08g046-pcie compatible IPs.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > .../bindings/pci/renesas,r9a08g045-pcie.yaml | 33
> > ++++++++++++++++++-
> > 1 file changed, 32 insertions(+), 1 deletion(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> > b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> > index 09d78bd1a577..911b1976bf53 100644
> > ---
> > a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml
> > +++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yam
> > +++ l
> > @@ -13,7 +13,7 @@ description: |
> > PCIe host controller found in Renesas RZ/G3S and similar SoCs complies
> > with PCIe Base Specification 4.0 and supports different link speeds
> > depending on the SoC variant:
> > - - Gen2 (5 GT/s): RZ/G3S
> > + - Gen2 (5 GT/s): RZ/G3{L,S}
> > - Gen3 (8 GT/s): RZ/G3E, RZ/V2H(P), RZ/V2N
> >
> > properties:
> > @@ -21,6 +21,7 @@ properties:
> > oneOf:
> > - enum:
> > - renesas,r9a08g045-pcie # RZ/G3S
> > + - renesas,r9a08g046-pcie # RZ/G3L
> > - renesas,r9a09g047-pcie # RZ/G3E
> > - renesas,r9a09g057-pcie # RZ/V2H(P)
> > - items:
> > @@ -87,14 +88,18 @@ properties:
> > interrupt-controller: true
> >
> > clocks:
> > + minItems: 2
> > items:
> > - description: System clock
> > - description: PM control clock or clock for L1 substate
> > handling
> > + - description: PM control clock or clock for L1 substate
> > + handling
>
> PMU? You list both clocks, but is there any different between them?
OK will drop the or part.
>
> >
> > clock-names:
> > + minItems: 2
> > items:
> > - const: aclk
> > - enum: [pm, pmu]
> > + - enum: [pm, pmu]
>
> This should be "const: pmu" in such case.
Agreed.
Cheers,
Biju
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/4] PCI: rzg3s-host: Add support for RZ/G3L SoC
2026-08-25 9:50 ` [PATCH 3/4] PCI: rzg3s-host: Add support for " Biju
@ 2026-09-03 12:53 ` Geert Uytterhoeven
0 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2026-09-03 12:53 UTC (permalink / raw)
To: Biju
Cc: Claudiu Beznea, Lorenzo Pieralisi, Krzysztof Wilczyński,
Manivannan Sadhasivam, Bjorn Helgaas, Magnus Damm, Biju Das,
Rob Herring, linux-pci, linux-renesas-soc, linux-kernel,
Prabhakar Mahadev Lad
On Tue, 25 Aug 2026 at 11:50, Biju <biju.das.au@gmail.com> wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
>
> Add SoC-specific data for the RZ/G3L (R9A08G046) PCIe controller and
> register its "renesas,r9a08g046-pcie" compatible string. RZ/G3L reuses
> the RZ/G3E config init/deinit callbacks and power resets, with its own
> L1-allow syscon offset and mask.
>
> Also increase the timeout in rzg3s_pcie_set_max_link_speed() to fix
> the "Failed to set max link speed" message seen on RZ/G3L.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
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] 7+ messages in thread
end of thread, other threads:[~2026-09-03 12:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-25 9:50 [PATCH 0/4] Add RZ/G3L PCIe support Biju
2026-08-25 9:50 ` [PATCH 1/4] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC Biju
2026-08-31 6:33 ` Krzysztof Kozlowski
2026-09-03 12:47 ` Biju Das
2026-09-03 12:41 ` Geert Uytterhoeven
2026-08-25 9:50 ` [PATCH 3/4] PCI: rzg3s-host: Add support for " Biju
2026-09-03 12:53 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox