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 35AD83909B2 for ; Tue, 24 Mar 2026 17:29:20 +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=1774373362; cv=none; b=Y1QS96Y+oXohMhcABIqsZVDM/M159TgNLbCvhSfdABNKxaQo427Co3ci3EbQNlEVsKrLahvRbDlHREnHAnQzZ08rnE8If3ZDHVtoVeSedSHskTq1dmtvdhejK8dLlKxtFqTrgg9ofzo4B1LxO0FIr1N9jeuxyXGVBsLyC/tUdmI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774373362; c=relaxed/simple; bh=33pziwi4jiwyo2aD6r+dgYzSAgPzR2G6201qgIaiz9U=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=cANbxY8pSngd+22vUewmwoQKFA872nZf7O4ZPRnsaOB4usgG3h60dbcDFxsTVZugCdPsqn+Nitx9paD9N+FnAURpBWVB+QSVHOJTDVUaK1nHDSq36+bg26s2gnSfuOZX2FAquFSzy8FBzj4g2sVV43+fGlMTr8zBvLnpwx05bpo= 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=Hj+G82HV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BaTYAQr8; 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="Hj+G82HV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BaTYAQr8" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62OEVEsR2322963 for ; Tue, 24 Mar 2026 17:29:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=jxeKi/NMp18lwJKsUPomUd R+qJSGzqgYHm99XeU31Xk=; b=Hj+G82HV/yit5B3AMThvRsqR7dJdefT3g26vnB GsfKuCPmZKQ3vJe1ZAR7gA114WvOZ+Ntr9yt/TRchLUdmQUUufw/hXaLPl0x5M1G a7/YJoNDJv/rMfmDx551DmPn13UYCe+TdakwspOJzx+9neIxlRxFALjMuArxOFZs gKZSiPqRA+aFWPikU80/Udk6yFzjbqwoaD1AGHZK2BAElhQ8xS8HNTQBZVkIe9DA UcVaCr/r4efYzrFoCEX1E93GADAWBYMhiQPL8iDXO3BYzitwhi3big6lCRrAmmUA cn2VrJyMASgCsyAKrgJijys1XTshaJPofRASVbeE6+0+b05Q== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d3qket2y5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 24 Mar 2026 17:29:20 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2c0f6593ef5so4006892eec.1 for ; Tue, 24 Mar 2026 10:29:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774373359; x=1774978159; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=jxeKi/NMp18lwJKsUPomUdR+qJSGzqgYHm99XeU31Xk=; b=BaTYAQr83MOxuIkpXqo4VRKLupWe2nXg1+FCh3cXJhvYHD/u1d66lSYHsSw1+zmKUl Fyz0BuHRN/hSWt/iwVaWWgQRInONM/1meABL9DdmaU3xKeOy1REBloTaCOPpe5SHqbjo 0lFyGdeTuEV42sLDHgX7jUbtjKDfHbH9ME+UqwCehdNR88XZ9AQRS95OX0hYOgZWCsHo YuadxfZ+h6XWg+jk0UkPyayvpqcoEO7gzOfOHj7+525zrCTmS68bTFornmqPHnQNUj/Z HogcYefUC+wwNyogllqxyNuI0bLd+6T1BxN03btA8FBigEPE7A3SHCPyLTXWGkp4cD8y qJTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774373359; x=1774978159; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jxeKi/NMp18lwJKsUPomUdR+qJSGzqgYHm99XeU31Xk=; b=k+S5crsSlZbLP5ZUlkJH17V3Tu3yugJN5cQys8fJF0SflzNkyHTAydHQZtLJiloeE1 LWMWhlqIxpKS4JwtxiC1YScqh3ffHc4zxchZbkDTiR3d9yL05XJ/JGmqBnYaH17iJj3Y J/Uk8esEJu5SBzWzOP5urgQpVFZ+63LWn9D4aj/Dx7x+ZsxOoe9Do2meG1ZkhkOsqhpO L6F3Ss8vgg/yfQ0ukHMXrriUOatB5GqM7wHjozt8ASZ7i2e6qe/4LD6CxVjTqaPUcN12 TwEz+AAG1A95O2Aqsz8BDaoOCmMVM+UL4RJaazHy9FSGOXF7V2HFYDvdzXUH8lZnoyqi cm2g== X-Forwarded-Encrypted: i=1; AJvYcCWh5silIRYOhv1CMm7FTGBsgtfhCty9I8eFQ/06EPQRUH7DDytsvpu0F/14JvqurlHnGP41DMSmKTe4Utc=@vger.kernel.org X-Gm-Message-State: AOJu0YxSJXCsmqe5I3wc+GTDQ69UEW1gaRj1WDwRKWu1l3pPjHRcB+Gk dXT5cLZNKS9OlYVD8gkN35Fh9WrIbre9yxjrxz8c00A8x7SB++BDeJWD8sNoZeK5wB8SL0HLbXp 1YtnIQpX9CCAktmz2fLMNqJv/MQNtv+TeHOsPMCXncCeNTWOvUR0CJiDOW8Ut5ivce9+0LQG3AH k= X-Gm-Gg: ATEYQzyq0EtwsbZZ5hGIm98VNhOoEuaD/GbalS8XhEyUY6jT7bOwlSKpv3+yR0MG30w SFnV4sL59s/V3icadPDRI2sFq9xVMS4Pgf8ZJCPhcR9r1wEjLdXa/EcX+JEI3cin86GDNRiUK+N ElwveV22hcIFoJqzKVa5nz3h000z4C+Jod1m2jUI5wwV3IYV670LMo6oMnLhmPOdHWsiPAM25zS xwROxEAyvlQyS+2tLhf5F7Aqe1KnzXjUvePbs8GM4nyVD5iDe5JbU6BZFCRCrIfH7HWghvDeUFW xxACfsItcW8EPUFqlIQPfkwrFG7xrK9Ux2MjQov46bPkTQj9al6H1RO/qHfzqsk7hb77YrqEJvW YJH5SOqSwoqXM2XvmGpdjdCkxS2zxJnOM3hmgMIkY3YCJx12go0HQX/p+eT8l6Yj0MLWMFuKO9C 8= X-Received: by 2002:a05:7301:1e8f:b0:2b7:24ad:5c54 with SMTP id 5a478bee46e88-2c15d27fd6emr115316eec.9.1774373358506; Tue, 24 Mar 2026 10:29:18 -0700 (PDT) X-Received: by 2002:a05:7301:1e8f:b0:2b7:24ad:5c54 with SMTP id 5a478bee46e88-2c15d27fd6emr115300eec.9.1774373357969; Tue, 24 Mar 2026 10:29:17 -0700 (PDT) Received: from hu-eserrao-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b14caf3sm21275664eec.5.2026.03.24.10.29.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 10:29:17 -0700 (PDT) From: Elson Serrao To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heikki Krogerus , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Wesley Cheng Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/1] dt-bindings: connector: Add role‑switch provider phandle Date: Tue, 24 Mar 2026 10:29:15 -0700 Message-Id: <20260324172916.804229-1-elson.serrao@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: sFjCkxN1OI35tse88yt0vgvJNwX9bLNH X-Proofpoint-ORIG-GUID: sFjCkxN1OI35tse88yt0vgvJNwX9bLNH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI0MDEzNSBTYWx0ZWRfX32fumiF6UtCk ZEqI7Zh9F9hT+1xFDIil2mnscFsn0yqfuwy2axBf4cvl5mX+yky45lKCV1NLaPQMoG7uKBIyce/ axG9sDll5PwgMXBL9RV+XeDU75FT6L9U/gMKtdsRavH0jZ9VZbCSFp4aAF86XKuQ2P9Wk9PQi++ vKFJmrr+d6zS0CZCX1fZIOxcrrXnSNWCfAxvVJWvn4MaQBxpgFtSGbATVDpabVZlUYRsgQXIbOd orORGvHHWAHCFCg2j0g+6ni+rUjeGIuvceuyDSTt7bKaGToj5GEG1SAdkVOz4rJ3KHrJ8iflpoI iCbn9fELOyLv2IFTyZcTkCOH2dXvehfhxQNkhFdquEk+FXjlXpM/ziRCfmmH8352U8l2rwBeKkC NImea2bts+vK5+Mz+Qu9nDrYjPox5aq/JcFkQYw0DJ31NofkYy+Y8ve/mJkedeQ3/tzXtIT9+bP AzCxbaFIb0X9xDUIWIA== X-Authority-Analysis: v=2.4 cv=Veb6/Vp9 c=1 sm=1 tr=0 ts=69c2c9f0 cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=suRUVlQjLIQ7l_8mqXEA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=6Ab_bkdmUrQuMsNx7PHu:22 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-24_03,2026-03-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603240135 Hi all, This patch proposes a generic Devicetree mechanism for a USB connector to reference the USB role‑switch provider when there is an intermediate, block between the connector and the controller in the OF graph. Problem ======= OF‑graph links are strictly point‑to‑point via remote-endpoint, so a consumer can only discover its immediate neighbor in the graph. When an intermediate node sits between the USB connector and the controller, the connector cannot identify the controller (the role‑switch provider) from the graph alone. Example (illustrative only) =========================== On some Qualcomm SoCs, an Embedded USB Debug (EUD) block sits electrically between USB‑C connectors and DWC3 controllers. EUD models HS wiring only . Below is a simplified diagram of the hardware paths: EUD Block +------------------------------+ | | [Conn-0]-->[USB2PHY-0]---->|-------- Path 0 --------------|-->[USBCtrl-0] | | [Conn-1]-->[USB2PHY-1]---->|-------- Path 1 --------------|-->[USBCtrl-1] | | | +------------------+ | | | EUD Debug Hub | | | +------------------+ | +------------------------------+ And the corresponding OF‑graph mapping # Node: EUD (intermediate; graph-only for HS) (extending [1] to dual port) EUD (eud@...) └── ports ├─ port@0 (reg = <0>) │ └─ endpoint ── remote-endpoint ──> USBCtrl-0 │ ├─ port@1 (reg = <1>) │ └─ endpoint ── remote-endpoint ──> Conn-0 │ ├─ port@2 (reg = <2>) │ └─ endpoint ── remote-endpoint ──> USBCtrl-1 │ └─ port@3 (reg = <3>) └─ endpoint ── remote-endpoint ──> Conn-1 # Node: Connector 0 Conn-0: usb-connector └── port └─ port@0: endpoint --> remote-endpoint --> EUD:port@1 # Node: USB Controller 0 USBCtrl-0: usb@... (e.g., DWC3-0) └── port └─ port@0: endpoint --> remote-endpoint --> EUD:port@0 # Node: Connector 1 Conn-1: usb-connector └── port └─ port@0: endpoint --> remote-endpoint --> EUD:port@3 # Node: USB Controller 1 USBCtrl-1: usb@... (e.g., DWC3) └── port └─ port@0: endpoint --> remote-endpoint --> EUD:port@2 >From the OF‑graph structure alone, Conn‑0 cannot determine that USBCtrl‑0 (and not USBCtrl‑1) is the correct role‑switch provider. Proposal ======== Add an optional consumer→provider phandle on the connector: usb-role-switch = <&controller>; The provider remains the controller node, which already declares the boolean 'usb-role-switch;' and registers the role‑switch device. Thanks, Elson Serrao --- Changes in v2: - Removed RFC tag following discussion and feedback. - Link to v1: https://lore.kernel.org/all/20260223191042.825136-1-elson.serrao@oss.qualcomm.com/ --- Elson Serrao (1): dt-bindings: connector: Add role‑switch provider phandle .../devicetree/bindings/connector/usb-connector.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.34.1