36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
In order for the gmac nic to work reliable on the Bananapi, we need to poke
|
|
these 2 undocumented bits in the gmac clk register. Since these are
|
|
undocumented, this commit only sets these bits on the Bananapi for now.
|
|
|
|
I'll contact Allwinner to try and get these bits documented, once they
|
|
are documented we can hopefully replace this hack with a better patch.
|
|
|
|
Reported-by: Karsten Merker <merker at debian.org>
|
|
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
|
|
---
|
|
board/sunxi/gmac.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
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
|
|
--
|
|
2.1.0
|