aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch
diff options
context:
space:
mode:
authorZoltan Herpai <wigyori@uid0.hu>2014-09-28 20:39:04 +0000
committerZoltan Herpai <wigyori@uid0.hu>2014-09-28 20:39:04 +0000
commitb595d02fa7a78400afe5429667e3ca8ea1d15cbb (patch)
treee939078b9d40df01e94f066fb0bad6cdf24b770e /package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch
parenta6616a6e48798449c3f05ee976d912e74dfd3d60 (diff)
downloadupstream-b595d02fa7a78400afe5429667e3ca8ea1d15cbb.tar.gz
upstream-b595d02fa7a78400afe5429667e3ca8ea1d15cbb.tar.bz2
upstream-b595d02fa7a78400afe5429667e3ca8ea1d15cbb.zip
uboot-sunxi: add patch to fix gmac reliability issue on bananapi
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> SVN-Revision: 42691
Diffstat (limited to 'package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch')
-rw-r--r--package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch20
1 files changed, 20 insertions, 0 deletions
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
index 0000000000..6bc8c93902
--- /dev/null
+++ b/package/boot/uboot-sunxi/patches/003-uboot-fix-gmac-not-working-reliable-on-bananapi.patch
@@ -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