[PATCH 0/3] power: sequencing: pcie-m2: Enable USB/UART BT coexistence on Hamoa EVK
From: Wei Deng
Date: Thu Jul 09 2026 - 03:30:06 EST
M.2 combo chips expose Wi-Fi over PCIe and Bluetooth over either UART
or USB, depending on the card variant. Both variants share the same PCIe
device ID but use different sub-system IDs. The current driver uses bare
PCI_DEVICE() matches that cover all sub-system IDs, so both variants
trigger UART serdev creation — wrong for USB-only BT cards.
This series fixes USB/UART BT coexistence by:
1. Narrowing WCN6855 and WCN7851 table entries to UART-only sub-system
IDs so USB variants no longer trigger UART serdev creation.
2. Deasserting W_DISABLE2# for any PCIe device detected under the
connector that does not match a UART BT entry, allowing the BT
subsystem to power up and the USB BT interface to enumerate.
3. Describing the PCIe M.2 Key E connector on the Hamoa IoT EVK,
adding w-disable2-gpios for software control of W_DISABLE2#.
Validated on Hamoa IoT EVK (IQ-X7181-EVK) with multiple M.2 cards:
UART BT (WCN6855, WCN7851, QCC2072) and USB BT (WCN6855, WCN7851)
all work correctly.
Signed-off-by: Wei Deng <wei.deng@xxxxxxxxxxxxxxxx>
---
Wei Deng (3):
arm64: dts: qcom: hamoa-iot-evk: Describe the PCIe M.2 Key E connector
power: sequencing: pcie-m2: Match WCN6855 and WCN7851 UART BT variants by subdevice ID
power: sequencing: pcie-m2: Deassert W_DISABLE2# when no UART serdev is created
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 129 ++++++++++-------------------
arch/arm64/boot/dts/qcom/hamoa.dtsi | 1 +
drivers/power/sequencing/pwrseq-pcie-m2.c | 39 ++++++---
3 files changed, 74 insertions(+), 95 deletions(-)
---
base-commit: b9810cd75b9fb56a3425d391cba3f608502bd474
change-id: 20260709-fix-hamoa-m2-w-disable2-0fe775072c74
Best regards,
--
Wei Deng <wei.deng@xxxxxxxxxxxxxxxx>