From 6cbb072b57e9d72d07097902d975f8a13b768e72 Mon Sep 17 00:00:00 2001 From: chinawrj Date: Wed, 22 Apr 2026 20:41:59 +0800 Subject: [PATCH] qualcommax: ipq50xx: ax6000: enable pcie1 for QCA9887 The Xiaomi AX6000 has three radios: - IPQ5018 integrated 2.4 GHz (ath11k AHB, wifi0) - QCN9024 on PCIe0 (ath11k PCI, QCA8074-class 5 GHz) - QCA9887 on PCIe1 (ath10k, 5 GHz) The DTS previously kept pcie1 disabled because the controller could not bring the link up. The real cause was the PERST GPIO polarity: the stock device-tree uses GPIO_ACTIVE_HIGH on GPIO18 for the QCA9887 card, while OpenWrt had GPIO_ACTIVE_LOW, leaving the card held in reset. With the correct polarity the PCIe1 link trains and the QCA9887 enumerates at 01:00.0. ath10k loads firmware-2.bin, registers phy0 with mac80211, and provides a functional 5 GHz AP. Tested on a reworked Xiaomi AX6000 with QCA9887 soldered in. All three radios enumerate, load firmware and beacon successfully; scan, association and data traffic confirmed on each radio. Signed-off-by: chinawrj Link: https://github.com/openwrt/openwrt/pull/23047 Signed-off-by: Robert Marko (cherry picked from commit 1bc03924dbb14a4803e1f8369860e7bf23c7dc60) --- .../files/arch/arm64/boot/dts/qcom/ipq5018-ax6000.dts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-ax6000.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-ax6000.dts index 4782101483..4bda41ba9d 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-ax6000.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-ax6000.dts @@ -549,13 +549,9 @@ }; &pcie1 { - /* - * although the pcie1 phy probes successfully, the controller is unable - * to bring it up. So let's disable it until a solution is found. - */ - status = "disabled"; + status = "okay"; - perst-gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + perst-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>; pcie@0 { wifi@0,0 {