linux/drivers/phy/freescale
Rafael Beims f2ec4723de phy: freescale: imx8m-pcie: assert phy reset during power on
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>
History 2026-01-14 21:44:39 +05:30
..
Kconfig phy: fsl-imx8mq-usb: add tca function driver for imx95 2025-02-14 17:56:12 +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-14 21:44:39 +05:30
phy-fsl-imx8mq-usb.c phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it 2025-12-23 20:53:45 +05:30
phy-fsl-imx8qm-hsio.c phy: freescale: Initialize priv->lock 2025-11-20 22:19:45 +05:30
phy-fsl-imx8qm-lvds-phy.c phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
phy-fsl-lynx-28g.c phy: lynx-28g: check return value when calling lynx_28g_pll_get 2025-09-01 18:20:41 +05:30
phy-fsl-samsung-hdmi.c phy: freescale: fsl-samsung-hdmi: Improve LUT search for best clock 2025-05-14 12:15:51 +01:00