uboot-sunxi: add patch to fix gmac reliability issue on bananapi
authorwigyori <wigyori@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 28 Sep 2014 20:39:04 +0000 (20:39 +0000)
committerwigyori <wigyori@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 28 Sep 2014 20:39:04 +0000 (20:39 +0000)
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42691 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch [new file with mode: 0644]

diff --git a/package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch b/package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch
new file mode 100644 (file)
index 0000000..6bc8c93
--- /dev/null
@@ -0,0 +1,20 @@
+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