diff --git a/board/sunxi/gmac.c b/board/sunxi/gmac.c index e7ff952..f58c963 100644 --- a/board/sunxi/gmac.c +++ b/board/sunxi/gmac.c @@ -24,6 +24,15 @@ int sunxi_gmac_initialize(bd_t *bis) CCM_GMAC_CTRL_GPIT_MII); #endif + /* + * HdG: this is necessary to get GMAC to work reliable on the + * Bananapi. We don't know what these undocumented bits do, so this + * is a Bananapi specific hack for now. + */ +#ifdef CONFIG_BANANAPI + setbits_le32(&ccm->gmac_clk_cfg, 0x3 << 10); +#endif + /* Configure pin mux settings for GMAC */ for (pin = SUNXI_GPA(0); pin <= SUNXI_GPA(16); pin++) { #ifdef CONFIG_RGMII