Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART

From: Konrad Dybcio

Date: Wed Mar 11 2026 - 09:13:54 EST


On 3/11/26 10:09 AM, Shuai Zhang wrote:
> When Bluetooth supports both USB and UART, the BT UART driver is
> always loaded, while USB is hot-pluggable. As a result, when Bluetooth
> is used over USB, the UART driver still be probed and drive BT_EN low,
> which causes the Bluetooth device on USB to be disconnected.

Is bluetooth connected over UART *and* USB simultaneously?

> Configure BT_EN as a GPIO hog so that it is controlled by the platform

What's "the platform"?

> instead of the UART driver, preventing BT over USB from being
> unintentionally powered down.
>
> Signed-off-by: Shuai Zhang <shuai.zhang@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> index 630642baa435..60a0b3ecbc1b 100644
> --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> @@ -647,10 +647,9 @@ wcn7850-pmu {
> vddrfa1p2-supply = <&vreg_wcn_1p9>;
> vddrfa1p8-supply = <&vreg_wcn_1p9>;
>
> - bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;

What if I want to power down Bluetooth now?

> wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
>
> - pinctrl-0 = <&wcn_bt_en>, <&wcn_wlan_en>;
> + pinctrl-0 = <&wcn_wlan_en>;
> pinctrl-names = "default";
>
> regulators {
> @@ -1398,11 +1397,12 @@ wcd_default: wcd-reset-n-active-state {
> output-low;
> };
>
> - wcn_bt_en: wcn-bt-en-state {
> - pins = "gpio116";
> - function = "gpio";
> - drive-strength = <2>;
> - bias-disable;
> + wcn_bt_en_hog: wcn-bt-en-state-hog {

This name is illegal (make CHECK_DTBS=1 qcom/hamoa-iot-evk.dtb)

> + gpio-hog;
> + gpios = <116 GPIO_ACTIVE_HIGH>;
> + output-high;
> + input-disable;

This property is not allowed for TLMM pins

> + link-name = "BT_EN";

This property doesn't exist

Konrad