[PATCH v2 0/2] Manage the PCIe supplies with pwrctrl
Shawn Lin
shawn.lin at rock-chips.com
Wed Oct 28 19:40:04 PDT 2026
The Rockchip PCIe host controller describes a single vpcie3v3 supply on
the controller node to power whatever is plugged into the slot. That is
enough for a board that only ever has one device there, but it cannot
express per-device supplies, and it does not fit boards where the slot
power is owned by a separate power sequencing or switch device.
This series switches the pcie-dw-rockchip driver to the generic PCI
pwrctrl framework, which lets the supplies of the devices below a host
controller be described in their own DT nodes and be enabled before the
PHY is initialized.
Patch 1 makes the driver create and power on the pwrctrl devices below
the controller ahead of the PHY init. The controller level vpcie3v3 supply
is kept for backward compatibility, so existing boards keep working unchanged.
Patch 2 moves the supply of the RK3588 EVB1 slot into a child node that
describes the slot as a PCI bridge.
Changes in v2:
- Select PCI_PWRCTRL_GENERIC from PCIE_ROCKCHIP_DW, so that the
built-in controller driver cannot end up with undefined
pci_pwrctrl_* references when the pwrctrl core is a module(sashiko)
- Do not destroy the pwrctrl devices on -EPROBE_DEFER, so that the
deferred child devices can still bind and retrigger the
probe(sashiko)
Shawn Lin (2):
PCI: dw-rockchip: Power on devices below the RC using pwrctrl
arm64: dts: rockchip: rk3588-evb1: describe the PCIe3x4 slot supply
.../boot/dts/rockchip/rk3588-evb1-v10.dts | 14 +++++++-
drivers/pci/controller/dwc/Kconfig | 1 +
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 32 ++++++++++++++++---
3 files changed, 42 insertions(+), 5 deletions(-)
--
2.25.1
More information about the Linux-rockchip
mailing list