diff options
author | Bryan Wu <bryan.wu@analog.com> | 2007-09-19 11:37:36 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:51:50 -0400 |
commit | 4ae5a3ad5aa35972863f9c656ebd35446fbb5192 (patch) | |
tree | 0572d69ffbc64858e86b1a5128380c2138916fa7 /drivers/net/bfin_mac.h | |
parent | 496a34c2249fecc87ee689eede2bb8510c1b37a9 (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.h | 53 |
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 | ||
62 | struct dma_descriptor { | 36 | struct 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 | ||
130 | extern void get_bf537_ether_addr(char *addr); | 95 | extern void get_bf537_ether_addr(char *addr); |