From nobody Mon Apr 6 10:45:17 2026 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 DC65637AA7A for ; Thu, 19 Mar 2026 12:36:57 +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=1773923819; cv=none; b=tNh+id9hHVNg3pFL9Ifa8bNyFPS5+kBmpuhPBLi+k3Bnb6nVlw28qbIwQMpchiU5Bf923z10Zx9JtesHXkSAyPyMBFJW/UxDdPcp7Snimlcj7zPa74TuFyXFoCT/0GyMZaxjFv8dNF0clRtXfIzOWHz8vyQqJfDs4GczGZoMQug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773923819; c=relaxed/simple; bh=UtJ7ydnb90C+A+99IZ45a07v2oKn/gWiBJoTYBQTOtE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mkDfwXDJDHL8rSTd+Mlb4a6RMnexwIW2h9gzrBN5ZWkOAzPQEu4WeBuHw9eqpfQq1C31xlKacFKL5BrS3WZqtzwlu6gP8Q6H51wMQ2dajlV0efZZTFOBxoceiyeDYAgW5JgSFL6CmJipIBRxdSIz3/g02BZbZ9l4LyXrArGOY0M= 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=mYmS6RmR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DcpAOcmn; 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="mYmS6RmR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DcpAOcmn" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62J7462N2544889 for ; Thu, 19 Mar 2026 12:36: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= IDw8+s51WWt5gy/4KDtSYXGvdvqkGMaHw4rLnpxpKzY=; b=mYmS6RmRWuG9mQKk HN4tAFlHjvhB804/uVH8/x9gc7grp3dKPVN56UczGiiWAJ3SEfwChgTugCy7BLHS vTt7x1D3lIPqVwoeCn2a5JADIXDd7WtKQab42z1lv9va33MK6U1+h3qVblB8BcHN XkC/6jrkMLxAQcEo0ALhsy0Ny0YwdyCTD8K0w082NIP3UQoY6e/GHEB7NPT6bp4g 46M3/mJdrD8dWnN6NltOY71lsLGmN7yrwRgpJfxYKRzURkrAOJGOgFpcyN6QI76Q PM3DIINnNJns1zdS1Di28ZfWTLEDBuvOKXZ7vaukGPd6ViXM2gqwTWjQRhluuvBe nPHeZA== 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 4d0957sgy0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 12:36:57 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5092efe29dcso19205161cf.3 for ; Thu, 19 Mar 2026 05:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773923816; x=1774528616; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IDw8+s51WWt5gy/4KDtSYXGvdvqkGMaHw4rLnpxpKzY=; b=DcpAOcmnQ5B7hydpOFt6pz4CwGF7nsMp5w+g1FviKajiyhagfMvsWNW0PfdIUySimd 8WyUcr+OC9270ZSV8/CPZXtIXSWVHcIrf3AvkR9LK4F2v4Ma4fOa14qtm6R6+oVgTrcl f/0Mte35kCSN7BSds/Acm0hyCEjN7NFueVO8GtF41H9CxHL44z1tcEKHBDLtIpQUKX7K HFI8lHCi4/jbU6H4ityvshbuO+6O4bjv+JE6Ppc+wHrjbFBAXRKtV1FjUSEgWrl5SL7E 2KFhzsVeWqkpbqU89pQDgjKBqVXlyH46AvRCHmqQOvBuY9a7GD/C2hEI3P7+WmCHfhOP N1Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773923816; x=1774528616; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IDw8+s51WWt5gy/4KDtSYXGvdvqkGMaHw4rLnpxpKzY=; b=lZ/raTNtPHpLjUrs15Hf0PlwmQ1BC+vCvuCmZvgGjMaPd6z3YMysAtRj8+hkiy0LCP ZqKqkp3xUcA6O54GosdnTMJU1f9skjUNMvdBq/ridiab1561/A8jXPyRi4hrZWkOHzTK 74stFjdNWMk4IlCbxidYGfC0/H+clV6x7dZLxbmx8dE7MHctjl9Hawu68mQXis46aTwO JVoVycWR9QVUIFlYddwDbvmAP3zBObo4TidWJpsBdzwIELaB7JFt3NvD/7WhxI/06TtT KYYLMGZXszbmmTIayNgop3pWnlDSIZ4j/f25UQ08W/i/TYLWEeZfGPIpWLxorp4syV45 irVw== X-Forwarded-Encrypted: i=1; AJvYcCUx1um5bvX1ZxG6225Vh8JWud49gxCqciNdSYy/aXJiTchFOREK5Ln10RyKRJqtH0KqenvDpVZPVdwdh80=@vger.kernel.org X-Gm-Message-State: AOJu0YxBVpJolPv7E6dlf11ilCkVEyUskOygn2S5YajsA4wM34Zd5gZ1 cvd/HOR/vXjdV3u39g/ncfFC+DdvM6yMQkpuQHqg3GeEr5uhT1YngVwQVxAPgbAm1JT3CahCn99 9Yu0RauHaMfWyBhRNr7EipDc8qnAIyzQLnu98W0mj7S47920EonkvX4LbVb7zy2i5ZV8= X-Gm-Gg: ATEYQzy65X5bdrYytqRU5ww4sNrtyMIiACGkOVcwuXFPbmGdJ0RjTW5BHuFaoENCcXu IFrVYeaV0gEnd6fXfJ2zeZ82xJJEVRyBUksj9NRXJh6OQ8ivT1uaQQ7RR/RP9J8FlSpG7FRrvyu yT8xDa8BCpMWsRN1qXf/0leHbwsyPZ0n1IENuWtxMgaurjH2dfeIqAUkDkITOjNIaGo8W4Csg5U v7DxeR2G6Hy0QgRuUOu41xZMN4C21mUqY7Ymi9UcU7KRknlujxqyB2PabFC4GG8b2xHhcCTYUmz VOSTKm+0xRneBkBQr+SzABiiRgd6w80hMFWGFV9FAyWY7/v+XGkxAxVS96KQKxePnnNYr51Em+o zWSwK64HU/wG2aCvD2u8GCW9ux5s= X-Received: by 2002:a05:622a:aa0c:20b0:50b:2763:2bc7 with SMTP id d75a77b69052e-50b27633ec5mr23692781cf.31.1773923815694; Thu, 19 Mar 2026 05:36:55 -0700 (PDT) X-Received: by 2002:a05:622a:aa0c:20b0:50b:2763:2bc7 with SMTP id d75a77b69052e-50b27633ec5mr23692021cf.31.1773923814885; Thu, 19 Mar 2026 05:36:54 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f463d6basm44962075e9.11.2026.03.19.05.36.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 05:36:53 -0700 (PDT) From: Abel Vesa Date: Thu, 19 Mar 2026 14:36:44 +0200 Subject: [PATCH v5 1/2] arm64: dts: qcom: glymur: Add USB related nodes 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: quoted-printable Message-Id: <20260319-dts-qcom-glymur-add-usb-support-v5-1-b1d9c03d5f09@oss.qualcomm.com> References: <20260319-dts-qcom-glymur-add-usb-support-v5-0-b1d9c03d5f09@oss.qualcomm.com> In-Reply-To: <20260319-dts-qcom-glymur-add-usb-support-v5-0-b1d9c03d5f09@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Wesley Cheng Cc: Pankaj Patil , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Abel Vesa , Wesley Cheng , Konrad Dybcio X-Mailer: b4 0.15-dev-7ae85 X-Developer-Signature: v=1; a=openpgp-sha256; l=19091; i=abel.vesa@oss.qualcomm.com; h=from:subject:message-id; bh=GmNof+ZpJHWEEXlL0qmg9NlVFlgRi3w3L+aV4gzt1Eg=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpu+3fUYQAxRNRSFWhQLQd3UUKZZ1nV4nd2jOvD oNnQlWmWhyJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCabvt3wAKCRAbX0TJAJUV VgrmEACf74avPZiAZ6gE+xBZpvKdrpvETWNiLN6tcVThnbSBACYKDhaj5olvp4IszlxqXUoyUH1 5ZIQ0t4EIhc9mCxEZRqLvJXquE8PkFX0sE+WH70U7bePV9h1EPq4YBYrlIBqaDpMfZ14U1zNxIB eXmL+4ev9ImmpzAH+BV9z9AsEVNwaqtNUbe2gb9jnNpH6eMlEvJYCw00bq35lzBcusuUL5CAjX9 13Gfs7jPkTGbKsDr+9nN0eXKBDJFZf5xRRFTv/V+SDkxAJyOynkTrchqqxxEiVClYdwQ7JNxN1O ecNXb0d0ogrh7NyAu9jEta9BMBqVkgObhcFqvnPEZnR8dd4ytVKJrwJTv58c3f1tZT7koSKhROV s3o/uqyRMNqqL0p8oQRArtil6qldZlXuRXa12+5CUcl6w4Vy8yF0Msincg1KdJ5wPQhoe55PxNh y5DUlec0cU54dk3eAa5BT0Isg1CQK0M93UfXzpAHydgK5DesJFIwX/FT+sKqjJnCalNokT+FLFe 3MQ3/RpQvoOHxfH83eq9Z9SE8yYMwl6wiy02R3KMS9uBTUCE+trvgKR6kFIJE2xjuCQxgorNq/Y q/QbYLhCM0crn5POOQB2yREgsnMR8iDpRYO43gxeQdsths6FFnuflBVdwD9bkOWV52pYHw8kXGE 0kwn8KaI6qk0NMg== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-ORIG-GUID: efR_88YJyvbl2zP02G_LkaJbyTiPfnmH X-Proofpoint-GUID: efR_88YJyvbl2zP02G_LkaJbyTiPfnmH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDA5OCBTYWx0ZWRfXwy3XChq+8E2D 1waMCLeYJ6L3at3GFR8OkbNJdgcfzyKazfdA5XRPi93VLzQskkbwfFtbE7aYV70OIwa2WU6W2qn oA6AtXZEvktXFREk8CW4Lo5TFB93X3HBxq5Dqv5cRKuF2N8P0PyvRftYb9JGo+yVFoYbMzVkoIX RqDcCL506+F7wbIyriD4g9XfZ/qwC6Frbf04q9xV4qmiijDHpLvyz91DsWydksrjKKmpQMXBRB7 vbk1AIH7iWavmOqXU63ciB/tMZf1jlwLQWWxuANIl8ZxMxnxvhY+XZVikwniS90/4fiRBEZk7bF rlocyUVYYzbzAaCHJvou/rJ/4+cTYYttwxyYqSqOUJ4DQNRRW85R3EhSRO+tge5qQTEc/04t0jF teyJpA/Qjs882QuLUWeBhg12fan7sizg3anpCnY3RZBQdKNj24EfD8bxhLTap7kF+OG8YnpgYwc a1kJtr2BS82v3CuBdbg== X-Authority-Analysis: v=2.4 cv=RZedyltv c=1 sm=1 tr=0 ts=69bbede9 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=iKs3dpp2RB4k51ZqCjcyjQ==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=8wER65Pd3tfT56eRIC8A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG: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-19_01,2026-03-19_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 spamscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190098 From: Wesley Cheng The Glymur USB subsystem contains three USB 3.2 Gen 2 controllers, one USB 3.2 multi-port controller, and one USB 2.0-only controller. This includes five SS USB QMP PHYs (three combo and two UNI) and six M31 eUSB2 PHYs. All controllers are based on SNPS DWC3, so describe them as Qualcomm flattened DWC3 nodes. Signed-off-by: Wesley Cheng Co-developed-by: Abel Vesa Reviewed-by: Konrad Dybcio Tested-by: Pankaj Patil Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/qcom/glymur.dtsi | 691 +++++++++++++++++++++++++++++++= +++- 1 file changed, 686 insertions(+), 5 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qco= m/glymur.dtsi index e269cec7942c..2aa9af8c96ce 100644 --- a/arch/arm64/boot/dts/qcom/glymur.dtsi +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi @@ -750,11 +750,11 @@ gcc: clock-controller@100000 { <0>, /* UFS PHY RX Symbol 0 */ <0>, /* UFS PHY RX Symbol 1 */ <0>, /* UFS PHY TX Symbol 0 */ - <0>, /* USB3 PHY 0 */ - <0>, /* USB3 PHY 1 */ - <0>, /* USB3 PHY 2 */ - <0>, /* USB3 UNI PHY pipe 0 */ - <0>, /* USB3 UNI PHY pipe 1 */ + <&usb_0_qmpphy QMP_USB43DP_USB3_PIPE_CLK>, + <&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>, + <&usb_2_qmpphy QMP_USB43DP_USB3_PIPE_CLK>, + <&usb_mp_qmpphy0 QMP_USB43DP_USB3_PIPE_CLK>, + <&usb_mp_qmpphy1 QMP_USB43DP_USB3_PIPE_CLK>, <0>, /* USB4 PHY 0 pcie pipe */ <0>, /* USB4 PHY 0 Max pipe */ <0>, /* USB4 PHY 1 pcie pipe */ @@ -2264,6 +2264,254 @@ &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, }; }; =20 + usb_hs_phy: phy@fa0000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + reg =3D <0x0 0x00fa0000 0x0 0x154>; + #phy-cells =3D <0>; + + clocks =3D <&tcsr TCSR_USB2_1_CLKREF_EN>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_USB20_HS_BCR>; + + status =3D "disabled"; + }; + + usb_mp_hsphy0: phy@fa1000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + + reg =3D <0x0 0x00fa1000 0x0 0x29c>; + #phy-cells =3D <0>; + + clocks =3D <&tcsr TCSR_USB2_1_CLKREF_EN>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_HS0_MP_BCR>; + + status =3D "disabled"; + }; + + usb_mp_hsphy1: phy@fa2000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + + reg =3D <0x0 0x00fa2000 0x0 0x29c>; + #phy-cells =3D <0>; + + clocks =3D <&tcsr TCSR_USB2_2_CLKREF_EN>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_HS1_MP_BCR>; + + status =3D "disabled"; + }; + + usb_mp_qmpphy0: phy@fa3000 { + compatible =3D "qcom,glymur-qmp-usb3-uni-phy"; + reg =3D <0x0 0x00fa3000 0x0 0x2000>; + + clocks =3D <&gcc GCC_USB3_MP_PHY_AUX_CLK>, + <&tcsr TCSR_USB3_0_CLKREF_EN>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>; + clock-names =3D "aux", + "clkref", + "ref", + "com_aux", + "pipe"; + + power-domains =3D <&gcc GCC_USB3_MP_SS0_PHY_GDSC>; + + resets =3D <&gcc GCC_USB3_MP_SS0_PHY_BCR>, + <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>; + reset-names =3D "phy", + "phy_phy"; + + clock-output-names =3D "usb3_uni_phy_0_pipe_clk_src"; + #clock-cells =3D <0>; + #phy-cells =3D <0>; + + status =3D "disabled"; + }; + + usb_mp_qmpphy1: phy@fa5000 { + compatible =3D "qcom,glymur-qmp-usb3-uni-phy"; + reg =3D <0x0 0x00fa5000 0x0 0x2000>; + + clocks =3D <&gcc GCC_USB3_MP_PHY_AUX_CLK>, + <&tcsr TCSR_USB3_1_CLKREF_EN>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_MP_PHY_PIPE_1_CLK>; + clock-names =3D "aux", + "clkref", + "ref", + "com_aux", + "pipe"; + + power-domains =3D <&gcc GCC_USB3_MP_SS1_PHY_GDSC>; + + resets =3D <&gcc GCC_USB3_MP_SS1_PHY_BCR>, + <&gcc GCC_USB3UNIPHY_PHY_MP1_BCR>; + reset-names =3D "phy", + "phy_phy"; + + clock-output-names =3D "usb3_uni_phy_1_pipe_clk_src"; + + #clock-cells =3D <0>; + #phy-cells =3D <0>; + + status =3D "disabled"; + }; + + usb_0_hsphy: phy@fd3000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + + reg =3D <0x0 0x00fd3000 0x0 0x29c>; + #phy-cells =3D <0>; + + clocks =3D <&rpmhcc RPMH_CXO_CLK>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_PRIM_BCR>; + + status =3D "disabled"; + }; + + usb_0_qmpphy: phy@fd5000 { + compatible =3D "qcom,glymur-qmp-usb3-dp-phy"; + reg =3D <0x0 0x00fd5000 0x0 0x8000>; + + clocks =3D <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; + clock-names =3D "aux", + "ref", + "com_aux", + "usb3_pipe"; + + resets =3D <&gcc GCC_USB3_PHY_PRIM_BCR>, + <&gcc GCC_USB3PHY_PHY_PRIM_BCR>; + + reset-names =3D "phy", + "common"; + + power-domains =3D <&gcc GCC_USB_0_PHY_GDSC>; + + #clock-cells =3D <1>; + #phy-cells =3D <1>; + + mode-switch; + orientation-switch; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_0_qmpphy_out: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_0_qmpphy_usb_ss_in: endpoint { + remote-endpoint =3D <&usb_0_dwc3_ss>; + }; + }; + + port@2 { + reg =3D <2>; + + usb_dp_qmpphy_dp_in: endpoint { + }; + }; + }; + }; + + usb_1_hsphy: phy@fdd000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + + reg =3D <0x0 0x00fdd000 0x0 0x29c>; + #phy-cells =3D <0>; + + clocks =3D <&rpmhcc RPMH_CXO_CLK>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_SEC_BCR>; + + status =3D "disabled"; + }; + + usb_1_qmpphy: phy@fde000 { + compatible =3D "qcom,glymur-qmp-usb3-dp-phy"; + reg =3D <0x0 0x00fde000 0x0 0x8000>; + + clocks =3D <&gcc GCC_USB3_SEC_PHY_AUX_CLK>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>, + <&tcsr TCSR_USB4_1_CLKREF_EN>; + clock-names =3D "aux", + "ref", + "com_aux", + "usb3_pipe", + "clkref"; + + power-domains =3D <&gcc GCC_USB_1_PHY_GDSC>; + + resets =3D <&gcc GCC_USB3_PHY_SEC_BCR>, + <&gcc GCC_USB3PHY_PHY_SEC_BCR>; + reset-names =3D "phy", + "common"; + + #clock-cells =3D <1>; + #phy-cells =3D <1>; + + mode-switch; + orientation-switch; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_1_qmpphy_out: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_1_qmpphy_usb_ss_in: endpoint { + remote-endpoint =3D <&usb_1_dwc3_ss>; + }; + }; + + port@2 { + reg =3D <2>; + + usb_1_qmpphy_dp_in: endpoint { + }; + }; + }; + }; + cnoc_main: interconnect@1500000 { compatible =3D "qcom,glymur-cnoc-main"; reg =3D <0x0 0x01500000 0x0 0x17080>; @@ -3367,6 +3615,439 @@ lpass_ag_noc: interconnect@7e40000 { #interconnect-cells =3D <2>; }; =20 + usb_2_hsphy: phy@88e0000 { + compatible =3D "qcom,glymur-m31-eusb2-phy", + "qcom,sm8750-m31-eusb2-phy"; + + reg =3D <0x0 0x088e0000 0x0 0x29c>; + #phy-cells =3D <0>; + + clocks =3D <&tcsr TCSR_USB2_4_CLKREF_EN>; + clock-names =3D "ref"; + + resets =3D <&gcc GCC_QUSB2PHY_TERT_BCR>; + + status =3D "disabled"; + }; + + usb_2_qmpphy: phy@88e1000 { + compatible =3D "qcom,glymur-qmp-usb3-dp-phy"; + reg =3D <0x0 0x088e1000 0x0 0x8000>; + + clocks =3D <&gcc GCC_USB3_TERT_PHY_AUX_CLK>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB3_TERT_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_TERT_PHY_PIPE_CLK>, + <&tcsr TCSR_USB4_2_CLKREF_EN>; + clock-names =3D "aux", + "ref", + "com_aux", + "usb3_pipe", + "clkref"; + + power-domains =3D <&gcc GCC_USB_2_PHY_GDSC>; + + resets =3D <&gcc GCC_USB3_PHY_TERT_BCR>, + <&gcc GCC_USB3PHY_PHY_TERT_BCR>; + reset-names =3D "phy", + "common"; + + #clock-cells =3D <1>; + #phy-cells =3D <1>; + + mode-switch; + orientation-switch; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_2_qmpphy_out: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_2_qmpphy_usb_ss_in: endpoint { + remote-endpoint =3D <&usb_2_dwc3_ss>; + }; + }; + + port@2 { + reg =3D <2>; + + usb_2_qmpphy_dp_in: endpoint { + }; + }; + }; + }; + + usb_0: usb@a600000 { + compatible =3D "qcom,glymur-dwc3", "qcom,snps-dwc3"; + reg =3D <0x0 0x0a600000 0x0 0xfc100>; + + clocks =3D <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB30_PRIM_MASTER_CLK>, + <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB30_PRIM_SLEEP_CLK>, + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_AHB_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>; + clock-names =3D "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "noc_aggr_north", + "noc_aggr_south"; + + interrupts-extended =3D <&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 90 IRQ_TYPE_EDGE_BOTH>, + <&pdc 60 IRQ_TYPE_EDGE_BOTH>, + <&pdc 17 IRQ_TYPE_EDGE_BOTH>; + interrupt-names =3D "dwc_usb3", + "pwr_event", + "dp_hs_phy_irq", + "dm_hs_phy_irq", + "ss_phy_irq"; + + power-domains =3D <&gcc GCC_USB30_PRIM_GDSC>; + resets =3D <&gcc GCC_USB30_PRIM_BCR>; + + iommus =3D <&apps_smmu 0x1420 0x0>; + phys =3D <&usb_0_hsphy>, + <&usb_0_qmpphy QMP_USB43DP_USB3_PHY>; + phy-names =3D "usb2-phy", + "usb3-phy"; + + snps,hird-threshold =3D /bits/ 8 <0x0>; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,is-utmi-l1-suspend; + snps,usb3_lpm_capable; + snps,has-lpm-erratum; + tx-fifo-resize; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + + usb-role-switch; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_0_dwc3_hs: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_0_dwc3_ss: endpoint { + remote-endpoint =3D <&usb_0_qmpphy_usb_ss_in>; + }; + }; + }; + }; + + usb_1: usb@a800000 { + compatible =3D "qcom,glymur-dwc3", "qcom,snps-dwc3"; + reg =3D <0x0 0x0a800000 0x0 0xfc100>; + + clocks =3D <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>, + <&gcc GCC_USB30_SEC_MASTER_CLK>, + <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>, + <&gcc GCC_USB30_SEC_SLEEP_CLK>, + <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_AHB_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>; + clock-names =3D "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "noc_aggr_north", + "noc_aggr_south"; + + interrupts-extended =3D <&intc GIC_SPI 875 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 88 IRQ_TYPE_EDGE_BOTH>, + <&pdc 87 IRQ_TYPE_EDGE_BOTH>, + <&pdc 76 IRQ_TYPE_EDGE_BOTH>; + interrupt-names =3D "dwc_usb3", + "pwr_event", + "dp_hs_phy_irq", + "dm_hs_phy_irq", + "ss_phy_irq"; + + resets =3D <&gcc GCC_USB30_SEC_BCR>; + power-domains =3D <&gcc GCC_USB30_SEC_GDSC>; + + iommus =3D <&apps_smmu 0x1460 0x0>; + + phys =3D <&usb_1_hsphy>, + <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>; + phy-names =3D "usb2-phy", + "usb3-phy"; + + snps,hird-threshold =3D /bits/ 8 <0x0>; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,is-utmi-l1-suspend; + snps,usb3_lpm_capable; + snps,has-lpm-erratum; + tx-fifo-resize; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_1_dwc3_hs: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_1_dwc3_ss: endpoint { + remote-endpoint =3D <&usb_1_qmpphy_usb_ss_in>; + }; + }; + }; + }; + + usb_2: usb@a000000 { + compatible =3D "qcom,glymur-dwc3", "qcom,snps-dwc3"; + reg =3D <0x0 0x0a000000 0x0 0xfc100>; + + clocks =3D <&gcc GCC_CFG_NOC_USB3_TERT_AXI_CLK>, + <&gcc GCC_USB30_TERT_MASTER_CLK>, + <&gcc GCC_AGGRE_USB3_TERT_AXI_CLK>, + <&gcc GCC_USB30_TERT_SLEEP_CLK>, + <&gcc GCC_USB30_TERT_MOCK_UTMI_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_AHB_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>; + clock-names =3D "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "noc_aggr_north", + "noc_aggr_south"; + + interrupts-extended =3D <&intc GIC_SPI 871 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 89 IRQ_TYPE_EDGE_BOTH>, + <&pdc 81 IRQ_TYPE_EDGE_BOTH>, + <&pdc 75 IRQ_TYPE_EDGE_BOTH>; + interrupt-names =3D "dwc_usb3", + "pwr_event", + "dp_hs_phy_irq", + "dm_hs_phy_irq", + "ss_phy_irq"; + + resets =3D <&gcc GCC_USB30_TERT_BCR>; + power-domains =3D <&gcc GCC_USB30_TERT_GDSC>; + + iommus =3D <&apps_smmu 0x420 0x0>; + + phys =3D <&usb_2_hsphy>, + <&usb_2_qmpphy QMP_USB43DP_USB3_PHY>; + phy-names =3D "usb2-phy", + "usb3-phy"; + + snps,hird-threshold =3D /bits/ 8 <0x0>; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,is-utmi-l1-suspend; + snps,usb3_lpm_capable; + snps,has-lpm-erratum; + tx-fifo-resize; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_2_dwc3_hs: endpoint { + }; + }; + + port@1 { + reg =3D <1>; + + usb_2_dwc3_ss: endpoint { + remote-endpoint =3D <&usb_2_qmpphy_usb_ss_in>; + }; + }; + }; + }; + + usb_hs: usb@a2f8800 { + compatible =3D "qcom,glymur-dwc3", "qcom,snps-dwc3"; + reg =3D <0x0 0x0a200000 0x0 0xfc100>; + + clocks =3D <&gcc GCC_CFG_NOC_USB2_PRIM_AXI_CLK>, + <&gcc GCC_USB20_MASTER_CLK>, + <&gcc GCC_AGGRE_USB2_PRIM_AXI_CLK>, + <&gcc GCC_USB20_SLEEP_CLK>, + <&gcc GCC_USB20_MOCK_UTMI_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_AHB_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>; + clock-names =3D "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "noc_aggr_north", + "noc_aggr_south"; + + assigned-clocks =3D <&gcc GCC_USB20_MOCK_UTMI_CLK>, + <&gcc GCC_USB20_MASTER_CLK>; + assigned-clock-rates =3D <19200000>, <200000000>; + + interrupts-extended =3D <&intc GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 92 IRQ_TYPE_EDGE_BOTH>, + <&pdc 57 IRQ_TYPE_EDGE_BOTH>, + <&intc GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "dwc_usb3", + "pwr_event", + "dp_hs_phy_irq", + "dm_hs_phy_irq", + "hs_phy_irq"; + + resets =3D <&gcc GCC_USB20_PRIM_BCR>; + + power-domains =3D <&gcc GCC_USB20_PRIM_GDSC>; + required-opps =3D <&rpmhpd_opp_nom>; + + iommus =3D <&apps_smmu 0x0ce0 0x0>; + + interconnects =3D <&aggre3_noc MASTER_USB2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&hsc_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_USB2 QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names =3D "usb-ddr", + "apps-usb"; + + phys =3D <&usb_hs_phy>; + phy-names =3D "usb2-phy"; + + snps,hird-threshold =3D /bits/ 8 <0x0>; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,is-utmi-l1-suspend; + snps,usb3_lpm_capable; + snps,has-lpm-erratum; + tx-fifo-resize; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + + dr_mode =3D "host"; + + maximum-speed =3D "high-speed"; + + status =3D "disabled"; + }; + + usb_mp: usb@a400000 { + compatible =3D "qcom,glymur-dwc3-mp", "qcom,snps-dwc3"; + reg =3D <0x0 0x0a400000 0x0 0xfc100>; + + clocks =3D <&gcc GCC_CFG_NOC_USB3_MP_AXI_CLK>, + <&gcc GCC_USB30_MP_MASTER_CLK>, + <&gcc GCC_AGGRE_USB3_MP_AXI_CLK>, + <&gcc GCC_USB30_MP_SLEEP_CLK>, + <&gcc GCC_USB30_MP_MOCK_UTMI_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_AHB_CLK>, + <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>; + clock-names =3D "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "noc_aggr_north", + "noc_aggr_south"; + + interrupts-extended =3D <&intc GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 12 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 11 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 14 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 13 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 78 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 77 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "dwc_usb3", + "pwr_event_1", + "pwr_event_2", + "hs_phy_1", + "hs_phy_2", + "dp_hs_phy_1", + "dm_hs_phy_1", + "dp_hs_phy_2", + "dm_hs_phy_2", + "ss_phy_1", + "ss_phy_2"; + + resets =3D <&gcc GCC_USB30_MP_BCR>; + power-domains =3D <&gcc GCC_USB30_MP_GDSC>; + + iommus =3D <&apps_smmu 0xda0 0x0>; + + phys =3D <&usb_mp_hsphy0>, + <&usb_mp_qmpphy0>, + <&usb_mp_hsphy1>, + <&usb_mp_qmpphy1>; + phy-names =3D "usb2-0", + "usb3-0", + "usb2-1", + "usb3-1"; + + snps,hird-threshold =3D /bits/ 8 <0x0>; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + snps,is-utmi-l1-suspend; + snps,usb3_lpm_capable; + snps,has-lpm-erratum; + tx-fifo-resize; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + + dr_mode =3D "host"; + + status =3D "disabled"; + }; + + dispcc: clock-controller@af00000 { compatible =3D "qcom,glymur-dispcc"; reg =3D <0x0 0x0af00000 0x0 0x20000>; --=20 2.48.1 From nobody Mon Apr 6 10:45:17 2026 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 875AE38E10D for ; Thu, 19 Mar 2026 12:37:01 +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=1773923822; cv=none; b=Q0kzBHV7T0HbtSBeW6Qtt7ItSaRCG+2iu1zYjRYIOs0qy1CBP0Eg4s/xQkv8BSpCu20Lf5N42TluXN3aXcXVb+52djeL1EZUoPRpIyKYALNnIpQ5/X9XkB375mCBoE5u6hseyKnviTB8BZsNePfcOdeWVMPJJXJqF07SXOlWumU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773923822; c=relaxed/simple; bh=8SYPkim9X6qXVAubHx8oKxC1J3sj0mpwtaVlUaNat2U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N+3zqu3lTuABAi5LOsw9lwp2CYJ1U5y5IUyXThPo6V9Y0ZWBAs2ZNaEg45W2/TUDYWMzi5F1XdIf4Sb90ZWTDM9ANFjR1S7YgerpEcOzp9fT8JdBuKeaDxr9L/3aVAC8ScUO/cCJrWV2R1Mt/zIS23TS2FeDz1b8rbDku5ahqKE= 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=djPF4Jyb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KZ9uio9T; 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="djPF4Jyb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KZ9uio9T" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62J745x92883839 for ; Thu, 19 Mar 2026 12:37:01 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= afn4LiHq2besuiTCST72YqnJ3kyAHUsIVMS9WpKRqJU=; b=djPF4JybiZT0zi1G lSjeZYDs8dFTv05YCv5Ei86+dcaIxgD3/JKlgZIhjRlWiiCi4USohOrPxtBFfB6x UweAVySe4Y8933Ssgo+6dxTprZJLgCe1iWNl8a+Fod+dw9NBeoZqkcQdsE00Ho/t y1cUonsN9oIuIbj27UZXSZCBUeRhW5tQRcX2afXgKIppw75/NaShxyn2pgZpR1aI VT2SKCPIIudW5/4fcFQN9yJXqR35CnzjFPVX4FAr5fSvCIvdeLGCG7Crk4XR+TJt eQKY1cWqVQGatWUYmvIoW0pIj4OVz++ZawPgH03/f9xmVCvSZ0eqeTzWal08xyHm BzvNcQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cytxyve9j-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 12:37:00 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-509007aea22so48874241cf.0 for ; Thu, 19 Mar 2026 05:37:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773923820; x=1774528620; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=afn4LiHq2besuiTCST72YqnJ3kyAHUsIVMS9WpKRqJU=; b=KZ9uio9T6Layd/V27g/AqYLUo7ubMcPJJk1bUPGHNOJ/PqgBdyGuVJKEtJQHMNq5M5 MJOWkP3efNqbcJ56rKOn9GTS61Z3rF75jN33d1DWaw2d5CSczJf5ZXp3GmYeh1E5aJTt jfNKw72QoN6lNkPaYN0RpY1saK9yQb0IU+XCXXj177rd4xxzP/rRRyBRfWJNE7pC3aQE VFIzp5ruSWg8AK/xBuMGYc1yTOVD9wSUlKiuv5NRiYQAjf9TrBJOvS354j3kDOueGheM zuwX1j9pSx3x/SOyuneX89GZHUne38KueZ653acregYq59u1iwQkKhyHrffccyWlweVi 2XPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773923820; x=1774528620; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=afn4LiHq2besuiTCST72YqnJ3kyAHUsIVMS9WpKRqJU=; b=k9RIQPtFVHFVov3wSC5mPZkyEROGsXKYLEgRAopHjG0gXz6jlpCeEgNu8j56NfR3L7 3Ju1+MytbzQPuO8bsueMR/qc7Tc+KpVqZXkAoCGFBBmHE5lZeHiOH4RnfRkgoWN5Vw2/ ZRJ3gwHXzb/Sjrlequ3ei6CJHVJqNlYFqSuPyfCKRvjJy4UbVDQ+TyVXQBDS8qbdKZJx nBalc9b/bHBiTFqP3jYOCdrxStfJ6DAA7FTuZP7Pb4TjrP4Q/qMq1iqAObVb1erwn96B X5pSvb28kWbDGaxPxYq8I+oO0CVqgGuvlhOGnjtEMYS7OBvMP5bq92qO5NryDE1fwLu7 owJg== X-Forwarded-Encrypted: i=1; AJvYcCUtAy78tYini/lMMfx5/ZqrqfTGahYMpPcNXbfRLIinTZsWKBjzrhnCJEIt0QQ/kFenrSOALCKt/r4uC6o=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5uMBkMrbGTjC1SZLnaYCj8Anh12DnKLJjuK0joPVVP2FekI/D F9c9+9RVSY9gkpbGZfJ63yrjUstJ8i4I2VelvtvvrZWkpvXo+MAXRrl+Ix5LuX6T3nLaxLDlscB tMg6U7XMu0rTYVYsZ5wqaZG2azk/6Wdy32iFw0HUqfkgrtkPART78AcMBGVbhBQbREfg= X-Gm-Gg: ATEYQzzm1jRUDrXS5kK81agU1V5YQAKO8mjwSJP+JZsUWEpKbV8pcGDEZCaZ+GqKgR7 OHZZLfkl16leH7Hmh2QsNUzYtbzU3PI8EekzmCPDG8wfGxbu67UW9q2F77xjKrlXAIvNjXbZPwy UaWLRqmADjgF4y/8RcC7NDVuT0QqUU0RxIRXDogRIzBa7vSRAjXhZB0+AA/TRn1QIvXQvMYqXjF SnyrIDh6sjki5DxAvfXEQyc3AbjAOnaefZNZ1LCBuN7gYhjNhLYt5kYfH1eqN/2QjnE5IIXBzX9 jYxOEB9KdigjpfKecMi90b5otPKqmdM3wp5KNSkGAE96B6Em/1/KcuaIQdLuQDqq74gD04iP0yQ tez3aeeTnu4fCO/Vozskjk4LCYfg= X-Received: by 2002:ac8:5e53:0:b0:509:382c:1c63 with SMTP id d75a77b69052e-50b14798540mr93044231cf.17.1773923819602; Thu, 19 Mar 2026 05:36:59 -0700 (PDT) X-Received: by 2002:ac8:5e53:0:b0:509:382c:1c63 with SMTP id d75a77b69052e-50b14798540mr93043551cf.17.1773923818950; Thu, 19 Mar 2026 05:36:58 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f463d6basm44962075e9.11.2026.03.19.05.36.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 05:36:57 -0700 (PDT) From: Abel Vesa Date: Thu, 19 Mar 2026 14:36:45 +0200 Subject: [PATCH v5 2/2] arm64: dts: qcom: glymur-crd: Enable USB support 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: quoted-printable Message-Id: <20260319-dts-qcom-glymur-add-usb-support-v5-2-b1d9c03d5f09@oss.qualcomm.com> References: <20260319-dts-qcom-glymur-add-usb-support-v5-0-b1d9c03d5f09@oss.qualcomm.com> In-Reply-To: <20260319-dts-qcom-glymur-add-usb-support-v5-0-b1d9c03d5f09@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Wesley Cheng Cc: Pankaj Patil , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Abel Vesa , Wesley Cheng , Konrad Dybcio X-Mailer: b4 0.15-dev-7ae85 X-Developer-Signature: v=1; a=openpgp-sha256; l=5723; i=abel.vesa@oss.qualcomm.com; h=from:subject:message-id; bh=jmSd0bWL3yUn7Ie0PvFtXFUE+CylPgHn2zLjd1NKi8s=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpu+3gMTFZpzNTtP5WVBNJztn356SrcTJPhLDwf vkxE1OsFd2JAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCabvt4AAKCRAbX0TJAJUV VvYwEAC1fXhApy54lAMOREwpIHIi5xqp8cfnzvpSAjIpyNZNPDbHLyhta5+3FHvMPNlJ+Ier34z rjhXolclwCB4bx8E49FwekDcAFSjpdCjtwXcG+FeBEOMf1VAZRDABUQ9OFyR1yD4vyL0yLxMkpO 9HlmTetJi4smMY7qjmhGyCxX0EA8URPc5YF1rZyYUgv7sWPtZQKt0co3iClQ8Jxvx+js2QFCD1s i1GTr/GiSArw5jInV5g05zzoqRvUBPe+cA3adtUQI1TzFC52GseGx84I6WgIsVyAhv8IaToN0ha o8hp11FTCLizsFYM0KNkLiW458nfI9YF/XocXesOIeKonTVRSqpXDypbknpenrw4HFTkNok3UsI Qhwu4zi+Hnb92e6LQ5dxRiyv63QbhqzLhglnvLjhKhuoVXwIKBEvvaParmOlKA5DoeviqCcrW7Y QRf40VwGBfvf5i+JeUBthjohsfAa0S8GP6SD3LA/PoIzMQgEzqmtImrsUJPD26USghZP2p/WE/s TJofD0SMfLqDCtUGl2/5PBbsIawg+IJ0fvqCcfXv09KBnk2KqMlbTlrk95Ps8e/MJBesUmA2vgC ldBmNJoG4YyKSJxYau48aXLMN2g1Hq3Gt6xzI876KtkY2G8aLzWfsaRnUW1JPkSzfCK8hYkeJuw T3MseKZUkXVOF4g== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-GUID: XG_-PMVY_YUdcbfn36URQl3h3Ol5w4bH X-Authority-Analysis: v=2.4 cv=FKAWBuos c=1 sm=1 tr=0 ts=69bbedec cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=iKs3dpp2RB4k51ZqCjcyjQ==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=UaQ5raezdk1POPUwhdYA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDA5OCBTYWx0ZWRfX25dL+ePDdGGf IhMt2kXoqVj8wfCu+OasrDmChpiIPLC6bmoq4o4XlCXOQaTn7wJxHV2FcZsdAP+R6EuWDxkLIO8 +2PEswiG5SuBl8pULuWDqHa1x35d0m8JOYddcsI2485CrauerOD7oonDvYw4Tdi87H7W7C6772y MmAe81GTG8aWKBLIcpLfVrhNJ+Za9oXA2KSpnRhMhlfLNJEQXWB05ayQMWQsOZRVTZWJLoJ3Rjo gtl8mjMw3GJbZDTjuKVZXwyhFEk7b4VC1tpzinMwYODah189ShzcdR3cFyDBroXMkmHQRzbIoG6 rf1TUsvd3Vs1EDjCN5eejGPFULZnmkD8qtehVgIhejowPwcfXxyTaaKlT0hXOLcm59NIsgb8emU aqsRkHytxr9jmMo3iKkm5oF/viLxgyABJEHTTPHjqswlAq4I2CLRKFTjGMihoyWKpg/qDZT/15w OruPKKjzR15ffC4DWbw== X-Proofpoint-ORIG-GUID: XG_-PMVY_YUdcbfn36URQl3h3Ol5w4bH 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_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 adultscore=0 bulkscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190098 From: Wesley Cheng The Qualcomm Glymur Compute Reference Device comes with two Type-C ports, one USB Type-A port, and a fingerprint reader connected over USB. Each Type-C port is connected to one USB combo PHY and one M31 eUSB2 PHY. The Type-A port is connected to the USB multi-port controller through one M31 eUSB2 PHY and one USB3 UNI PHY. The fingerprint reader is connected to the USB_2 controller. All M31 eUSB2 PHYs have associated eUSB2-to-USB 2.0 repeaters, which are either integrated in SMB2370 PMICs or provided by dedicated NXP PTN3222 devices. Enable all required controllers, PHYs, and repeaters, while specifying their supplies. Also describe the PMIC GLINK graph for the Type-C connectors. Signed-off-by: Wesley Cheng Co-developed-by: Abel Vesa Reviewed-by: Konrad Dybcio Tested-by: Pankaj Patil Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/qcom/glymur-crd.dts | 214 ++++++++++++++++++++++++++++= ++++ 1 file changed, 214 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dts b/arch/arm64/boot/dts/= qcom/glymur-crd.dts index 877945319012..a7b30accbd1e 100644 --- a/arch/arm64/boot/dts/qcom/glymur-crd.dts +++ b/arch/arm64/boot/dts/qcom/glymur-crd.dts @@ -60,6 +60,69 @@ key-volume-up { }; }; =20 + pmic-glink { + compatible =3D "qcom,glymur-pmic-glink", + "qcom,pmic-glink"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + connector@0 { + compatible =3D "usb-c-connector"; + reg =3D <0>; + power-role =3D "dual"; + data-role =3D "dual"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint =3D <&usb_0_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint =3D <&usb_0_qmpphy_out>; + }; + }; + }; + }; + + connector@1 { + compatible =3D "usb-c-connector"; + reg =3D <1>; + power-role =3D "dual"; + data-role =3D "dual"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_hs_in1: endpoint { + remote-endpoint =3D <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss_in1: endpoint { + remote-endpoint =3D <&usb_1_qmpphy_out>; + }; + }; + }; + }; + }; + vreg_nvme: regulator-nvme { compatible =3D "regulator-fixed"; =20 @@ -367,6 +430,36 @@ vreg_l4h_e0_1p2: ldo4 { }; }; =20 +&i2c5 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + ptn3222_0: redriver@43 { + compatible =3D "nxp,ptn3222"; + reg =3D <0x43>; + + reset-gpios =3D <&tlmm 8 GPIO_ACTIVE_LOW>; + + vdd3v3-supply =3D <&vreg_l8b_e0_1p50>; + vdd1v8-supply =3D <&vreg_l15b_e0_1p8>; + + #phy-cells =3D <0>; + }; + + ptn3222_1: redriver@47 { + compatible =3D "nxp,ptn3222"; + reg =3D <0x47>; + + reset-gpios =3D <&tlmm 9 GPIO_ACTIVE_LOW>; + + vdd3v3-supply =3D <&vreg_l8b_e0_1p50>; + vdd1v8-supply =3D <&vreg_l15b_e0_1p8>; + + #phy-cells =3D <0>; + }; +}; + &pcie3b { vddpe-3v3-supply =3D <&vreg_nvmesec>; =20 @@ -485,6 +578,16 @@ &pon_resin { status =3D "okay"; }; =20 +&smb2370_j_e2_eusb2_repeater { + vdd18-supply =3D <&vreg_l15b_e0_1p8>; + vdd3-supply =3D <&vreg_l7b_e0_2p79>; +}; + +&smb2370_k_e2_eusb2_repeater { + vdd18-supply =3D <&vreg_l15b_e0_1p8>; + vdd3-supply =3D <&vreg_l7b_e0_2p79>; +}; + &tlmm { gpio-reserved-ranges =3D <4 4>, /* EC TZ Secure I3C */ <10 2>, /* OOB UART */ @@ -596,3 +699,114 @@ wwan_reg_en: wwan-reg-en-state { bias-disable; }; }; + +&usb_0 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_0_dwc3_hs { + remote-endpoint =3D <&pmic_glink_hs_in>; +}; + +&usb_0_hsphy { + vdd-supply =3D <&vreg_l3f_e0_0p72>; + vdda12-supply =3D <&vreg_l4h_e0_1p2>; + + phys =3D <&smb2370_j_e2_eusb2_repeater>; + + status =3D "okay"; +}; + +&usb_0_qmpphy { + vdda-phy-supply =3D <&vreg_l4h_e0_1p2>; + vdda-pll-supply =3D <&vreg_l3f_e0_0p72>; + refgen-supply =3D <&vreg_l2f_e0_0p82>; + + status =3D "okay"; +}; + +&usb_0_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss_in>; +}; + +&usb_1 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint =3D <&pmic_glink_hs_in1>; +}; + +&usb_1_hsphy { + vdd-supply =3D <&vreg_l3f_e0_0p72>; + vdda12-supply =3D <&vreg_l4h_e0_1p2>; + + phys =3D <&smb2370_k_e2_eusb2_repeater>; + + status =3D "okay"; +}; + +&usb_1_qmpphy { + vdda-phy-supply =3D <&vreg_l4h_e0_1p2>; + vdda-pll-supply =3D <&vreg_l1h_e0_0p89>; + refgen-supply =3D <&vreg_l2f_e0_0p82>; + + status =3D "okay"; +}; + +&usb_1_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss_in1>; +}; + +&usb_hs { + status =3D "okay"; +}; + +&usb_hs_phy { + vdd-supply =3D <&vreg_l2h_e0_0p72>; + vdda12-supply =3D <&vreg_l4h_e0_1p2>; + + phys =3D <&ptn3222_1>; + + status =3D "okay"; +}; + +&usb_mp { + status =3D "okay"; +}; + +&usb_mp_hsphy0 { + vdd-supply =3D <&vreg_l2h_e0_0p72>; + vdda12-supply =3D <&vreg_l4h_e0_1p2>; + + phys =3D <&ptn3222_0>; + + status =3D "okay"; +}; + +&usb_mp_hsphy1 { + vdd-supply =3D <&vreg_l2h_e0_0p72>; + vdda12-supply =3D <&vreg_l4h_e0_1p2>; + + status =3D "okay"; +}; + +&usb_mp_qmpphy0 { + vdda-phy-supply =3D <&vreg_l4h_e0_1p2>; + vdda-pll-supply =3D <&vreg_l2h_e0_0p72>; + refgen-supply =3D <&vreg_l4f_e1_1p08>; + + status =3D "okay"; +}; + +&usb_mp_qmpphy1 { + vdda-phy-supply =3D <&vreg_l4h_e0_1p2>; + vdda-pll-supply =3D <&vreg_l2h_e0_0p72>; + refgen-supply =3D <&vreg_l4f_e1_1p08>; + + status =3D "okay"; +}; --=20 2.48.1