From cd50164fb16e565d0583b8fda5ba7751b8f87516 Mon Sep 17 00:00:00 2001 From: Shuai Zhang Date: Thu, 9 Jul 2026 13:58:50 +0800 Subject: [PATCH] Revert "Bluetooth: support Bluetooth over both USB and UART (#364)" This reverts commit 1e1f55dc6119182e68eb7b762a3becc5c3126514, reversing changes made to 8b14607c4a15e7394b2b863881d78c28614667dc. Signed-off-by: Shuai Zhang --- arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 34 ++++++---------------- drivers/bluetooth/hci_qca.c | 3 +- drivers/power/sequencing/pwrseq-qcom-wcn.c | 14 --------- 3 files changed, 10 insertions(+), 41 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts index c99fcf0d4a122..9bbe8cac0d52d 100644 --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts @@ -497,23 +497,6 @@ vin-supply = <&vreg_wcn_3p3>; }; - vreg_wcn_bt_en: regulator-wcn-bt-en { - compatible = "regulator-fixed"; - - regulator-name = "VREG_WCN_BT_EN"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - gpio = <&tlmm 116 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 = <&wcn_bt_en>; - pinctrl-names = "default"; - - regulator-always-on; - regulator-boot-on; - }; - vreg_wcn_3p3: regulator-wcn-3p3 { compatible = "regulator-fixed"; @@ -664,9 +647,10 @@ vddrfa1p2-supply = <&vreg_wcn_1p9>; vddrfa1p8-supply = <&vreg_wcn_1p9>; + bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; - pinctrl-0 = <&wcn_wlan_en>; + pinctrl-0 = <&wcn_bt_en>, <&wcn_wlan_en>; pinctrl-names = "default"; regulators { @@ -1493,13 +1477,13 @@ compatible = "qcom,wcn7850-bt"; max-speed = <3200000>; - vddrfacmn-supply = <&vreg_wcn_3p3>; - vddaon-supply = <&vreg_wcn_3p3>; - vddwlcx-supply = <&vreg_wcn_3p3>; - vddwlmx-supply = <&vreg_wcn_3p3>; - vddrfa0p8-supply = <&vreg_wcn_3p3>; - vddrfa1p2-supply = <&vreg_wcn_3p3>; - vddrfa1p8-supply = <&vreg_wcn_3p3>; + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; }; }; diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 5d1730e58e47b..bbf181e4faf7f 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -2491,8 +2491,7 @@ static int qca_serdev_probe(struct serdev_device *serdev) if (!qcadev->bt_en && (data->soc_type == QCA_WCN6750 || data->soc_type == QCA_WCN6855 || - data->soc_type == QCA_QCC2072 || - data->soc_type == QCA_WCN7850)) + data->soc_type == QCA_QCC2072)) power_ctrl_enabled = false; qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl", diff --git a/drivers/power/sequencing/pwrseq-qcom-wcn.c b/drivers/power/sequencing/pwrseq-qcom-wcn.c index 916fa056025f5..663d9a5370653 100644 --- a/drivers/power/sequencing/pwrseq-qcom-wcn.c +++ b/drivers/power/sequencing/pwrseq-qcom-wcn.c @@ -357,20 +357,6 @@ static int pwrseq_qcom_wcn_match(struct pwrseq_device *pwrseq, reg_node->parent->parent != ctx->of_node) return PWRSEQ_NO_MATCH; - /* - * If this is a Bluetooth consumer device but the bt-enable GPIO is not - * configured in the power sequencer (e.g. BT_EN is tied high via a - * hardware pull-up and therefore absent from the DT), don't match. - * The consumer driver will fall back to its legacy power control path - * and correctly set power_ctrl_enabled to false. - * - * BT device nodes are conventionally named "bluetooth" in the DT, - * so use of_node_name_eq() as a generic check rather than enumerating - * specific compatible strings. - */ - if (!ctx->bt_gpio && of_node_name_eq(dev_node, "bluetooth")) - return PWRSEQ_NO_MATCH; - return PWRSEQ_MATCH_OK; }