mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] phy: qcom: qmp-combo: update offsets table for x1e80100
@ 2026-10-30 10:43 Tapas Rana
  2026-10-30 10:48 ` Tapas Rana
  0 siblings, 1 reply; 2+ messages in thread
From: Tapas Rana @ 2026-10-30 10:43 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-arm-msm, linux-phy, linux-kernel, Prashanth K, Tapas Rana

x1e80100_usb3dpphy_cfg uses qmp_v6_n4_usb3phy_regs_layout, which
places QPHY_PCS_CLAMP_ENABLE in the PCS_AON register space. However,
it uses qmp_combo_offsets_v5 currently, which does not define the
usb3_pcs_aon region. As a result, qmp->pcs_aon is not mapped and
autonomous mode falls back to pcs_misc for clamp control.

Add a dedicated USB3+DP V6 offsets table with usb3_pcs_aon included
and use it for x1e80100_usb3dpphy_cfg so clamp control is performed
through the correct PCS_AON register space.

Signed-off-by: Tapas Rana <taparana@qti.qualcomm.com>
---
 drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
index 187f0cd11f6c..aa9dc9716574 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
@@ -2762,6 +2762,21 @@ static const struct qmp_combo_offsets qmp_combo_offsets_v10 = {
 	.dp_dp_phy	= 0x3c00,
 };
 
+static const struct qmp_combo_offsets qmp_combo_usb43dp_offsets_v6 = {
+	.com		= 0x0000,
+	.txa		= 0x0400,
+	.rxa		= 0x0600,
+	.txb		= 0x0a00,
+	.rxb		= 0x0c00,
+	.usb3_serdes	= 0x1000,
+	.usb3_pcs_misc	= 0x1200,
+	.usb3_pcs	= 0x1400,
+	.usb3_pcs_aon	= 0x0100,
+	.usb3_pcs_usb	= 0x1700,
+	.dp_serdes	= 0x2000,
+	.dp_dp_phy	= 0x2200,
+};
+
 static const struct qmp_combo_offsets qmp_combo_usb43dp_offsets_v8 = {
 	.com		= 0x0000,
 	.usb3_pcs_aon	= 0x0100,
@@ -3003,7 +3018,7 @@ static const struct qmp_phy_cfg sc8280xp_usb43dpphy_cfg = {
 };
 
 static const struct qmp_phy_cfg x1e80100_usb3dpphy_cfg = {
-	.offsets		= &qmp_combo_offsets_v5,
+	.offsets		= &qmp_combo_usb43dp_offsets_v6,
 
 	.serdes_tbl		= x1e80100_usb43dp_serdes_tbl,
 	.serdes_tbl_num		= ARRAY_SIZE(x1e80100_usb43dp_serdes_tbl),
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] phy: qcom: qmp-combo: update offsets table for x1e80100
  2026-10-30 10:43 [PATCH] phy: qcom: qmp-combo: update offsets table for x1e80100 Tapas Rana
@ 2026-10-30 10:48 ` Tapas Rana
  0 siblings, 0 replies; 2+ messages in thread
From: Tapas Rana @ 2026-10-30 10:48 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-arm-msm, linux-phy, linux-kernel, Prashanth K, Tapas Rana



On 30-10-2026 16:13, Tapas Rana wrote:
> x1e80100_usb3dpphy_cfg uses qmp_v6_n4_usb3phy_regs_layout, which
> places QPHY_PCS_CLAMP_ENABLE in the PCS_AON register space. However,
> it uses qmp_combo_offsets_v5 currently, which does not define the
> usb3_pcs_aon region. As a result, qmp->pcs_aon is not mapped and
> autonomous mode falls back to pcs_misc for clamp control.
> 
> Add a dedicated USB3+DP V6 offsets table with usb3_pcs_aon included
> and use it for x1e80100_usb3dpphy_cfg so clamp control is performed
> through the correct PCS_AON register space.
> 
> Signed-off-by: Tapas Rana <taparana@qti.qualcomm.com>

Sorry for the spam, I used wrong email on my SOB tag, will resend the patch.
> ---
>   drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 17 ++++++++++++++++-
>   1 file changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> index 187f0cd11f6c..aa9dc9716574 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> @@ -2762,6 +2762,21 @@ static const struct qmp_combo_offsets qmp_combo_offsets_v10 = {
>   	.dp_dp_phy	= 0x3c00,
>   };
>   
> +static const struct qmp_combo_offsets qmp_combo_usb43dp_offsets_v6 = {
> +	.com		= 0x0000,
> +	.txa		= 0x0400,
> +	.rxa		= 0x0600,
> +	.txb		= 0x0a00,
> +	.rxb		= 0x0c00,
> +	.usb3_serdes	= 0x1000,
> +	.usb3_pcs_misc	= 0x1200,
> +	.usb3_pcs	= 0x1400,
> +	.usb3_pcs_aon	= 0x0100,
> +	.usb3_pcs_usb	= 0x1700,
> +	.dp_serdes	= 0x2000,
> +	.dp_dp_phy	= 0x2200,
> +};
> +
>   static const struct qmp_combo_offsets qmp_combo_usb43dp_offsets_v8 = {
>   	.com		= 0x0000,
>   	.usb3_pcs_aon	= 0x0100,
> @@ -3003,7 +3018,7 @@ static const struct qmp_phy_cfg sc8280xp_usb43dpphy_cfg = {
>   };
>   
>   static const struct qmp_phy_cfg x1e80100_usb3dpphy_cfg = {
> -	.offsets		= &qmp_combo_offsets_v5,
> +	.offsets		= &qmp_combo_usb43dp_offsets_v6,
>   
>   	.serdes_tbl		= x1e80100_usb43dp_serdes_tbl,
>   	.serdes_tbl_num		= ARRAY_SIZE(x1e80100_usb43dp_serdes_tbl),


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-30 10:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-30 10:43 [PATCH] phy: qcom: qmp-combo: update offsets table for x1e80100 Tapas Rana
2026-10-30 10:48 ` Tapas Rana

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®