mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ
@ 2025-12-19  8:13 Xu Yang
  2025-12-19 15:45 ` Frank Li
  2025-12-23 17:44 ` Vinod Koul
  0 siblings, 2 replies; 3+ messages in thread
From: Xu Yang @ 2025-12-19  8:13 UTC (permalink / raw)
  To: vkoul, neil.armstrong, shawnguo, kernel, festevam, jun.li, Frank.Li
  Cc: linux-phy, imx, linux-arm-kernel, linux-kernel

According to IC engineer suggestion, set ssc_range as -4003 ppm
will have more tolerance for EMI, and suitable for more boards.
Besides, it's confirmed that with this setting the TX SSC test
will pass on one customer board.

Signed-off-by: Li Jun <jun.li@nxp.com>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
index cb2392008ad2..02d9af409b08 100644
--- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
+++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
@@ -18,6 +18,10 @@
 #define PHY_CTRL0_FSEL_MASK		GENMASK(10, 5)
 #define PHY_CTRL0_FSEL_24M		0x2a
 #define PHY_CTRL0_FSEL_100M		0x27
+#define PHY_CTRL0_SSC_RANGE_MASK	GENMASK(23, 21)
+#define PHY_CTRL0_SSC_RANGE_4003PPM	0x2
+#define PHY_CTRL0_SSC_RANGE_4492PPM	0x1
+#define PHY_CTRL0_SSC_RANGE_4980PPM	0x0
 
 #define PHY_CTRL1			0x4
 #define PHY_CTRL1_RESET			BIT(0)
@@ -780,6 +784,9 @@ static int imx8mq_usb_phy_init(struct phy *phy)
 
 	value = readl(imx_phy->base + PHY_CTRL0);
 	value |= PHY_CTRL0_REF_SSP_EN;
+	value &= ~PHY_CTRL0_SSC_RANGE_MASK;
+	value |= FIELD_PREP(PHY_CTRL0_SSC_RANGE_MASK,
+			    PHY_CTRL0_SSC_RANGE_4003PPM);
 	writel(value, imx_phy->base + PHY_CTRL0);
 
 	value = readl(imx_phy->base + PHY_CTRL2);
-- 
2.34.1


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

* Re: [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ
  2025-12-19  8:13 [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ Xu Yang
@ 2025-12-19 15:45 ` Frank Li
  2025-12-23 17:44 ` Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Frank Li @ 2025-12-19 15:45 UTC (permalink / raw)
  To: Xu Yang
  Cc: vkoul, neil.armstrong, shawnguo, kernel, festevam, jun.li,
	linux-phy, imx, linux-arm-kernel, linux-kernel

On Fri, Dec 19, 2025 at 04:13:54PM +0800, Xu Yang wrote:
> According to IC engineer suggestion, set ssc_range as -4003 ppm
> will have more tolerance for EMI, and suitable for more boards.
> Besides, it's confirmed that with this setting the TX SSC test
> will pass on one customer board.

nit: next time wrap at 75 char.

>
> Signed-off-by: Li Jun <jun.li@nxp.com>
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> index cb2392008ad2..02d9af409b08 100644
> --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> @@ -18,6 +18,10 @@
>  #define PHY_CTRL0_FSEL_MASK		GENMASK(10, 5)
>  #define PHY_CTRL0_FSEL_24M		0x2a
>  #define PHY_CTRL0_FSEL_100M		0x27
> +#define PHY_CTRL0_SSC_RANGE_MASK	GENMASK(23, 21)
> +#define PHY_CTRL0_SSC_RANGE_4003PPM	0x2
> +#define PHY_CTRL0_SSC_RANGE_4492PPM	0x1
> +#define PHY_CTRL0_SSC_RANGE_4980PPM	0x0
>
>  #define PHY_CTRL1			0x4
>  #define PHY_CTRL1_RESET			BIT(0)
> @@ -780,6 +784,9 @@ static int imx8mq_usb_phy_init(struct phy *phy)
>
>  	value = readl(imx_phy->base + PHY_CTRL0);
>  	value |= PHY_CTRL0_REF_SSP_EN;
> +	value &= ~PHY_CTRL0_SSC_RANGE_MASK;
> +	value |= FIELD_PREP(PHY_CTRL0_SSC_RANGE_MASK,
> +			    PHY_CTRL0_SSC_RANGE_4003PPM);
>  	writel(value, imx_phy->base + PHY_CTRL0);
>
>  	value = readl(imx_phy->base + PHY_CTRL2);
> --
> 2.34.1
>
>
> --
> linux-phy mailing list
> linux-phy@lists.infradead.org
> https://lists.infradead.org/mailman/listinfo/linux-phy

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

* Re: [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ
  2025-12-19  8:13 [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ Xu Yang
  2025-12-19 15:45 ` Frank Li
@ 2025-12-23 17:44 ` Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2025-12-23 17:44 UTC (permalink / raw)
  To: neil.armstrong, shawnguo, kernel, festevam, jun.li, Frank.Li, Xu Yang
  Cc: linux-phy, imx, linux-arm-kernel, linux-kernel


On Fri, 19 Dec 2025 16:13:54 +0800, Xu Yang wrote:
> According to IC engineer suggestion, set ssc_range as -4003 ppm
> will have more tolerance for EMI, and suitable for more boards.
> Besides, it's confirmed that with this setting the TX SSC test
> will pass on one customer board.
> 
> 

Applied, thanks!

[1/1] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ
      commit: c9d03933ea161a5543e15857ee519c60ec04fe9b

Best regards,
-- 
~Vinod



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

end of thread, other threads:[~2025-12-23 17:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-19  8:13 [PATCH] phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ Xu Yang
2025-12-19 15:45 ` Frank Li
2025-12-23 17:44 ` Vinod Koul

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®