[PATCH V6 0/4] Add PCIe M.2 Key E connector support for NXP i.MX boards
From: Sherry Sun (OSS) <hidden>
Date: 2026-07-13 02:32:11
Also in:
imx, linux-bluetooth, linux-devicetree, linux-pci, linux-pm, lkml
From: Sherry Sun <redacted> This series adds support for NXP Wi-Fi/BT combo chips (88W9098, AW693) inserted into PCIe M.2 Key E connectors on i.MX95-19x19-EVK boards. For M.2 cards that rely on PCIe L2 link state and wake-up mechanisms, the card must remain powered during suspend. Patch #2 uses the existing dw_pcie_rp::skip_pwrctrl_off flag to skip power-off during suspend and skip power-on during the init path. Also the btnxpuart driver is extended to obtain a pwrseq descriptor via the OF graph on the UART controller device in patch #3. --- Changes in V6: 1. Fix the power sequencer reference leak issue during BT driver unbound and re-bound in patch #3 issue that reported by sashiko. 2. Collected the Reviewed-by tags. Changes in V5: 1. Improve the patch #1-3 commit message. 2. Remove the skip_pwrctrl_off flag check in imx_pcie_shutdown() in patch #2. 3. Add an explicit pwrseq_power_off() call in probe error path and nxp_serdev_remove() in patch #3. 4. Remove the imx8mq/imx8qm/imx8qxp/imx8dxl old platforms dts changes to avoid pcie functional break in some cases. For example, Uboot without M.2 driver support but use the new kernel dts file directly. Changes in V4: 1. Add a seperate patch to move pci_pwrctrl_create_devices() to imx_pcie_probe() as suggested by Frank. 2. Rebase the dts patches based on [2] patchset. 3. Drop pwrseq-pcie-m2 ID patch as it got applied. Changes in V3: 1. Move pci_pwrctrl_create_devices() to imx_pcie_probe() in parch #1, similar to other regulator_get calls as suggested by Frank. 2. Collected the tags. Changes in V2: 1. Rebased on top of 7.1.0. 2. Removed the power_off error handling in patch #3 because pwrseq_put() would call pwrseq_power_off() to automatically clean. 3. Collected the tags. --- Sherry Sun (4): PCI: imx6: Move pci_pwrctrl_create_devices() to imx_pcie_probe() PCI: imx6: Add skip_pwrctrl_off flag support Bluetooth: btnxpuart: Add M.2 Bluetooth device support using pwrseq arm64: dts: imx95-19x19-evk: Describe the PCIe M.2 Key E connector .../boot/dts/freescale/imx95-19x19-evk.dts | 55 ++++++++++++++----- drivers/bluetooth/btnxpuart.c | 34 ++++++++++-- drivers/pci/controller/dwc/pci-imx6.c | 38 +++++++------ 3 files changed, 92 insertions(+), 35 deletions(-) base-commit: bee763d5f341b99cf472afeb508d4988f62a6ca1 -- 2.50.1