devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4 v3] PCI: s32g: Add support for PCIe controller
@ 2025-10-22 17:43 Vincent Guittot
  2025-10-22 17:43 ` [PATCH 1/4 v3] dt-bindings: PCI: s32g: Add NXP " Vincent Guittot
                   ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: Vincent Guittot @ 2025-10-22 17:43 UTC (permalink / raw)
  To: chester62515, mbrugger, ghennadi.procopciuc, s32, bhelgaas,
	jingoohan1, lpieralisi, kwilczynski, mani, robh, krzk+dt,
	conor+dt, Ionut.Vicovan, larisa.grigore, Ghennadi.Procopciuc,
	ciprianmarian.costea, bogdan.hamciuc, Frank.li, linux-arm-kernel,
	linux-pci, devicetree, linux-kernel, imx
  Cc: cassel

The S32G SoC family has 2 PCIe controllers based on Designware IP.

Add the support for Host mode.

Change since v2:

- More cleanup on DT binding to comply with schemas/pci/snps,dw-pcie.yaml
- Added new reg and bit fields in pcie-designware.h 
- Rename Kconfig PCIE_NXP_S32G and files to use pcie-nxp-s32g prefix
- Prefixed s32G registers with PCIE_S32G_ and use generic regs otherwise
- Use memblock_start_of_DRAM to set coherency boundary and add comments
- Fixed suspend/resume sequence by adding missing pme_turn_off function
- Added .probe_type = PROBE_PREFER_ASYNCHRONOUS to speedup probe
- Added pm_runtime_no_callbacks() as device doesn't have runtime ops
- Use writel/readl in ctrl function instead of dw_pcie_write/read
- Move Maintainer section in a dedicated entry

Change since v1:

- Cleanup DT binding
  - Removed useless description and fixed typo, naming and indentation.
  - Removed nxp,phy-mode binding until we agreed on a generic binding.
    Default (crnss) mode is used for now. Generic binding wil be discussed
    in a separate patch.
  - Removed max-link-speed and num-lanes which are coming from
    snps,dw-pcie-common.yaml. They are needed only if to restrict from the
    the default hw config.
  - Added unevaluatedProperties: false
  - Keep Phys in host node until dw support Root Port node.

- Removed nxp-s32g-pcie-phy-submode.h until there is a generic clock and
  spectrum binding.

- Rename files to start with pcie-s32g instead of pci-s32g

- Cleanup pcie-s32-reg.h and use dw_pcie_find_capability()

- cleanup and rename in s32g-pcie.c in addtion to remove useless check or
  duplicate code.

- dw_pcie_suspend/resume_noirq() doesn't woork, need to set child device
  to reach lowest state.

- Added L: imx@lists.linux.dev in MAINTAINERS


Vincent Guittot (4):
  dt-bindings: PCI: s32g: Add NXP PCIe controller
  PCI: dw: Add more registers and bitfield definition
  PCI: s32g: Add initial PCIe support (RC)
  MAINTAINERS: Add MAINTAINER for NXP S32G PCIe driver

 .../bindings/pci/nxp,s32g-pcie.yaml           | 102 ++++
 MAINTAINERS                                   |   9 +
 drivers/pci/controller/dwc/Kconfig            |  10 +
 drivers/pci/controller/dwc/Makefile           |   1 +
 drivers/pci/controller/dwc/pcie-designware.h  |   8 +
 .../pci/controller/dwc/pcie-nxp-s32g-regs.h   |  37 ++
 drivers/pci/controller/dwc/pcie-nxp-s32g.c    | 439 ++++++++++++++++++
 7 files changed, 606 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/nxp,s32g-pcie.yaml
 create mode 100644 drivers/pci/controller/dwc/pcie-nxp-s32g-regs.h
 create mode 100644 drivers/pci/controller/dwc/pcie-nxp-s32g.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2025-11-14 21:35 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-22 17:43 [PATCH 0/4 v3] PCI: s32g: Add support for PCIe controller Vincent Guittot
2025-10-22 17:43 ` [PATCH 1/4 v3] dt-bindings: PCI: s32g: Add NXP " Vincent Guittot
2025-10-22 19:17   ` Frank Li
2025-10-24  6:58     ` Vincent Guittot
2025-11-06  0:00   ` Bjorn Helgaas
2025-11-06  7:51     ` Vincent Guittot
2025-11-06  7:12   ` Manivannan Sadhasivam
2025-11-06  8:09     ` Vincent Guittot
2025-11-06 17:38       ` Bjorn Helgaas
2025-11-10  9:14         ` Vincent Guittot
2025-10-22 17:43 ` [PATCH 2/4 v3] PCI: dw: Add more registers and bitfield definition Vincent Guittot
2025-10-22 17:43 ` [PATCH 3/4 v3] PCI: s32g: Add initial PCIe support (RC) Vincent Guittot
2025-10-22 19:04   ` Bjorn Helgaas
2025-10-24  6:50     ` Vincent Guittot
2025-11-05 10:28       ` Niklas Cassel
2025-11-05 10:43         ` Ilpo Järvinen
2025-11-05 11:00           ` Niklas Cassel
2025-11-06  0:05       ` Bjorn Helgaas
2025-11-06  6:24         ` Manivannan Sadhasivam
2025-11-06  7:50           ` Vincent Guittot
2025-11-14 10:05           ` Christian Bruel
2025-11-14 21:35             ` Bjorn Helgaas
2025-11-06  7:46         ` Vincent Guittot
2025-10-22 19:44   ` Frank Li
2025-10-24  6:53     ` Vincent Guittot
2025-11-05  7:58       ` Vincent Guittot
2025-11-06 17:23   ` Bjorn Helgaas
2025-11-06 17:33     ` Vincent Guittot
2025-10-22 17:43 ` [PATCH 4/4 v3] MAINTAINERS: Add MAINTAINER for NXP S32G PCIe driver Vincent Guittot
2025-10-22 19:20   ` Frank Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).