summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/davicom/dm9000.h
diff options
context:
space:
mode:
authorJoseph CHANG <josright123@gmail.com>2013-03-28 23:13:42 +0000
committerDavid S. Miller <davem@davemloft.net>2013-03-31 19:43:23 -0400
commit6741f40d198c6a5feb23653a1efd4ca47f93d83d (patch)
tree99fd67ba30de5f59d1099e1f18c75247da21973d /drivers/net/ethernet/davicom/dm9000.h
parent3340d2aae3433ad9147f6bf0adc452b324e31591 (diff)
DM9000B: driver initialization upgrade
Fix bug for DM9000 revision B which contain a DSP PHY DM9000B use DSP PHY instead previouse DM9000 revisions' analog PHY, So need extra change in initialization, For explicity PHY Reset and PHY init parameter, and first DM9000_NCR reset need NCR_MAC_LBK bit by dm9000_probe(). Following DM9000_NCR reset cause by dm9000_open() clear the NCR_MAC_LBK bit. Without this fix, Power-up FIFO pointers error happen around 2% rate among Davicom's customers' boards. With this fix, All above cases can be solved. Signed-off-by: Joseph CHANG <josright123@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/davicom/dm9000.h')
-rw-r--r--drivers/net/ethernet/davicom/dm9000.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/ethernet/davicom/dm9000.h b/drivers/net/ethernet/davicom/dm9000.h
index 55688bd1a3e..9ce058adaba 100644
--- a/drivers/net/ethernet/davicom/dm9000.h
+++ b/drivers/net/ethernet/davicom/dm9000.h
@@ -69,7 +69,9 @@
#define NCR_WAKEEN (1<<6)
#define NCR_FCOL (1<<4)
#define NCR_FDX (1<<3)
-#define NCR_LBK (3<<1)
+
+#define NCR_RESERVED (3<<1)
+#define NCR_MAC_LBK (1<<1)
#define NCR_RST (1<<0)
#define NSR_SPEED (1<<7)
@@ -167,5 +169,12 @@
#define ISR_LNKCHNG (1<<5)
#define ISR_UNDERRUN (1<<4)
+/* Davicom MII registers.
+ */
+
+#define MII_DM_DSPCR 0x1b /* DSP Control Register */
+
+#define DSPCR_INIT_PARAM 0xE100 /* DSP init parameter */
+
#endif /* _DM9000X_H_ */