Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

phy: fsl-imx8mq-usb: change ssc_range value for i.MX8MQ

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>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20251219081354.3806806-1-xu.yang_2@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Xu Yang and committed by
Vinod Koul
c9d03933 caad07ae

+7
+7
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
··· 17 17 #define PHY_CTRL0_FSEL_MASK GENMASK(10, 5) 18 18 #define PHY_CTRL0_FSEL_24M 0x2a 19 19 #define PHY_CTRL0_FSEL_100M 0x27 20 + #define PHY_CTRL0_SSC_RANGE_MASK GENMASK(23, 21) 21 + #define PHY_CTRL0_SSC_RANGE_4003PPM 0x2 22 + #define PHY_CTRL0_SSC_RANGE_4492PPM 0x1 23 + #define PHY_CTRL0_SSC_RANGE_4980PPM 0x0 20 24 21 25 #define PHY_CTRL1 0x4 22 26 #define PHY_CTRL1_RESET BIT(0) ··· 604 600 605 601 value = readl(imx_phy->base + PHY_CTRL0); 606 602 value |= PHY_CTRL0_REF_SSP_EN; 603 + value &= ~PHY_CTRL0_SSC_RANGE_MASK; 604 + value |= FIELD_PREP(PHY_CTRL0_SSC_RANGE_MASK, 605 + PHY_CTRL0_SSC_RANGE_4003PPM); 607 606 writel(value, imx_phy->base + PHY_CTRL0); 608 607 609 608 value = readl(imx_phy->base + PHY_CTRL2);