* [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
@ 2024-10-09 3:25 Richard Zhu
2024-10-17 15:04 ` Vinod Koul
2024-10-22 5:31 ` Vinod Koul
0 siblings, 2 replies; 3+ messages in thread
From: Richard Zhu @ 2024-10-09 3:25 UTC (permalink / raw)
To: vkoul, kishon, shawnguo, s.hauer, festevam, Frank.Li,
marcel.ziswiler
Cc: linux-phy, linux-kernel, linux-arm-kernel, imx, kernel,
Richard Zhu, stable
When enable initcall_debug together with higher debug level below.
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=9
CONFIG_CONSOLE_LOGLEVEL_QUIET=9
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
The initialization of i.MX8MP PCIe PHY might be timeout failed randomly.
To fix this issue, adjust the sequence of the resets refer to the power
up sequence listed below.
i.MX8MP PCIe PHY power up sequence:
/---------------------------------------------
1.8v supply ---------/
/---------------------------------------------------
0.8v supply ---/
---\ /--------------------------------------------------
X REFCLK Valid
Reference Clock ---/ \--------------------------------------------------
-------------------------------------------
|
i_init_restn --------------
------------------------------------
|
i_cmn_rstn ---------------------
-------------------------------
|
o_pll_lock_done --------------------------
Logs:
imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
probe of clk_imx8mp_audiomix.reset.0 returned 0 after 1052 usecs
probe of 30e20000.clock-controller returned 0 after 32971 usecs
phy phy-32f00000.pcie-phy.4: phy poweron failed --> -110
probe of 30e10000.dma-controller returned 0 after 10235 usecs
imx6q-pcie 33800000.pcie: waiting for PHY ready timeout!
dwhdmi-imx 32fd8000.hdmi: Detected HDMI TX controller v2.13a with HDCP (samsung_dw_hdmi_phy2)
imx6q-pcie 33800000.pcie: probe with driver imx6q-pcie failed with error -110
Fixes: dce9edff16ee ("phy: freescale: imx8m-pcie: Add i.MX8MP PCIe PHY support")
Cc: stable@vger.kernel.org
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
index 8e7834e84af8c..694a6e6e5eafb 100644
--- a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
+++ b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
@@ -218,11 +218,6 @@ static int imx8_pcie_phy_power_on(struct phy *phy)
imx8_phy->base + IMX8MP_PCIE_PHY_TRSV_REG206);
}
- /* Do the PHY common block reset */
- regmap_update_bits(imx8_phy->iomuxc_gpr, IOMUXC_GPR14,
- IMX8MM_GPR_PCIE_CMN_RST,
- IMX8MM_GPR_PCIE_CMN_RST);
-
switch (imx8_phy->drvdata->variant) {
case IMX8MP:
reset_control_deassert(imx8_phy->perst);
@@ -233,6 +228,11 @@ static int imx8_pcie_phy_power_on(struct phy *phy)
break;
}
+ /* Do the PHY common block reset */
+ regmap_update_bits(imx8_phy->iomuxc_gpr, IOMUXC_GPR14,
+ IMX8MM_GPR_PCIE_CMN_RST,
+ IMX8MM_GPR_PCIE_CMN_RST);
+
/* Polling to check the phy is ready or not. */
ret = readl_poll_timeout(imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG075,
val, val == ANA_PLL_DONE, 10, 20000);
--
2.37.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
2024-10-09 3:25 [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check Richard Zhu
@ 2024-10-17 15:04 ` Vinod Koul
2024-10-22 5:31 ` Vinod Koul
1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2024-10-17 15:04 UTC (permalink / raw)
To: Richard Zhu
Cc: kishon, shawnguo, s.hauer, festevam, Frank.Li, marcel.ziswiler,
linux-phy, linux-kernel, linux-arm-kernel, imx, kernel, stable
On 09-10-24, 11:25, Richard Zhu wrote:
> When enable initcall_debug together with higher debug level below.
> CONFIG_CONSOLE_LOGLEVEL_DEFAULT=9
> CONFIG_CONSOLE_LOGLEVEL_QUIET=9
> CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
>
> The initialization of i.MX8MP PCIe PHY might be timeout failed randomly.
> To fix this issue, adjust the sequence of the resets refer to the power
> up sequence listed below.
This fails to apply on the phy/fixes, can you please rebase and send
--
~Vinod
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
2024-10-09 3:25 [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check Richard Zhu
2024-10-17 15:04 ` Vinod Koul
@ 2024-10-22 5:31 ` Vinod Koul
1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2024-10-22 5:31 UTC (permalink / raw)
To: kishon, shawnguo, s.hauer, festevam, Frank.Li, marcel.ziswiler,
Richard Zhu
Cc: linux-phy, linux-kernel, linux-arm-kernel, imx, kernel, stable
On Wed, 09 Oct 2024 11:25:03 +0800, Richard Zhu wrote:
> When enable initcall_debug together with higher debug level below.
> CONFIG_CONSOLE_LOGLEVEL_DEFAULT=9
> CONFIG_CONSOLE_LOGLEVEL_QUIET=9
> CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
>
> The initialization of i.MX8MP PCIe PHY might be timeout failed randomly.
> To fix this issue, adjust the sequence of the resets refer to the power
> up sequence listed below.
>
> [...]
Applied, thanks!
[1/1] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
commit: f89263b69731e0144d275fff777ee0dd92069200
Best regards,
--
~Vinod
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-22 5:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09 3:25 [PATCH] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check Richard Zhu
2024-10-17 15:04 ` Vinod Koul
2024-10-22 5:31 ` Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox