* [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
* 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-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 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
* [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 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