From nobody Sat Apr 4 07:50:49 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 1E0E9396D1B for ; Fri, 20 Mar 2026 10:57:03 +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=1774004226; cv=none; b=Tc71+0SmaoxrDBD6B2QHR8I5iio23BarU9NAZT/oWMKitBDkAccYd6ptuFkSqCb7SkgBtnlkLQSdC0as88WsJ4QB1rG0GdQN8sgFF36tlyXRIa/cvT3lViabs6BXnIXgWsJFrMAGyVOXoSEwFlhmCYVr6/69OIdHEhfGCxO/4kI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774004226; c=relaxed/simple; bh=PCeD2oyR0aY7Iu0f5yywwnUcZ4xEyOrnoeuxP7dfwIY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=udo5stkSLotfOxgu9xp44LydBy8X+xRiKn6lYHvUJIUXTr9HLcMtniWmsBc+15KOeRwsiom6BqsHMkh1QXm8xAldrBK3n6mQjgaMpPkzlW71S3vxUMloJFIVTt0Co24dclp80pHqHrQ8MgP+AgxAczlRh2/7QAv5BjjOBuc8qU4= 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=h7JdNQG8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EuibFDMD; 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="h7JdNQG8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EuibFDMD" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62K94UGU700891 for ; Fri, 20 Mar 2026 10:57:03 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= L0AqchjyAgfcwBpxKQXs7g3jk+GHoFpyk05egRz8ug0=; b=h7JdNQG87nBNPo7j YljZim9g+DvlTeuMYio2H61B2WHIW44nNXtSoJe+/Dj0Qb07U+qlTZiSpoxJjB9a y0Z8G2L9IGZRPCqtFPsCxIhtbBh6E7IiSP7hDu41iymvblHF4a4wep7F2Tzo7vD7 e5AVNUaJ5ymKm+5ZPGz9qTSDn3Kj+ABjtlE+X52xCwTguDiuS4F+qTrl5uf4CXGe cbf8MQOBfv33UsiS/Ko6HRMFlchk8VEIekDAtJdErgaaN59BETpZpxG8XeHqw3jc TRl6QpEWgZoehY2AcaT4lJt67LtdMMlrdkDWWes0lJEynHSyBLjvOnEqk+7gAQpm 4FO/Tg== 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 4d139q08c2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 20 Mar 2026 10:57:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-509044f54aaso142788691cf.1 for ; Fri, 20 Mar 2026 03:57:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774004222; x=1774609022; 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=L0AqchjyAgfcwBpxKQXs7g3jk+GHoFpyk05egRz8ug0=; b=EuibFDMDLzXB8UsJntehqCpNzlfbZfDeOdgNTUFffYl1y+wzZZ2uxRbgDy8kwNZ6uP G6lZrnw6iuRq1AZVErTAHlS8VVylTwA1yFTSQeq1x8dBpOvxuQWliwwslZTdUvkK4kqI OFEnquOzlOJB2OQJbSAJAdbWEkwcOKSkt9WvasQEhr4C4rlNTSz3qzR8n5ZyciDZK7AV AtrWBokY6QjmHZTHKAEqsOQLcrJkRX2no64bQ3IkFOBuTXY3yxTeeaQNy6p7KsHvYXzl bG7Sl/HtH6GH4k2Q3JQYU+ZB4ASdaPg/H3uWNFSBbqt4JDt7wh6SqHfglVWhQKOyewRe dabw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774004222; x=1774609022; 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=L0AqchjyAgfcwBpxKQXs7g3jk+GHoFpyk05egRz8ug0=; b=mNPDMxN12Pg21MxFQ81hp6/aLzug5h3yCal/eg6/I0olcbYyht3sHWQ4uMW0Vr/DCG UJmqt8hsqfgZRGINs1qyQk67hWdHVyW3WfiBCwD6gA5UTnT3lMteybsvLED6g9I2pUpm K7tNrIAUdBokbfFJ7J/U/Ap4NAmPXn18MGvPLX9m/QVbvCm+OlR/fWN2U5PWvjJbIzVf OYPmoGyKmM1MJRDKWz9RuMiAaJIZMi48iIWLTkfye5Qi+7Z8eCy8tt4RuFgicurl0SS/ 5YjPcG0PNkLdUisMkJ1RWtQ9Y1IjqmlD6Lp523bzmi5vsPrEiOFAHeaw0gmqrZqcxAHd hMYA== X-Forwarded-Encrypted: i=1; AJvYcCVB2Jd57MsNINDZhXkd/WK6ILfKkUwcywkfMW2ySA0o9iWcXNgAVId+ARzJF2d2hkQ29DsProrSEHYOhJg=@vger.kernel.org X-Gm-Message-State: AOJu0Ywe/qT0YtOLqTvTOLVNq+DAPTLTlv63LCGdAkm8Cwj9RkQTndcC cxnACynVJKJ5B8hGRjdSN/R2/QFn+T7VVy6Oho9wlgWGNNxfDKOOTWp1mQpl1ipJYaTdHfYay+k GyvJ59jcazn4sYuVZJ32ja7MsKqQiVocc7n6N42ZBwjDnHShdbj1KtbvyHE5lYaLUD30= X-Gm-Gg: ATEYQzzLW6ghO7MjE+pVJlb6eATvzD8XufZ9klblcatl6fLgeUKRuL/zxja7B/YjXCD SCFO7Tt9eYcjWSd0EF6G+OwoiBMlqXcuzZK7fHg4f2Rjat/WS/ekrHl34wEToN6hIX2Z2A1Bgnj f5DJ+VUW9cpQalwnp9UKy+SykKgwRZBkejtH8w12/jGoUT9r0Mg/aKr5RvtFad2ui49JAf322KU kHilIRuCwrcl7q1gZMFgVfOuDh0tnByGasd3FYBFjVFCvR7ynwY3UQiNeQLJuOGxXGiPLC3sWHi rEtP6GvUVfTbpfM7OfSALEE6EQacHdxQAkr6Xw7BK+pI6YUsE1gT69mgtwWztUSQS8CtCX+JCtj SxDo+IXv3dZEhvhTh0OdpmUfMoMo= X-Received: by 2002:a05:622a:53cb:b0:509:3940:30ee with SMTP id d75a77b69052e-50b374fee3fmr36334621cf.49.1774004221956; Fri, 20 Mar 2026 03:57:01 -0700 (PDT) X-Received: by 2002:a05:622a:53cb:b0:509:3940:30ee with SMTP id d75a77b69052e-50b374fee3fmr36334201cf.49.1774004221329; Fri, 20 Mar 2026 03:57:01 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fc4d90f4sm103911555e9.1.2026.03.20.03.56.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Mar 2026 03:57:00 -0700 (PDT) From: Abel Vesa Date: Fri, 20 Mar 2026 12:56:52 +0200 Subject: [PATCH v7 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: <20260320-dts-qcom-glymur-add-usb-support-v7-1-ba367eda6010@oss.qualcomm.com> References: <20260320-dts-qcom-glymur-add-usb-support-v7-0-ba367eda6010@oss.qualcomm.com> In-Reply-To: <20260320-dts-qcom-glymur-add-usb-support-v7-0-ba367eda6010@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=ftG2wpAL5mfxWVJXsbnj2V827vXkB+CruwiqRI0N4sQ=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpvSf235dZLOSVyz2/T5DctswkqUN8s8VQhftdj TFUazmPe9+JAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCab0n9gAKCRAbX0TJAJUV Vp6MEACC6JxHKgmjX/KzwVccmuHeor7BMAUIVIWcWS1azEcoVfFNHGOaNmPI1490JE6hVCHq9WZ VFcKi92M/bjxADjqKtU4myuaaYtMOQW/Ao29lbcbqSx41oNPtn9xGQuC3s0COsum57WGtsiEI2k 3kZW0pihVT5tyWIJsPHb/BlZaJ3ppFIf5AUuYWTpaPcyzXBX5N9MHr19VO+7/H0XueAEI50oeUJ 50pHWM4voZm/980UFYU96wGcA4aUxQ3vxQQUYy3za7ALGTPbyTeq9ZEQuGIe/VL0nAT24kwQVo6 1QeO4SR11K33TAsqp2RIKe1Yv3gvYgI6/tQZznLLgUBCzGlU0fRE0ISFLb1eny5g7e8FA32wSGE YkzN+eO3A38V0VWERx/ZW5CHjr+Pn0KEVDBVENb1i+EeMTilYcILAoTdJKEPYTyLLwIgJvr7WWz v4Ycv/VrrdwDpLqHxQ2Ib0sUm58Em9h0MW0mi6bupNL1DYYKvWf1ZO16mb0AjmFWmzGyDnlBXAz InXg4/dZaKyOTp1ZmsFzhZnuReWQHS7bFRKmcA/QbPk+X3EbsdP461XzbqcHSLGna/VpweQia2u sOATGZ0rx2gK83Y6dCb9M4FiBTAlYfWavjkBLMgFFbDVdok1+tBMTvRNS9MBvI6PdhtuEsmeiQ/ GfUwff+eZpI/FAg== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIwMDA4MyBTYWx0ZWRfXy0+MB+BtjS5J tTFBLWWirC4aX4kJxBpPRt2nMGtlTDWXOtKWbHpwW6iQK8opojzK3LiCckM4LLhWayFoFowe8tI i3FUmjTEllnNnwgTCKThqRX4h2BhXs2WwaeJGWhfCrbksGSaKLdqeOywBL+3jATNHyqkIK7uN88 oZbjiOhsGih8U1xpe2V/mV2bsplC1v5PjWebj+7O7+8Hlw7Npi1zwCCNUXmkzgz0EzmJRlkiSe3 43lW+xrO1dTy7vczoqKWIeIJoFSSCi/WtG+PGY17l1hCK/8quH3Ahvq+EKAV7slByY2ToFXTbSF 3s48kMTSfnmg5768N0Rbd2W2mlGbxlam56E03dmk9dm4EcVshjk1UcqwatYcjXyLfvV9i4VRK2o U27R8WzTEg+9mH7suzntk368h10QmOUWsBo5cLwK88my0S2FCTKjDwI3l/DU0Z74pkbklrBeOYc m3Nsb+6XHIqiXH26Q4g== X-Authority-Analysis: v=2.4 cv=FOAWBuos c=1 sm=1 tr=0 ts=69bd27ff 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=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=8wER65Pd3tfT56eRIC8A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: l8GkDhrzD1OZmfoKJa8-ujOglobXCZE5 X-Proofpoint-ORIG-GUID: l8GkDhrzD1OZmfoKJa8-ujOglobXCZE5 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-20_02,2026-03-19_05,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 impostorscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603200083 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 bde287f645ee..641707ba1e78 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 Sat Apr 4 07:50:49 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 44D23386C20 for ; Fri, 20 Mar 2026 10:57:06 +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=1774004227; cv=none; b=Hvcs3cWZ+yeo5lv9l+vzfACCAPOuXs5ZuoOI5dkOBRSeYzC/shUgi+9+Acyhg5f9HwcmdpErab6sCVXSX/l90IRhxDxiNG/NiYEarj/TzIJPVQfOSLXbMZdKKpynkjvKZzI02CUQMjoJShLRpqDUlQIFnE14RDf4Lgbu3oCr0bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774004227; c=relaxed/simple; bh=YN9GyhbRkWixxbnYiz6zS9TP+Z312EMl3wBVIxg9qIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XcesyWCerQsUeXNBL4G8NsW7y7ZhHxndkNtnVsu1jxegF9ft0U7YDyfDK42/fLw0YS16Y2sv3rROu2Jq1TwTB71Ro+77vNjgujNiIk6jV7YWwlaGlGjNC9+WpUsu7Y3n+v3Sijggn6Hc4hRhDC914SDGCWbpeGCkzJQK+XYmau0= 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=oW7jvAC2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bEMjqcUl; 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="oW7jvAC2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bEMjqcUl" 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 62K2Xig91525562 for ; Fri, 20 Mar 2026 10:57:05 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= K32Y/8A3gj+UozYohQfA5ARRCky+c9DYZu4RpkBY4lQ=; b=oW7jvAC2E8b4jhPD K4+G8yK8zqq9t+MDdzn/JNMGrozFzO6GVkkZfBzIENV8Q4NjM9mDPFmg1XSU2zJY LHSRLspwUy4Xo9unDcpWUuBKY++G0W4zPgcrE2frOJs61883i6ppkw2DQT7KIfve lWHUXRqRq0U5peut85NWL4tRV/AnXyMg1P/LaP66vXz+CKK860naaHFPdHxKMJHB ugg7N/DrkEA5J43eZ8AxWCjbPHURSRcnJ1zjpM25/agwEekPg+B78roSS7mL4tnM 6BHPMC3jWHoW1Aw2SZB7NbuxWgfd+0woTfntNyZ7l6xxL7z1hWjxWQS2AJ1vE4JJ uxJN5w== 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 4d0jt935pv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 20 Mar 2026 10:57:05 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-5090cc6a7d2so40683921cf.2 for ; Fri, 20 Mar 2026 03:57:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774004224; x=1774609024; 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=K32Y/8A3gj+UozYohQfA5ARRCky+c9DYZu4RpkBY4lQ=; b=bEMjqcUl+DxOtqArB8LhC3esPknn5AueuU4358qx8q3ToyeR8LLmA0QP62Z97j7yBl 725soPYl5zp4D3O0WRNFGh1qnfFAjN3sleG+YN3jRXxbVdWxM0mBbwwmjLgdd9lNiEF1 ALuH2/cA5siLD4DxGQ57fEQAvuvO4e8178rvVhqMv+tI6cl2s+o3y06brB5h45e9Jg3M yCJ95+Jr9GEjSf6hIwkWsim6xOFufe3Bh2Z+HKE8FIKQ7ArPD69dfFuDbpoxShsvihtX mtNv8QKzIphELJXc8rOn1sp9i0it9IzfEZEUGeqMh/J6XMwgRzb+G16BM4Zb5qF/ti02 1quA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774004224; x=1774609024; 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=K32Y/8A3gj+UozYohQfA5ARRCky+c9DYZu4RpkBY4lQ=; b=Wilq0ceLvErTx32CTxhl2BcZty78s/FZ1HZP9E/gl6Qm21k2mE43Cb1Z9R2IE0q80e ccrpLeB+MACpMB0dBSx00tCjOReEtNG0kXqEbKXhxTEInbzg8Q52uMlYJW1+M8RM4CLZ VI4k8JGUlU8usMU/X3qQNTNchedvwfdF0bLNo3+wFIW3kREmzHY1h4U5BYhDgizlVggh tZKuNGuRKk+g9KvW1bV76DLrU+slhsXXm/LsyIftCtkHUQyX9t8ZvQPUiFE+EYOs8zbA MxM31SSyQBhXPfFIVpVGrl1LQXua+zEBWs/0XoyyUuWSAzggOdiGsltBuBrNa2gQbT9k eE/Q== X-Forwarded-Encrypted: i=1; AJvYcCWLOQHoNX/mZd55sZKgfHyIeyPcX/94E5lUJes11gi3zldGKo1kckktiugpm50KQ4hXyJdWpGxJSpWU7dE=@vger.kernel.org X-Gm-Message-State: AOJu0YxZczfB+RmvIaM32HWjmsnwNeFwcuxHvhPMgLCqAhSN/TN0Uaz/ PDuZBWWcpvs8IBqMfXNUgqg3S8tMOgKXIEBRKTCVh/mKB4Ra7TFUL8jgPsJiNvNRfZJsPLqQA1s fPl7ft1NdxewQc1rYpDjRB0stiF5e4u3Ia8HsBNdgir8RAZUJ3zhjTllMvVB/rQDJn5A= X-Gm-Gg: ATEYQzzFT3VU57pC1UJRZNFsL8FXGjCph/ggD0/nbBMmw0d3EsGMHZO3h0vUMMpepWg YcpxHoreeYQ20jnSILgzQj/VGCX7KyEUu4vyuy3hLPcJXfGMqxB8dhqD/inLHEfqYh0U2wwxJUA wqVKD5eFyapNUgySaZE2YcxFy45PCSuEsJFrE1qOUQCeCezSsIcipLnyz/nVXwowxeKoZ/NhNVw 8SKx8D1UIzPZhZ3hTPRIY7n0E/UNy7j9zEiNUGtLbfq/AmNcZBt/k5d1ouTOsoBYXtHQr1JUV+N fk5ExcCRLBWC3aR2Cze9WFcua+TFq+94s476s+cDJfogY4ns+Qw3Mop3mwVgrlerGeHeRoGQ7S7 yHdVn1GQuJTSvoNjZWv5He3i+tHU= X-Received: by 2002:a05:622a:11cc:b0:509:270c:88eb with SMTP id d75a77b69052e-50b3744c5cdmr37669141cf.25.1774004224346; Fri, 20 Mar 2026 03:57:04 -0700 (PDT) X-Received: by 2002:a05:622a:11cc:b0:509:270c:88eb with SMTP id d75a77b69052e-50b3744c5cdmr37668791cf.25.1774004223745; Fri, 20 Mar 2026 03:57:03 -0700 (PDT) Received: from hackbox.lan ([82.79.95.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fc4d90f4sm103911555e9.1.2026.03.20.03.57.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Mar 2026 03:57:02 -0700 (PDT) From: Abel Vesa Date: Fri, 20 Mar 2026 12:56:53 +0200 Subject: [PATCH v7 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: <20260320-dts-qcom-glymur-add-usb-support-v7-2-ba367eda6010@oss.qualcomm.com> References: <20260320-dts-qcom-glymur-add-usb-support-v7-0-ba367eda6010@oss.qualcomm.com> In-Reply-To: <20260320-dts-qcom-glymur-add-usb-support-v7-0-ba367eda6010@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=5440; i=abel.vesa@oss.qualcomm.com; h=from:subject:message-id; bh=3fi+M2lPbqt/CTMON5Qvec9faOcNmPMY/nZYrvqfMoc=; b=owEBbQKS/ZANAwAKARtfRMkAlRVWAcsmYgBpvSf3mYB7DhMyBkY0jvOdZUlp0/SRC4LDxKwla NRCeVibW4OJAjMEAAEKAB0WIQRO8+4RTnqPKsqn0bgbX0TJAJUVVgUCab0n9wAKCRAbX0TJAJUV Vh0gEACZmKwH+tGVF01ugmZsVJvL444ns+gSoHDMvc2ZVffIINK2p7uf3kKc0IJuz5j+C3eE47S WKkj2oSXW+34TxsPuS7Pa+/+A4xCVNFZSezAAvvV0zO4axi9Kx7NzJyY7R1sBC+kZte4INMWVOT 5Mu4Fg/hkHFzioqwmh/pZIXF/lAGUfPtnD5YwFRsPNtkZvKKT8+EvWTbAl9+4Ckct2Wo5N81j7F ByEzNMx2BGcKjjWii5XB8S/oVoIPEB7HG4mNJxxieKBgkkzx3FyUY2hCy4A/AOMrEttmiqBWuBh ztt9MmtfT/0fnyZhpQFN3EgJjyoJfG5GaVJrkW2JkuR0+wQ0THrHHZNVf3V9QXOGcWAFhztUqBN 4ql6vFxRzBUJIrugZ5+MNd7f0oKTQ1BcVpDs58WaSZ0+tMP5PvhiScjjVzLehN/Hi29WybFaMtW vxQbl0X6mO1NIKwn7lzA3I/qAJxGyEk9Mh4bVrn+vDQNQGiq6182RHikkX8o50iMo6BQAHmLpis O09IfNndOT2gpEQ2QyUtvzzadxSAyUqXKov4VAMc30jcTZ0O4YqFtY4KRco1JPbzO0JxPbEwKEW l6az4p2lIncgEgtcCHHfDhKEWLfuk/Aez/y+X8GB3N6xecTalVfHOwjk/HEeRYoKNjmmGB+Wugi LePtmX1Sk780Iaw== X-Developer-Key: i=abel.vesa@oss.qualcomm.com; a=openpgp; fpr=6AFF162D57F4223A8770EF5AF7BF214136F41FAE X-Proofpoint-GUID: oqPst9ZzosIwrxU3UMflIt9dWVXBrWk4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIwMDA4MyBTYWx0ZWRfX5DawJgsU8hG4 73uMtfT5TIRH5fLWvUNZKTdhyxt4piLzmGZzO6HVavgL6v2pDHBo0G1E9IOVk1vovFwmf5tbDY3 lyNTkI3yxWDtKecOXviRtwXLcBNUAnNyJLobMuypW805HlMTypZmyOShnMtQMnHNjvjPKw8xYcG d6JeCutEzSDkY8EUVsWfanA6vRe8uE6Bf3fxa3/qyLPXKDZloVje9d8MWS8D2/eYb7UED/frcqm FmmnfI/6Q1rWulePsShj4O8QZBglD0g0D2ThXBfGwJwvQdss7Wco5vPVBRCu30XKDSGC6892q9f J1HBJFv5B2Vnd2jgWMzTdJEwkI8060H3Tr8hvFEAnpnFR5rIhAvANHSw731d0qLG4w2iVS0hsXT llYDK7dNynTpQ8aqwOP0rOZRwo2CTwU4bb3V8XWirb6HhNeHdoly/kVLdM5c/1589oziqu0nJ+Q 6DAtLpZCocJQv9dQUjA== X-Proofpoint-ORIG-GUID: oqPst9ZzosIwrxU3UMflIt9dWVXBrWk4 X-Authority-Analysis: v=2.4 cv=FKMWBuos c=1 sm=1 tr=0 ts=69bd2801 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-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-20_02,2026-03-19_05,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 bulkscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603200083 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 0efd9e27c82f..4df8fc4ec254 100644 --- a/arch/arm64/boot/dts/qcom/glymur-crd.dts +++ b/arch/arm64/boot/dts/qcom/glymur-crd.dts @@ -11,4 +11,218 @@ / { model =3D "Qualcomm Technologies, Inc. Glymur CRD"; compatible =3D "qcom,glymur-crd", "qcom,glymur"; + + 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>; + }; + }; + }; + }; + }; +}; + +&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>; + }; +}; + +&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>; +}; + +&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