From nobody Mon Apr 6 10:45:17 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 6D70F3E0C46 for ; Thu, 19 Mar 2026 15:10:07 +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=1773933009; cv=none; b=jzcwMB+j5RKhr/QMVFS8f7etejCQUOVS8Wbs+PmLn4wsvzudZOvNhMtucrWK5euT/8K2j2SqNnnSOk0E9KKySbgkWZriGESYu2mpc2Zj423MpPnpFUk3Pv2ZZ3K35h0sXgxWQFcbqE8wppyymGQBDwt6S59pmAuPLEV3zv9j3Oo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773933009; c=relaxed/simple; bh=mOgfXRl81hOJwcYDjzJBuIbruaf40Di35fB16CeQMQc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bGtes/SvdWVBH1fA1Ru7Ta3PUxXfDgCrZGERK54bZf0y50xlCinOhvRmsClt6bqCkxseaQ3Pi/RSTxXVjFv89LDdT4UiZr80ceD7Fd43uQll//AdFctutsx3SJeIoZwitCq4sR/FLwtuXxnEkHxCe4+PrEItkrSUSn/5fWh/uGg= 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=XDLLbvCC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EB2xMpLC; 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="XDLLbvCC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EB2xMpLC" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62J743TF3927429 for ; Thu, 19 Mar 2026 15:10:06 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= WjLHXN0ueaHupIOpN7I8RFk/oZAT69/Q62Ehk5Z01PE=; b=XDLLbvCCVaePZhMw zAItQY4XhLn5m9nRsdOhfrcWDGzZDtKYXJhSHokCEjKzdP5jhoBM4cDRfhOdDjhd 7RFhLFtUg2Gl7MGO6Zoxtm+x1+6/l0WPM1dxMEcXxwio81tZDySYRdD+5vvlpKRC 7Hjd8yYWy/MqN/Fs8tOfnZSmXGcnErhvMAD6QutAy0Tj/+KzWyalfVCppbKrNFeI DV4s43u1fSV2OOwNtQFUNnlkYPfmzcEchGboZeK8NVvHYrqJJf9B2lk9LjhizJbT xHT5RXsU7M2T/K5LG4e+0mYzubFRKBTa4RZ0/jnVpKrE181SYMegxE/eYLXceZmg uAMnYA== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cyut1cvam-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 15:10:06 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-94ea747d58eso1037652241.2 for ; Thu, 19 Mar 2026 08:10:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773933006; x=1774537806; 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=WjLHXN0ueaHupIOpN7I8RFk/oZAT69/Q62Ehk5Z01PE=; b=EB2xMpLCpp9mLKJDzfDt2YSoeHg3nc0IsDsI6HA34QCwYzVFcMTZUzM3NNJ6kjNw/W l8/j6cLh+FmzuXGJG1SR+DCd96fA0NqfgSLlcdurB/VRc8LX3vYPd+W+FzjxeWVi7Atu eXxNdILDBfv7LQFSA5+wbSesIIagwc2gRMl9wv+D26FBQQ95ThynZiBqtdbh8H6GxBU5 R122UUTt7iH608Oly1t6dPk9dwqfZsHaekQUhtx0cThwMd7pjrtYTH8E+a1TeCGxFLfA mTk96FO7zUPWwF32YJuiiI8JmE1O0eCZh+EX8A9RIoat6FCMiHJ6NCV7kkQtBIvT5hpB 9wdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773933006; x=1774537806; 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=WjLHXN0ueaHupIOpN7I8RFk/oZAT69/Q62Ehk5Z01PE=; b=LlljiSXd8E4iitjy8w827bBtA+DXJEwl2AIW3Ipa5F+JaijpAHH7sRtGnU+varOJKJ f8rPQgRja8R1skkIK7b5g8qWg1li7mMkKA5hw0/UbBDkZLs5SjVKCiFgKrXpoUFF0EZQ CfFPXJqljSb5r4ppPGynBkFg0qHI5FcumooZLWbHn8egTGBvsgE5AjxpYMabYkEhBDWF ArnEbvvffConQ6W4S/x5ClDr2tnQlYAl6dmeyIaUntP8506Tqtm/03ybD2cEvZ22uRj2 MGLoR8M/Q9+r6deQRoZanq/az8tzVqfFR2amE/dSjQGXTOYxPhQ8uHlcIIxdEAcMU24r siUg== X-Forwarded-Encrypted: i=1; AJvYcCUy8owwKtxBrIID4CzBdPetNXNo18ENprOUP24WqUtvSN9Wt38IyIo7Nrqj9/s5Dh/QHnsLp075bd00VgU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyfv3bKpvduMnbiY3OnghqGLwapMN1dUjYwQiKCPnF4dNHNXvaa f9ATh9T+A2EnksM8RekkJK/oCpK5LwKb9DLHjbWJNfF5QTJtKj4eJUAOXVMIZnKfTodlKpDn4KP rBnanlilY2nSc9ny4qBd9GvTnKtTGkypQn42pSJtj7KJmxKTNGbSFtqop8YQSp5Eh9xQ= X-Gm-Gg: ATEYQzy3+2+f72jxFFwBYai/5sE0aN6RdYEaFdNxHPH/UJB/6RlpDhjvC9kyYLQV544 m3Uhao+nj6E76LELEaviw5XEaVP3dU8yxGNLab+TzSIpwK4ersDgxR/AbgkuT5Mu2xs/TUSCWIE Nbo4zepEdt/i3X0HMS5a35sjjqJnst2ox2XlcLWOkzQOVWP3sbba7zI/xYelMYO5p5UoSgyvL+k n+nqXc8SnR3/7/uXzgqtTQ0uXpfTuKmh0uINL9a5UWLRZofCw/BrDQXAkwrbdXQa4MDMv8l8/xP uAODId08TpzEtB6Hg126fgbGmFpF8y3mHGXs7xYsciGARUy6sYBDNkNY0kaK0HfvABRnEWlHW0Z 6bjyKJ9jMLDTLYJjjpcdK/EgVyMU= X-Received: by 2002:a05:6102:84dc:20b0:602:93db:7fa with SMTP id ada2fe7eead31-60293db343amr1389670137.33.1773933005334; Thu, 19 Mar 2026 08:10:05 -0700 (PDT) X-Received: by 2002:a05:6102:84dc:20b0:602:93db:7fa with SMTP id ada2fe7eead31-60293db343amr1389639137.33.1773933004672; Thu, 19 Mar 2026 08:10:04 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fc61dd4asm32274565e9.14.2026.03.19.08.10.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 08:10:03 -0700 (PDT) From: Abel Vesa Date: Thu, 19 Mar 2026 17:09:50 +0200 Subject: [PATCH v6 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-v6-1-fa305b40a90c@oss.qualcomm.com> References: <20260319-dts-qcom-glymur-add-usb-support-v6-0-fa305b40a90c@oss.qualcomm.com> In-Reply-To: <20260319-dts-qcom-glymur-add-usb-support-v6-0-fa305b40a90c@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 , Dmitry Baryshkov X-Mailer: b4 0.15-dev-7ae85 X-Developer-Signature: v=1; a=openpgp-sha256; l=19158; i=abel.vesa@oss.qualcomm.com; h=from:subject:message-id; bh=T5JX5zGgTI4i0n8NmM6c2yiTUq6TgOd1Msm7S6LrRtM=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpvBHFfhcSfhIpO7UPEsL4z5qSB79Y6SdtQjEDT 9J06aekR16JAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCabwRxQAKCRAbX0TJAJUV VoF2EADKJ1tilrXbPL5Zoc9yV67E/FQp8a/e377cS1Xq3fUw3UOsKWu4WCWdrugxESDOx7qZNGk VfaSO4ONu6OiSoberjIwlOGGko3OZaPXFTgifs1gzy8YRskdNeqI7LdPyd3QtywWxIwuHYuuPDm SYOJXQQOPmI28A1Jy/ymz7uXRXMFZZfeUd+VZmPpwjgweV33xZ6hY8iKiKwOJMD/6W5WBEglv3Y 4gbypATEYRp5muNiBo6Q6H1F08anTnd5uMB/++lEbogGbhq9VDCe0AIt3Zk+zwExmdiAolC6FhZ 1Rxl88DH3TwXpfydF/1oPtklTda3EVy+nUDvP+AVINCyZcr/YdGN2I0u45kIPA0BWE5PXvkexb4 8SPAklDPbohz2X65Sv0cS0cezCiIt/pQeccxt0SArUzu9FkRLTtj12yz5DvKbZk1qcW8PMV7cY9 G1V8+W9Y9K32HkOpIvwAimlpqgnc+iflXG2Yb/MW/cWxj9hF2Zc92U2TfiVpoFJtAIQReKZk/bv xj0m5vhqeBHbsuWTN1iivebv1pkA7RiW84/1W8yv7ZFGVW2NHKWFVE7IV12NC2z6S+4dBINJIEM e9vQUujasWffEJNx5LzSmtFDMdMJETqC/aa17XFlozHod/VyATixOBNBp6b07un+lNRGM07W1lf m3dH2aifyF3VIhA== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-GUID: 72-jc6EiNsi7muN2t8NwKtA0JqfnyOC4 X-Authority-Analysis: v=2.4 cv=ModfKmae c=1 sm=1 tr=0 ts=69bc11ce cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=iKs3dpp2RB4k51ZqCjcyjQ==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=8wER65Pd3tfT56eRIC8A:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 X-Proofpoint-ORIG-GUID: 72-jc6EiNsi7muN2t8NwKtA0JqfnyOC4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDEyMCBTYWx0ZWRfX6yjmNVbed/li Cm+vt4SfRIalFFaE3znoYU9wotbBkNOeTh3N7yXDq/tazZXHkQzzFJovNGDETE8jziBoub66O+r OImyj+9w32x/xQxN4eZygql+KlL6aX9vZux5NFZY8r3TfKUABAMr4sgklPy8INeEqOkLftS49LG PGwvdoN3yDROn1ylta9xyWPMwvawyjIavB5UFvH11Ff+LcB4Y8ICzpe/vZZ+5EI7XLQ4ocv61T6 S5FqVkzIDQHvJtRhf9S9mpr8tDtUqvd+6nEnkA2YWHmbbrye3mo3NE4cK7hhUwIATk6jI7sfFwI E6UgI/6kqcrtDEzEQOq1R6betEdepb30ZqOY5cgDhKCJ+i0B9MFF3flakzKTQtPEcKHwmdZgxqC pUy5qclisC1ZMhhXY5574beyf/VDAcpoJXR/lvF7PX8ZTCXzJn5WkmXSEXEcP5URZESpiZZ1Uqn GPJX/h5n7z41e1Dysig== 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 malwarescore=0 suspectscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 clxscore=1015 adultscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190120 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 Reviewed-by: Dmitry Baryshkov 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 A50923E1CF9 for ; Thu, 19 Mar 2026 15:10:13 +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=1773933014; cv=none; b=nhg6tGf7KDY5cpYpbQuAIP5bR3Gzo+40638yIjvKokInPniTcKduiJ19Qe/NAndvC7tvX6LTf+JvmLN7ug/fh+ZWspgVjmbsbBew/yjT+jQpvnjmS896EOkSqK7WkKHpwYPj2myKxHWAFzwyZFAEvSlIjpMCeUP22JN3GClkj3U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773933014; c=relaxed/simple; bh=712tYFd2LejZ481YBDwJMV4ihA2THIfN0AVHe7B24Bk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GBTNVNxggb6eFAmepXTdgsyjFgAf+6en6QLtrS/4IQITq1vk1IGF5f7DHGuT8oQdYMEQsGMnG4KRL/WAQAsgOzQTdajo6TmQyHQy5U5/AjFG7SsYtP7hbddEnjZeDDs4A62YaVE8IqzaNPh+FRlvADVIMRiots1+vuhhVZ3NqrQ= 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=arK5pQlm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TfcyFlHM; 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="arK5pQlm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TfcyFlHM" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62J742EG1770897 for ; Thu, 19 Mar 2026 15:10:08 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= Qy21oTHWPQB9GqrJOZRuLLS0a9N8g/NrFFNrOaR80VE=; b=arK5pQlmr8nd3Yxk ziqe081jkzanKo8d/OHSCagJ51HbxaTo+/wjdmIJt0ALV7bBbuNjSTQUaiz9ETMq pVEsBqPfYhgPwlpgMP507xc2SPcAM/Xr+pAX0JyHKMU8X1Ay9O391RhCMnORCZok hviwVSFYMt3r91bLKgFHjh4yR2dSOH9A5p7BaY8XE1I0q/JzRBfb/IG27srLmZkW Mnd9xdsHsJi3uGuOileMOutYJHYxwtrn6ttufUsF3FIGlZVCs5yeptJoVC8o2NTD ZBFWsaTwb+d1ogIMEt/eG0P2NKMRntXdLZjqbzdmqJcoG4h1H4a67z4I6PaY0sZY vWsfiQ== Received: from mail-ua1-f69.google.com (mail-ua1-f69.google.com [209.85.222.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cyy75uwty-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 15:10:08 +0000 (GMT) Received: by mail-ua1-f69.google.com with SMTP id a1e0cc1a2514c-9483e4a8662so1623676241.3 for ; Thu, 19 Mar 2026 08:10:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773933007; x=1774537807; 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=Qy21oTHWPQB9GqrJOZRuLLS0a9N8g/NrFFNrOaR80VE=; b=TfcyFlHMHWD83I8XrZczaKeMy6XvecdR6SPn9lMqP9xA0MRtYyvV0W4lYlVvcAbVPl f2BFCkXKUr5O6l8Z+G37NewmQonGOAuWZ05kP+lv2X7PclzxKYZz7GVIdUFWPhWxB+Fl kpD0NEo/L6BhnVa4LB954iwXfFrDaQf7fj9Fr78bjWxSu1ohVzccrPF46TjpwnmxR8QG 7la44w5wjG9Iu4MdnN4x2CzUyTM6lpLKT2ts3TpwY08tS1QLqz+I88e2zWCi/jv6YPVi z0OKpPtDjLqa9qqBe+ta2dQue5yvME0ISFoVMrXMZchOH03fObB4eUs5WT8l+7WAeykr TuDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773933007; x=1774537807; 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=Qy21oTHWPQB9GqrJOZRuLLS0a9N8g/NrFFNrOaR80VE=; b=jCur+j5H75XKx5sik13VU8cLjt8k5BFnWWG7mXUO2JVzXdzbaXRHrb5CJq/15HzTfl 9kM9XDqxOSPo+7jwHm7E/VL4SVp5lCNuENFgirnKnuL+hYzGAftN8m8M8f9VSe8Ar7bQ Hwvq7UhmWOXwvrqEVQFA7RqXlXDXRNvQlc83TtbtpJV9xro88bcq6nu9ZoSjrlVScVbd gUBk5q9GF+2ikZmPgat5JJxeA9S83vAqUCQEFw7xoGbOwcZVnyAH52zuFItbNitHGcek OxLqQhm21AB3qX9mttHE3roZW5ISWldlFFZ8wTHo2wJDdK9cRvvJoRlHRuc9nDKL5wjH gGXA== X-Forwarded-Encrypted: i=1; AJvYcCX87X+Lfz4qtylNa2RNuqRLVLRc0B4KYOiKAOD542oEDfnC3TCj8mWm/hsa61lrVfvcrlj5xian8uhykLo=@vger.kernel.org X-Gm-Message-State: AOJu0YyVsmdp9g+1B5Qpi5dVngTlLieQKiuoTFN826TKNw84n9HT8rv2 LEsmGnV21UbYzRwrpibop6+I0LRHwWveSHYUBEvS+/DY2yreHVHwxEKvkT84CeRPNRfzbMyr7E9 P0mpRa6wB4xccbrbZROHEw/+nN+IMWZ1p3qjFt6srMcwJomqUwyWWaicztovdUSTC+kQ= X-Gm-Gg: ATEYQzzRZfEnKgYdd7EwX242g8Ikk4apa9ldsgRvNYkN33UV5lC93dkCRPMu+UIlvEX DeI1IaeUhf9Uortc3+jEaDnYxhZKi2fF0Ja1XthfP947pJ6oGCQod/wKlEtpecD9ZSR6or/QwW2 gObVcjiBwQEnnd2wq1jfLGvxwJL+ELCgMxk8jcEqSATJx2ZdsiBzDVbpQhlZ+4Fvb/m8Rq24yNy hvph5tOtc4UKQh0BsGcO2sn94dBYlFURjehDKjuiu3QK7iADvAwEEVBi0Ft4J+3EjFD60/O9N/8 MyAkIWSnZ1yER1AXO3Oh/35ZZpWUlJCcLDVT1NZy9G4xXMfTRzDZGM3KLBt4HGyVZ/I0shdZgiH KngLgn2dJ/MBtMvW9ZzC6jJSvZp8= X-Received: by 2002:a05:6102:41ab:b0:5ff:f6ee:1089 with SMTP id ada2fe7eead31-6027d11ba7fmr3167252137.13.1773933007352; Thu, 19 Mar 2026 08:10:07 -0700 (PDT) X-Received: by 2002:a05:6102:41ab:b0:5ff:f6ee:1089 with SMTP id ada2fe7eead31-6027d11ba7fmr3167242137.13.1773933006758; Thu, 19 Mar 2026 08:10:06 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fc61dd4asm32274565e9.14.2026.03.19.08.10.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 08:10:05 -0700 (PDT) From: Abel Vesa Date: Thu, 19 Mar 2026 17:09:51 +0200 Subject: [PATCH v6 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-v6-2-fa305b40a90c@oss.qualcomm.com> References: <20260319-dts-qcom-glymur-add-usb-support-v6-0-fa305b40a90c@oss.qualcomm.com> In-Reply-To: <20260319-dts-qcom-glymur-add-usb-support-v6-0-fa305b40a90c@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 , Dmitry Baryshkov X-Mailer: b4 0.15-dev-7ae85 X-Developer-Signature: v=1; a=openpgp-sha256; l=5790; i=abel.vesa@oss.qualcomm.com; h=from:subject:message-id; bh=EiqUaHPmquDd/xJyBfNXiMWYImfQU88MJQ82XQcexO0=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpvBHGEWFT5HD9cf+1ml3+acMvO5QuxCMeGTrlS Z5+kA62TQmJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCabwRxgAKCRAbX0TJAJUV VsIjEACfiknfphiynV638IxTm8qQwEujdrhhwPX4XqpN53q1SluhCqXDO9NQwQJd50aArGnaiJ8 KHnK2tcsQaqKQysdLIsdHZmSh42JoRW4wY21IayFB36EAW6BervlX6MD8R0Ix/P4exvHbdmHiye vRcBXERgQO84Bvn6JsAUy193wQz5FTJprWY6PMtKrB/QxopK9gvKPIArPyp/SPHagll+ilUrDye BvDfczel1yCkSaqzCgboMVA1l5CsSE3GbSn3sF7qWmBNc2MByrw6KmqnklRGxJRLzOLUfQQBIiy iJHZVRb/Vg64bRt9zdQtK+I+KH75CFTSQEtEMCMMnBGmX2vpmabI9ByzIIXSPZoL8b1DRa91kyI 9JY45meOHMCUDxJncPayKPyuG8Z8nes/Z8JrwcOmK/q1BO0lh8c43YsaXLznoCaYIweIlIzB9bG 98ULIYBrnwlj3pIpUUS4Zq9vdTNyqDASMY0p8rjre872dBYveyg8ka8KRfQTL+pisWB+wnGnqJb mAJS9zDWXIdWQ/pNDWFbZx9maMjE34cbKEwNn0XNBlUeIzjysI7IZhtoscNF8GK5CBn1wt27BUT 1cLtijaZXdvrsUwsjprqAe8r3C19Sn8w9oBtnM8v0HBfjb8e1C0fdYb6KUbWuuKhdTttJaeRQEj 41GA0YdvLVajQqA== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDEyMCBTYWx0ZWRfXyd5Iuf87+Skl uxL1hBTCvMkB0xev0TCWEevoaJXFpIXDb8Rj8yKLLDBMNK50UkOMbwL89OksvTxPtidVeIrNy/t bwuMcsG3/XNnfHsXYgzu+qq4cf8TirwNPy+lT9LxEjow0zm59eEF+NaSqqRU9LqGqVA4jssNhnZ NiQc/IDTOMUZOx4Hqf8YgC6nhPgsoCiipjgURgFl0D34WvQtLz+NxoAOaMaQtmi8HzFmBzwJs2p mWbT/BBm8ifpMteUuwzDk7SJbfep3o2QPsDsBRZYmswPfOZIXACbIDXrLljHBUASSPgMbmVcoLN XHTLdRWv+Y9qYz4V3gqpYpaOdoeQKkQ6YKpJeN9pw3HMtwPZmb1JicpHyX6eDCy4dSNCO0eHVra 86F6rcCYf/f0LaVvkv71ufznRIIASGskm2r8CNINRv6lqg6ZdqI6XwTmw0Oq/wKpTDPwIJInpKE V2OIobI57R5Y165e1iw== X-Proofpoint-ORIG-GUID: _-wD37Gg2tBIESgc-yp1C76F73dU5r9f X-Authority-Analysis: v=2.4 cv=A7hh/qWG c=1 sm=1 tr=0 ts=69bc11d0 cx=c_pps a=UbhLPJ621ZpgOD2l3yZY1w==:117 a=iKs3dpp2RB4k51ZqCjcyjQ==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=UaQ5raezdk1POPUwhdYA:9 a=QEXdDO2ut3YA:10 a=TOPH6uDL9cOC6tEoww4z:22 X-Proofpoint-GUID: _-wD37Gg2tBIESgc-yp1C76F73dU5r9f 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 priorityscore=1501 lowpriorityscore=0 clxscore=1015 bulkscore=0 suspectscore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190120 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 Reviewed-by: Dmitry Baryshkov 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