From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 3CC7A3CCFAB for ; Thu, 19 Mar 2026 13:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773926767; cv=none; b=Ti9k2A+WoSerHWCYLVi9ErqLZz3UXcKczqgShK8AOC3ZoJqHtJgUR4A9fosjQSIMaS33NuCm8uuW37DZeuSoQhIQxHlIfdVTgA61G0CxS9dPcjMGatyc6v0UBnvNT0k950yPq44Cv6UDv+9iCzG08LfRj7lpx4RZvWlOXoOteN0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773926767; c=relaxed/simple; bh=dWjAVqW+PlMPpFf4l+RNqdSfuVbME+xa/Ux/Qh4I4hs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=pkTk43Qy8HV3IH5BppmJTfS4LyigDUfsPo22Nvuf0L1xwNbjamcYazGS+Hpt65bcLT1MGkaRiRqhITz6c47PaDKrGbeu4MYqPLtACzXr9I57KLDFiM3Hy6ZDbyT1f+x21lCkfUVR1Bo4jqLUKYyMisMyo6dzSxVhQVMO61KH93Y= 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=lxitOIXF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=M55Fp6H9; arc=none smtp.client-ip=205.220.168.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="lxitOIXF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="M55Fp6H9" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62J73vVB3771099 for ; Thu, 19 Mar 2026 13:26:05 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= oftS/j2Ly5tXJaSWNCSRIJ16nd6X9wSz4KOt1Uf5Q7w=; b=lxitOIXFT7j+SXLB fn+25+TQzTi9TSOO5VNXlbIJQxLuVR8AbeWwb6VJ2V66lHwqbVc0he+P9Onzjvpd CYmWVHi+bezRT5105wuWFsF6fHOIms3yqiO5Ht8/YLdxXMW02SAn4GuKZGAD1aGL l+jWksb8umHXzmVZog94RsD/45ssy9kIZdf/KDNEQsagM3fuKz2aiItalDIUVJzb vler6CMa/10EHznszCISI8LVIpaqa86lmPugTwyJ6FHtdWwr14l3bEl3K0QU8yog 3hQskK1VOOGFWby7vo+7b2GS89toOy55BHG0bN4d8/X5u/wGaGflBz23oLsGJGSU 4otK5A== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d083r9uku-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 13:26:05 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b2d5e61f6so3435981cf.1 for ; Thu, 19 Mar 2026 06:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773926764; x=1774531564; 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=oftS/j2Ly5tXJaSWNCSRIJ16nd6X9wSz4KOt1Uf5Q7w=; b=M55Fp6H9v4gRIFmWeQhT+5O45UqXNSDX4yxfHie0ESx9g49z4Z6TbVuQvf/qyaSfFI JRwPReRQ128UVXIZ3B4O6+UycLy9LsFbpS3HCfBtmt4lVQJ3LHKgxhife0oQc6P0jgZ/ ajfYRq8HB3bAjRR5BoINICXL5dGMLHPBitoVRXyWyhQ+KlKUcC7LXftkrDdIDzFQ3MX3 0OQQJ4FBNmT+L4P4CjByf0N79Suy03QfOoyTVlzJu3F3WkmS5eOAZBVU5BBXdNtlvrXh xof9GT1ZUL/ySbyNOC6IueEktG5HOv6tXqyn/8hSpnb7In6rkrlww6X2u6MA9Fbn2uRn qTPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773926764; x=1774531564; 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=oftS/j2Ly5tXJaSWNCSRIJ16nd6X9wSz4KOt1Uf5Q7w=; b=XttB+uov9R0DyJROruM6b87IsKXgBoj57P5Zz+2c0D1LOIrYx/D2oeFbUXnBY8vl5o ltW9/qLnze6oG3yWGOeq8E8QklG3JcnxNev4vXv/UEM5rbxEImGQDdmLjIYeAFNgMPNI Ts1iF/Ch6hYAoyJ/0VAxvURkU6XdWSIcdObyVK4JvpnVbFDgg6JsF0F6w7pE7B3ImH7h SbEhni6tu3T3tktAi8qWZ3hnH/u7d0J9KOdgQY3SRZwqQjj9TKmw1/1yBYDNbRaSQe+H jodpaobaRD1v602xzjU+Yxqf9SxkAqjaz5eR+ZuknO+4khYUHIY/1T1e08st5v+GR5bQ cFbw== X-Forwarded-Encrypted: i=1; AJvYcCU9FYh4uKk7n8Go3Gl9G5/VuBpvSYzsDq5B3X++N4tB+k0ECkxQr7ltSSTCdpMHeiXUj/RilMGvU4EPIyc=@vger.kernel.org X-Gm-Message-State: AOJu0YzH9QxFqjHQm3WY1dHX0BjwfKcEER0tC6Jx2UlXa4Lzjgzy2R3B bZZzOe1J19jpPKkwGiR1IUvnNzPLaklW6sNHbIQ0yKpuug7mSlpU6gHeKfIQKr8lZERscG4ub8Q krGeAsuipHswt1XNBlnSsaSskYOfJWAKXbxwlMUK8iZCkOX2uJ+BID6eq+Bd72oStUx4= X-Gm-Gg: ATEYQzyMhxI52yOgLJPjcdvnLN16tJrwKH5Jhhhf1alC9Rv5MWJ1yLJn5Yoe55nzQxi BQCIModG6DhCir1SeSPedw8WNm/1kJ0H5DEwvt1Uh4CX3wPP+VKKS1G1u1CC/O+hZgFgZLv8iHb +Etn+Id2/Vq27l82AsVuoKwdk+A3iFLlQB1lSGxgk6U4E0u9VucE6ZOpeXZfF0wXcILTVXRJThv q1c0ZMEr2udS6wlYRVJAUNoLx/Koaacaxzp0LCl+OMJm47El/zOKDmBFbcho5qJWzGcU+mf1EXI roCx5hAe55fBR/zdRauXOYRi2c3eJzdU/bwtDdPJc0hknheAtyPtrMbxCfq/QxktAZF2cKs800t rB3PiD7YJXvJY1XqfmiugUXANEr6184mIMH2zjxPydQF5ADG7V+bR1VFCR5fu7fmdez9U2tpVi3 mXEdI= X-Received: by 2002:a05:622a:44e:b0:509:911:3273 with SMTP id d75a77b69052e-50b148b071fmr69826621cf.6.1773926764377; Thu, 19 Mar 2026 06:26:04 -0700 (PDT) X-Received: by 2002:a05:622a:44e:b0:509:911:3273 with SMTP id d75a77b69052e-50b148b071fmr69826171cf.6.1773926763788; Thu, 19 Mar 2026 06:26:03 -0700 (PDT) Received: from [192.168.119.254] (078088045245.garwolin.vectranet.pl. [78.88.45.245]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b97f142a785sm453890066b.14.2026.03.19.06.26.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Mar 2026 06:26:03 -0700 (PDT) Message-ID: <1fd9048c-b0c0-451a-a6f7-e5474352d118@oss.qualcomm.com> Date: Thu, 19 Mar 2026 14:26:00 +0100 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 v2] usb: typec: qcom: Add support for per port VBUS detection To: Alexander Koskovich , Bryan O'Donoghue , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heikki Krogerus Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260312-qcom-typec-shared-vbus-v2-1-99ed9e500947@pm.me> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260312-qcom-typec-shared-vbus-v2-1-99ed9e500947@pm.me> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: fHcFxXowRSXBGI4aqOM-lGPMy3xlE3GU X-Proofpoint-ORIG-GUID: fHcFxXowRSXBGI4aqOM-lGPMy3xlE3GU X-Authority-Analysis: v=2.4 cv=ApTjHe9P c=1 sm=1 tr=0 ts=69bbf96d cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=j6gRNK-Th0hO_mIPYl0A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDEwMyBTYWx0ZWRfX1kNpCPXxp0WL FMVtoHNeYhMTPcoULfbzmcn/brTe8MAiQAkygLZR5mYBiEb5p+E0CSv892ZMmb3NSFQvh01JGJ8 7fJLhA6wgdllZLZcMMFijMerOMHDSEKNkNEzzxQHFPva7/2SElRdLwxplj1NesTYt+ui2fyaWS6 Y2a0K7ODrnWBzOzi1L6L6AXTiSNTBCYSmvwnwEYoztcTF5of/HnDj8Ok7F+4lMSOFRK+e5o0Fo/ m5aHCGoy7DcpyfWs/BOpM9t2cgThG17/hwQ4zDcihmbQ2cKccvfmOfsw8xe5pazUin+jjGi5CDL 77vGTkwMFgTE5u70CDFmxXT349+YKO0qub5fnm36pDekNVDuKJK42lSkBDT1O7fL8moKHrgZo6x bAZJ973C6xU4N5D3NafpuH6AE78b42T/rNQ8kC9RQyPN9XrLJtLvmeUM5+/sbRf6CImP3z8etye nFzgEZaSn3jhzKjkMVQ== 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-19_01,2026-03-19_05,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0 suspectscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190103 On 3/12/26 7:16 AM, Alexander Koskovich wrote: > This is required for devices (e.g. ASUS ROG Phone 3) where more than > one USB port can act as a sink and both share a single USBIN input on > the PMIC. > > Because the PM8150B uses USBIN to determine VBUS presence, a charger > connected to one port causes the PMIC to falsely detect VBUS on the > other port, preventing it from entering source mode. > > For example, plugging a charger into one port prevents using the other > port for a flash drive. > > Fix this by adding support for the vbus-gpios connector binding so the > driver can use an external GPIO for per-port VBUS presence detection > instead of the shared USBIN register. > > Signed-off-by: Alexander Koskovich > --- > Changes in v2: > - Dropped RFC prefix > - Remove redundant vbus-detect-gpios, instead use existing vbus-gpios from usb-connector (Dmitry) > - Updated cover to better describe scenario where this change is relevant > - Update comment for EN_TRY_SRC to make more sense > - Skip vSafe5V poll too not just vSafe0V > - return gpiod_get_value_cansleep (Konrad) > - regmap_update_bits -> regmap_set_bits (Konrad) > - Get vbus-gpios per connector (Konrad) > - Add bracket to if (IS_ERR(pmic_typec_port->vbus_detect_gpio)) (Bryan) > - Link to v1: https://lore.kernel.org/r/20260308-qcom-typec-shared-vbus-v1-0-7d574b91052a@pm.me > --- > drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 53 +++++++++++++++++++++- > 1 file changed, 52 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c > index 8051eaa46991..a8f6687a3522 100644 > --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c > +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c > @@ -5,6 +5,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -176,6 +177,8 @@ struct pmic_typec_port { > bool vbus_enabled; > struct mutex vbus_lock; /* VBUS state serialization */ > > + struct gpio_desc *vbus_detect_gpio; I'd like for this to include the word 'secondary', since it's not obvious that if an external GPIO is at play, we have two ports connected in this uhh non-standard fashion perhaps just secondary_vbus_detect_gpio Konrad