The reset line going to the ethernet controller is controlled by a global reset controlling multiple peripherals. There is no need to manually invoke the reset.
Signed-off-by: Adam Ford <aford...@gmail.com> diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c index 10031a4801..e799f80d81 100644 --- a/board/logicpd/am3517evm/am3517evm.c +++ b/board/logicpd/am3517evm/am3517evm.c @@ -114,7 +114,6 @@ static void am3517_evm_musb_init(void) */ int misc_init_r(void) { - volatile unsigned int ctr; u32 reset; #if !defined(CONFIG_DM_I2C) @@ -126,35 +125,10 @@ int misc_init_r(void) am3517_evm_musb_init(); - if (gpio_request(PHY_GPIO, "gpio_30") == 0) { - /* activate PHY reset */ - gpio_direction_output(PHY_GPIO, 0); - gpio_set_value(PHY_GPIO, 0); - - ctr = 0; - do { - udelay(1000); - ctr++; - } while (ctr < 300); - - /* deactivate PHY reset */ - gpio_set_value(PHY_GPIO, 1); - - /* allow the PHY to stabilize and settle down */ - ctr = 0; - do { - udelay(1000); - ctr++; - } while (ctr < 300); - - /* ensure that the module is out of reset */ - reset = readl(AM3517_IP_SW_RESET); - reset &= (~CPGMACSS_SW_RST); - writel(reset, AM3517_IP_SW_RESET); - - /* Free requested GPIO */ - gpio_free(PHY_GPIO); - } + /* ensure that the Ethernet module is out of reset */ + reset = readl(AM3517_IP_SW_RESET); + reset &= (~CPGMACSS_SW_RST); + writel(reset, AM3517_IP_SW_RESET); return 0; } -- 2.17.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot