Re: [PATCH v3 0/7] Add PCIe support to Sophgo SG2042 SoC

Chen Wang <[email protected]>
Newsgroups dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci
Message-ID <PN4PR01MB11064C24A188A68558B5CD94DFE14A@PN4PR01MB11064.INDPRD01.PROD.OUTLOOK.COM>
Hello, Bjorn,

Is it ok for you to pick this patchset, so we can see this in next 6.18.

You can pick [1/7]~[3/7], I can handle the left dts part.

Thanks,

Chen

On 9/12/2025 10:35 AM, Chen Wang wrote:
> From: Chen Wang <[email protected]>
>
> Sophgo's SG2042 SoC uses Cadence PCIe core to implement RC mode.
>
> This is a completely rewritten PCIe driver for SG2042. It inherits
> some previously submitted patch codes (not merged into the upstream
> mainline), but the biggest difference is that the support for
> compatibility with old 32-bit PCIe devices has been removed in this
> new version. This is because after discussing with community users,
> we felt that there was not much demand for support for old devices,
> so we made a new design based on the simplified design and practical
> needs. If someone really needs to play with old devices, we can provide
> them with some necessary hack patches in the downstream repository.
>
> Since the new design is quite different from the old code, I will
> release it as a new patch series. The old patch series can be found in
> here [old-series].
>
> Note, regarding [2/7] of this patchset, this fix is introduced because
> the pcie->ops pointer is not filled in SG2042 PCIe driver. This is not
> a must-have parameter, if we use it w/o checking will cause a null
> pointer access error during runtime.
>
> Link: https://lore.kernel.org/linux-riscv/[email protected]/ [old-series]
>
> Thanks,
> Chen
>
> ---
>
> Changes in v3:
>
>    This patchset is based on v6.17-rc1.
>
>    Fixed following issues for driver code based on feedbacks from Bjorn Helgaas,
>    Mingcong Bai, thanks.
>
>    - Fixed the issue when building the driver as a module. Define own pm_ops
>      inside driver, don't use the ops defined in other built-in drivers.
>    - Improve .remove() function to properly disable the host.
>
> Changes in v2:
>
>    This patchset is based on v6.17-rc1. You can simply review or test the
>    patches at the link [2].
>
>    Fixed following issues based on feedbacks from Rob Herring, Manivannan Sadhasivam,
>    Bjorn Helgaas, ALOK TIWARI, thanks.
>
>    - Driver binding:
>      - Removed vendor-id/device-id from "required" property.
>    - Improve drivers code:
>      - Have separated pci_ops for the root bus and child buses.
>      - Make the driver tristate and as a module.
>      - Change the configuration name from PCIE_SG2042 to PCIE_SG2042_HOST.
>      - Removed "Fixes" tag from commit [2/7], since this is not for an existing bug fix.
>      - Other code cleanups and optimizations
>    - DT:
>      - Add PCIe support for SG2042 EVB boards.
>
> Changes in v1:
>
>    The patch series is based on v6.17-rc1. You can simply review or test the
>    patches at the link [1].
>
> Link: https://lore.kernel.org/linux-riscv/[email protected]/ [1]
> Link: https://lore.kernel.org/linux-riscv/[email protected]/ [2]
>
> ---
>
> Chen Wang (7):
>    dt-bindings: pci: Add Sophgo SG2042 PCIe host
>    PCI: cadence: Check pcie-ops before using it
>    PCI: sg2042: Add Sophgo SG2042 PCIe driver
>    riscv: sophgo: dts: add PCIe controllers for SG2042
>    riscv: sophgo: dts: enable PCIe for PioneerBox
>    riscv: sophgo: dts: enable PCIe for SG2042_EVB_V1.X
>    riscv: sophgo: dts: enable PCIe for SG2042_EVB_V2.0
>
>   .../bindings/pci/sophgo,sg2042-pcie-host.yaml |  64 ++++++++
>   arch/riscv/boot/dts/sophgo/sg2042-evb-v1.dts  |  12 ++
>   arch/riscv/boot/dts/sophgo/sg2042-evb-v2.dts  |  12 ++
>   .../boot/dts/sophgo/sg2042-milkv-pioneer.dts  |  12 ++
>   arch/riscv/boot/dts/sophgo/sg2042.dtsi        |  88 +++++++++++
>   drivers/pci/controller/cadence/Kconfig        |  10 ++
>   drivers/pci/controller/cadence/Makefile       |   1 +
>   .../controller/cadence/pcie-cadence-host.c    |   2 +-
>   drivers/pci/controller/cadence/pcie-cadence.c |   4 +-
>   drivers/pci/controller/cadence/pcie-cadence.h |   6 +-
>   drivers/pci/controller/cadence/pcie-sg2042.c  | 138 ++++++++++++++++++
>   11 files changed, 343 insertions(+), 6 deletions(-)
>   create mode 100644 Documentation/devicetree/bindings/pci/sophgo,sg2042-pcie-host.yaml
>   create mode 100644 drivers/pci/controller/cadence/pcie-sg2042.c
>
>
> base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.