aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bfin_mac.h
diff options
context:
space:
mode:
authorBryan Wu <bryan.wu@analog.com>2007-09-19 11:37:36 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:51:50 -0400
commit4ae5a3ad5aa35972863f9c656ebd35446fbb5192 (patch)
tree0572d69ffbc64858e86b1a5128380c2138916fa7 /drivers/net/bfin_mac.h
parent496a34c2249fecc87ee689eede2bb8510c1b37a9 (diff)
Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver
- add MDIO functions and register mdio bus - add phy abstraction layer (PAL) functions and use PAL API - test on STAMP537 board Signed-off-by: Bryan Wu <bryan.wu@analog.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/bfin_mac.h')
-rw-r--r--drivers/net/bfin_mac.h53
1 files changed, 9 insertions, 44 deletions
diff --git a/drivers/net/bfin_mac.h b/drivers/net/bfin_mac.h
index b82724692283..3a107ad75381 100644
--- a/drivers/net/bfin_mac.h
+++ b/drivers/net/bfin_mac.h
@@ -31,32 +31,6 @@
31 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 31 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32 */ 32 */
33 33
34/*
35 * PHY REGISTER NAMES
36 */
37#define PHYREG_MODECTL 0x0000
38#define PHYREG_MODESTAT 0x0001
39#define PHYREG_PHYID1 0x0002
40#define PHYREG_PHYID2 0x0003
41#define PHYREG_ANAR 0x0004
42#define PHYREG_ANLPAR 0x0005
43#define PHYREG_ANER 0x0006
44#define PHYREG_NSR 0x0010
45#define PHYREG_LBREMR 0x0011
46#define PHYREG_REC 0x0012
47#define PHYREG_10CFG 0x0013
48#define PHYREG_PHY1_1 0x0014
49#define PHYREG_PHY1_2 0x0015
50#define PHYREG_PHY2 0x0016
51#define PHYREG_TW_1 0x0017
52#define PHYREG_TW_2 0x0018
53#define PHYREG_TEST 0x0019
54
55#define PHY_RESET 0x8000
56#define PHY_ANEG_EN 0x1000
57#define PHY_DUPLEX 0x0100
58#define PHY_SPD_SET 0x2000
59
60#define BFIN_MAC_CSUM_OFFLOAD 34#define BFIN_MAC_CSUM_OFFLOAD
61 35
62struct dma_descriptor { 36struct dma_descriptor {
@@ -104,27 +78,18 @@ struct bf537mac_local {
104 * can find out semi-useless statistics of how well the card is 78 * can find out semi-useless statistics of how well the card is
105 * performing 79 * performing
106 */ 80 */
107 int version; 81 struct net_device_stats stats;
108 82
109 int FlowEnabled; /* record if data flow is active */
110 int EtherIntIVG; /* IVG for the ethernet interrupt */
111 int RXIVG; /* IVG for the RX completion */
112 int TXIVG; /* IVG for the TX completion */
113 int PhyAddr; /* PHY address */
114 int OpMode; /* set these bits n the OPMODE regs */
115 int Port10; /* set port speed to 10 Mbit/s */
116 int GenChksums; /* IP checksums to be calculated */
117 int NoRcveLnth; /* dont insert recv length at start of buffer */
118 int StripPads; /* remove trailing pad bytes */
119 int FullDuplex; /* set full duplex mode */
120 int Negotiate; /* enable auto negotiation */
121 int Loopback; /* loopback at the PHY */
122 int Cache; /* Buffers may be cached */
123 int FlowControl; /* flow control active */
124 int CLKIN; /* clock in value in MHZ */
125 unsigned short IntMask; /* interrupt mask */
126 unsigned char Mac[6]; /* MAC address of the board */ 83 unsigned char Mac[6]; /* MAC address of the board */
127 spinlock_t lock; 84 spinlock_t lock;
85
86 /* MII and PHY stuffs */
87 int old_link; /* used by bf537_adjust_link */
88 int old_speed;
89 int old_duplex;
90
91 struct phy_device *phydev;
92 struct mii_bus mii_bus;
128}; 93};
129 94
130extern void get_bf537_ether_addr(char *addr); 95extern void get_bf537_ether_addr(char *addr);