From nobody Mon Apr 13 21:08:13 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 2AAB338836C for ; Wed, 4 Mar 2026 08:22:00 +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=1772612522; cv=none; b=OT8sUTG/XBDiAFEVistYUGnDbdh4uAcR9oTcKvR1/GfF8UmOqR07uRqA0J8qew7XZnFz4PGbFQF4IakjdWrtLRkUhcqpGK/rvPLL6iFzU4WBwryMaYhZC+rDTjNlCuWMNDZpn4HYHot0s3f8I9Exrv6Etn872ItdqsjE8i9cQ10= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612522; c=relaxed/simple; bh=0cxDH4J+ogpnd/2Sh8T/+lD9ulgjspAUfkAYG3Mt/CY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g1S21BYc9mCDdAmBrJCS0h5MFSF1m4qoKTZIV+hnZQnZcA2gDHrYrb+qFI4S2wLBWsHONuwjxqZXw4Cpfwdyqp4svbHfgskNxXZf7HbYKxQjkeHQ6wcrpy6n5QiqVepaCs3Y/r98RTQ2vrhl9Le1NmwglznUE0dhGa8hISCD1Mg= 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=UrTFhOkQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KRpwt4Ry; 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="UrTFhOkQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KRpwt4Ry" 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 6245SOWs2306019 for ; Wed, 4 Mar 2026 08:22:00 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= +feDmpxyjcw2Gpw8JLF/SSE3a9sEyKxeVIjgMxiPBLY=; b=UrTFhOkQGwc7B7A8 rz6cCieTGQtkwoi5U5DUOGeYak7oBh2+hlJaOYrhjf97CKFTfY26zYEMJNpAIZFM Sqkjstvk3CHfm3QXv/tA8N5fLmJMHk0MOvVyHWcgI29g4OVmLY2Cs+X3Yr5KNTHp yEPs12Fw5gGoTD8mXS2R4pPnRMmQF+B2wPdCNNHP2gw1A9o1JT9iZWqjt+UmbKDK mhwxbF/pRS09E/0dCTFhP7b9/C2tcCdUxFJsh+Iz5XeZTqcdoR1ZGhrIYHbgg659 0+2tIgjefqaLTnr9DGrWoL1MNfHYDxfSA+F0Z3ZHH4gzN1cXAvdrvaikpXxrBpc9 K1eHhw== Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpau8sa2y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 08:22:00 +0000 (GMT) Received: by mail-ot1-f71.google.com with SMTP id 46e09a7af769-7d4c393cc9aso34951514a34.0 for ; Wed, 04 Mar 2026 00:22:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772612519; x=1773217319; 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=+feDmpxyjcw2Gpw8JLF/SSE3a9sEyKxeVIjgMxiPBLY=; b=KRpwt4RyYzDboU4rRLLX2Xas7nsaY294vdAVdurnqHvp4FD7F6ujdNzUW5Avn0ojBY xs3HlYjn0mLwpkNXLbiGC0He72yq8nmAws4NNVENZeHco9MREVGN4uY34uxs1mZFbSXL e7+G9ZSFfroKmbrRSzd2R6QFZfsfuolO628e4XjcQYt7HhdAw+/hzaDi1u54CFUFXeus yDZXxUqiV6fqqh4LLb1p8fh6JObJs8Kkk3jwPiD+0kFVErxtShi2CoudHHMlN8kiVqbl PkLO2vfrmAWhdiFhBPf5CYylQpBPFBph8ANvzLElXjqRBis73DLnojhxA/g8R8B+b0ru GSVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772612519; x=1773217319; 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=+feDmpxyjcw2Gpw8JLF/SSE3a9sEyKxeVIjgMxiPBLY=; b=Eu6bOMAySj4SrjrIPL0FIh0136XDs0dLy926BR2V9e6cwDXKAAdSYMCKT/tQrMa1As t7PmtMaLx+ctwPPe2yqEQ9S1wZi9y5MNwSSN0/95hybZuDqpQyFTkhzKL5cCUkEMwPwv WWEttjqzwzNuIC548EviOEdZBkqgbxSA0tTpJae133XlQBUcWPy5KMJV4Gw5AZ8SBCii TM+NnkxdQICVXgcSicxDrWRa3CBzwwmhSk/acu6Sj7NlxAmVpA9hDD0DmEfuOHl6NxzV 25Zciyf41ulHuV+6zDj+ZQaExyqBhxk7XmM3GA/JdtBX1fTGETW8HYms02dvJn7K9uD6 L8UQ== X-Forwarded-Encrypted: i=1; AJvYcCUuIDmjZdDbqemzhYP6ryM1zO7cObDR3OnRtsfHZzT2lgm8GBjEDEFABa7Ziv0rVk1/YVUEBocHmM8vZ7E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/JsoNdGh359ReIpp/lIDHcEe1CtS0KT63c9OIHIDrVVIBrQqj Kjgw1EhrwyVSTSATSKZoGMBI1t1N+lfCVz0UN/S4lHVQKqdasJExL5IW0IWx8jPBo5C5E89odDG STCc3j2r0jrXmIFAafSZUyHM/idqEd+0PMdNY9V7Uf40YKyauIUae5Oq+Rs6TLvDs9yY= X-Gm-Gg: ATEYQzwL4pP6wIIIl0fvcgYG9dFbhdD3BT9hq48VFzCHZx+MeV4kOFdvNx1HrHOPFOv LGwOa0NWawuZvbyZ6RIa8tfJnId8k1paYzGr3ABYIRk8KojhvaERhyRmRMhUICUinBa5XSnqWa1 4V0KmGPcaCx86SYpnRDsLYNxGGHlu1hBlaa14XCB13buG6dbLoq4LV9RvnYL2mB9v89Q8Ukl/Si UhT6qIsS9Y3VIqBc++Whmgbhl+qZSw1hcP85y/Miphde/pjYISdxqPMAi5/kQj3GI42V3K+O5Rt A0gckjiCuVBv+l+laSX6nMJp9tbEzngxp0z9EZkR2dEDe9XDZEvrFSNkyXmsXUwILnA/TpTJKhW qNM+PyPlG5TFlr7uEYqGOOJI/u53/blfDs9u7IARDSwGyKX7EBfRPgo8lxTHGBzmctEKp X-Received: by 2002:a05:6820:1905:b0:679:a4fe:f024 with SMTP id 006d021491bc7-67b1775f4demr849067eaf.46.1772612519442; Wed, 04 Mar 2026 00:21:59 -0800 (PST) X-Received: by 2002:a05:6820:1905:b0:679:a4fe:f024 with SMTP id 006d021491bc7-67b1775f4demr849053eaf.46.1772612519072; Wed, 04 Mar 2026 00:21:59 -0800 (PST) Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4160d26d9absm18006952fac.16.2026.03.04.00.21.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 00:21:58 -0800 (PST) From: Qiang Yu Date: Wed, 04 Mar 2026 00:21:55 -0800 Subject: [PATCH 1/5] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add support for glymur Gen5 x8 bifurcation mode 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: <20260304-glymur_gen5x8_phy-v1-1-849e9a72e125@oss.qualcomm.com> References: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> In-Reply-To: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Yu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772612517; l=3719; i=qiang.yu@oss.qualcomm.com; s=20250513; h=from:subject:message-id; bh=0cxDH4J+ogpnd/2Sh8T/+lD9ulgjspAUfkAYG3Mt/CY=; b=u//xzciC0iOy71tQzdkre/5ZzPbinP8Hp0mSQdZG6U7/pN91pAkszc0NfvrWioUvLrrK2HRok 5wHzs+4x0vhCOT40wazLhj02LqmEoGsg7xZ3H+EjViGQw7WhGpd3YyD X-Developer-Key: i=qiang.yu@oss.qualcomm.com; a=ed25519; pk=Rr94t+fykoieF1ngg/bXxEfr5KoQxeXPtYxM8fBQTAI= X-Authority-Analysis: v=2.4 cv=AJS1/0o2 c=1 sm=1 tr=0 ts=69a7eba8 cx=c_pps a=OI0sxtj7PyCX9F1bxD/puw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==: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=RFdnLZz7-LqoW1cxMWEA:9 a=QEXdDO2ut3YA:10 a=Z1Yy7GAxqfX1iEi80vsk:22 X-Proofpoint-ORIG-GUID: bbLMkHYT8yPWTW_FhcsMUcDeo31nEXc3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDA2NCBTYWx0ZWRfXzzRqwqcCO9kG 6zrbONqPNuW1cchFUuSqgYWR1qWeKEHMxKPv7QunIrKDmVrcjdiDQQ8k5vMAlUVlRrzv+JdjPho Sxx0xpHl+yAUkvagauew5zxCoYFVhaRLEOrhcs60x02RzZOQ03kxR5dHdCXD4lvw31fQJ+6MeUx 7RTOWtBsGah0p+78yjEVBADIDE6PGqLlf6Cy9C4JLvEf/YmRpoQnyqq9ZOyUseFNTD9mFL5ZA7B MpgnpqChVWlErnKt3MqCn+WCJ0a5dWtt7CyIlnIBmG6amZxuuMAwwuDHYVidXg4vcUEE9x+yq5G QbY1SuaJ05riRbYHovYRWPacLeuwyLCrpkU3MFI2X5VIzG7Cc639Yvntfr9Sykn4UiSSMuNGe0M 7JzmQeu5RzcLy+tEUt76Ovyp9B5g0QA0FrdgppHRFLWOtlM1YJb9IRVMRpveLUwywSlyYEMG8Ds Hfj9/fmj/DyrSeIRwxQ== X-Proofpoint-GUID: bbLMkHYT8yPWTW_FhcsMUcDeo31nEXc3 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-04_04,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040064 The Glymur SoC has pcie3a and pcie3b PHYs that can operate in two modes: 1. Independent 4-lane mode: Each PHY operates as a separate PCIe Gen5 4-lane interface, compatible with qcom,glymur-qmp-gen5x4-pcie-phy 2. Bifurcation mode (8-lane): pcie3a phy acts as leader and pcie3b phy as follower to form a single 8-lane PCIe Gen5 interface In bifurcation mode, the hardware design requires controlling additional resources beyond the standard pcie3a PHY configuration: - pcie3b's aux_clk (phy_b_aux) - pcie3b's phy_gdsc power domain - pcie3b's bcr/nocsr reset Add qcom,glymur-qmp-gen5x8-pcie-phy compatible string to document this 8-lane bifurcation configuration. The phy_b_aux clock is used as the 6th clock instead of pipediv2, requiring the clock-names enum to be extended to support both [phy_b_aux, pipediv2] options at index 5. This follows the existing pattern used for [rchng, refgen] clocks at index 3. Signed-off-by: Qiang Yu --- .../bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 45 ++++++++++++++++++= ---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-p= hy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.= yaml index 3a35120a77ec0ceb814a1cdcacff32fef32b4f7b..25717bc9be98824e38f3c27c329= 9fbd1f2e7e299 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml @@ -18,6 +18,7 @@ properties: enum: - qcom,glymur-qmp-gen4x2-pcie-phy - qcom,glymur-qmp-gen5x4-pcie-phy + - qcom,glymur-qmp-gen5x8-pcie-phy - qcom,kaanapali-qmp-gen3x2-pcie-phy - qcom,qcs615-qmp-gen3x1-pcie-phy - qcom,qcs8300-qmp-gen4x2-pcie-phy @@ -68,20 +69,23 @@ properties: - const: ref - enum: [rchng, refgen] - const: pipe - - const: pipediv2 + - enum: [phy_b_aux, pipediv2] =20 power-domains: - maxItems: 1 + minItems: 1 + maxItems: 2 =20 resets: minItems: 1 - maxItems: 2 + maxItems: 4 =20 reset-names: minItems: 1 items: - const: phy - const: phy_nocsr + - const: phy_b + - const: phy_b_nocsr =20 vdda-phy-supply: true =20 @@ -183,6 +187,7 @@ allOf: enum: - qcom,glymur-qmp-gen4x2-pcie-phy - qcom,glymur-qmp-gen5x4-pcie-phy + - qcom,glymur-qmp-gen5x8-pcie-phy - qcom,qcs8300-qmp-gen4x2-pcie-phy - qcom,sa8775p-qmp-gen4x2-pcie-phy - qcom,sa8775p-qmp-gen4x4-pcie-phy @@ -201,6 +206,17 @@ allOf: clock-names: minItems: 6 =20 + - if: + properties: + compatible: + contains: + enum: + - qcom,glymur-qmp-gen5x8-pcie-phy + then: + properties: + power-domains: + minItems: 2 + - if: properties: compatible: @@ -223,11 +239,24 @@ allOf: reset-names: minItems: 2 else: - properties: - resets: - maxItems: 1 - reset-names: - maxItems: 1 + if: + properties: + compatible: + contains: + enum: + - qcom,glymur-qmp-gen5x8-pcie-phy + then: + properties: + resets: + minItems: 4 + reset-names: + minItems: 4 + else: + properties: + resets: + maxItems: 1 + reset-names: + maxItems: 1 =20 - if: properties: --=20 2.34.1 From nobody Mon Apr 13 21:08:13 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 D506E3859FD for ; Wed, 4 Mar 2026 08:22: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=1772612523; cv=none; b=LnDwc2hz/gyKSs0Da2CX2Y3JJMxn5rgHYo80GKHBs0gnVhm94jetn7qmK143Bek+MtepdKgiYouYivoRHHqIMM10pLYI9cS8HyaE+v76mvFPj+tWlVgM2U9rY3QYjgDhgibCv7/p4/j1gEdQCNw50YgWIhWt7XTSBHlAFGNEdmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612523; c=relaxed/simple; bh=J4iNJP7fooS2FBjy7epanSIk1L/eL4p/+6UyF/qZDag=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rLtdpRLI24EXFXmSRxYtimUl9oEiF/lmN/V6TtjUSppnjv2Ob/7chHUHA20aFgF88I2fisVjYU5+UZq1HlyuDvjwqw2zwulmBk9mYAvOaKZkFura5zknaGzSfZCDhjyOkSDMWbZR8uno5xXNG2BgHARrlsI6vYH4czVgD6fVAIg= 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=K6RxHpPy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=duuAb1UQ; 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="K6RxHpPy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="duuAb1UQ" 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 6245SwkR1678348 for ; Wed, 4 Mar 2026 08:22: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= uIlZLMHi3cNBVLJWqwerj0OJ6veqEBRgHl80VQQ/teU=; b=K6RxHpPyVlrE/x66 Cxy3hR5OQqMFjWYo4DMEYlFSbJBdsuz4330BmVy3AtFKiBRoYzwWmBiicc1mnwDu rJsTdgZWW5qWCVbFnG4fmq3Fy/ewLcx/I/VEoefdrgPMQb/xUYHOGTmFLpO1kuy9 9vNtxOBC65cpxTZrhNx9ViQl07GBP0c8UM/NfmMcYaiDwjUMw/yIco8/Dzd9dHR2 HLco3woVAdlg748FrltbKEnSExVAvVql2NUfNhAFmhmPCQyzU8YKy65iuP+NKZjT 4JHd32bGqGr1vi/A4KmaofjE/cCBnzcN54WHFIfwVLXFka7pA17eBenLposkrOlA JHL0Dw== Received: from mail-oo1-f69.google.com (mail-oo1-f69.google.com [209.85.161.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp73ha0cb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 08:22:01 +0000 (GMT) Received: by mail-oo1-f69.google.com with SMTP id 006d021491bc7-67999892f00so129900636eaf.3 for ; Wed, 04 Mar 2026 00:22:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772612520; x=1773217320; 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=uIlZLMHi3cNBVLJWqwerj0OJ6veqEBRgHl80VQQ/teU=; b=duuAb1UQfmaY2c0kh5kSaZ+1+q53up7xooIPUTTeJVcitHOOJ6b0oFbwPKe1AUz4p2 e2TTk0j7Va7Op87TZa1/kTnAYcK127dD+gGnea2SmKVjJZKJq4ppgCXgtGo3z5RXXQrm hyZj7D5I46mNDDAg2hhTAqsvVWEhzAZ80H/RiEimmZPN8e4JqJJd7VoGRGRw2kONS2NQ aKEL/o8nYoZ9/WqvnqVTXFbUw8nRO6eambtI5ywoyql62NLM3aGMveCIaIBmZ98Vj58M qykR1Eum4DfaR6NNIdvoAsqye55Ml85/vAsulUQ5aYaJ8A/U6A75vl/LG3K6oVWBppva 3IEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772612520; x=1773217320; 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=uIlZLMHi3cNBVLJWqwerj0OJ6veqEBRgHl80VQQ/teU=; b=XzUIXhlLi2aMB6QSSE/FqJr7ev9prk6er+NSL6Rp1ZwSvVZbwFEhVppK/Bv9D4i7nk dqUd4Pyb3v8NT4ytMpM1SHZITuIcvZrX9SewvfyapifIq7GL3MZ1G2Jp/jT8q3fKh9uZ IHRPi8KISBB1Kfxs42HsqWyQnAMQJmqmcAAcKEiFX9FqtQvRY2+p1kblyvTG6Y9TKQoI KhPgyBoaLPPQGD7u5D8IikRatvoATVILV7Ex6tmq4j7DGj+QodsFL+ezSAxP/Yh54+YC qf3ijKok+N+uDP7+v2/XKAJSW9vNM7jyAaTR/kTVDbXo5gJcDOvIkz7eY1K5958Qvequ qNBA== X-Forwarded-Encrypted: i=1; AJvYcCVkiLPaTDqjcRcaFO0Iv5eLlyxnh7y9ICQdYGmL6xdNPjq/u66UsHXXjd8hX3J80cphhrNgZDmFA2gIuWU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7Qm2274ANZz+XbUBwxebn+fPTuXXeAJkj1BmtWDaFgyJhr+JY KRsOKv0zMcWsP0lmMvj8A487TLhxqs7ENjdGdL382AUGdRRnQMD4xoIMOIgHVONZTa0FBoolNYk jWpNl7jSFsmIbSW7CoKBHk2gjC/MVAVCnKJ+uJSMh+aIufLys477RyQKbjoMygLVmk2w= X-Gm-Gg: ATEYQzyrdWE49TuGb392uxwGGK43bfkxGldE1eiliKz6WsoSTuoldeMIIetQJq/amqx ivavfiZd54qjdx0S4KaipGfI+0g1MzUiGe/TB/SEb3CpIWgKix/6GSMa6c9QZBBLZj8HOCp/y4O PbUQgm8cWxfg4QVcTFQESxT2i46Jl5jx+TqYiT++YD+RT3fA+QhrP7YKRkZk2oHvR0Xv8mTcECv w7WIcaTWNaIgnzn/k1FGdUcAccM7FD5YLOMTmYldr7BFMPdby0a3LFrK7t4d7A3GWdkbMxiWiln v4v5wBF3CbWJNP6ysn+ccSjiskYt3uCn0VQYF1TFuv6ktxwv1sAu2UqPzEPnHT0/hJgNicXnEtM xo8cdwd/cEefKR/w2WOI98c3M8e7Qul4SA2ji0G4QjUAbR8JKbU+twhB6D3VeKEP6E+Fl X-Received: by 2002:a05:6820:228e:b0:663:364:674f with SMTP id 006d021491bc7-67b176e9755mr800765eaf.1.1772612520507; Wed, 04 Mar 2026 00:22:00 -0800 (PST) X-Received: by 2002:a05:6820:228e:b0:663:364:674f with SMTP id 006d021491bc7-67b176e9755mr800749eaf.1.1772612520151; Wed, 04 Mar 2026 00:22:00 -0800 (PST) Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4160d26d9absm18006952fac.16.2026.03.04.00.21.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 00:21:59 -0800 (PST) From: Qiang Yu Date: Wed, 04 Mar 2026 00:21:56 -0800 Subject: [PATCH 2/5] phy: qcom: qmp-pcie: Add multiple power-domains 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: <20260304-glymur_gen5x8_phy-v1-2-849e9a72e125@oss.qualcomm.com> References: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> In-Reply-To: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Yu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772612517; l=2482; i=qiang.yu@oss.qualcomm.com; s=20250513; h=from:subject:message-id; bh=J4iNJP7fooS2FBjy7epanSIk1L/eL4p/+6UyF/qZDag=; b=hXW7/3qZDw8ZcuCNj5DNMwpqd5gvzLVpDYhDMMiUziMx8Ux6j2NnYe10xoZtSisok7Uy9UoMu RzCC64PxoX0D2heExusm2P62gAB7wKXzv/jEJ9PDGpPsyaZSX4jt47u X-Developer-Key: i=qiang.yu@oss.qualcomm.com; a=ed25519; pk=Rr94t+fykoieF1ngg/bXxEfr5KoQxeXPtYxM8fBQTAI= X-Proofpoint-GUID: WLJNMN2pbjDyr7sBR8ZXtW-UayOEYYqW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDA2NCBTYWx0ZWRfX8FZWIevYrsgj F6GMqvpYDUSo/kI9AEom2BYIyZ7MMsLl9MVQ+siULrsK0b5h9A+eIMLII+lym5HQmlMenUka6vY mp3f2m53+dSGDONlhOUR27k3nQFLp5HIiT/iVj4Wc4KfMGyCs9JxPUCE5k3uiUrxbJYRoBRg19X vTY/pOYK6anJhCxkS/gwlbBfg2EUYOCPS5SUVhF0YBWpODl4ZXefwt9czP7X/dwPJf2YaGt15PF pNbB0OAkkEM/09ObquE5YOi4JHjrMUZHAAN3hFfqL2iX/Xzf0RLj/iEu7hYNlwWAai3vq7BmEQv n25SPYCCVEXvllMzMGXF9gLcJHy0FkYGAQ84gnP5YuPKdcbDAD+nUhRL3GwK2H20SFHQIoGL7Jo tggcG/DYkmDbKFx1QePKcST/BwKikBzyrXmH/JAQIX9hGEteMWMYSonNLTLpvjYfaYYfJXKsuoV lV+P9j/Lb8DPo7v14Qw== X-Proofpoint-ORIG-GUID: WLJNMN2pbjDyr7sBR8ZXtW-UayOEYYqW X-Authority-Analysis: v=2.4 cv=BpWQAIX5 c=1 sm=1 tr=0 ts=69a7eba9 cx=c_pps a=lVi5GcDxkcJcfCmEjVJoaw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==: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=eu5IZVYEi8O4nexjJlAA:9 a=QEXdDO2ut3YA:10 a=rBiNkAWo9uy_4UTK5NWh: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-04_04,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 bulkscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040064 The Glymur SoC's 3rd PCIe instance supports 8-lane mode using two PHYs in a bifurcated configuration. Each PHY has its own power domain (phy_gdsc) that must be powered on before initialization per hardware requirements. Current PHY power management assumes a single power domain per PHY, preventing proper setup for this dual-PHY scenario. Add support for multiple power domains by using devm_pm_domain_attach_list() to attach power domains manually, while maintaining compatibility with single power domain PHYs. Enable runtime PM to allow power domain control when the PCIe driver calls phy_power_on/phy_power_off: - Single power domain: QMP PHY platform device directly attaches to power domain and controls it during runtime resume/suspend - Multiple power domains: devm_pm_domain_attach_list() creates virtual devices as power domain suppliers, linked to the QMP PHY platform device as consumer This ensures power domains are properly attached and turned on/off for both single and multiple power domain configurations. Signed-off-by: Qiang Yu --- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcom= m/phy-qcom-qmp-pcie.c index fed2fc9bb31108d51f88d34f3379c7744681f485..7369c291be51aa1ad7a330459dc= b857f5a1988f6 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -3334,6 +3335,8 @@ struct qmp_pcie { =20 struct clk_fixed_rate pipe_clk_fixed; struct clk_fixed_rate aux_clk_fixed; + + struct dev_pm_domain_list *pd_list; }; =20 static bool qphy_checkbits(const void __iomem *base, u32 offset, u32 val) @@ -5348,6 +5351,16 @@ static int qmp_pcie_probe(struct platform_device *pd= ev) WARN_ON_ONCE(!qmp->cfg->pwrdn_ctrl); WARN_ON_ONCE(!qmp->cfg->phy_status); =20 + ret =3D devm_pm_domain_attach_list(dev, NULL, &qmp->pd_list); + if (ret < 0 && ret !=3D -EEXIST) { + dev_err(dev, "Failed to attach power domain\n"); + return ret; + } + + ret =3D devm_pm_runtime_enable(dev); + if (ret) + return ret; + ret =3D qmp_pcie_clk_init(qmp); if (ret) return ret; --=20 2.34.1 From nobody Mon Apr 13 21:08:13 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 40ECD390C8D for ; Wed, 4 Mar 2026 08:22:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612524; cv=none; b=tnuliJRuAUvjeK6lmPh8Zosxi2lCjdx+4tf2RFQ9TUiKh9Atscupn9QEXKe7/K6jg+xQ1QGL2sryT5WetBfcYUuVFeZaSvFXTt1Dcgqm0AVdvEGwRxScHviky7zTEY8fZ4xMoAZMWl0xzSSz8dZWl3Gg3qcraRSemTbeCsEPHnU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612524; c=relaxed/simple; bh=TOJeoLyEULlLUcZyd/qHv13GrkbC4Opk/Xs63rbYStE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SrR+6vhQwuoFS3VEfjsLyXhijlNGx5f3Q/+EP4NvkN1QtbrbKavGBIqYuoKvjSKA5yl9mM3j39xBpbTu0JhQhf23mmnlpnMSq/9rGD0ggm+CCi5SrzYlm9uqoB7kl+Hlex1rzHEv0YB7GseLfXiZQoFd8esPQp08c/1vh6GPNuw= 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=ErdiykL4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GxxY2Hqz; 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="ErdiykL4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GxxY2Hqz" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6245SQts3110371 for ; Wed, 4 Mar 2026 08:22:02 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= ug0lLGxsC4j9zZT1+Qpz0yt1KnVliXZuBM8pMhTDanU=; b=ErdiykL4mU2NtiA+ Iui2Yk11djdfLYj2hdi+ujZjfAYASQvTJlbknO9dr8v8mjtmv36FsbJBUSGgU+9Q rq0y+NSKwD8504L15QjezBau0tY//CxOISLoa0lpL1O/aew+pJjnf6Z6btdE4DYV 4OYB0DVhqlOMFJRIgcoIpU28DsfqcQ3x9KFoOUH5XDRkYFTMiTmILFUdsbeGjR5Q JxAtxSRQ7Fs2w198hDq+m0rf5hTUh0nHec4kUH5y2yCYGalZIDVR8gDPUbmYAkLy svhSEoHGlgj8GmyoUFbYU4Wiw/D4sCyCFY3qk9v2oco5hA+0ve5HYofUNPQc/ZSn ntPImA== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp5h2abgd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 08:22:02 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d4cb5810a0so45641996a34.1 for ; Wed, 04 Mar 2026 00:22:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772612522; x=1773217322; 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=ug0lLGxsC4j9zZT1+Qpz0yt1KnVliXZuBM8pMhTDanU=; b=GxxY2HqzNVSVHX0DAwkMln2sVqG5DwnAZwKQR0ribN9UTbxNVRjQKNQyLXZmcZQ/jO DwAprd/MqwnLlnSaJZi+yAW7imD43w76jok8DAnN9AFx+eDEL1OQxeqDoqW1wCUONe+s GXZbmDH8brleF8w6b2C7+vhpllC4zgujXnKQXmPpfqRENfeCUb9ii08hO6fdVCxw+ZCa qg/hFck8eaP6JHg67rldIKLhKyuwgKPfaUnxwrBM92z2O0zibdf6oYo3uZf2cO9wvX6A Ez7+QkMd5Nj4FgqN3i6/zkvLwONOiVcUr81SzrfD2VC4jO/n36cTfAf7FojxZ0Ldv95Z iang== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772612522; x=1773217322; 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=ug0lLGxsC4j9zZT1+Qpz0yt1KnVliXZuBM8pMhTDanU=; b=ucSj0DWTLiIG/HmUNEZvsZYJs2b95p3TxnJDOcKoWYOE4WTDmm6yv6GOds9tji7sK6 HD2N/lz/0hMBVyTL/bq36r/Z/nd8FBgqxPSpULh5qkmTTwOPHLwHt3ixOCd3FZFdje5L pCIExdAKATROHIMXjtpyrHUkYErDiLW7iW+2+KfM5r1PWzudICMugqt5KV7X7xk8ZuOq h4KiKT82X8AraK35aLDYImboLVln3XBp/gbb/PtdqaRFuonOYdF2LMC+bEBfvytrCUKX 6A4bzFxicXnF/7vY5l0CvssPUgphn69mAzmoVz3R3Jov7JzVb1SsFIxDbCNV1iIS44s9 pAGg== X-Forwarded-Encrypted: i=1; AJvYcCWH4aceA9WR3vD/u2CTVfGT5HVXAQPlZwU6g2ZriDhphgTW0zMeHQvHkSlHWZdxlCyvSKEPG4jegBXttUI=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/ojW90Bk8nZiTdkJeHIf3j5t/C2QaCBgnupW/yU+ZJfLUxzA4 iUUMvRyKPiVWchgKXFkiyqUe//cxNG/46zSum7D9tZ/La8LHLtUiXguhmZQ93QOb7Due2a/z+KN FLAcPtkePV+J2tgMMCvdDRIXvPS2bxmTVVbYirWYyVz/yyNYRm9yMSZJKxdrqMfGRX5Y= X-Gm-Gg: ATEYQzw5s5iQ7lwspHK0S6qgQf598/vYDyPXI3N9jpnf9F++Cz9jD4+GIY30k7NtE3x iHdmtQusYBLgFAtlKchvZUqPNNW6rAqds4eqSSeTCIbgEGzpwLWm5o8EVw4jtW3LKu3OcEGFIRl ZXr7AeXX/DvKrKqUXD0mJld7qQ1QX04BUl7NeDr52b6rD/REE55moQX9DqtE05dtTY00Qh8AMD5 tUaNh3IAlxFMO4/uNcF27QhtUagIyfEFLoM3u2LSk0ErKOnrnZKSmzhKOkqE9STxcOQ1Hrm3ge7 oidN6OpM9uDsIhTl8aBGW6vIT674efSK0kAX5xLr0/uH6WqUT+NP2sfVLrAuAfYHZ5oNkG7g7mx LJTvpjqKZrwq88Ao1MLAJxNVV5ooJDFQ/XsMtqFHCa4Lzil7lgQb5KWq+jlrT7sCWdrSo X-Received: by 2002:a05:6830:6ad4:b0:7cf:da7d:608d with SMTP id 46e09a7af769-7d6c7f625e9mr783548a34.8.1772612521637; Wed, 04 Mar 2026 00:22:01 -0800 (PST) X-Received: by 2002:a05:6830:6ad4:b0:7cf:da7d:608d with SMTP id 46e09a7af769-7d6c7f625e9mr783529a34.8.1772612521276; Wed, 04 Mar 2026 00:22:01 -0800 (PST) Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4160d26d9absm18006952fac.16.2026.03.04.00.22.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 00:22:00 -0800 (PST) From: Qiang Yu Date: Wed, 04 Mar 2026 00:21:57 -0800 Subject: [PATCH 3/5] phy: qcom: qmp-pcie: Support multiple nocsr resets 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: <20260304-glymur_gen5x8_phy-v1-3-849e9a72e125@oss.qualcomm.com> References: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> In-Reply-To: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Yu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772612517; l=10138; i=qiang.yu@oss.qualcomm.com; s=20250513; h=from:subject:message-id; bh=TOJeoLyEULlLUcZyd/qHv13GrkbC4Opk/Xs63rbYStE=; b=7AnUEgbdH2HytltYugCWpXo08VNIVAONHAhXkdXgEbcT/wXxxp6r5Y0e+iF2alNDKocLUFK+/ tLU7yNrjzN8BYadB4xwVFCp9ZlvEIKC7S7TGAS1ZXPp7YFBfetZ+yAd X-Developer-Key: i=qiang.yu@oss.qualcomm.com; a=ed25519; pk=Rr94t+fykoieF1ngg/bXxEfr5KoQxeXPtYxM8fBQTAI= X-Authority-Analysis: v=2.4 cv=JqL8bc4C c=1 sm=1 tr=0 ts=69a7ebaa cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=wBkCwaD4edhj46uzH8YA:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-ORIG-GUID: FEYFVug1ql_lmWqVAoyXPYPmj8d0doqG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDA2NCBTYWx0ZWRfX9+UlTRP/0atH M7z0ANRBZ0c0NJS43Z4L+zQWELeEe/st8cDNPkyptCeYI1p3kuzn18crW0S2E1YkrAAuQH9D5xH soXRJ+A5SaUp6gpwY+Hhox66P0g+NHvGHMfGw3SX9mEkV63U1UJ2L0oVsSCwcAhbV3jZy/BBJ0O HbEslH8SlGpFTF695/Pp+EwVoLd5dpyAU2k3iblyxQA23tNlHJcmbOFGqBiRVar9rooxk1ovr9C WI8nDIA9JxsRnhBkD3DQW6YzCxqGoTnK3ow/oFXsLuoaJo2JCUyMDiBHqcgLucil3yb14o4Vw7A L/wylZP9VpM1bLs/X11Ite/PZOyTEanfy7u2ToA63sq5ya98gtC64cEvFr6TcBOcnS87UViITI2 tuADSj20Di0HdzHXmy7TtaTyitJnm+apGMIdH2EF3BXcYdzVyrG/p7OxIRQKHwlWsCa4KQZD6nk jwh/ZenibnEg0pXLwww== X-Proofpoint-GUID: FEYFVug1ql_lmWqVAoyXPYPmj8d0doqG 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-04_04,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040064 Refactor nocsr reset handling to support multiple nocsr resets required for PHY configurations with bifurcated operation modes. The Glymur SoC's 3rd PCIe instance supports 8-lane mode using two PHYs in bifurcation, where each PHY requires its own nocsr reset to be controlled simultaneously. The current implementation only supports a single nocsr reset per PHY configuration. Add num_nocsr and nocsr_list fields to struct qmp_phy_cfg to represent the number and names of a group of nocsr reset names. Initialize these fields for all PHYs that have nocsr resets, allowing the driver to correctly acquire multiple nocsr resets during probe and control them as an array by using reset_control_bulk APIs. The refactoring maintains backward compatibility for existing single nocsr reset configurations while enabling support for multi-PHY scenarios like Glymur's 8-lane bifurcation mode. Additionally, introduces x1e80100_qmp_gen3x2_pciephy_cfg as a separate configuration from sm8550_qmp_gen3x2_pciephy_cfg since the x1e80100 Gen3x2 PHY requires nocsr reset support while the sm8550 Gen3x2 PHY does not. Signed-off-by: Qiang Yu --- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 87 ++++++++++++++++++++++++++++= ---- 1 file changed, 77 insertions(+), 10 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcom= m/phy-qcom-qmp-pcie.c index 7369c291be51aa1ad7a330459dcb857f5a1988f6..6b6c10218229b74540e520c6fe9= fd1f890480b68 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c @@ -3281,6 +3281,11 @@ struct qmp_phy_cfg { /* resets to be requested */ const char * const *reset_list; int num_resets; + + /* nocsr resets to be requested */ + const char * const *nocsr_reset_list; + int num_nocsr_resets; + /* regulators to be requested */ const char * const *vreg_list; int num_vregs; @@ -3327,7 +3332,7 @@ struct qmp_pcie { int num_pipe_clks; =20 struct reset_control_bulk_data *resets; - struct reset_control *nocsr_reset; + struct reset_control_bulk_data *nocsr_reset; struct regulator_bulk_data *vregs; =20 struct phy *phy; @@ -3394,6 +3399,10 @@ static const char * const sdm845_pciephy_reset_l[] = =3D { "phy", }; =20 +static const char * const sm8550_pciephy_nocsr_reset_l[] =3D { + "phy_nocsr", +}; + static const struct qmp_pcie_offsets qmp_pcie_offsets_qhp =3D { .serdes =3D 0, .pcs =3D 0x1800, @@ -4350,6 +4359,8 @@ static const struct qmp_phy_cfg sm8550_qmp_gen4x2_pci= ephy_cfg =3D { }, .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D sm8550_qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(sm8550_qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4382,6 +4393,8 @@ static const struct qmp_phy_cfg sm8650_qmp_gen4x2_pci= ephy_cfg =3D { }, .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D sm8550_qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(sm8550_qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4482,6 +4495,35 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x4_p= ciephy_cfg =3D { .phy_status =3D PHYSTATUS_4_20, }; =20 +static const struct qmp_phy_cfg x1e80100_qmp_gen3x2_pciephy_cfg =3D { + .lanes =3D 2, + + .offsets =3D &qmp_pcie_offsets_v5, + + .tbls =3D { + .serdes =3D sm8550_qmp_gen3x2_pcie_serdes_tbl, + .serdes_num =3D ARRAY_SIZE(sm8550_qmp_gen3x2_pcie_serdes_tbl), + .tx =3D sm8550_qmp_gen3x2_pcie_tx_tbl, + .tx_num =3D ARRAY_SIZE(sm8550_qmp_gen3x2_pcie_tx_tbl), + .rx =3D sm8550_qmp_gen3x2_pcie_rx_tbl, + .rx_num =3D ARRAY_SIZE(sm8550_qmp_gen3x2_pcie_rx_tbl), + .pcs =3D sm8550_qmp_gen3x2_pcie_pcs_tbl, + .pcs_num =3D ARRAY_SIZE(sm8550_qmp_gen3x2_pcie_pcs_tbl), + .pcs_misc =3D sm8550_qmp_gen3x2_pcie_pcs_misc_tbl, + .pcs_misc_num =3D ARRAY_SIZE(sm8550_qmp_gen3x2_pcie_pcs_misc_tbl), + }, + .reset_list =3D sdm845_pciephy_reset_l, + .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), + .vreg_list =3D qmp_phy_vreg_l, + .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), + .regs =3D pciephy_v5_regs_layout, + + .pwrdn_ctrl =3D SW_PWRDN | REFCLK_DRV_DSBL, + .phy_status =3D PHYSTATUS, +}; + static const struct qmp_phy_cfg x1e80100_qmp_gen4x2_pciephy_cfg =3D { .lanes =3D 2, =20 @@ -4504,6 +4546,8 @@ static const struct qmp_phy_cfg x1e80100_qmp_gen4x2_p= ciephy_cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4537,6 +4581,8 @@ static const struct qmp_phy_cfg x1e80100_qmp_gen4x4_p= ciephy_cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4568,6 +4614,8 @@ static const struct qmp_phy_cfg x1e80100_qmp_gen4x8_p= ciephy_cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4583,6 +4631,8 @@ static const struct qmp_phy_cfg qmp_v6_gen4x4_pciephy= _cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), .regs =3D pciephy_v6_regs_layout, @@ -4611,6 +4661,8 @@ static const struct qmp_phy_cfg qmp_v8_gen3x2_pciephy= _cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), .regs =3D pciephy_v8_regs_layout, @@ -4626,6 +4678,8 @@ static const struct qmp_phy_cfg glymur_qmp_gen5x4_pci= ephy_cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), =20 @@ -4642,6 +4696,8 @@ static const struct qmp_phy_cfg glymur_qmp_gen4x2_pci= ephy_cfg =3D { =20 .reset_list =3D sdm845_pciephy_reset_l, .num_resets =3D ARRAY_SIZE(sdm845_pciephy_reset_l), + .nocsr_reset_list =3D sm8550_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(sm8550_pciephy_nocsr_reset_l), .vreg_list =3D qmp_phy_vreg_l, .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), =20 @@ -4770,7 +4826,7 @@ static int qmp_pcie_init(struct phy *phy) } } =20 - ret =3D reset_control_assert(qmp->nocsr_reset); + ret =3D reset_control_bulk_assert(cfg->num_nocsr_resets, qmp->nocsr_reset= ); if (ret) { dev_err(qmp->dev, "no-csr reset assert failed\n"); goto err_assert_reset; @@ -4807,7 +4863,7 @@ static int qmp_pcie_exit(struct phy *phy) const struct qmp_phy_cfg *cfg =3D qmp->cfg; =20 if (qmp->nocsr_reset) - reset_control_assert(qmp->nocsr_reset); + reset_control_bulk_assert(cfg->num_nocsr_resets, qmp->nocsr_reset); else reset_control_bulk_assert(cfg->num_resets, qmp->resets); =20 @@ -4851,7 +4907,7 @@ static int qmp_pcie_power_on(struct phy *phy) if (ret) return ret; =20 - ret =3D reset_control_deassert(qmp->nocsr_reset); + ret =3D reset_control_bulk_deassert(cfg->num_nocsr_resets, qmp->nocsr_res= et); if (ret) { dev_err(qmp->dev, "no-csr reset deassert failed\n"); goto err_disable_pipe_clk; @@ -5000,14 +5056,25 @@ static int qmp_pcie_reset_init(struct qmp_pcie *qmp) for (i =3D 0; i < cfg->num_resets; i++) qmp->resets[i].id =3D cfg->reset_list[i]; =20 - ret =3D devm_reset_control_bulk_get_exclusive(dev, cfg->num_resets, qmp->= resets); + ret =3D devm_reset_control_bulk_get_exclusive(dev, cfg->num_resets, + qmp->resets); if (ret) return dev_err_probe(dev, ret, "failed to get resets\n"); =20 - qmp->nocsr_reset =3D devm_reset_control_get_optional_exclusive(dev, "phy_= nocsr"); - if (IS_ERR(qmp->nocsr_reset)) - return dev_err_probe(dev, PTR_ERR(qmp->nocsr_reset), - "failed to get no-csr reset\n"); + if (!cfg->num_nocsr_resets) + return 0; + qmp->nocsr_reset =3D devm_kcalloc(dev, cfg->num_nocsr_resets, + sizeof(*qmp->nocsr_reset), GFP_KERNEL); + if (!qmp->nocsr_reset) + return -ENOMEM; + + for (i =3D 0; i < cfg->num_nocsr_resets; i++) + qmp->nocsr_reset[i].id =3D cfg->nocsr_reset_list[i]; + + ret =3D devm_reset_control_bulk_get_exclusive(dev, cfg->num_nocsr_resets, + qmp->nocsr_reset); + if (ret) + return dev_err_probe(dev, ret, "failed to get no-csr reset\n"); =20 return 0; } @@ -5521,7 +5588,7 @@ static const struct of_device_id qmp_pcie_of_match_ta= ble[] =3D { .data =3D &sm8750_qmp_gen3x2_pciephy_cfg, }, { .compatible =3D "qcom,x1e80100-qmp-gen3x2-pcie-phy", - .data =3D &sm8550_qmp_gen3x2_pciephy_cfg, + .data =3D &x1e80100_qmp_gen3x2_pciephy_cfg, }, { .compatible =3D "qcom,x1e80100-qmp-gen4x2-pcie-phy", .data =3D &x1e80100_qmp_gen4x2_pciephy_cfg, --=20 2.34.1 From nobody Mon Apr 13 21:08:13 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 2237B3914EA for ; Wed, 4 Mar 2026 08:22:04 +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=1772612525; cv=none; b=l5mXo2eldCJaQrloYIjsDB9cg7gr4T/x3mYUrAKHKFh5N30u54DMELweiNSQuWFYaQ7JhoibH2DHpMV5J00ZlR+ouoQqqjT7xCBJ7dX2KsWV/UfDukFfDwd7c49GeIIwUMgYaIoxAiSna2NVt1Xgwx8aOqkw53cr1Zg8BgmszgQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612525; c=relaxed/simple; bh=pysVn0dtTrLL13JfTAmWaZskCFGo4Q8dXZlR8KxW+RQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dnqclcvhZ9OAustS7dmKQGal3BWpi2OYltCZHyXxaERLi/jkligqVk46JzG1yzm+zWuSl7SjEXcKCNo+kZMeSn41IzSCgtgR/rGEj/zPgx8zdwG+qguEX09Mj9VHoXKtl9VvId9EmvGVMyhijCzXDEKykdrhsG61jj2z00T+xh0= 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=mnK7TA4Y; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HXny0S+C; 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="mnK7TA4Y"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HXny0S+C" 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 6245T1k42306785 for ; Wed, 4 Mar 2026 08:22: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= Fpe91AwzgJkPRVG0kPNXA33C1a2urKT4TBX2sBM0Lyw=; b=mnK7TA4Yk6R4y27Q bmrQuBeJNOyG8oMHPcD0hxc5bp5CDnLddLPmtQFWbb93H1eCtOfmUANg20WwL3ik R/+yFOaG7b9+FRuUrXE2PwiPPRpAF4eJuHD+10u9JfZMkoYaAupknncLO2Lm8q2+ 8sSARFhnIYcSAQ3rv8nUCV8mpgFNB5rOrcxNj4kwfV6eO1tNV8gqlb+lhfcvk8Qo zYm4qTZhj2zXVgxJMJPJknuB6tMYQdWlz56HrCU3A1BCU6TZY9465PenJW9WQpFT QgQFbN3uDd0nXSulkA3lSqyUsSjHAZpeAhEnCQPgc3LRdPEjkMosWtzlYaUDr4G7 xYqUVg== Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpau8sa3h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 08:22:03 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-464bbea2120so60282395b6e.3 for ; Wed, 04 Mar 2026 00:22:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772612523; x=1773217323; 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=Fpe91AwzgJkPRVG0kPNXA33C1a2urKT4TBX2sBM0Lyw=; b=HXny0S+C5+60vkRZO5sXPiKgMAr4YxA4jtQZvGuplnupQ1v/KzHiY1aJDGlib9c6Qj 3XILCjc6rdbgQuOlrTOGMh41Zx7Zof5tagQKuKllMlAxZKjcwmMg0/cj+DIj1ejt6apL I0cTut4SgTZz5t2xsz2KGJBrYCaoAVmZBKQfg0LUGaRgRJkImbYeWgMQu7XlUL80hx1I FUAHUGnmPTlyjQL5TKwI8Z5bCNG2ypKPiBH+ilHz/z/LBNUm0PdMkF3W2/lhf58OIQut Y0Y0si2hOoXY6vMChH6S7MNuJ7k9NNHnQlqMJ2fzUiyYVmdVrDJEj7iFvHyudAL9jx64 UGGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772612523; x=1773217323; 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=Fpe91AwzgJkPRVG0kPNXA33C1a2urKT4TBX2sBM0Lyw=; b=hgqnZdgjwlvmpKH6od3M3mZiZZS+JAjooF5wg7CRmksfzl3ZoCxRAH98mWkVI46s4v ayCekWxFe9JbzOkzj1JtfulkHIxXzhEE1rNynjIGS5mF3EolDDMuGY3hSSNZ8NaldV02 W2dMJZtwsc3NgNCwytbK0nSSrwcJZjHYAbGuy7zVDW8UYakKR7ihVxhjONxhIg4ujeOr 8NqV36ZjX0rR55cRxL734NxoDKfHsrj9bI+XAyLrtN2/bNJyPovolLi3h30FmhaPswR4 lhO1Fdor5gicnq5dYkcyQLCYekRvNsgJq72Lwv+CrHBe5wQimtFrKLHMA+g9uY6Z51Vp w/XQ== X-Forwarded-Encrypted: i=1; AJvYcCW2v0txmZkRyGczD5uh5lbVwOLOmzhuUPc47SevMf2ue22GK8hcnRccuTxI7PVcfaXYgzfI/doePEDcuBQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwSx8C0uyFBjK/jPRuaCIFanidEdjMqIIBjSVSQFgNlU4UVGPKa 0jPFnMb5njIWIOGGPC3Afn5L3RCPBNnyWix93k0Ntzit68LHwjwbyqLH/h6pAdpi2jaL22rvNKx +zoeSU4p7tUI/dqrUg2lhV94CpiWspyW+b418sWtywsWi1upyCm0k9taZH00sr7NNDM8= X-Gm-Gg: ATEYQzz55W6cBl/Lg3j/XjJf8+4nkplGOvncENbLINI6oiwDDpFoPOYnBRfZVw+N5V6 0baBysVfdN5q6yapNXLyHpWJezgNIws9DCu3g+f36YAnIaQnaEVfmhmuHRF72lJEnpd1NKWc030 LQRPdItgl/j4/H0lLGvtn2us8dzGAOiTA6pWPrhNsWxc8qp2JoWylcQor1yLU64bAIv3kgrwxwu CRWtbUa/GFy+4nnOQT5oW4WI5n8bHhws9g5LxQSWqIGkO4S+9AOBYZx9vhsFWWyr9KvsyDyvXuB 0KRTAE/w2CAittyLGRi1jYkBJddyuJTF+8Y0Qeb5A34WBmU5Xn2aNK8Pca8mfk5Y7CAzpsB/+EA MUm5FMUp7WU/Zej6xfjWG46S2YyzoBg/NsjG+LjCn7NFyp7NY2gVWvQzCZCMrMH1t22IL X-Received: by 2002:a05:6808:2226:b0:45f:42d6:3006 with SMTP id 5614622812f47-4651abb49fdmr697283b6e.15.1772612522751; Wed, 04 Mar 2026 00:22:02 -0800 (PST) X-Received: by 2002:a05:6808:2226:b0:45f:42d6:3006 with SMTP id 5614622812f47-4651abb49fdmr697272b6e.15.1772612522359; Wed, 04 Mar 2026 00:22:02 -0800 (PST) Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4160d26d9absm18006952fac.16.2026.03.04.00.22.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 00:22:02 -0800 (PST) From: Qiang Yu Date: Wed, 04 Mar 2026 00:21:58 -0800 Subject: [PATCH 4/5] phy: qcom: qmp-pcie: Add Gen5 8-lanes mode for Glymur 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: <20260304-glymur_gen5x8_phy-v1-4-849e9a72e125@oss.qualcomm.com> References: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> In-Reply-To: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Yu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772612517; l=2780; i=qiang.yu@oss.qualcomm.com; s=20250513; h=from:subject:message-id; bh=pysVn0dtTrLL13JfTAmWaZskCFGo4Q8dXZlR8KxW+RQ=; b=BrV+/QVloaGE61UM9FsVTPr1aD7EKrsxuuvTAL97xJSWFbb/nvTDE2ZYO448OIIlEvGWGJ83b SwWOHOvIf64Cmwl8OEAmycjsaK2g/zz/ahP2entS4lQoIo00OhmC+Ri X-Developer-Key: i=qiang.yu@oss.qualcomm.com; a=ed25519; pk=Rr94t+fykoieF1ngg/bXxEfr5KoQxeXPtYxM8fBQTAI= X-Authority-Analysis: v=2.4 cv=AJS1/0o2 c=1 sm=1 tr=0 ts=69a7ebab cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==: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=OKc3O2-h_waFBcwqEmQA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 X-Proofpoint-ORIG-GUID: 6Lkynq6jXARD2msycvgQ4EuJ7r6Y2bzr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDA2NCBTYWx0ZWRfX6mSEImcMTFmX XkgJyKKtSCiCn7gUntn+m5OxDHue5MIdroaJnUKOZSoNwKDNtTQzVVtjfZbqxZtFrmvC8268vNx EOGZIVLCzOht6/tBlNd/Bj8xD/qrsuXDb791bZVyapVRkqpJMN+KrkLhvNIWHfN2IuvldG9Fqna I0TGMgGvK8YRat9MbkQof2Gg3whzv6m0AwyEnhxWjLrFBQQDnGohGzdvCYJUZmn0FQVN8NjB8Rm UDMaKxM3eQnTC8O9ibmYnmvDycYehepoS3FtXkIfN/Baeo2p5nlUE3YJZ8qiMuIFPP4RpJGzXiv 8cKEZ6w2TCCMkg/xNevI2F43tLFnjuGXcjFKAqbFVxff6VWneWlV4kqjQD2BYwAoGhvVLglFSa+ TMgVsIrPvKK//WoC8vo3lWaFm9p3XaPLAkFSXmjUQAkgIdWiXDlvUwEJ8e3FoiJJiQUJq6E+rQa jVvnAZtcLcia2L5088A== X-Proofpoint-GUID: 6Lkynq6jXARD2msycvgQ4EuJ7r6Y2bzr 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-04_04,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040064 The third PCIe controller on Glymur SoC supports 8-lane operation via bifurcation of two PHYs (each requires separate power domian, resets and aux clk). Add dedicated reset/no_csr reset list ("phy_b", "phy_b_nocsr") and clock ("phy_b_aux") required for 8-lane operation. Introduce new glymur_qmp_gen5x8_pciephy_cfg configuration to enable PCIe Gen5 x8 mode. Signed-off-by: Qiang Yu --- drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 30 ++++++++++++++++++++++++++++= +- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcom= m/phy-qcom-qmp-pcie.c index 6b6c10218229b74540e520c6fe9fd1f890480b68..29bc0fe5ce37ecd6307da97d4e0= 91b3a52074d2b 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c @@ -3378,7 +3378,7 @@ static inline void qphy_clrbits(void __iomem *base, u= 32 offset, u32 val) =20 /* list of clocks required by phy */ static const char * const qmp_pciephy_clk_l[] =3D { - "aux", "cfg_ahb", "ref", "refgen", "rchng", "phy_aux", + "aux", "cfg_ahb", "ref", "refgen", "rchng", "phy_aux", "phy_b_aux", }; =20 /* list of regulators */ @@ -3403,6 +3403,14 @@ static const char * const sm8550_pciephy_nocsr_reset= _l[] =3D { "phy_nocsr", }; =20 +static const char * const glymur_pciephy_reset_l[] =3D { + "phy", "phy_b" +}; + +static const char * const glymur_pciephy_nocsr_reset_l[] =3D { + "phy_nocsr", "phy_b_nocsr", +}; + static const struct qmp_pcie_offsets qmp_pcie_offsets_qhp =3D { .serdes =3D 0, .pcs =3D 0x1800, @@ -4707,6 +4715,23 @@ static const struct qmp_phy_cfg glymur_qmp_gen4x2_pc= iephy_cfg =3D { .phy_status =3D PHYSTATUS_4_20, }; =20 +static const struct qmp_phy_cfg glymur_qmp_gen5x8_pciephy_cfg =3D { + .lanes =3D 8, + + .offsets =3D &qmp_pcie_offsets_v8_50, + + .reset_list =3D glymur_pciephy_reset_l, + .num_resets =3D ARRAY_SIZE(glymur_pciephy_reset_l), + .nocsr_reset_list =3D glymur_pciephy_nocsr_reset_l, + .num_nocsr_resets =3D ARRAY_SIZE(glymur_pciephy_nocsr_reset_l), + .vreg_list =3D qmp_phy_vreg_l, + .num_vregs =3D ARRAY_SIZE(qmp_phy_vreg_l), + + .regs =3D pciephy_v8_50_regs_layout, + + .phy_status =3D PHYSTATUS_4_20, +}; + static void qmp_pcie_init_port_b(struct qmp_pcie *qmp, const struct qmp_ph= y_cfg_tbls *tbls) { const struct qmp_phy_cfg *cfg =3D qmp->cfg; @@ -5484,6 +5509,9 @@ static const struct of_device_id qmp_pcie_of_match_ta= ble[] =3D { }, { .compatible =3D "qcom,glymur-qmp-gen5x4-pcie-phy", .data =3D &glymur_qmp_gen5x4_pciephy_cfg, + }, { + .compatible =3D "qcom,glymur-qmp-gen5x8-pcie-phy", + .data =3D &glymur_qmp_gen5x8_pciephy_cfg, }, { .compatible =3D "qcom,ipq6018-qmp-pcie-phy", .data =3D &ipq6018_pciephy_cfg, --=20 2.34.1 From nobody Mon Apr 13 21:08:13 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 72141391829 for ; Wed, 4 Mar 2026 08:22:05 +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=1772612527; cv=none; b=HFV4MQyu3Kxl/5dzcZskvnDTRRb1XbIRGHaqnnu69NoI+kabYB4hdD5sks0B7/hsYTmK/OT6m1UkTR3zbXiFRLG6qpzZQWk6JU+BypxS0dWzb8TuaefkCEoGj2fkdUlwJpYTBTZMjJujW+oa848nw4jauWNAM/MccUXMcie/A1c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772612527; c=relaxed/simple; bh=CePg7dQ0vJpQa3SXW4kxYjj7WXb0JcqLC2YXxOGT+EE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TH4DFm+lceS5Tuc/zgCsqDl3fh0E6BRgkAm/x8wazNN/IASohfilJCKUjn1qsXzLdy8S/mgJzeCoozWrRtaCh4vd7ksSjQevOI153YpBbaGeinTgwKqVEj9gUiBlfXo5u1v36wFXdQ0QPZaieOTkwq+TCNc3LOdwn1TLFspp1dE= 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=EhjEjEuS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jyIxZOQn; 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="EhjEjEuS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jyIxZOQn" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6245Srj8153117 for ; Wed, 4 Mar 2026 08:22: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= pxTnwxng3P4cmtDs562JCOYHIIX20oMYCo8qBo+bkCI=; b=EhjEjEuSuYF8m6ew gdlFT30+pVKvxmwgVr4IXyygCkE+o2uQ8MFBS17c3U5vfFPwT4HrO5YkGIhskhRI c4sKp3ButfOn5djgK5aYszpEY9SjZwl4+4ELK4MiOQy/8sm/OPXtAx1UyHEmYWjg pCaiA5JMYHya0eKQjVOwSImLfWfQ7zHh4O1eNpsfucZjQBJmxmJ6l9KR1pwqyX58 S97jAo41oD1mmEmtIn6BcpahZ/xqxswZ8C/64o1T7/sqGYgSBAEmE+2KzAC/i14V HvDXuXnaLXICZ68ciI6wSNqTOnbZuL3fo6gdEQgrHjYWFU6PqWMJbSZzpKmkaBWv yzzFtQ== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp3tvjsx6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 08:22:04 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d496d080d8so43677953a34.0 for ; Wed, 04 Mar 2026 00:22:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772612524; x=1773217324; 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=pxTnwxng3P4cmtDs562JCOYHIIX20oMYCo8qBo+bkCI=; b=jyIxZOQnhOf0UM3YO2q7GINxUX2ouLRhMYd5tMjqoxu7+25BnqQq7OPSLm/zAJCvGC 5ytGp11hqjObHYZcO2EveW7yoB4V+caOPvmEtswjfl2zbYU2RO8r5q0f8Tg7kYPYT6nc X2f5qOXxCaBgGLnmV6u0R/TkcY7LZPcfZqDREZzvWWS6JA1nudiCQ2q9UJcA2T1c7vDV Ua/kXx2FahmlZu6HKvneR/JlkIhkCR+4X4lahhfsezA8tfRShbGrOV4IU2OjEnjHK+Wt pbQ/4SvZzx94JgJ5eAjSstoiaIFRKqJvUxpSE5ye7HEZ6AtZgR6lciK2mFtZ8PvqOpQ8 Pdog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772612524; x=1773217324; 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=pxTnwxng3P4cmtDs562JCOYHIIX20oMYCo8qBo+bkCI=; b=n1AreMLfYzHXLb6OILFhRNl6iExrhiRBvqBOmwCHIPiLTVAJaEOuRs3KzpMigj8ihm L5l6WcnYz/crxq2JEvNSpPrJIpAGpNbU1k6ySjWKM/qlRm4cW/gF9g6Ub72qPvz8QXGf kqQtGZxNc+8uj0y+fsHqaqKMTr+gBFwbP8ctyyhnxm2QwdptpD5+vphgnk82i2ks3ktu T53aEuRlKt80lw3Fi2IULekDxqyOBubIa/iIc9IWzejZ146TZLMbZpNd6/ekhky/UGwM YDj18NniGJ8rDnreTTlpt87JLyK66yRbWxK3NhNGWxN6XIdRv3F2KWTJINneX6NFtWfj deJw== X-Forwarded-Encrypted: i=1; AJvYcCVg+1ahusxmK1UwQR/WDosdS8N8UfYJO6SLTMBUccaipFlppdjHoy3eA6k5iZS1TG982hh6y2khEKxOA0A=@vger.kernel.org X-Gm-Message-State: AOJu0Yx70g88sg2nbXriTfXWwjWQhZ0OoR7n1K5WwDsFBFcmGVL0Gore p5urL2ew1NBdvIZb1QwAn6iw1v0ctk7gaBvqvR0rK5FlNHk8mnIhSymvPmMCnbaIqoiMSQesFE6 hXwzLoQEJuJS/9MGhCdq+S4IZwHhtcUODKLusZQtviSzHY7tWgWOwBHJ7I5Z0n4l2oR0= X-Gm-Gg: ATEYQzy1ZEWc+f8InV9axV/b+RG7HpFuV0DhHeNHrpIrlaKEKU8glk+MwISYyrD9yQx usdeBwZYgW1pfUULjqlTq0gSeJahXVOd5toSQK+zznGZD+bCeeEPVHs7VaklAMBersfi2JhuOfN 6fOYBAb/BLhfaMP+oYCR5Wxgim0EsdRbPMARmF1wV7Ou3krG9vrwo0rBp8ix8swKNn586lVQz/3 RpQ/C+3c1hI2BSvHReeAi142CyuYRp7Ye9wsLxD1895+d1RRiLYL10fMSwXFNb5T5yx6nL1d73C lFpAb037R0nlZLjDkZ6by/tKrGVkR4DwQ0CvvDi1EVPK//d//KX7ncFq7oVntCoWeKC3gBzaDUT niUo7R9I16oum5et22O86gHKFCO6P3lMEROJi8ntnW0++XMX5DbODOqFfU5WkLM3sNKkg X-Received: by 2002:a05:6820:2103:b0:67a:405:7ff7 with SMTP id 006d021491bc7-67b176e3330mr937389eaf.7.1772612523851; Wed, 04 Mar 2026 00:22:03 -0800 (PST) X-Received: by 2002:a05:6820:2103:b0:67a:405:7ff7 with SMTP id 006d021491bc7-67b176e3330mr937384eaf.7.1772612523458; Wed, 04 Mar 2026 00:22:03 -0800 (PST) Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4160d26d9absm18006952fac.16.2026.03.04.00.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 00:22:03 -0800 (PST) From: Qiang Yu Date: Wed, 04 Mar 2026 00:21:59 -0800 Subject: [PATCH 5/5] arch: arm64: dts: qcom: Add support for PCIe3a 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: <20260304-glymur_gen5x8_phy-v1-5-849e9a72e125@oss.qualcomm.com> References: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> In-Reply-To: <20260304-glymur_gen5x8_phy-v1-0-849e9a72e125@oss.qualcomm.com> To: Vinod Koul , Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Yu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772612517; l=9719; i=qiang.yu@oss.qualcomm.com; s=20250513; h=from:subject:message-id; bh=CePg7dQ0vJpQa3SXW4kxYjj7WXb0JcqLC2YXxOGT+EE=; b=hCMaiSxdCo4DP4ycMiEX8qExZXO+VWfrot14h1UEc+CNTH/sh60qtKwcYATrjo6Yvs93Hl0a/ TCg/nQgzIGUBTltURCUkg0rC/IqzpqKk5iCjr9KPXChhVBs46IdZV8X X-Developer-Key: i=qiang.yu@oss.qualcomm.com; a=ed25519; pk=Rr94t+fykoieF1ngg/bXxEfr5KoQxeXPtYxM8fBQTAI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDA2NCBTYWx0ZWRfX9t+pPpNqgBNa JEsMkmze3cPRNHk0qidXljKQAOnASVgQl2+dT+Oso13L/YqxfnVYwW22lhEhvcmL6VBVYaRKXgz jzDnG/iCWzbaQ1H1YRBlWYpggdPWoqlkO2czfVABbeG6I7nnNQOLzrEs595/sdcb2jmUomRdk2N ++uIyMdKIf9+KPMY2er233xJX1O7Kgt+H8vky61uklTrb6iMzXj2hqQl/i7TW5JbaPVu34RbqKh 15U5dSpFxCYpmIL3dDxrbwXmcoSPrO5gCO4zvhiElxc2ORlgNpI0YGuyBPNmV2tj+oTt/9xa6rl MLA+lCO1oq12tNd90UgowY5aNYuHOaIPH60wliSusSbnc36s3BNVJ2wd2tWtrVEAhpP5OrQ3xQT EQ6ssY9FWRVKZMvLf592HYoWgrJ7ML/AyJU7RlCb27f5+iwV9BJiKvF7Q3I8sami6wtCA4cyc4p ufEoKphTcL2zlvUdIog== X-Authority-Analysis: v=2.4 cv=VYv6/Vp9 c=1 sm=1 tr=0 ts=69a7ebac cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=hXbwWmyv05DepBt-Dp8A:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-GUID: BnFI7mEev7SdcFxzLItKdqgVHzaAHLVw X-Proofpoint-ORIG-GUID: BnFI7mEev7SdcFxzLItKdqgVHzaAHLVw 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-04_04,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 bulkscore=0 adultscore=0 spamscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040064 Describe PCIe3a controller and PHY. Also add required system resources like regulators, clocks, interrupts and registers configuration for PCIe3a. Signed-off-by: Qiang Yu --- arch/arm64/boot/dts/qcom/glymur.dtsi | 314 +++++++++++++++++++++++++++++++= +++- 1 file changed, 313 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qco= m/glymur.dtsi index e269cec7942c85447892c0661f83171eded94f3b..9b8037007c61b9fd1090ec10f6c= 8a8c1b414b7ca 100644 --- a/arch/arm64/boot/dts/qcom/glymur.dtsi +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi @@ -736,7 +736,7 @@ gcc: clock-controller@100000 { <0>, /* USB 2 Phy PCIE PIPEGMUX */ <0>, /* USB 2 Phy PIPEGMUX */ <0>, /* USB 2 Phy SYS PCIE PIPEGMUX */ - <0>, /* PCIe 3a */ + <&pcie3a_phy>, /* PCIe 3a */ <&pcie3b_phy>, /* PCIe 3b */ <&pcie4_phy>, /* PCIe 4 */ <&pcie5_phy>, /* PCIe 5 */ @@ -2360,6 +2360,318 @@ pcie_west_slv_noc: interconnect@1920000 { #interconnect-cells =3D <2>; }; =20 + pcie3a: pci@1c10000 { + device_type =3D "pci"; + compatible =3D "qcom,glymur-pcie", "qcom,pcie-x1e80100"; + reg =3D <0x0 0x01c10000 0x0 0x3000>, + <0x0 0x70000000 0x0 0xf20>, + <0x0 0x70000f40 0x0 0xa8>, + <0x0 0x70001000 0x0 0x4000>, + <0x0 0x70100000 0x0 0x100000>, + <0x0 0x01c13000 0x0 0x1000>; + reg-names =3D "parf", + "dbi", + "elbi", + "atu", + "config", + "mhi"; + #address-cells =3D <3>; + #size-cells =3D <2>; + ranges =3D <0x01000000 0x0 0x00000000 0x0 0x70200000 0x0 0x100000>, + <0x02000000 0x0 0x70000000 0x0 0x70300000 0x0 0x3d00000>, + <0x03000000 0x7 0x00000000 0x7 0x00000000 0x0 0x40000000>; + bus-range =3D <0 0xff>; + + dma-coherent; + + linux,pci-domain =3D <3>; + num-lanes =3D <8>; + + operating-points-v2 =3D <&pcie3a_opp_table>; + + msi-map =3D <0x0 &gic_its 0xb0000 0x10000>; + iommu-map =3D <0x0 &pcie_smmu 0x30000 0x10000>; + + interrupts =3D , + , + , + , + , + , + , + , + ; + interrupt-names =3D "msi0", + "msi1", + "msi2", + "msi3", + "msi4", + "msi5", + "msi6", + "msi7", + "global"; + + #interrupt-cells =3D <1>; + interrupt-map-mask =3D <0 0 0 0x7>; + interrupt-map =3D <0 0 0 1 &intc 0 0 0 848 IRQ_TYPE_LEVEL_HIGH>, + <0 0 0 2 &intc 0 0 0 849 IRQ_TYPE_LEVEL_HIGH>, + <0 0 0 3 &intc 0 0 0 850 IRQ_TYPE_LEVEL_HIGH>, + <0 0 0 4 &intc 0 0 0 851 IRQ_TYPE_LEVEL_HIGH>; + + clocks =3D <&gcc GCC_PCIE_3A_AUX_CLK>, + <&gcc GCC_PCIE_3A_CFG_AHB_CLK>, + <&gcc GCC_PCIE_3A_MSTR_AXI_CLK>, + <&gcc GCC_PCIE_3A_SLV_AXI_CLK>, + <&gcc GCC_PCIE_3A_SLV_Q2A_AXI_CLK>, + <&gcc GCC_AGGRE_NOC_PCIE_3A_WEST_SF_AXI_CLK>; + clock-names =3D "aux", + "cfg", + "bus_master", + "bus_slave", + "slave_q2a", + "noc_aggr"; + + assigned-clocks =3D <&gcc GCC_PCIE_3A_AUX_CLK>; + assigned-clock-rates =3D <19200000>; + + interconnects =3D <&pcie_west_anoc MASTER_PCIE_3A QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&hsc_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &pcie_west_slv_noc SLAVE_PCIE_3A QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "pcie-mem", + "cpu-pcie"; + + resets =3D <&gcc GCC_PCIE_3A_BCR>, + <&gcc GCC_PCIE_3A_LINK_DOWN_BCR>; + reset-names =3D "pci", + "link_down"; + + power-domains =3D <&gcc GCC_PCIE_3A_GDSC>; + + eq-presets-8gts =3D /bits/ 16 <0x5555 0x5555 0x5555 0x5555 + 0x5555 0x5555 0x5555 0x5555>; + eq-presets-16gts =3D /bits/ 8 <0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55>; + eq-presets-32gts =3D /bits/ 8 <0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55>; + + status =3D "disabled"; + + pcie3a_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + /* GEN 1 x1 */ + opp-2500000-1 { + opp-hz =3D /bits/ 64 <2500000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; + }; + + /* GEN 1 x2 */ + opp-5000000-1 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; + }; + + /* GEN 1 x4 */ + opp-10000000-1 { + opp-hz =3D /bits/ 64 <10000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <1000000 1>; + opp-level =3D <1>; + }; + + /* GEN 1 x8 */ + opp-20000000-1 { + opp-hz =3D /bits/ 64 <20000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <2000000 1>; + opp-level =3D <1>; + }; + + /* GEN 2 x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* GEN 2 x2 */ + opp-10000000-2 { + opp-hz =3D /bits/ 64 <10000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; + }; + + /* GEN 2 x4 */ + opp-20000000-2 { + opp-hz =3D /bits/ 64 <20000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <2000000 1>; + opp-level =3D <2>; + }; + + /* GEN 2 x8 */ + opp-40000000-2 { + opp-hz =3D /bits/ 64 <40000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <4000000 1>; + opp-level =3D <2>; + }; + + /* GEN 3 x1 */ + opp-8000000-3 { + opp-hz =3D /bits/ 64 <8000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; + }; + + /* GEN 3 x2 */ + opp-16000000-3 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; + }; + + /* GEN 3 x4 */ + opp-32000000-3 { + opp-hz =3D /bits/ 64 <32000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <3938000 1>; + opp-level =3D <3>; + }; + + /* GEN 3 x8 */ + opp-64000000-3 { + opp-hz =3D /bits/ 64 <64000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <7876000 1>; + opp-level =3D <3>; + }; + + /* GEN 4 x1 */ + opp-16000000-4 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <4>; + }; + + /* GEN 4 x2 */ + opp-32000000-4 { + opp-hz =3D /bits/ 64 <32000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <3938000 1>; + opp-level =3D <4>; + }; + + /* GEN 4 x4 */ + opp-64000000-4 { + opp-hz =3D /bits/ 64 <64000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <7876000 1>; + opp-level =3D <4>; + }; + + /* GEN 4 x8 */ + opp-128000000-4 { + opp-hz =3D /bits/ 64 <128000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <15753000 1>; + opp-level =3D <4>; + }; + + /* GEN 5 x1 */ + opp-32000000-5 { + opp-hz =3D /bits/ 64 <32000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <3938000 1>; + opp-level =3D <5>; + }; + + /* GEN 5 x2 */ + opp-64000000-5 { + opp-hz =3D /bits/ 64 <64000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <7876000 1>; + opp-level =3D <5>; + }; + + /* GEN 5 x4 */ + opp-128000000-5 { + opp-hz =3D /bits/ 64 <128000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <15753000 1>; + opp-level =3D <5>; + }; + + /* GEN 5 x8 */ + opp-256000000-5 { + opp-hz =3D /bits/ 64 <256000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <31506000 1>; + opp-level =3D <5>; + }; + }; + + pcie3a_port0: pcie@0 { + device_type =3D "pci"; + reg =3D <0x0 0x0 0x0 0x0 0x0>; + bus-range =3D <0x01 0xff>; + + phys =3D <&pcie3a_phy>; + + #address-cells =3D <3>; + #size-cells =3D <2>; + ranges; + }; + }; + + pcie3a_phy: phy@f00000 { + compatible =3D "qcom,glymur-qmp-gen5x8-pcie-phy"; + reg =3D <0 0x00f00000 0 0x10000>; + + clocks =3D <&gcc GCC_PCIE_PHY_3A_AUX_CLK>, + <&gcc GCC_PCIE_3A_CFG_AHB_CLK>, + <&tcsr TCSR_PCIE_3_CLKREF_EN>, + <&gcc GCC_PCIE_3A_PHY_RCHNG_CLK>, + <&gcc GCC_PCIE_3A_PIPE_CLK>, + <&gcc GCC_PCIE_PHY_3B_AUX_CLK>; + clock-names =3D "aux", + "cfg_ahb", + "ref", + "rchng", + "pipe", + "phy_b_aux"; + + resets =3D <&gcc GCC_PCIE_3A_PHY_BCR>, + <&gcc GCC_PCIE_3A_NOCSR_COM_PHY_BCR>, + <&gcc GCC_PCIE_3B_PHY_BCR>, + <&gcc GCC_PCIE_3B_NOCSR_COM_PHY_BCR>; + reset-names =3D "phy", + "phy_nocsr", + "phy_b", + "phy_b_nocsr"; + + assigned-clocks =3D <&gcc GCC_PCIE_3A_PHY_RCHNG_CLK>; + assigned-clock-rates =3D <100000000>; + + power-domains =3D <&gcc GCC_PCIE_3A_PHY_GDSC>, + <&gcc GCC_PCIE_3B_PHY_GDSC>; + + #clock-cells =3D <0>; + clock-output-names =3D "pcie3a_pipe_clk"; + + #phy-cells =3D <0>; + + status =3D "disabled"; + }; + pcie4: pci@1bf0000 { device_type =3D "pci"; compatible =3D "qcom,glymur-pcie", "qcom,pcie-x1e80100"; --=20 2.34.1