mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
phy: freescale: imx8m-pcie: fix pcie link-up instability
[ Upstream commit 3a161017f1de55cc48be81f6156004c151f32677 ]
Leaving AUX_PLL_REFCLK_SEL at its reset default of AUX_IN (PLL clock)
proves to be more stable on the i.MX 8M Mini.
Fixes: 1aa97b0022 ("phy: freescale: pcie: Initialize the imx8 pcie standalone phy driver")
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Link: https://lore.kernel.org/r/20240322130646.1016630-2-marcel@ziswiler.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ed4b981b1d
commit
4723dfe76d
@@ -108,8 +108,10 @@ static int imx8_pcie_phy_power_on(struct phy *phy)
|
|||||||
/* Source clock from SoC internal PLL */
|
/* Source clock from SoC internal PLL */
|
||||||
writel(ANA_PLL_CLK_OUT_TO_EXT_IO_SEL,
|
writel(ANA_PLL_CLK_OUT_TO_EXT_IO_SEL,
|
||||||
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG062);
|
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG062);
|
||||||
writel(AUX_PLL_REFCLK_SEL_SYS_PLL,
|
if (imx8_phy->drvdata->variant != IMX8MM) {
|
||||||
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG063);
|
writel(AUX_PLL_REFCLK_SEL_SYS_PLL,
|
||||||
|
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG063);
|
||||||
|
}
|
||||||
val = ANA_AUX_RX_TX_SEL_TX | ANA_AUX_TX_TERM;
|
val = ANA_AUX_RX_TX_SEL_TX | ANA_AUX_TX_TERM;
|
||||||
writel(val | ANA_AUX_RX_TERM_GND_EN,
|
writel(val | ANA_AUX_RX_TERM_GND_EN,
|
||||||
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG064);
|
imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG064);
|
||||||
|
|||||||
Reference in New Issue
Block a user