[PATCH v3 0/7] PCI: mediatek-gen3: add power control support
From: Chen-Yu Tsai
Date: Mon Mar 02 2026 - 00:31:24 EST
Hi folks,
This is v3 of my MediaTek PCIe gen3 controller driver power control
support series.
Changes since v2:
- Link to v2: https://lore.kernel.org/all/20260226092234.3859740-1-wenst@xxxxxxxxxxxx/
- Made PCIE_MEDIATEK_GEN3 select PCI_PWRCTRL_SLOT, following existing
examples
I do wonder why the existing ones don't select PCI_PWRCTRL instead.
As there are multiple providers, and now even the M.2 power sequencing
driver, I think either we enable the common ones by default, or let
the user pick and choose.
Changes since v1:
- Link to v1: https://lore.kernel.org/all/20260224071258.2654521-1-wenst@xxxxxxxxxxxx/
- commit message for patch 3 was rewritten
Jianjun Wang was dropped from the recipients as the email was
bouncing.
This series adds power control support to the MediaTek PCIe gen3
controller driver. This allows proper modeling of WiFi and NVMe
adapters in the device tree and control over their power supplies.
Patch 1 through 4 are cleanups and minor improvements to the driver.
Patch 5 adds power control support using the new pwrctrl API to the
PCIe controller driver.
Patch 6 adds the WiFi and BT power supplies for the MT8195 Cherry design.
This is actually a M.2 E-key slot, but support for that is still WIP [1].
And even with it merged, support for the USB side still needs to be
figured out.
We can either merge this as is for now, and do another conversion later,
or just keep this one out. However this is still an improvement over
the current device tree, in which the power for the slot is always on
using a pinctrl setting.
Patch 7 adds the M.2 M-key NVMe slot found on MT8195 Dojo Chromebooks.
This change actually makes use of the M.2 pwrseq driver.
Please have a look.
Thanks
ChenYu
[1] https://lore.kernel.org/linux-pci/20260224-pci-m2-e-v5-0-dd9b9501d33c@xxxxxxxxxxxxxxxx/
Chen-Yu Tsai (7):
PCI: mediatek-gen3: Clean up mtk_pcie_parse_port() with
dev_err_probe()
PCI: mediatek-gen3: Add error path for probe and resume driver
callbacks
PCI: mediatek-gen3: Split out device power helpers
PCI: mediatek-gen3: Disable device if further setup fails
PCI: mediatek-gen3: Integrate new pwrctrl API
arm64: dts: mediatek: mt8195-cherry: add WiFi PCIe and BT USB power
supplies
arm64: dts: mediatek: mt8195-cherry-dojo: Describe M.2 M-key NVMe slot
.../dts/mediatek/mt8195-cherry-dojo-r1.dts | 38 ++++
.../boot/dts/mediatek/mt8195-cherry.dtsi | 47 +++--
drivers/pci/controller/Kconfig | 1 +
drivers/pci/controller/pcie-mediatek-gen3.c | 185 +++++++++++-------
4 files changed, 184 insertions(+), 87 deletions(-)
--
2.53.0.473.g4a7958ca14-goog