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 73BFC23B61E for ; Tue, 24 Feb 2026 18:57:03 +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=1771959425; cv=none; b=qA5dfV9TTUhL7OGYRpufHqZmVqoym6PFiMLO0Bhwo8HQVz6vcJZzBsAWAN4EpqnStsjW6BcO9C61hIAgS1lhifYEtDfAz7ulaR4NbbJvQQ48yi9RRBvYwoqMtMjGIlyE5GrhMAGzpKDe3dBRjOy6cDxlu7EBiqXDUjQRMBn9Fe0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771959425; c=relaxed/simple; bh=xMBf6NwZPkPmYjCF57EbzBnt/mmNyOP7OZVt2TtFFtw=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=r5nqQ/MoOK88XRlWOJBZu/zJse54rQd7QLfIeZHTJsGDcPcUyHh7gVFmY6YWvPCR/boZ0joyumHregtOdc0yggFZowUkV3JwL2j4C4z8vKrxFfVXPDsA6LLw33+SkTUxURcfwDKZW1lp8Xm+OtRy7o3B+yE+ykEYvAlEjnlBbA4= 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=MSHoAMhs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ivwoH5Ko; 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="MSHoAMhs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ivwoH5Ko" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61OIGTLG3334071 for ; Tue, 24 Feb 2026 18:56:57 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= wcBPkTiVH6T9XFAe2YZivXldQdsHXSAgNP1fgvgQp+8=; b=MSHoAMhsI7Hf1Hr3 DWKHwECHXWxA6jfRH7MWlUVkH5uUeiUDHg6PBVjxEpVixSUSOM6R5UyOkc1o1QKd SM2V6A3wYqoOIVfvWIwVYQ2li4puLn5HohjQtGXGnUgx4aDYGpjW4DoDC8LxiHNl DzhuhK3z/KeGCgxp4/m9FMrilThet/FWz3FJROpiyBLDF3yyEGAaEc+NZOgBoNuU 55fCxHN5XOLoOuAEMewGPbGReZNW9E/EzUaZS4QIywarPbAtQ6w8GL3St1I+LwGY Pi9XXmMn4J9YhGIGn9almtcDUiaqfbmJEt0UEjWvBV5U8Ta53sLN2cQrqHEAIIS+ au4LXA== Received: from mail-dy1-f197.google.com (mail-dy1-f197.google.com [74.125.82.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4chh4704dv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 24 Feb 2026 18:56:57 +0000 (GMT) Received: by mail-dy1-f197.google.com with SMTP id 5a478bee46e88-2bdc0bb5ea0so64781eec.1 for ; Tue, 24 Feb 2026 10:56:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771959417; x=1772564217; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=wcBPkTiVH6T9XFAe2YZivXldQdsHXSAgNP1fgvgQp+8=; b=ivwoH5Ko5nxNlezPPKR5PKilFndJ4N+Whn0m9InJehFnS62ElQo45BHTiVaTsPCon5 f5+PZS+juuWULd+b5lx/YqdElYnli3aXanCf51FNF7I5lVjuDiLuBEQmBoKRdPS9z5O8 X6116n8pcv0G0u3Vq9u9WlP0Oyv7eQYRaid/7rya97tnlOJym7faS9aE4Jqn5yZ1Kvuy 6EgVbanMq1ovZ/UgNWAHoqVeeKq65p7o9/k11AnEG6rFT4shAfPsTHXCjwaJ6BJnCkdt ZcdCzy1SnSL+gUIUnQTiapIh1BjEgUSXny5BddSVKeGpBGQrLpM5To7G5NBAYxRpp3Wj fWug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771959417; x=1772564217; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from: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=wcBPkTiVH6T9XFAe2YZivXldQdsHXSAgNP1fgvgQp+8=; b=bnIg6EAzvgs063RBrIW8OFJTjBjbR2u0QIG4f9ESnZAOGAt2xHwt0ocNXHLv6smsOQ pu3T7RURAIeyLchea29P0lP9A0qWmXLPKUernN3vNG+yyE4pT0rmTCNcsBPTn+3U/Xl0 /fyAv2AuW5ZHjxYvN8LSvcaoc8w2uVBR5rHhDVgs3Fl6olHPOsB61B+8xFG8znh9326p L2WwK0Rib6Mj4g3Y8602LqW+pbQJZmSA05MXqByDp5zMSrS6FR4AEh7XV9SJxt+Bqxpv bwDYbOcToDP1PMgdoo5nuEXj5blDqotOKXu5e65vo6RorSac41johDmsUNhnjfPeb7+2 9Evw== X-Forwarded-Encrypted: i=1; AJvYcCUT27sZqQeWloDe6S7cYYfp8d154D9ylZCfkX4ks06I84YCY1KKmEozhCIt7/hIKlZeZQe54HbQiv+A/tE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6sBM/xrUs/3wI7P7hDE/OGg5RIHTdBFHadkXyJWrKutfSeuSC i2uFu6UqNW7y3WijGW9JLaJtyeSpoqIjNj3qyM280rmMSEQ+pyT6b4gHr+fkeUm1CAy2hGmt3/B ZZhAtgRy31X7V8TFoZU0fY99I2jvXACwAzIO1NXBjMw+eE8l95zEPMDy4arOkx8PxpHA= X-Gm-Gg: ATEYQzyVaGB8xrcK5v8c/dpjP5DFvLzoMZ7vC+OBaeK+Q/hqnIXCsYUo36xiBSTCaI1 LqoySHPHAhbS5ozAPkgQA8FCPNIVwQ2Uo6v4Fb25GHQN4M3QuFVltEPJ6Exf3CxqrEnbp179jJh arRsZjAW/FHKxgQdavxkZP54XgVgZ7waOyyQ1IzxfyzEDJxdRqCgfFPavW87YlQKv4SCJ7TzbSe 4KJK5HVO8epEn3jO2J8t/teSHCcn+EMT9WqJSiPXeaj5e2/gjTCoZTTmmMZSfTahYf0hJEq1uVK DoHuL8iKrEZDWOsGLJKTtqD8qN4Ewj2ORsWwXaVKwU3HSNrRLL2v6aFUdknCAzZsSFQHUbdJYpj fEOqjuHkkmMq0ZHU/LrU6IZJqQ+ha6M6TIM3ZZ+6gsL1syOx+B5hHWcQVaL6+Wld94WS4v5xFuF XdmzI= X-Received: by 2002:a05:7300:6916:b0:2ba:66fd:3705 with SMTP id 5a478bee46e88-2bd7b9d2025mr4406726eec.1.1771959416558; Tue, 24 Feb 2026 10:56:56 -0800 (PST) X-Received: by 2002:a05:7300:6916:b0:2ba:66fd:3705 with SMTP id 5a478bee46e88-2bd7b9d2025mr4406712eec.1.1771959415991; Tue, 24 Feb 2026 10:56:55 -0800 (PST) Received: from [10.71.112.164] (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bd7da3eea6sm7243543eec.1.2026.02.24.10.56.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Feb 2026 10:56:55 -0800 (PST) Message-ID: <1c790a52-3d84-46b8-aa14-1d005671e416@oss.qualcomm.com> Date: Tue, 24 Feb 2026 10:56:54 -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: =?UTF-8?Q?Re=3A_=5BRFC_PATCH_0/1=5D_dt-bindings=3A_connector=3A_Add?= =?UTF-8?Q?_role=E2=80=91switch_provider_phandle?= From: Elson Serrao To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Dmitry Baryshkov , Konrad Dybcio , Wesley Cheng , Heikki Krogerus Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260223191042.825136-1-elson.serrao@oss.qualcomm.com> Content-Language: en-US In-Reply-To: <20260223191042.825136-1-elson.serrao@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: VVVf2EWZLQ3rk_VH7Y9hrtb9CNjchgpB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI0MDE2MSBTYWx0ZWRfX2jz5FhTY1Hi2 YEWMZi94Lq4xWUBhcGBFrXT7Gt/torpjjti147NV9YCVx5S/70a3h2e5R6ZDYFzlbfU7V4S9Dor UpAm2/DhUprkIE85GlKATeX2NJJoR0Wy/NEuL4orbHOTCWavMzqh0X0vM+XhGrSV6FgrhFTaMx+ IkiX6sC73qytPN3n1kZspMWYxSCoCV6CkM8XlgIk+K9AwRMvhA2Fp+1pK2uKotOv3/tPA6BM0S1 l33AW73vkGyj7UJ0YLsclfg9F+SjmvHMe2MtoCGpwMawKR5VD/qSUtPS7fL94Xx7Dyz5w3nbCy7 k/LGBw1fpq7oRmCVO2FydpwvhVA2269dY3FjdRPfr5AUeftg6CXsIAnaKv8IsFr64XntUpe1cth 0esBbu3DI1GPl8LGDfO6IMiZlhSrH+1HIa9PS8RnLk2qZFtrBnV09qD209LEkS7x9mqBTp11nZR NhJPHuTjfxEzLZRzX1A== X-Authority-Analysis: v=2.4 cv=fvDRpV4f c=1 sm=1 tr=0 ts=699df479 cx=c_pps a=Uww141gWH0fZj/3QKPojxA==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=5KLPUuaC_9wA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=DycSZj7UEik-oOTGROIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=PxkB5W3o20Ba91AHUih5:22 X-Proofpoint-GUID: VVVf2EWZLQ3rk_VH7Y9hrtb9CNjchgpB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-24_02,2026-02-23_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602240161 +Heikki Krogerus Adding Heikki since this relates to usb-role-switch provider modeling. Thanks, Elson On 2/23/2026 11:10 AM, Elson Serrao wrote: > Hi all, > > This RFC 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. > > Request > ======= > Please confirm whether adding an optional connector-side provider > phandle is an acceptable general pattern for these topologies. If there > is a more appropriate DT modeling approach for this scenario, I would > appreciate your guidance. > > Thanks for your time and review. > > Best regards, > Elson Serrao > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/soc/qcom/qcom,eud.yaml?h=v6.19 > > Elson Serrao (1): > dt-bindings: connector: Add role‑switch provider phandle > > .../devicetree/bindings/connector/usb-connector.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) >