mx6sxsabresd: Fix Ethernet PHY reset sequence
PATCH v2 1/1 mx6sxsabresd: Fix Ethernet PHY reset sequence
From: Fabio Estevam <[email protected]>
Since commit 59370f3fcd1350 ("net: phy: delay only if reset handler is registered") Ethernet is no longer functional.
This commit does not have an issue in itself, but it revelead a problem with the Ethernet initialization.
Fix this by calling enable_fec_anatop_clock() earlier and also by adding a 10ms reset delay as recommended in the AR8031 datasheet.
---
Changes since v1:
- Fix J?rg's email address
board/freescale/mx6sxsabresd/mx6sxsabresd.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
board/freescale/mx6sxsabresd/mx6sxsabresd.c +7 -3
@@ -150,11 +150,15 @@ static int setup_fec(void) {struct iomuxc *iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR ;struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR ; -int reg; +int reg, ret;/* Use 125MHz anatop loopback REF_CLK1 for ENET1 */ clrsetbits_le32 (&iomuxc_regs->gpr[1 ],IOMUX_GPR1_FEC1_MASK ,0 ); + ret =enable_fec_anatop_clock (0 ,ENET_125MHZ ); +if (ret) +return ret; +imx_iomux_v3_setup_multiple_pads (phy_control_pads,ARRAY_SIZE (phy_control_pads));
@@ -163,14 +167,14 @@ static int setup_fec(void)/* Reset AR8031 PHY */ gpio_direction_output (IMX_GPIO_NR (2 ,7 ) ,0 ); -udelay (500 ); +mdelay (10 );gpio_set_value (IMX_GPIO_NR (2 ,7 ),1 ); reg =readl (&anatop->pll_enet); reg |=BM_ANADIG_PLL_ENET_REF_25M_ENABLE ;writel (reg, &anatop->pll_enet); -return enable_fec_anatop_clock (0 ,ENET_125MHZ ); +return 0 ; }int board_eth_init (bd_t *bis)
Signature · 1 line
1.9.1
PATCH v2 1/1 mx6sxsabresd: Fix Ethernet PHY reset sequence
Hi Stefano,
Quoted 5 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
Since commit
59370f3fcd1350("net: phy: delay only if reset handler is registered") Ethernet is no longer functional.
Quoted 8 lines
This commit does not have an issue in itself, but it revelead a problem with the Ethernet initialization.
Fix this by calling
enable_fec_anatop_clock()earlier and also by adding a 10ms reset delay as recommended in the AR8031 datasheet.Suggested-by J?rg Krause <[email protected]>Signed-off-by Fabio Estevam <[email protected]>
Any comments about this one?
Regards,
Fabio Estevam
PATCH v2 1/1 mx6sxsabresd: Fix Ethernet PHY reset sequence
Quoted 14 lines · Fabio Estevam
Hi Stefano,
Quoted 11 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
Since commit
59370f3fcd1350("net: phy: delay only if reset handler is registered") Ethernet is no longer functional.This commit does not have an issue in itself, but it revelead a problem with the Ethernet initialization.
Fix this by calling
enable_fec_anatop_clock()earlier and also by adding a 10ms reset delay as recommended in the AR8031 datasheet.
Quoted 9 lines
Quoted 2 lines
Suggested-by J?rg Krause <[email protected]>Signed-off-by Fabio Estevam <[email protected]>Any comments about this one?
Regards,
Fabio Estevam
Fine with me, and I have not seen any other comments. I am applying it.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================