Message ID | 20210625121353.3698240-1-maxime.chevallier@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms | expand |
On Fri, Jun 25, 2021 at 02:13:53PM +0200, Maxime Chevallier wrote: > The AR803x PHY used on this modules seems to require the reset line to > be asserted for around 10ms in order to avoid rare cases where the PHY > gets stuck in an incoherent state that prevents it to function > correctly. > > The previous value of 2ms was found to be problematic on some setups, > causing intermittent issues where the PHY would be unresponsive > every once in a while on some sytems, with a low occurrence (it typically > took around 30 consecutive reboots to encounter the issue). > > Bumping the delay to the 10ms makes the issue dissapear, with more than > 2500 consecutive reboots performed without the issue showing-up. > > Fixes: 208d7baf8085 ("ARM: imx: initial SolidRun HummingBoard support") > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> > Tested-by: Hervé Codina <herve.codina@bootlin.com> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Thanks!
On Fri, Jun 25, 2021 at 02:13:53PM +0200, Maxime Chevallier wrote: > The AR803x PHY used on this modules seems to require the reset line to > be asserted for around 10ms in order to avoid rare cases where the PHY > gets stuck in an incoherent state that prevents it to function > correctly. > > The previous value of 2ms was found to be problematic on some setups, > causing intermittent issues where the PHY would be unresponsive > every once in a while on some sytems, with a low occurrence (it typically > took around 30 consecutive reboots to encounter the issue). > > Bumping the delay to the 10ms makes the issue dissapear, with more than > 2500 consecutive reboots performed without the issue showing-up. > > Fixes: 208d7baf8085 ("ARM: imx: initial SolidRun HummingBoard support") > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> > Tested-by: Hervé Codina <herve.codina@bootlin.com> Applied, thanks.
diff --git a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi index 0ad8ccde0cf8..f86efd0ccc40 100644 --- a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi @@ -54,7 +54,13 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_microsom_enet_ar8035>; phy-mode = "rgmii-id"; - phy-reset-duration = <2>; + + /* + * The PHY seems to require a long-enough reset duration to avoid + * some rare issues where the PHY gets stuck in an inconsistent and + * non-functional state at boot-up. 10ms proved to be fine . + */ + phy-reset-duration = <10>; phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; status = "okay";