On Wed, Apr 30, 2025 at 01:32:32PM +0300, Claudiu wrote: > From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > > 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. > The interrupts, interrupt-names, resets, reset-names, clocks, clock-names > description were obtained from the hardware manual. > + pcie@11e40000 { > + compatible = "renesas,r9a08g045s33-pcie"; > + reg = <0 0x11e40000 0 0x10000>; > + ranges = <0x03000000 0 0x30000000 0 0x30000000 0 0x8000000>; > + dma-ranges = <0x42000000 0 0x48000000 0 0x48000000 0 0x8000000>; > + bus-range = <0x0 0xff>; > + clocks = <&cpg CPG_MOD R9A08G045_PCI_ACLK>, > + <&cpg CPG_MOD R9A08G045_PCI_CLKL1PM>; > + clock-names = "aclk", "clkl1pm"; > + 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"; Could this be structured in a way that separates the shared Root Complex properties from the ones that are specific to the Root Port? I know the current hardware only supports a single Root Port, but I think we should plan to be able to support multiple Root Ports. > + 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 = "int_serr", "int_serr_cor", "int_serr_nonfatal", > + "int_serr_fatal", "axi_err_int", "inta_rc", > + "intb_rc", "intc_rc", "intd_rc", > + "intmsi_rc", "int_link_bandwidth", "int_pm_pme", > + "dma_int", "pcie_evt_int", "msg_int", > + "int_all"; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 0 0 7>; > + interrupt-map = <0 0 0 1 &pcie_intx 0>, /* INT A */ > + <0 0 0 2 &pcie_intx 1>, /* INT B */ > + <0 0 0 3 &pcie_intx 2>, /* INT C */ > + <0 0 0 4 &pcie_intx 3>; /* INT D */ > + device_type = "pci"; > + num-lanes = <1>; > + #address-cells = <3>; > + #size-cells = <2>; > + power-domains = <&cpg>; > + renesas,sysc = <&sysc>; > + vendor-id = <0x1912>; > + device-id = <0x0033>; > + > + pcie_intx: legacy-interrupt-controller { > + interrupt-controller; > + #interrupt-cells = <1>; > + #address-cells = <0>; > + interrupt-parent = <&gic>; > + interrupts = <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>; > + }; > + }; > + }; > + > +... > -- > 2.43.0 >