From nobody Thu Dec 18 15:39:22 2025 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 638453002DA for ; Tue, 9 Dec 2025 23:09:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765321799; cv=none; b=tiFrL6+paw8Hh6xlkjJ3omjt69b55yF/7MTOYQUHRAC68c9YOrc57VcmA2p38R9A4hlXFW0JxgWJLI1mX0YsDB0EgVTvWoFcfrDdrb1kVfpv9vaU0ryAEficYLINH+t2qz7opsUu31G/OpeBqbSqK7+zng9pjCTvKWiRldpk1Cw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765321799; c=relaxed/simple; bh=IqdAfpb+3vzIp2W4FFmDHieWNlz5qeA+WAVwx4pe82w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=FKdnJ2TFwiJxNNl42RTdk/zj/c++mkFh6IlkbMINjS+RCrjBG0J13zGiJW95iDA4590r3VgFJVaGXnhW3Vnn2kEqeQ6/K2g1be3RG8uDwElce8ss7crGWkU3caux+S9x7g+p9kca9b/KovDGjCeHJrr2SWKSMz+6TLhtzIL0Urs= 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=jx1dNMqO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iZ6/OJk9; 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="jx1dNMqO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iZ6/OJk9" 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 5B9MmXUu299738 for ; Tue, 9 Dec 2025 23:09:56 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= BXkKhV06XOvaYojoXJXB0CKRn4gqEtEQ+n3gBadFTn0=; b=jx1dNMqO7gQ52geZ cCge22xFFgtwmq8UHif4IqFf6BfzS2zvEnKrdumgnmxOZs/KHgCKERBZZ1YZdThU CwFLLUU83Y5mQ+BEKlDoLJauHu9WqomGPbFMbxO0HYGykyS+iC5CQ2+YM8664yq5 sdj5sSxadfVJv0QSLcz/aUv94m8sbtYBLV1/aWgMmUsrKdWPeHp+QXu2EU9QNSJO dzSdBwGfwlPYXyiq+UB1Uu2JqNX63wa4bmIcsOtGoxUUrc3ogCY6SLEpirpBJN1W pLKzxYWpFdG0vBtA/WrBLcVjn1ETMfHdE4/3s/v/J4PdmC94WIDToFrEuiw+EbmO Z5DvnQ== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4axp4vsead-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 09 Dec 2025 23:09:56 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-340bc4ef67fso6788857a91.3 for ; Tue, 09 Dec 2025 15:09:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765321795; x=1765926595; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BXkKhV06XOvaYojoXJXB0CKRn4gqEtEQ+n3gBadFTn0=; b=iZ6/OJk9JqjLUS//8Da05WRrMViyxRzKZaR/Vms3Ed0P0NCWE1gpj+jkw6OM2U7HTn O9DQtFBLuHsSZhc1gUhHKz3T1RJSko7MLcaREot3Mr0qKxH9kAC732ZE0ZdO8Zforflb HAZfebzAU7+JZyGGZSCtdbD6Xt/2O/Fsw7rb8fA8dskAorcDIU0mvRqmrJYtc2FVFJhc oX2D0MYifeaOjKDZcFOUgJtev/OLRKddKsGvEN2esyglkCPUPhJBjcz3t+SEj7H3Qcjq x3xmgfy2f/LkeACyMTc7VXMpV1ooaliDATCYWOWWb7qaaEtcSnLjk4cVzqzmc1C9lgNE qEHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765321795; x=1765926595; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=BXkKhV06XOvaYojoXJXB0CKRn4gqEtEQ+n3gBadFTn0=; b=pF8Ji/jGWuqMue+Yn65KKFUSYAiORqjzKf8uPlOXCFFiYxrNK5uJhXQve1qS8x7MW1 Nnz+261iy/8YtGr6X0Vo0U8eSp72uY5j+6Pw8UJDVR+Jjsz05OqpDKQ9EegVeYYUaD/5 Xun6obq38MaKh/mIZooiMpRCJTSpQVbhb5IVZWjdiDIDXHrtUl8hk3AVnjcxFNPsrc9T U0duMe1R3ngdAHwx+z050KNgVZN0so1McpZtfPw+VpKRaPFKArHkq31lTeh4oAuipQuG gnuyRnU5+O7nPabUBreAxmkCOoZxCc8HkeonqT6/UV8ZaKB1KjyxJUAAKEdmpsfwE/Dp 9g/w== X-Forwarded-Encrypted: i=1; AJvYcCUwORGZNjXQREPQzxd90JqaR5IwpVTkyXnuDaYbOG9HxVPSeg+oz4tc3aw5YqYRUOC8bovX4GvmlDqbn2s=@vger.kernel.org X-Gm-Message-State: AOJu0YyA+B4SLmdhQVvR2CVKWL7cg3FdO3E9QJXHsndxUjLiHIp0oRDt L0w79h/tpSA7I04SaY24Jgtzz6A5Kh57r1Hk1UaDyr3qNos/UAViVbYfQ7ApEtm/I3qEh6d2Imm eTdxuelMNwnxLT/igeIo6nP2x2VdXSfI0S/wUoORbpZ5IOjfdWJVRcf3Q4ZOnkkbWY5w= X-Gm-Gg: ASbGnctDB1SQjQ4OBvrYmIg7RvJqh6JSe/CP92pNUpC6Y0mDlj1MgDMTqSJxq4eY5oB /Prtfty22FaNJ1Ac2gbg1LepCMOB6e0jHBDJD2KrsJMBdn8kR3IQUfniF6W9v9tSydE1MJ1HCSc 7+WyviaPUbgmiI2rje88PBJa6KR4bF7M/i+9MeVIx/cvIvh1HGkoPHB3eVE1dkoJ908ZMWPW5Jv DlqtYPjVTr9IjYNvIjXsTsI/vw4IREfT3hNkP3qs6BFJ4Uwwy+nz5thjD2h5yGeFFonRHopjmlJ SgALMq1SrW8vR9X8LPr9+Wt/1vCqQwS/bOUEc2ZiFvF9vNPKoHf79A59tYaXFGbMRretQgZecBD LLmsHkHLk1GsmQKI65gRQS7HvI5SPhwj0+U0h+LnxYBEDWaRgT2j9/p89OKhLJA== X-Received: by 2002:a05:7022:6982:b0:11b:ceee:a46d with SMTP id a92af1059eb24-11f2967cc1emr265292c88.15.1765321795493; Tue, 09 Dec 2025 15:09:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IEEqGVqDSiiM+sW4HLL2N4zrzp5y2S9w5IZLpjIL0bbPSZt4mouYBGIQ+g9BNfCwCBEb/Q6Kw== X-Received: by 2002:a05:7022:6982:b0:11b:ceee:a46d with SMTP id a92af1059eb24-11f2967cc1emr265260c88.15.1765321794931; Tue, 09 Dec 2025 15:09:54 -0800 (PST) Received: from hu-wcheng-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-11f283d4811sm3338933c88.11.2025.12.09.15.09.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 15:09:54 -0800 (PST) From: Wesley Cheng To: krzk+dt@kernel.org, abel.vesa@linaro.org, conor+dt@kernel.org, dmitry.baryshkov@oss.qualcomm.com, vkoul@kernel.org, robh@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Wesley Cheng , Elson Roy Serrao Subject: [PATCH v8 7/9] phy: qualcomm: Update the QMP clamp register for V6 Date: Tue, 9 Dec 2025 15:09:43 -0800 Message-Id: <20251209-linux-next-12825-v8-7-42133596bda0@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251209-linux-next-12825-v8-0-42133596bda0@oss.qualcomm.com> References: <20251209-linux-next-12825-v8-0-42133596bda0@oss.qualcomm.com> 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 X-Proofpoint-GUID: ajtG8-Hl0FMOF8wnQrTfAlbat7IfmXAP X-Proofpoint-ORIG-GUID: ajtG8-Hl0FMOF8wnQrTfAlbat7IfmXAP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjA5MDE4MSBTYWx0ZWRfX+C5ZmHfhRu+F 0b8FngAl+mxN2wDTgD8LajT21iYnSGE22dQ0YuDKH6q3rkyLqJhb4VjP0kqY1RVu4U0DeaQ0ZhG hpPJ63c4jQNUHYaN248HsSjYQQfaSIyEAoEOXAkY2+YEhb/QnlMXw9EEz6P3xDaNYiVhTHUW9/d h4LTfpegxxLnDZAOT7v0/FtR53PJyozZTwY+kD4g7f4CpYVoqsR8sWwpLRnw4RBb8k2Y0+w6aPu 4jIXFA8p6kxxKxyZ0f13iLhHyqPFoT/4l4J+zVikHirqesFXq5mAjVjAi7L4yyrYMzCMvawh/cq D54GlQ6AUQ5/bqmHw169dhDtWec6p4GaAJW5umPowTDGW0XKREdUfvWL1Di0ST/ZQzrepyfzQXz b2cNfjpyP/q7gw8SQ7hq/UNWCzaL1Q== X-Authority-Analysis: v=2.4 cv=IoYTsb/g c=1 sm=1 tr=0 ts=6938ac44 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=6zIwrvuT6hO6z1e-hKYA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-09_05,2025-12-09_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 phishscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512090181 QMP combo phy V6 and above use the clamp register from the PCS always on (AON) address space. Update the driver accordingly. Reviewed-by: Dmitry Baryshkov Signed-off-by: Elson Roy Serrao Signed-off-by: Wesley Cheng Reviewed-by: Abel Vesa --- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 38 +++++++++++++++++++++= ---- drivers/phy/qualcomm/phy-qcom-qmp-pcs-aon-v6.h | 12 ++++++++ drivers/phy/qualcomm/phy-qcom-qmp-pcs-misc-v5.h | 12 ++++++++ 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualco= mm/phy-qcom-qmp-combo.c index 9e2a6c5d0f58..59a8c6a535ee 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -30,7 +30,10 @@ #include "phy-qcom-qmp-common.h" =20 #include "phy-qcom-qmp.h" +#include "phy-qcom-qmp-pcs-aon-v6.h" #include "phy-qcom-qmp-pcs-misc-v3.h" +#include "phy-qcom-qmp-pcs-misc-v4.h" +#include "phy-qcom-qmp-pcs-misc-v5.h" #include "phy-qcom-qmp-pcs-usb-v4.h" #include "phy-qcom-qmp-pcs-usb-v5.h" #include "phy-qcom-qmp-pcs-usb-v6.h" @@ -79,6 +82,7 @@ enum qphy_reg_layout { QPHY_PCS_AUTONOMOUS_MODE_CTRL, QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR, QPHY_PCS_POWER_DOWN_CONTROL, + QPHY_PCS_CLAMP_ENABLE, =20 QPHY_COM_RESETSM_CNTRL, QPHY_COM_C_READY_STATUS, @@ -106,6 +110,8 @@ static const unsigned int qmp_v3_usb3phy_regs_layout[QP= HY_LAYOUT_SIZE] =3D { [QPHY_PCS_AUTONOMOUS_MODE_CTRL] =3D QPHY_V3_PCS_AUTONOMOUS_MODE_CTRL, [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] =3D QPHY_V3_PCS_LFPS_RXTERM_IRQ_CLEAR, =20 + [QPHY_PCS_CLAMP_ENABLE] =3D QPHY_V3_PCS_MISC_CLAMP_ENABLE, + [QPHY_COM_RESETSM_CNTRL] =3D QSERDES_V3_COM_RESETSM_CNTRL, [QPHY_COM_C_READY_STATUS] =3D QSERDES_V3_COM_C_READY_STATUS, [QPHY_COM_CMN_STATUS] =3D QSERDES_V3_COM_CMN_STATUS, @@ -131,6 +137,8 @@ static const unsigned int qmp_v45_usb3phy_regs_layout[Q= PHY_LAYOUT_SIZE] =3D { [QPHY_PCS_AUTONOMOUS_MODE_CTRL] =3D QPHY_V4_PCS_USB3_AUTONOMOUS_MODE_CTRL, [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] =3D QPHY_V4_PCS_USB3_LFPS_RXTERM_IRQ_CLE= AR, =20 + [QPHY_PCS_CLAMP_ENABLE] =3D QPHY_V4_PCS_MISC_CLAMP_ENABLE, + [QPHY_COM_RESETSM_CNTRL] =3D QSERDES_V4_COM_RESETSM_CNTRL, [QPHY_COM_C_READY_STATUS] =3D QSERDES_V4_COM_C_READY_STATUS, [QPHY_COM_CMN_STATUS] =3D QSERDES_V4_COM_CMN_STATUS, @@ -156,6 +164,8 @@ static const unsigned int qmp_v5_5nm_usb3phy_regs_layou= t[QPHY_LAYOUT_SIZE] =3D { [QPHY_PCS_AUTONOMOUS_MODE_CTRL] =3D QPHY_V5_PCS_USB3_AUTONOMOUS_MODE_CTRL, [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] =3D QPHY_V5_PCS_USB3_LFPS_RXTERM_IRQ_CLE= AR, =20 + [QPHY_PCS_CLAMP_ENABLE] =3D QPHY_V5_PCS_MISC_CLAMP_ENABLE, + [QPHY_COM_RESETSM_CNTRL] =3D QSERDES_V5_COM_RESETSM_CNTRL, [QPHY_COM_C_READY_STATUS] =3D QSERDES_V5_COM_C_READY_STATUS, [QPHY_COM_CMN_STATUS] =3D QSERDES_V5_COM_CMN_STATUS, @@ -181,6 +191,8 @@ static const unsigned int qmp_v6_usb3phy_regs_layout[QP= HY_LAYOUT_SIZE] =3D { [QPHY_PCS_AUTONOMOUS_MODE_CTRL] =3D QPHY_V6_PCS_USB3_AUTONOMOUS_MODE_CTRL, [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] =3D QPHY_V6_PCS_USB3_LFPS_RXTERM_IRQ_CLE= AR, =20 + [QPHY_PCS_CLAMP_ENABLE] =3D QPHY_V6_PCS_AON_CLAMP_ENABLE, + [QPHY_COM_RESETSM_CNTRL] =3D QSERDES_V6_COM_RESETSM_CNTRL, [QPHY_COM_C_READY_STATUS] =3D QSERDES_V6_COM_C_READY_STATUS, [QPHY_COM_CMN_STATUS] =3D QSERDES_V6_COM_CMN_STATUS, @@ -206,6 +218,8 @@ static const unsigned int qmp_v6_n4_usb3phy_regs_layout= [QPHY_LAYOUT_SIZE] =3D { [QPHY_PCS_AUTONOMOUS_MODE_CTRL] =3D QPHY_V6_PCS_USB3_AUTONOMOUS_MODE_CTRL, [QPHY_PCS_LFPS_RXTERM_IRQ_CLEAR] =3D QPHY_V6_PCS_USB3_LFPS_RXTERM_IRQ_CLE= AR, =20 + [QPHY_PCS_CLAMP_ENABLE] =3D QPHY_V6_PCS_AON_CLAMP_ENABLE, + [QPHY_COM_RESETSM_CNTRL] =3D QSERDES_V6_COM_RESETSM_CNTRL, [QPHY_COM_C_READY_STATUS] =3D QSERDES_V6_COM_C_READY_STATUS, [QPHY_COM_CMN_STATUS] =3D QSERDES_V6_COM_CMN_STATUS, @@ -1771,6 +1785,7 @@ struct qmp_combo_offsets { u16 usb3_serdes; u16 usb3_pcs_misc; u16 usb3_pcs; + u16 usb3_pcs_aon; u16 usb3_pcs_usb; u16 dp_serdes; u16 dp_txa; @@ -1852,6 +1867,7 @@ struct qmp_combo { void __iomem *tx2; void __iomem *rx2; void __iomem *pcs_misc; + void __iomem *pcs_aon; void __iomem *pcs_usb; =20 void __iomem *dp_serdes; @@ -1976,6 +1992,7 @@ static const struct qmp_combo_offsets qmp_combo_offse= ts_v8 =3D { .usb3_serdes =3D 0x1000, .usb3_pcs_misc =3D 0x1c00, .usb3_pcs =3D 0x1e00, + .usb3_pcs_aon =3D 0x2000, .usb3_pcs_usb =3D 0x2100, .dp_serdes =3D 0x3000, .dp_txa =3D 0x3400, @@ -3361,6 +3378,7 @@ static void qmp_combo_enable_autonomous_mode(struct q= mp_combo *qmp) const struct qmp_phy_cfg *cfg =3D qmp->cfg; void __iomem *pcs_usb =3D qmp->pcs_usb ?: qmp->pcs; void __iomem *pcs_misc =3D qmp->pcs_misc; + void __iomem *pcs_aon =3D qmp->pcs_aon; u32 intr_mask; =20 if (qmp->phy_mode =3D=3D PHY_MODE_USB_HOST_SS || @@ -3380,9 +3398,14 @@ static void qmp_combo_enable_autonomous_mode(struct = qmp_combo *qmp) /* Enable required PHY autonomous mode interrupts */ qphy_setbits(pcs_usb, cfg->regs[QPHY_PCS_AUTONOMOUS_MODE_CTRL], intr_mask= ); =20 - /* Enable i/o clamp_n for autonomous mode */ - if (pcs_misc) - qphy_clrbits(pcs_misc, QPHY_V3_PCS_MISC_CLAMP_ENABLE, CLAMP_EN); + /* + * Enable i/o clamp_n for autonomous mode + * V6 and later versions use pcs aon clamp register + */ + if (pcs_aon) + qphy_clrbits(pcs_aon, cfg->regs[QPHY_PCS_CLAMP_ENABLE], CLAMP_EN); + else if (pcs_misc) + qphy_clrbits(pcs_misc, cfg->regs[QPHY_PCS_CLAMP_ENABLE], CLAMP_EN); } =20 static void qmp_combo_disable_autonomous_mode(struct qmp_combo *qmp) @@ -3390,10 +3413,13 @@ static void qmp_combo_disable_autonomous_mode(struc= t qmp_combo *qmp) const struct qmp_phy_cfg *cfg =3D qmp->cfg; void __iomem *pcs_usb =3D qmp->pcs_usb ?: qmp->pcs; void __iomem *pcs_misc =3D qmp->pcs_misc; + void __iomem *pcs_aon =3D qmp->pcs_aon; =20 /* Disable i/o clamp_n on resume for normal mode */ - if (pcs_misc) - qphy_setbits(pcs_misc, QPHY_V3_PCS_MISC_CLAMP_ENABLE, CLAMP_EN); + if (pcs_aon) + qphy_setbits(pcs_aon, cfg->regs[QPHY_PCS_CLAMP_ENABLE], CLAMP_EN); + else if (pcs_misc) + qphy_setbits(pcs_misc, cfg->regs[QPHY_PCS_CLAMP_ENABLE], CLAMP_EN); =20 qphy_clrbits(pcs_usb, cfg->regs[QPHY_PCS_AUTONOMOUS_MODE_CTRL], ARCVR_DTCT_EN | ARCVR_DTCT_EVENT_SEL | ALFPS_DTCT_EN); @@ -4058,6 +4084,8 @@ static int qmp_combo_parse_dt(struct qmp_combo *qmp) qmp->serdes =3D base + offs->usb3_serdes; qmp->pcs_misc =3D base + offs->usb3_pcs_misc; qmp->pcs =3D base + offs->usb3_pcs; + if (offs->usb3_pcs_aon) + qmp->pcs_aon =3D base + offs->usb3_pcs_aon; qmp->pcs_usb =3D base + offs->usb3_pcs_usb; =20 qmp->dp_serdes =3D base + offs->dp_serdes; diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-aon-v6.h b/drivers/phy/q= ualcomm/phy-qcom-qmp-pcs-aon-v6.h new file mode 100644 index 000000000000..52db31a7cf22 --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-aon-v6.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserve= d. + */ + +#ifndef QCOM_PHY_QMP_PCS_AON_V6_H_ +#define QCOM_PHY_QMP_PCS_AON_V6_H_ + +/* Only for QMP V6 PHY - PCS_AON registers */ +#define QPHY_V6_PCS_AON_CLAMP_ENABLE 0x00 + +#endif diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-misc-v5.h b/drivers/phy/= qualcomm/phy-qcom-qmp-pcs-misc-v5.h new file mode 100644 index 000000000000..77d04c6a1644 --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-misc-v5.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef QCOM_PHY_QMP_PCS_MISC_V5_H_ +#define QCOM_PHY_QMP_PCS_MISC_V5_H_ + +/* Only for QMP V5 PHY - PCS_MISC registers */ +#define QPHY_V5_PCS_MISC_CLAMP_ENABLE 0x0c + +#endif --=20 2.34.1