[PATCH v2] phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it
Xu Yang
xu.yang_2 at nxp.com
Thu Dec 18 18:11:57 PST 2025
On Thu, Dec 18, 2025 at 08:41:00PM +0100, Stefano Radaelli wrote:
> Clear the PCS_TX_SWING_FULL field mask before setting the new value
> in PHY_CTRL5 register. Without clearing the mask first, the OR operation
> could leave previously set bits, resulting in incorrect
> register configuration.
>
> Fixes: 63c85ad0cd81 ("phy: fsl-imx8mp-usb: add support for phy tuning")
> Suggested-by: Pierluigi Passaro <pierluigi.p at variscite.com>
> Signed-off-by: Stefano Radaelli <stefano.r at variscite.com>
> ---
> v2:
> - Improved commit subject as suggested by Fabio Estevam
>
> drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> index ad8a55012e42..9458b6e5fcf4 100644
> --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> @@ -504,6 +504,7 @@ static void imx8m_phy_tune(struct imx8mq_usb_phy *imx_phy)
>
> if (imx_phy->pcs_tx_swing_full != PHY_TUNE_DEFAULT) {
> value = readl(imx_phy->base + PHY_CTRL5);
> + value &= ~PHY_CTRL5_PCS_TX_SWING_FULL_MASK;
> value |= FIELD_PREP(PHY_CTRL5_PCS_TX_SWING_FULL_MASK,
> imx_phy->pcs_tx_swing_full);
> writel(value, imx_phy->base + PHY_CTRL5);
Reviewed-by: Xu Yang <xu.yang_2 at nxp.com>
More information about the linux-phy
mailing list