linux/drivers/phy/freescale
Rafael Beims 24d759976a phy: freescale: imx8m-pcie: assert phy reset during power on
commit f2ec4723de upstream.

After U-Boot initializes PCIe with "pcie enum", Linux fails to detect
an NVMe disk on some boot cycles with:

  phy phy-32f00000.pcie-phy.0: phy poweron failed --> -110

Discussion with NXP identified that the iMX8MP PCIe PHY PLL may fail to
lock when re-initialized without a reset cycle [1].

The issue reproduces on 7% of tested hardware platforms, with a 30-40%
failure rate per affected device across boot cycles.

Insert a reset cycle in the power-on routine to ensure the PHY is
initialized from a known state.

[1] https://community.nxp.com/t5/i-MX-Processors/iMX8MP-PCIe-initialization-in-U-Boot/m-p/2248437#M242401

Signed-off-by: Rafael Beims <rafael.beims@toradex.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251223150254.1075221-1-rafael@beims.me
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-23 11:18:44 +01:00
..
Kconfig phy: freescale: imx8qm-hsio: Add i.MX8QM HSIO PHY driver support 2024-06-15 17:52:01 +05:30
Makefile phy: freescale: imx8qm-hsio: Add i.MX8QM HSIO PHY driver support 2024-06-15 17:52:01 +05:30
phy-fsl-imx8-mipi-dphy.c phy: freescale: phy-fsl-imx8-mipi-dphy: Fix alias name to use dashes 2024-02-07 11:19:40 +01:00
phy-fsl-imx8m-pcie.c phy: freescale: imx8m-pcie: assert phy reset during power on 2026-01-23 11:18:44 +01:00
phy-fsl-imx8mq-usb.c phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it 2026-01-23 11:18:40 +01:00
phy-fsl-imx8qm-hsio.c phy: freescale: Initialize priv->lock 2025-12-18 13:55:03 +01:00
phy-fsl-imx8qm-lvds-phy.c phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
phy-fsl-lynx-28g.c phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
phy-fsl-samsung-hdmi.c phy: freescale: fsl-samsung-hdmi: Convert to platform remove callback returning void 2024-04-12 15:18:42 +05:30