From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B0D21DD877 for ; Fri, 13 Mar 2026 06:37:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773383873; cv=none; b=dt6bJ93wVngYkHfZVRha6/FRDK38zR9cvXNELYKmmeTzKFyCWDEZBNDiB5yphnacaQJNnHA5K+OuTqlXwAYZYSSw6EWuvTcyBZBvDrOgzU7ZyDhBj0PhUUPE9fHw6fjWIVsvF860wEhZ0B+KaK9GoHMP3kz/aYDERNLqpPWGTUM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773383873; c=relaxed/simple; bh=eXX32EnsrJtXZeC6ghwpSOVoFw7cQHT1FJ4A99lykxU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=qaJu0FxPl0xV0uNl1sOqh2U6W7yh521CAuyR4LTM/CbZM3Q7qel+6OKvgrqQv4JJ/xwrSUs81EF4BVi2K9jx8zaq0Zg/hA2f+H/HWDMjdsTxw5qbwqW+mFSSco4PvMAeuzSRIm5KDmXUEtxpjjzq0r3wCuYoooJ3AXXjfibCxPM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Czp3QzsG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=krT1uXL7; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Czp3QzsG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="krT1uXL7" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62D5tdNb1574569 for ; Fri, 13 Mar 2026 06:37:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hEawz2/uulbkXKFxTMF08cT7BTaaWL0evQAKbAWCYMI=; b=Czp3QzsGCX64RXvk vGDXoHip8AhYmX03hJL+8vhjfRSAuykAyJgvUasng8zdXR6NWXZ8zo7JDjz/MlHf +IMGphMB++A9Y2SNQ0BovRd1IsrZoiZMa9noIraVvHuyR5bfNLzdKOzn66otKWsF 57/DfnreXS346qP1cCBujaj7Lu9ujwjvOlASJrEPr2rqCKRjWzbzYrB/JQe6wTgW nRiGMHbtKkOSvwvNH8zbzlVJStUtSxuq5QpCCiV9++ndYzY4XYgZ+LtmxxrVWQTj O1w9iREFs1Wmjk1xoH7HKnORlbVZCZkWdBZmTEO73+kkdcLC5CxUzIZWQa3J/f8/ 6LKhuA== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cuh53mtn0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Mar 2026 06:37:50 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-466f0785d24so8335742b6e.3 for ; Thu, 12 Mar 2026 23:37:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773383870; x=1773988670; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=hEawz2/uulbkXKFxTMF08cT7BTaaWL0evQAKbAWCYMI=; b=krT1uXL7JTJ8ZfvZjE9q0gpMImAN+oTnt4ofC0GHKBzByYGwW+R9mTMRt9tKRibSRR iulcIdI/99ODD18sOvSliZ+PR+Bizy7ip/zvYFXXToUvEaO8AFi1+pzTrvqEUkfAr3In 1lCGQMwdZ4ajB4Pv/QYhKtKrgAlAbM/dgHiyoaA0pgR34NxKTweuDmkeVQ0NoJXSOfkd KgWSLJSGVEJYKb56NV3MgKy3T0ne7r41fI6TVypA5bO60hZLkNy1noURyop63wUR/3nU MgWKlrBTA+A7HTprxmG6MJaMJvv/e0KwxvEb5o1IBv+6vTPvO1+87Q413HIcoFPhg0wB KBaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773383870; x=1773988670; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hEawz2/uulbkXKFxTMF08cT7BTaaWL0evQAKbAWCYMI=; b=aVUYCer6cgwq0GKWpeT/iNAahyB4BJ0QjN4iCd9yCiCMELN2bsszk4rBe/PubrItvs 2bm/bsZSsdHyHcIMKtzY17QZagqPeG8pLhwF2jodLhoJ4bkwZy0hPF/pDWx3cfdn9XGb KEDLMS2R8+Wcm4fZZLph5/PJI+1sVFTny6W52RBm5xLou5kZ5J1ATWfyTUijV7SIAgA6 LuBZN+cvaQN8qaP7ykyYYREpECKsaFkePi5N9xkNfxo5wNP/w5F9NjsICt9pbqJoJx8v sHDDZaLoA3Jaw9AGJ5FZ4KGIvJPXyOzur9etv6QptF1l6LQS9WXhDGqEziAzp1BsQdmQ t17g== X-Forwarded-Encrypted: i=1; AJvYcCWMGzobBAnpnNbaZU7zY4idyonFGg7Ed/OVvBWXdus0Nh6F2WvK8SvREbYaOVbPYZpv2XksO8SOxBp83U8=@vger.kernel.org X-Gm-Message-State: AOJu0YzC/HvBvvCsTzWhAvIlIe8lxHyXEmetLPwIzEIuQPfKquu0bthv Pmq8n2gRbuVsW9gGSXkJt4oeqoECbHKj3WRIYfkuzCOx9QvQdA6M2dSRa8pJI1QaOL+b6lkkN9u v0SJ78zPJhaAHmXb/wVLR04xkOoylgVPtJlLLaLn8+mvPXvUStVoNxn7NmxsteAc/9xnlUQbH+e c= X-Gm-Gg: ATEYQzzMMB9k90czw9T0zOAFCT/8YVf3Nh/Ja2Q5mOQFxcjH8JxYCq1l38U//S7hYea LYFHnD4fZHRNIRsJQx5ncmn8ro+bKWIrlpj7iWv7CdFssf/5CXmeGGeBf/2NWyZAFdbBhsoHpZ4 KtIcv2X4vsOOV9xlBSktxJPYyNIbzizOaPDXIYjCnXhKkGIJK4i5SvwigbX5Wh8KmaGYqkJoTYK Up2hs75phh/dVahpWX+wll7vgFIX70iBKeNEjLU11+gnnNrZUjWc4aIguQeE+aJnkWSzccYCA7Y NiyN645mreR7L3Ua0/ZwfJ7lHU+VgfbE6ajhCefWlYECbcjYvPdpELXrBaj6Q7QSXDCVqAp1Spf zmKY3mQuzGEXaqfbpmHg9Z92vMWxv4nLFQavGcaIM8igmuQc= X-Received: by 2002:a05:6808:344c:b0:467:1c9e:2121 with SMTP id 5614622812f47-46757037223mr1168940b6e.1.1773383870308; Thu, 12 Mar 2026 23:37:50 -0700 (PDT) X-Received: by 2002:a05:6808:344c:b0:467:1c9e:2121 with SMTP id 5614622812f47-46757037223mr1168922b6e.1.1773383869856; Thu, 12 Mar 2026 23:37:49 -0700 (PDT) Received: from [10.239.97.158] ([114.94.8.21]) by smtp.gmail.com with ESMTPSA id 5614622812f47-46743aca62fsm2856962b6e.2.2026.03.12.23.37.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Mar 2026 23:37:49 -0700 (PDT) Message-ID: <97a3f3f2-e9e2-44ac-a682-0e0f0c100a45@oss.qualcomm.com> Date: Fri, 13 Mar 2026 14:37:39 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1] arm64: dts: qcom: hamoa-iot-evk: support Bluetooth over both USB and UART To: Konrad Dybcio , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, cheng.jiang@oss.qualcomm.com, quic_chezhou@quicinc.com, wei.deng@oss.qualcomm.com, jinwang.li@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com References: <20260311090921.1892191-1-shuai.zhang@oss.qualcomm.com> Content-Language: en-US From: Shuai Zhang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Authority-Analysis: v=2.4 cv=ZN/aWH7b c=1 sm=1 tr=0 ts=69b3b0be cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==:117 a=Uz3yg00KUFJ2y2WijEJ4bw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=Zpc01jWA_6A4uBNqY6kA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEzMDA1MSBTYWx0ZWRfX9mfMN0LXWA8w QiRCfbRdSwEgAP3U9vPzAP8uO6VAFfDDfYm2OI2SXwalPycTQ0eSDrnWuURiLqUFNTLvpHDUDQb AjKsfZhbrqVBhdOfl77kEAa+Y2bb4g7T5FKv4AqSgp90mCiBpYknOBc6N3HK8GSmEy6wZ0X7KJP N+suXCcfogbTtYsYbaYhe/W1vKXXygMJnUdJwJ+NZaLtQNIANt28sEk3KMxOkyBDjOpCR4FNNoW 3vPiI0jdN0qQHMS1JUuHVY3JfNN7Fo4XL44WrsZDorWaVNz+JloOfZ4yTvjHy1Lpsw14p3PU0Bu hlfcKnE0s+v2oUa+sJtFwVTQZjNWXvSffFmNY1k01MM5af3wfjPx+cdbvL9P7WplHimSMQNjmBS 9gxlkSygMp1CQ8J/JSc/4zZ1Zpxk//pIFZKthIprwclXlWgwGMQQMl3xii58qzbb3WkQg6UHVDm a5c7v9kC9SAobRJexAg== X-Proofpoint-GUID: PD7js4OdSf6KkH85Hr4T922Jjp7MbNtM X-Proofpoint-ORIG-GUID: PD7js4OdSf6KkH85Hr4T922Jjp7MbNtM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-12_03,2026-03-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603130051 Hi Konrad On 3/11/2026 9:07 PM, Konrad Dybcio wrote: > 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? BT uses either UART or USB, never both at the same time. On platforms supporting both, the UART driver is always probed, while USB is hot‑pluggable. As a result, when BT runs over USB, the UART driver still probes and pulls BT_EN low, unintentionally powering off the USB BT device. > >> Configure BT_EN as a GPIO hog so that it is controlled by the platform > What's "the platform"? hamoa-evk > >> instead of the UART driver, preventing BT over USB from being >> unintentionally powered down. >> >> Signed-off-by: Shuai Zhang >> --- >> 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? It cannot be pulled low because it is not possible to determine whether the inserted M.2 card is UART‑based or USB‑based. Identifying whether the interface is USB or UART would allow control of the UART probe accordingly; however, no reliable solution is available so far. Additional approaches are still being explored. > >> 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) |I will use tlmm to control| > >> + 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 I  will remove it; > > Konrad thanks, Shuai