summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Wu <Aaron.Wu@analog.com>2011-11-23 11:23:56 +0800
committerSonic Zhang <sonic.zhang@analog.com>2014-02-07 11:18:06 +0800
commit819ca38fa70da85a14b4328d1511146e6c59eb32 (patch)
tree5f7632e05f885d49c8acfd0d7f43f0c8b935b035
parent861aa63d6b914006256a283a5276b245b6f71a64 (diff)
downloadu-boot-imx-819ca38fa70da85a14b4328d1511146e6c59eb32.zip
u-boot-imx-819ca38fa70da85a14b4328d1511146e6c59eb32.tar.gz
u-boot-imx-819ca38fa70da85a14b4328d1511146e6c59eb32.tar.bz2
blackfin: Initialize the EMAC VLAN with proper default value
EMAC_VLANx regs is not properly initiallized in u-boot, once it's overwrite in the kernel when DSA enabled, hot reset will lead to bringing up EMAC fail in u-boot. Signed-off-by: Aaron Wu <Aaron.Wu@analog.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
-rw-r--r--arch/blackfin/include/asm/mach-common/bits/emac.h3
-rw-r--r--drivers/net/bfin_mac.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/mach-common/bits/emac.h b/arch/blackfin/include/asm/mach-common/bits/emac.h
index 7a43bbb..4c9bc9d 100644
--- a/arch/blackfin/include/asm/mach-common/bits/emac.h
+++ b/arch/blackfin/include/asm/mach-common/bits/emac.h
@@ -217,4 +217,7 @@
#define TX_GE1024_CNT 0x00200000 /* 1024-Max-Byte TX Frames Sent */
#define TX_ABORT_CNT 0x00400000 /* TX Frames Aborted */
+/*default value for EMAC_VLANx reg*/
+#define EMAC_VLANX_DEF_VAL 0xFFFF
+
#endif
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 0ffd59d..42e208c 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -259,6 +259,8 @@ static int bfin_miiphy_init(struct eth_device *dev, int *opmode)
*opmode = 0;
bfin_write_EMAC_MMC_CTL(RSTC | CROLL);
+ bfin_write_EMAC_VLAN1(EMAC_VLANX_DEF_VAL);
+ bfin_write_EMAC_VLAN2(EMAC_VLANX_DEF_VAL);
/* Initialize the TX DMA channel registers */
bfin_write_DMA2_X_COUNT(0);