[U-Boot] [PATCH] sunxi: Fix gmac not working due to cpu_eth_init no longer being called

Ian Campbell ijc+uboot at hellion.org.uk
Thu Mar 17 14:21:35 CET 2016


On Thu, 2016-03-17 at 14:02 +0100, Hans de Goede wrote:
> cpu_eth_init is no longer called for dm enabled eth drivers, this
> was causing the sunxi gmac eth controller to no longer work in u-
> boot.
> 
> This commit fixes this by moving the gpio setup to gpio_init() and by
> calling the clock, reset and pinmux setup function from s_init().
> 
> Note that the mdelay is dropped as the phy gets enabled much earlier
> now, so it is no longer needed.

Everything is DM_ETH based now, right? Which is why this final hunk is
OK?

> [...]
> @@ -79,16 +79,4 @@ int sunxi_gmac_initialize(bd_t *bis)
>  	for (pin = SUNXI_GPA(26); pin <= SUNXI_GPA(27); pin++)
>  		sunxi_gpio_set_cfgpin(pin, SUN6I_GPA_GMAC);
>  #endif
> -
> -#ifdef CONFIG_DM_ETH
> -	return 0;
> -#else
> -# ifdef CONFIG_RGMII
> -	return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_RGMII);
> -# elif defined CONFIG_GMII
> -	return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_GMII);
> -# else
> -	return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_MII);
> -# endif
> -#endif
>  }


More information about the U-Boot mailing list