From nobody Mon Feb 9 12:42:37 2026 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 D4508308F1D for ; Fri, 16 Jan 2026 23:21:10 +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=1768605672; cv=none; b=gKAq0V92mJqEackgipXTRftBT6BKDQud0et3zOwvDOIkY+w3iQvOqx/cJPjmPaahbR4/GHhVKZvbeSSBVPS2sG0Wz6Cl7ViRbI079IkcY2H5orY86mZz2nS01bHfY1XZGminDAyFaBGEY2rXxDB1+CwrtdL0R0f0Y/O1veh5UEA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768605672; c=relaxed/simple; bh=Myb5/SidE30NTPohSE6poB77sjMp34zHy+G6Ervv8b0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=e6RcKaYqXwEXmwTTRXohVTqWMxWLK/am2u16/sQ8fsdgH1AxdFXvr6NWw7Debu1Rwfp3eyHWwv2fbhcPWf1GBdEbJdWP0Tu+3DDnK17PPcz7dtQhXSbY0Ku1ClKquj9rjcv3FHbyx0JeAseCWXbGP9Df3Mo+E0g7WDv7P4f4U+Y= 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=XRmPPhWU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OAU7XOvd; 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="XRmPPhWU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OAU7XOvd" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60GNCx0j2183248 for ; Fri, 16 Jan 2026 23:21:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=kwfFFi6O6CY E9sERUzKNtpAa9yEpQVqdx39AZPQqd2g=; b=XRmPPhWU/RdCtRohGnQpYjwyCoq wqD6a/AWRR5cnlCOYMF9s/6jQSRWxfXRi4iWjZyVjsoLSyqaKbce3/VUPCNyEgBN TQ68EqvDGfqPN9OS2y8U9axBbhW/e7jIER2uyJ6EPQpLVO90IUo+7LD0wnmYsL+K nn8yaEYhR9NtTVjRh2QTKo/5KpHeusBiWi3/8griHpLMx3T1Dfl9nPXXqA+Nahn3 eqy/w9EjnaL4ttRYPi4ntrpO7GCKvdICZeG9dX3sCBsPg3lXyVLLRFJ8d1C7sRkK +HnHDkosHwCmP8q1F6kBsCr9/NxiPByEB4XetxJAosjxfuO+WSTk3T2OFbA== Received: from mail-dl1-f70.google.com (mail-dl1-f70.google.com [74.125.82.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bqvga0b2m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 16 Jan 2026 23:21:09 +0000 (GMT) Received: by mail-dl1-f70.google.com with SMTP id a92af1059eb24-11b9786fb51so15703957c88.1 for ; Fri, 16 Jan 2026 15:21:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768605669; x=1769210469; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kwfFFi6O6CYE9sERUzKNtpAa9yEpQVqdx39AZPQqd2g=; b=OAU7XOvdqSLuB3D/DbSZR1UWQGqrIXEhpLAhpiP4hFLnNYrZ7KwMVq/q+dM7AbULW5 8fsVY8PNNyfsaM3KyuQu+4Rnq5CHppwx3aetw+wpSIsFpt8BO/5V3LmkCYU9XwTyDO+N ZNjIZE8PetS0uYi9UX4xx+0nQRjRraFtgfgAX1TcgzlHsuO+KfzjIrCo51J4HBywqm3m pchX17M+qzdFRzIXdKrWY9AvZbDaG59VOYOYCnQe0kbIH0eP5Oye45rRcArPKEItnkhf h5Xl1tVesWxzeAyFHUHxsWtGWQuWDq4mbA3lVLvnyKuxGi9VmEB+SsiC15tinBvs0bTB U+XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768605669; x=1769210469; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kwfFFi6O6CYE9sERUzKNtpAa9yEpQVqdx39AZPQqd2g=; b=AENRRG781bDlojQJsEnQdimvgaLyKUCiLYQ1cjpBo7Rf1BHlTrs9uC1AsBiYWQc2j0 QxLrOA5lDmIF48cSlW6el5BFs5bcSEwUg3XZd+JeGkV080RjvRjyXmt7YiMVYbDQ/WXk 9/vWBazWST4BXkiAMmhnN/bJ3BLnecGsSzYs7SSzmbJnRgmnCzcyeWlvlgX1iCoXvDU4 w977UBct8GyGzcflcIF/Kce2C1lox0vGb5royWuf7DCp6FPqwWIzoItNHVdRttCIHZj2 hAhZQkP/2amQnxTx2B/F6185ybv+Ru+OdMc/ybWB3B552LRJLcpAmC2CDQoFJS736EET Z3Dg== X-Forwarded-Encrypted: i=1; AJvYcCUH5RNCNIXdOD/DK8fXfVZTDEP98cL7GWPwxSLs6qd+7H7+DXk2J8UCN+ST8JVxCExQxGdrN6dGkEHF7p4=@vger.kernel.org X-Gm-Message-State: AOJu0YwJx76xrH7rokS+03P2nFqZn11g/pJv95K1zJw7Fl6VjktiDB94 YNZzvaKauVbZgZfrBY10SQFAialZglQUrRYcV8F+wFnQajYh3XTwLBt6O81uOznX9vxFPz3aDJV N6YvQw+3bLpIkUiHWA3RXTs1HIBz8VQ9/mCH6UTGQ5gUFLh87K6q06w2OCQnhSWbjKVo= X-Gm-Gg: AY/fxX4DhZbZe+mhaBvgRbvA0Rjb+O52WlG6048gCHKDoedS6oE4EF/wdp4Fq74OZRA NctsS2WFkS9LVo9NDJrVPFVQEnn3O5SmPAxQvTJU72vJYI8xx8v3GJXe374Fhg5A5BaHc7+R0Tp W9iC4ol9YW2HBvpXCdUMvZ30ubITq6IXjrBhjmu6QAopyhLrr0TjYB7pmZwuXQqLDU/H2DuvtF6 MzLLLqMHPspKg5O2Q+ZrzhmF2xa9GSkrO9KeNgVSQJC3P3uTJ55r6XkwEb54Jsq+xpuGKuVKFMg +w49xjgMEIhxrF0pSgEaCHlp0t9Z2D2MfJN84KgXq4RaAvi222GwJFfTmLDjI3rJ912HOfX4Tde Jo405XS9B5Ylct56UOsCA0wTRCbA95+GZes3Fb6fKLES6JWKlNVy51AF7KWzmuBI= X-Received: by 2002:a05:7022:4584:b0:119:e56b:958c with SMTP id a92af1059eb24-1244a72d3b7mr4127551c88.17.1768605668841; Fri, 16 Jan 2026 15:21:08 -0800 (PST) X-Received: by 2002:a05:7022:4584:b0:119:e56b:958c with SMTP id a92af1059eb24-1244a72d3b7mr4127526c88.17.1768605668213; Fri, 16 Jan 2026 15:21:08 -0800 (PST) Received: from hu-eserrao-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1244af10e21sm4611267c88.16.2026.01.16.15.21.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jan 2026 15:21:07 -0800 (PST) From: Elson Serrao To: Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Souradeep Chowdhury Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/9] dt-bindings: soc: qcom: eud: Restructure to model multi-path hardware Date: Fri, 16 Jan 2026 15:20:58 -0800 Message-Id: <20260116232106.2234978-2-elson.serrao@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260116232106.2234978-1-elson.serrao@oss.qualcomm.com> References: <20260116232106.2234978-1-elson.serrao@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE2MDE3NSBTYWx0ZWRfX3qBmYDSkIJNB JqVLZVbUxfYsZtJp8ZmovJt6D5dlPz1sdaX/PTae6dlkN6MeHh7HkzRdZlwTDyJssz/Eub+4Adw qIzP5j/QpSA8EmVYA7k0pvDDRIdQU8R3ZrTRjaK3XCIxQ//6ASJ9nf/cgWH3cl26F6tpkW+4Wp8 v8Fhh1VdjDmb5XZDre4FV2Sd/OR1pLI3Bt4LO6ma0FxmCnwXhxht9IVr+XWS/0Un81KdFxzKDTH KRBI6f6A7Pz/9Ax3OF3/1a6HBqoQnUkr0peIc7noC2wEiO0648TXv1ZOmsbfu5xHWE5DYBsbOU/ RZemmq1NN4oeagnzw0wSX0r2cGRb6Ff1JNyXF15tENIYivrdTNZDzkRNRDMXiGt1bp2JWGOjK/w 86JRo7WqJAcI625kr5KSxjR7mOO3AoY5UfkzFwg+asd5eJ1m/TnthyWbvm9uZ01AEWJZzgmLlbu c9PCcyDy38OjU5m9WBg== X-Proofpoint-GUID: -3wbCHxsQbEtmUFjn70pUIG9rbGAs_59 X-Authority-Analysis: v=2.4 cv=Kf3fcAYD c=1 sm=1 tr=0 ts=696ac7e5 cx=c_pps a=SvEPeNj+VMjHSW//kvnxuw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=BjueR4FZ-pLKYUec0x4A:9 a=T0KM2sWh4d-P_2Ru:21 a=Kq8ClHjjuc5pcCNDwlU0:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: -3wbCHxsQbEtmUFjn70pUIG9rbGAs_59 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-16_08,2026-01-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 clxscore=1011 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601160175 Content-Type: text/plain; charset="utf-8" The Qualcomm Embedded USB Debugger (EUD) hardware can intercept up to two independent High-Speed UTMI data paths, depending on the SoC configuration. Each path operates independently with: - Dedicated PHY interface - Distinct USB connector and controller associations - Role dependent routing Model these hardware paths as separate eud-path nodes to accurately represent the physical topology and add below per-path properties: phys: EUD exposes a High-Speed debug hub that relies on HS-PHY for its operation. This property references the HS-PHY associated with the UTMI path. usb-role-switch: Indicates that the USB port on this UTMI path supports role switching. In device role, debug mode inserts the EUD hub into the UTMI path. In host role, the EUD hub is bypassed and UTMI traffic flows directly between the PHY and the USB controller. This change breaks backwards compatibility, but the previous binding omitted critical resources like PHY and did not describe per-path topology. Without these modifications EUD cannot be guaranteed to function. Signed-off-by: Elson Serrao --- .../bindings/soc/qcom/qcom,eud.yaml | 97 ++++++++++++++----- 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,eud.yaml b/Doc= umentation/devicetree/bindings/soc/qcom/qcom,eud.yaml index 84218636c0d8..a7162560c323 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,eud.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,eud.yaml @@ -10,8 +10,11 @@ maintainers: - Souradeep Chowdhury =20 description: - This binding is used to describe the Qualcomm Embedded USB Debugger, whi= ch is - mini USB-hub implemented on chip to support USB-based debug capabilities. + This binding describes the Qualcomm Embedded USB Debugger (EUD), an on-c= hip + mini USB hub that enables USB-based debug capabilities. The EUD block is + positioned between the High-Speed USB PHY and the USB controller, where = it + intercepts the UTMI interface to support debug and bypass modes. EUD can= be + supported on up to two High-Speed USB ports. =20 properties: compatible: @@ -29,26 +32,59 @@ properties: description: EUD interrupt maxItems: 1 =20 - ports: - $ref: /schemas/graph.yaml#/properties/ports + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +patternProperties: + "^eud-path@[0-1]$": + type: object description: - These ports is to be attached to the endpoint of the DWC3 controller= node - and type C connector node. The controller has the "usb-role-switch" - property. + Represents one High-Speed UTMI path that EUD intercepts. This node m= odels + the physical data path intercepted by EUD and provides graph endpoin= ts to + link the USB controller and the external connector associated with t= his path. =20 properties: - port@0: - $ref: /schemas/graph.yaml#/properties/port - description: This port is to be attached to the DWC3 controller. + reg: + maxItems: 1 + description: Path number + + phys: + maxItems: 1 + description: High-Speed USB PHY associated with this data path. + + usb-role-switch: + type: boolean + description: + Set this property if the USB port on this path is role switch ca= pable. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + description: + These ports are to be attached to the endpoint of the USB contro= ller node + and USB connector node. + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: This port is to be attached to the USB controller. =20 - port@1: - $ref: /schemas/graph.yaml#/properties/port - description: This port is to be attached to the type C connector. + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: This port is to be attached to the USB connector. + + required: + - reg + - phys + - ports + + additionalProperties: false =20 required: - compatible - reg - - ports =20 additionalProperties: false =20 @@ -58,21 +94,30 @@ examples: compatible =3D "qcom,sc7280-eud", "qcom,eud"; reg =3D <0x88e0000 0x2000>, <0x88e2000 0x1000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + eud-path@0 { + reg =3D <0>; + phys =3D <&usb_1_hsphy>; + usb-role-switch; =20 - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - port@0 { - reg =3D <0>; - eud_ep: endpoint { - remote-endpoint =3D <&usb2_role_switch>; + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + eud_ep: endpoint { + remote-endpoint =3D <&usb2_role_switch>; + }; }; - }; =20 - port@1 { - reg =3D <1>; - eud_con: endpoint { - remote-endpoint =3D <&con_eud>; + port@1 { + reg =3D <1>; + eud_con: endpoint { + remote-endpoint =3D <&con_eud>; + }; }; }; }; --=20 2.34.1