[PATCH v2 0/3] PCI: apple: Integrate pwrctrl API
From: Yureka Lilian
Date: Wed Nov 04 2026 - 06:47:28 EST
Hi all,
This series integrates the PCI pwrctrl framework into the Apple PCIe
host driver to provide standardized power management for PCI ports.
This allows powering on the WiFi, SD card reader, and USB xHCI on
Apple Silicon Macs through the pwrctrl framework before probing the ports.
The first patch in this series exposes the necessary APIs to create,
destroy, and power on/off pwrctrl devices for individual ports.
The second patch integrates these APIs into the Apple PCIe driver on a
per-port basis. The third patch adds device tree changes for t600x as an
example.
Originally, a custom solution for powering on the WiFi and SD card
reader was proposed[1], but we can now use the pci-pwrctrl framework
for this purpose.
Link[1]: https://lore.kernel.org/lkml/20220502093832.32778-4-marcan@xxxxxxxxx/
---
Changes in v2:
- Split the pwrctrl API integration to work on a per-port basis for
consistency with the rest of the driver
- Correctly use ERR_PTR to convert the error value before printing
To: Bartosz Golaszewski <brgl@xxxxxxxxxx>
To: Manivannan Sadhasivam <mani@xxxxxxxxxx>
To: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
To: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>
To: Krzysztof Wilczyński <kwilczynski@xxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Marc Zyngier <maz@xxxxxxxxxx>
To: Sven Peter <sven@xxxxxxxxxx>
To: Janne Grunau <j@xxxxxxxxxx>
To: Neal Gompa <neal@xxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-pci@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: asahi@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
---
Yureka Lilian (3):
PCI/pwrctrl: Export per-device APIs
PCI: apple: Integrate pwrctrl API
arm64: dts: apple: t600x: Add PCIe pwren gpios
arch/arm64/boot/dts/apple/t600x-die0.dtsi | 4 ++
arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 16 ++++++++
arch/arm64/boot/dts/apple/t600x-j375.dtsi | 27 ++++++++++++++
drivers/pci/controller/Kconfig | 1 +
drivers/pci/controller/pcie-apple.c | 23 ++++++++++++
drivers/pci/pwrctrl/core.c | 51 +++++++++++++++++++++++---
include/linux/pci-pwrctrl.h | 4 ++
7 files changed, 121 insertions(+), 5 deletions(-)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20260706-apple-pcie-pwren-0dd1ebdf1c4c
Best regards,
--
Yureka Lilian <yureka@xxxxxxxxxxxxxx>