summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Trumtrar <s.trumtrar@pengutronix.de>2013-04-03 09:55:43 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-04-03 17:21:51 +0200
commit33552e74b416b4b83bd92a7ac3598ab5168707bd (patch)
tree97ac1747e08645058500df13e9b48907c694a339
parent28acd8331de84b4ecb8bc91f56292697bb977b99 (diff)
downloadbarebox-33552e74b416b4b83bd92a7ac3598ab5168707bd.tar.gz
barebox-33552e74b416b4b83bd92a7ac3598ab5168707bd.tar.xz
net: macb: turn off endian_swp_pkt_en
The core has a bit for swapping packet data endianism. Reset default from Cadence is off. Xilinx however, that uses this core on the Zynq SoCs, opted for on. Turn it off for all devices. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/net/macb.c1
-rw-r--r--drivers/net/macb.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 4f91fc6101..b1f544b5ab 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -307,6 +307,7 @@ static void macb_configure_dma(struct macb_device *bp)
dmacfg |= GEM_BF(FBLDO, 16);
dmacfg |= GEM_BIT(TXPBMS) | GEM_BF(RXBMS, -1L);
dmacfg |= GEM_BIT(DDRP);
+ dmacfg &= ~GEM_BIT(ENDIA);
gem_writel(bp, DMACFG, dmacfg);
}
}
diff --git a/drivers/net/macb.h b/drivers/net/macb.h
index cadd5618e6..1be9ff90f2 100644
--- a/drivers/net/macb.h
+++ b/drivers/net/macb.h
@@ -168,6 +168,8 @@
/* Bitfields in DMACFG. */
#define GEM_FBLDO_OFFSET 0
#define GEM_FBLDO_SIZE 5
+#define GEM_ENDIA_OFFSET 7
+#define GEM_ENDIA_SIZE 1
#define GEM_RXBMS_OFFSET 8
#define GEM_RXBMS_SIZE 2
#define GEM_TXPBMS_OFFSET 10