[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <27d76eac-6141-45db-a347-edfc3bb593d4@tuxon.dev>
Date: Fri, 29 Aug 2025 08:03:24 +0300
From: claudiu beznea <claudiu.beznea@...on.dev>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: bhelgaas@...gle.com, lpieralisi@...nel.org, kwilczynski@...nel.org,
mani@...nel.org, robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
geert+renesas@...der.be, magnus.damm@...il.com, catalin.marinas@....com,
will@...nel.org, mturquette@...libre.com, sboyd@...nel.org,
p.zabel@...gutronix.de, lizhi.hou@....com, linux-pci@...r.kernel.org,
linux-renesas-soc@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-clk@...r.kernel.org, Claudiu Beznea
<claudiu.beznea.uj@...renesas.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>
Subject: Re: [PATCH v3 4/9] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Add
documentation for the PCIe IP on Renesas RZ/G3S
Hi, Bjorn,
On 8/28/25 22:36, Bjorn Helgaas wrote:
> On Thu, Aug 28, 2025 at 10:11:55PM +0300, claudiu beznea wrote:
>> On 8/8/25 14:25, Claudiu Beznea wrote:
>>> On 08.07.2025 19:34, Bjorn Helgaas wrote:
>>>> On Fri, Jul 04, 2025 at 07:14:04PM +0300, Claudiu wrote:
>>>>> From: Claudiu Beznea <claudiu.beznea.uj@...renesas.com>
>>>>>
>>>>> The PCIe IP available on the Renesas RZ/G3S complies with the PCI Express
>>>>> Base Specification 4.0. It is designed for root complex applications and
>>>>> features a single-lane (x1) implementation. Add documentation for it.
>> ...
>
>> Renesas HW team replied to me that there are no clock, reset, or interrupt
>> signals dedicated specifically to the Root Port. All these signals are
>> shared across the PCIe system.
>>
>> Taking this and your suggestions into account, I have prepared the following
>> device tree:
>>
>> pcie: pcie@...40000 {
>> compatible = "renesas,r9a08g045-pcie";
>> reg = <0 0x11e40000 0 0x10000>;
>> ranges = <0x02000000 0 0x30000000 0 0x30000000 0 0x8000000>;
>> /* Map all possible DRAM ranges (4 GB). */
>> dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0x1 0x0>;
>> bus-range = <0x0 0xff>;
>> interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
>> <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>;
>> interrupt-names = "serr", "serr_cor", "serr_nonfatal",
>> "serr_fatal", "axi_err", "inta",
>> "intb", "intc", "intd", "msi",
>> "link_bandwidth", "pm_pme", "dma",
>> "pcie_evt", "msg", "all";
>> #interrupt-cells = <1>;
>> interrupt-controller;
>> interrupt-map-mask = <0 0 0 7>;
>> interrupt-map = <0 0 0 1 &pcie 0 0 0 0>, /* INTA */
>> <0 0 0 2 &pcie 0 0 0 1>, /* INTB */
>> <0 0 0 3 &pcie 0 0 0 2>, /* INTC */
>> <0 0 0 4 &pcie 0 0 0 3>; /* INTD */
>> clocks = <&cpg CPG_MOD R9A08G045_PCI_ACLK>,
>> <&cpg CPG_MOD R9A08G045_PCI_CLKL1PM>;
>> clock-names = "aclk", "pm";
>> resets = <&cpg R9A08G045_PCI_ARESETN>,
>> <&cpg R9A08G045_PCI_RST_B>,
>> <&cpg R9A08G045_PCI_RST_GP_B>,
>> <&cpg R9A08G045_PCI_RST_PS_B>,
>> <&cpg R9A08G045_PCI_RST_RSM_B>,
>> <&cpg R9A08G045_PCI_RST_CFG_B>,
>> <&cpg R9A08G045_PCI_RST_LOAD_B>;
>> reset-names = "aresetn", "rst_b", "rst_gp_b", "rst_ps_b",
>> "rst_rsm_b", "rst_cfg_b", "rst_load_b";
>> power-domains = <&cpg>;
>> device_type = "pci";
>> #address-cells = <3>;
>> #size-cells = <2>;
>> renesas,sysc = <&sysc>;
>> status = "disabled";
>>
>> pcie_port0: pcie@0,0 {
>> reg = <0x0 0x0 0x0 0x0 0x0>;
>> ranges;
>> clocks = <&versa3 5>;
>> clock-names = "ref";
>> device_type = "pci";
>> vendor-id = <0x1912>;
>> device-id = <0x0033>;
>> bus-range = <0x1 0xff>;
>
> I don't think you need this bus-range. The bus range for the
> hierarchy below a Root Port is discoverable and configurable via
> config space.
Thank you for the pointer. I'll update and send a new version.
Claudiu
Powered by blists - more mailing lists