Skip to contentSkip to conversation

blackfin: Initialize the EMAC VLAN with proper default value

PATCH New Sonic Zhang 1 participant 1 message Jan 22, 2014 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 blackfin: Initialize the EMAC VLAN with proper default value

From: Aaron Wu <[email protected]>

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.

---
 arch/blackfin/include/asm/mach-common/bits/emac.h |    3 +++
 drivers/net/bfin_mac.c                            |    2 ++
 2 files changed, 5 insertions(+)
arch/blackfin/include/asm/mach-common/bits/emac.h +3 -0
index 7a43bbb..4c9bc9d 100644
@@ -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
drivers/net/bfin_mac.c +2 -0
index 0ffd59d..42e208c 100644
@@ -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);
Signature · 1 line
1.7.9.5