Message ID | 1451950688-10549-1-git-send-email-festevam@gmail.com |
---|---|
State | Awaiting Upstream |
Delegated to: | Stefano Babic |
Headers | show |
On Mon, Jan 04, 2016 at 09:38:08PM -0200, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@nxp.com> > > Since commit 59370f3fcd1350 ("net: phy: delay only if reset handler is > registered") Ethernet is no longer functional: > > Booting from net ... > FEC Waiting for PHY auto negotiation to complete......... TIMEOUT ! > BOOTP broadcast 1 > BOOTP broadcast 2 > BOOTP broadcast 3 > BOOTP broadcast 4 > > This commit does not have an issue in itself, but it revelead a problem > with the Ethernet initialization. > > As per the AR8035 datasheet: > > "For a reliable power on reset, suggest to keep asserting the reset > low long enough (10ms) to ensure the clock is stable and clock-to-reset > 1ms requirement is satisfied." > > So do as suggested and keep the reset low for 10ms. > > Also add a 100us delay after deasserting the reset line > to guarantee that the PHY ID can be read correctly and the Atheros > PHY can be loaded as per Troy Kisky's suggestion. > > Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Repeated my test from V1, still passes (and takes a while for the initial BOOTP reply): Tested-by: Tom Rini <trini@konsulko.com>
On Mon, Jan 4, 2016 at 10:33 PM, Tom Rini <trini@konsulko.com> wrote: > Repeated my test from V1, still passes (and takes a while for the > initial BOOTP reply): > > Tested-by: Tom Rini <trini@konsulko.com> Thanks for testing it, Tom. Stefano, Please apply this one for 2016.01, thanjs.
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index fc37f1e..18b08d1 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -143,8 +143,9 @@ static void setup_iomux_enet(void) SETUP_IOMUX_PADS(enet_pads); gpio_direction_output(ETH_PHY_RESET, 0); - mdelay(2); + mdelay(10); gpio_set_value(ETH_PHY_RESET, 1); + udelay(100); } int board_phy_config(struct phy_device *phydev)