[PATCH v13 00/11] Add STM32MP25 PCIe drivers

Christian Bruel posted 11 patches 1 month, 2 weeks ago
.../bindings/pci/st,stm32-pcie-common.yaml    |  33 ++
.../bindings/pci/st,stm32-pcie-ep.yaml        |  73 ++++
.../bindings/pci/st,stm32-pcie-host.yaml      | 112 +++++
Documentation/driver-api/pin-control.rst      |  57 ++-
MAINTAINERS                                   |   7 +
arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi |  20 +
arch/arm64/boot/dts/st/stm32mp251.dtsi        |  59 +++
arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |  21 +
drivers/pci/controller/dwc/Kconfig            |  24 ++
drivers/pci/controller/dwc/Makefile           |   2 +
drivers/pci/controller/dwc/pcie-stm32-ep.c    | 384 ++++++++++++++++++
drivers/pci/controller/dwc/pcie-stm32.c       | 360 ++++++++++++++++
drivers/pci/controller/dwc/pcie-stm32.h       |  16 +
drivers/pinctrl/core.c                        |  13 +
include/linux/pinctrl/consumer.h              |  10 +
15 files changed, 1189 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-ep.yaml
create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-stm32-ep.c
create mode 100644 drivers/pci/controller/dwc/pcie-stm32.c
create mode 100644 drivers/pci/controller/dwc/pcie-stm32.h
[PATCH v13 00/11] Add STM32MP25 PCIe drivers
Posted by Christian Bruel 1 month, 2 weeks ago
Changes in v13:
   - Rebase on pci/next
   - Replace access to dev->pins->init_state by new
     pinctrl_pm_select_init_state().
   - Document pinctrl PM state API.
   - Group GPIO PERST# de-assertion with PVPERL delay. (Bjorn)

Changes in v12:
   Fix warning reported by kernel test robot <lkp@intel.com>

Changes in v11:
   Address comments from Manivanna:
   - RC driver: Do not call pm_runtime_get_noresume in probe
                More uses of dev_err_probe
   - EP driver: Use level triggered PERST# irq

Changes in v10:
   - Update pcie_ep bindings with dbi2 and atu regs,
     thus remove Reviewed-by and Acked-by.
   
Changes in v9:
   - Describe atu and dbi2 shadowed registers in pcie_ep node
   Address RC and EP drivers comments from Manivanna:
   - Use dev_error_probe() for pm_runtime_enable() calls
   - Reword Kconfig help message
   - Move pm_runtime_get_noresume() before devm_pm_runtime_enable()

Changes in v8:
   - Whitespace in comment
   
Changes in v7:
   - Use device_init_wakeup to enable wakeup
   - Fix comments (Bjorn)

Changes in v6:
   - Call device_wakeup_enable() to fix WAKE# wakeup.
   Address comments from Manivanna:
   - Fix/Add Comments
   - Fix DT indents
   - Remove dw_pcie_ep_linkup() in EP start link
   - Add PCIE_T_PVPERL_MS delay in RC PERST# deassert
   
Changes in v5:
   Address driver comments from Manivanna:
   - Use dw_pcie_{suspend/resume}_noirq instead of private ones.
   - Move dw_pcie_host_init() to probe
   - Add stm32_remove_pcie_port cleanup function
   - Use of_node_put in stm32_pcie_parse_port
   - Remove wakeup-source property
   - Use generic dev_pm_set_dedicated_wake_irq to support wake# irq
   
Changes in v4:
   Address bindings comments Rob Herring
   - Remove phy property form common yaml
   - Remove phy-name property
   - Move wake_gpio and reset_gpio to the host root port
   
Changes in v3:
   Address comments from Manivanna, Rob and Bjorn:
   - Move host wakeup helper to dwc core (Mani)
   - Drop num-lanes=<1> from bindings (Rob)
   - Fix PCI address of I/O region (Mani)
   - Moved PHY to a RC rootport subsection (Bjorn, Mani)
   - Replaced dma-limit quirk by dma-ranges property (Bjorn)
   - Moved out perst assert/deassert from start/stop link (Mani)
   - Drop link_up test optim (Mani)
   - DT and comments rephrasing (Bjorn)
   - Add dts entries now that the combophy entries has landed
   - Drop delaying Configuration Requests

Changes in v2:
   - Fix st,stm32-pcie-common.yaml dt_binding_check	

Changes in v1:
   Address comments from Rob Herring and Bjorn Helgaas:
   - Drop st,limit-mrrs and st,max-payload-size from this patchset
   - Remove single reset and clocks binding names and misc yaml cleanups
   - Split RC/EP common bindings to a separate schema file
   - Use correct PCIE_T_PERST_CLK_US and PCIE_T_RRS_READY_MS defines
   - Use .remove instead of .remove_new
   - Fix bar reset sequence in EP driver
   - Use cleanup blocks for error handling
   - Cosmetic fixes

Christian Bruel (11):
  Documentation: pinctrl: Describe PM helper functions for standard
    states.
  pinctrl: Add pinctrl_pm_select_init_state helper function
  dt-bindings: PCI: Add STM32MP25 PCIe Root Complex bindings
  PCI: stm32: Add PCIe host support for STM32MP25
  dt-bindings: PCI: Add STM32MP25 PCIe Endpoint bindings
  PCI: stm32: Add PCIe Endpoint support for STM32MP25
  MAINTAINERS: add entry for ST STM32MP25 PCIe drivers
  arm64: dts: st: add PCIe pinctrl entries in stm32mp25-pinctrl.dtsi
  arm64: dts: st: Add PCIe Root Complex mode on stm32mp251
  arm64: dts: st: Add PCIe Endpoint mode on stm32mp251
  arm64: dts: st: Enable PCIe on the stm32mp257f-ev1 board

 .../bindings/pci/st,stm32-pcie-common.yaml    |  33 ++
 .../bindings/pci/st,stm32-pcie-ep.yaml        |  73 ++++
 .../bindings/pci/st,stm32-pcie-host.yaml      | 112 +++++
 Documentation/driver-api/pin-control.rst      |  57 ++-
 MAINTAINERS                                   |   7 +
 arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi |  20 +
 arch/arm64/boot/dts/st/stm32mp251.dtsi        |  59 +++
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |  21 +
 drivers/pci/controller/dwc/Kconfig            |  24 ++
 drivers/pci/controller/dwc/Makefile           |   2 +
 drivers/pci/controller/dwc/pcie-stm32-ep.c    | 384 ++++++++++++++++++
 drivers/pci/controller/dwc/pcie-stm32.c       | 360 ++++++++++++++++
 drivers/pci/controller/dwc/pcie-stm32.h       |  16 +
 drivers/pinctrl/core.c                        |  13 +
 include/linux/pinctrl/consumer.h              |  10 +
 15 files changed, 1189 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
 create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-ep.yaml
 create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
 create mode 100644 drivers/pci/controller/dwc/pcie-stm32-ep.c
 create mode 100644 drivers/pci/controller/dwc/pcie-stm32.c
 create mode 100644 drivers/pci/controller/dwc/pcie-stm32.h

-- 
2.34.1
Re: [PATCH v13 00/11] Add STM32MP25 PCIe drivers
Posted by Alexandre TORGUE 4 weeks, 1 day ago
Hi Christian

On 8/20/25 09:54, Christian Bruel wrote:
> Changes in v13:
>     - Rebase on pci/next
>     - Replace access to dev->pins->init_state by new
>       pinctrl_pm_select_init_state().
>     - Document pinctrl PM state API.
>     - Group GPIO PERST# de-assertion with PVPERL delay. (Bjorn)
> 

...

> 
> Christian Bruel (11):
>    Documentation: pinctrl: Describe PM helper functions for standard
>      states.
>    pinctrl: Add pinctrl_pm_select_init_state helper function
>    dt-bindings: PCI: Add STM32MP25 PCIe Root Complex bindings
>    PCI: stm32: Add PCIe host support for STM32MP25
>    dt-bindings: PCI: Add STM32MP25 PCIe Endpoint bindings
>    PCI: stm32: Add PCIe Endpoint support for STM32MP25
>    MAINTAINERS: add entry for ST STM32MP25 PCIe drivers
>    arm64: dts: st: add PCIe pinctrl entries in stm32mp25-pinctrl.dtsi
>    arm64: dts: st: Add PCIe Root Complex mode on stm32mp251
>    arm64: dts: st: Add PCIe Endpoint mode on stm32mp251
>    arm64: dts: st: Enable PCIe on the stm32mp257f-ev1 board
> 
>   .../bindings/pci/st,stm32-pcie-common.yaml    |  33 ++
>   .../bindings/pci/st,stm32-pcie-ep.yaml        |  73 ++++
>   .../bindings/pci/st,stm32-pcie-host.yaml      | 112 +++++
>   Documentation/driver-api/pin-control.rst      |  57 ++-
>   MAINTAINERS                                   |   7 +
>   arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi |  20 +
>   arch/arm64/boot/dts/st/stm32mp251.dtsi        |  59 +++
>   arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |  21 +
>   drivers/pci/controller/dwc/Kconfig            |  24 ++
>   drivers/pci/controller/dwc/Makefile           |   2 +
>   drivers/pci/controller/dwc/pcie-stm32-ep.c    | 384 ++++++++++++++++++
>   drivers/pci/controller/dwc/pcie-stm32.c       | 360 ++++++++++++++++
>   drivers/pci/controller/dwc/pcie-stm32.h       |  16 +
>   drivers/pinctrl/core.c                        |  13 +
>   include/linux/pinctrl/consumer.h              |  10 +
>   15 files changed, 1189 insertions(+), 2 deletions(-)
>   create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-common.yaml
>   create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-ep.yaml
>   create mode 100644 Documentation/devicetree/bindings/pci/st,stm32-pcie-host.yaml
>   create mode 100644 drivers/pci/controller/dwc/pcie-stm32-ep.c
>   create mode 100644 drivers/pci/controller/dwc/pcie-stm32.c
>   create mode 100644 drivers/pci/controller/dwc/pcie-stm32.h
> 

DT patches (8 to 11) applied on stm32-next.

Cheers

Alex
Re: (subset) [PATCH v13 00/11] Add STM32MP25 PCIe drivers
Posted by Manivannan Sadhasivam 1 month, 1 week ago
On Wed, 20 Aug 2025 09:54:00 +0200, Christian Bruel wrote:
> Changes in v13:
>    - Rebase on pci/next
>    - Replace access to dev->pins->init_state by new
>      pinctrl_pm_select_init_state().
>    - Document pinctrl PM state API.
>    - Group GPIO PERST# de-assertion with PVPERL delay. (Bjorn)
> 
> [...]

Applied, thanks!

[01/11] Documentation: pinctrl: Describe PM helper functions for standard states.
        commit: 272dad3f84004079328e8f36b2292e7297460ffd
[02/11] pinctrl: Add pinctrl_pm_select_init_state helper function
        commit: 08383cd479f8212fafee2f557b58cfd48818bee0
[03/11] dt-bindings: PCI: Add STM32MP25 PCIe Root Complex bindings
        commit: 5ffa3d2f43a487f60e9f6f692aa8e22251446755
[04/11] PCI: stm32: Add PCIe host support for STM32MP25
        commit: bb90c3dd42adba65fc2f26ecb16c1d27d74fa68b
[05/11] dt-bindings: PCI: Add STM32MP25 PCIe Endpoint bindings
        commit: 89f6842156333cca9abb8e641e28100b708bed00
[06/11] PCI: stm32: Add PCIe Endpoint support for STM32MP25
        commit: 679ebde120900c246925a374ea1ad39392d6e84b
[07/11] MAINTAINERS: add entry for ST STM32MP25 PCIe drivers
        commit: 3cf6b1bf4d250c15ebe537d55b5e09a902c41971

Best regards,
-- 
Manivannan Sadhasivam <mani@kernel.org>