From: Aaron Wu <aaron...@analog.com>

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...@analog.com>
Signed-off-by: Sonic Zhang <sonic.zh...@analog.com>
---
 arch/blackfin/include/asm/mach-common/bits/emac.h |    3 +++
 drivers/net/bfin_mac.c                            |    2 ++
 2 files changed, 5 insertions(+)

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);
-- 
1.7.9.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to