diff options
author | Manuel Lauss <manuel.lauss@gmail.com> | 2014-07-23 10:36:22 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-07-30 07:50:19 -0400 |
commit | fb1a7602dde1c82f08ba1ec997ac87af06e946e6 (patch) | |
tree | 3485618f58bb5d1b5faba573e879bbeca34f25d4 /drivers/net | |
parent | 1341a826c70fab298d4fd0a81a276ddc4c6f9d65 (diff) |
MIPS: Alchemy: move ethernet registers to ethernet driver
Move the register offsets and bit descriptions from the au1000.h header
to their only user, the au1000_eth.c driver.
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: netdev@vger.kernel.org
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/7460/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/amd/au1000_eth.c | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amd/au1000_eth.c b/drivers/net/ethernet/amd/au1000_eth.c index a78e4c136959..ad8b058c8068 100644 --- a/drivers/net/ethernet/amd/au1000_eth.c +++ b/drivers/net/ethernet/amd/au1000_eth.c | |||
@@ -89,6 +89,124 @@ MODULE_DESCRIPTION(DRV_DESC); | |||
89 | MODULE_LICENSE("GPL"); | 89 | MODULE_LICENSE("GPL"); |
90 | MODULE_VERSION(DRV_VERSION); | 90 | MODULE_VERSION(DRV_VERSION); |
91 | 91 | ||
92 | /* AU1000 MAC registers and bits */ | ||
93 | #define MAC_CONTROL 0x0 | ||
94 | # define MAC_RX_ENABLE (1 << 2) | ||
95 | # define MAC_TX_ENABLE (1 << 3) | ||
96 | # define MAC_DEF_CHECK (1 << 5) | ||
97 | # define MAC_SET_BL(X) (((X) & 0x3) << 6) | ||
98 | # define MAC_AUTO_PAD (1 << 8) | ||
99 | # define MAC_DISABLE_RETRY (1 << 10) | ||
100 | # define MAC_DISABLE_BCAST (1 << 11) | ||
101 | # define MAC_LATE_COL (1 << 12) | ||
102 | # define MAC_HASH_MODE (1 << 13) | ||
103 | # define MAC_HASH_ONLY (1 << 15) | ||
104 | # define MAC_PASS_ALL (1 << 16) | ||
105 | # define MAC_INVERSE_FILTER (1 << 17) | ||
106 | # define MAC_PROMISCUOUS (1 << 18) | ||
107 | # define MAC_PASS_ALL_MULTI (1 << 19) | ||
108 | # define MAC_FULL_DUPLEX (1 << 20) | ||
109 | # define MAC_NORMAL_MODE 0 | ||
110 | # define MAC_INT_LOOPBACK (1 << 21) | ||
111 | # define MAC_EXT_LOOPBACK (1 << 22) | ||
112 | # define MAC_DISABLE_RX_OWN (1 << 23) | ||
113 | # define MAC_BIG_ENDIAN (1 << 30) | ||
114 | # define MAC_RX_ALL (1 << 31) | ||
115 | #define MAC_ADDRESS_HIGH 0x4 | ||
116 | #define MAC_ADDRESS_LOW 0x8 | ||
117 | #define MAC_MCAST_HIGH 0xC | ||
118 | #define MAC_MCAST_LOW 0x10 | ||
119 | #define MAC_MII_CNTRL 0x14 | ||
120 | # define MAC_MII_BUSY (1 << 0) | ||
121 | # define MAC_MII_READ 0 | ||
122 | # define MAC_MII_WRITE (1 << 1) | ||
123 | # define MAC_SET_MII_SELECT_REG(X) (((X) & 0x1f) << 6) | ||
124 | # define MAC_SET_MII_SELECT_PHY(X) (((X) & 0x1f) << 11) | ||
125 | #define MAC_MII_DATA 0x18 | ||
126 | #define MAC_FLOW_CNTRL 0x1C | ||
127 | # define MAC_FLOW_CNTRL_BUSY (1 << 0) | ||
128 | # define MAC_FLOW_CNTRL_ENABLE (1 << 1) | ||
129 | # define MAC_PASS_CONTROL (1 << 2) | ||
130 | # define MAC_SET_PAUSE(X) (((X) & 0xffff) << 16) | ||
131 | #define MAC_VLAN1_TAG 0x20 | ||
132 | #define MAC_VLAN2_TAG 0x24 | ||
133 | |||
134 | /* Ethernet Controller Enable */ | ||
135 | # define MAC_EN_CLOCK_ENABLE (1 << 0) | ||
136 | # define MAC_EN_RESET0 (1 << 1) | ||
137 | # define MAC_EN_TOSS (0 << 2) | ||
138 | # define MAC_EN_CACHEABLE (1 << 3) | ||
139 | # define MAC_EN_RESET1 (1 << 4) | ||
140 | # define MAC_EN_RESET2 (1 << 5) | ||
141 | # define MAC_DMA_RESET (1 << 6) | ||
142 | |||
143 | /* Ethernet Controller DMA Channels */ | ||
144 | /* offsets from MAC_TX_RING_ADDR address */ | ||
145 | #define MAC_TX_BUFF0_STATUS 0x0 | ||
146 | # define TX_FRAME_ABORTED (1 << 0) | ||
147 | # define TX_JAB_TIMEOUT (1 << 1) | ||
148 | # define TX_NO_CARRIER (1 << 2) | ||
149 | # define TX_LOSS_CARRIER (1 << 3) | ||
150 | # define TX_EXC_DEF (1 << 4) | ||
151 | # define TX_LATE_COLL_ABORT (1 << 5) | ||
152 | # define TX_EXC_COLL (1 << 6) | ||
153 | # define TX_UNDERRUN (1 << 7) | ||
154 | # define TX_DEFERRED (1 << 8) | ||
155 | # define TX_LATE_COLL (1 << 9) | ||
156 | # define TX_COLL_CNT_MASK (0xF << 10) | ||
157 | # define TX_PKT_RETRY (1 << 31) | ||
158 | #define MAC_TX_BUFF0_ADDR 0x4 | ||
159 | # define TX_DMA_ENABLE (1 << 0) | ||
160 | # define TX_T_DONE (1 << 1) | ||
161 | # define TX_GET_DMA_BUFFER(X) (((X) >> 2) & 0x3) | ||
162 | #define MAC_TX_BUFF0_LEN 0x8 | ||
163 | #define MAC_TX_BUFF1_STATUS 0x10 | ||
164 | #define MAC_TX_BUFF1_ADDR 0x14 | ||
165 | #define MAC_TX_BUFF1_LEN 0x18 | ||
166 | #define MAC_TX_BUFF2_STATUS 0x20 | ||
167 | #define MAC_TX_BUFF2_ADDR 0x24 | ||
168 | #define MAC_TX_BUFF2_LEN 0x28 | ||
169 | #define MAC_TX_BUFF3_STATUS 0x30 | ||
170 | #define MAC_TX_BUFF3_ADDR 0x34 | ||
171 | #define MAC_TX_BUFF3_LEN 0x38 | ||
172 | |||
173 | /* offsets from MAC_RX_RING_ADDR */ | ||
174 | #define MAC_RX_BUFF0_STATUS 0x0 | ||
175 | # define RX_FRAME_LEN_MASK 0x3fff | ||
176 | # define RX_WDOG_TIMER (1 << 14) | ||
177 | # define RX_RUNT (1 << 15) | ||
178 | # define RX_OVERLEN (1 << 16) | ||
179 | # define RX_COLL (1 << 17) | ||
180 | # define RX_ETHER (1 << 18) | ||
181 | # define RX_MII_ERROR (1 << 19) | ||
182 | # define RX_DRIBBLING (1 << 20) | ||
183 | # define RX_CRC_ERROR (1 << 21) | ||
184 | # define RX_VLAN1 (1 << 22) | ||
185 | # define RX_VLAN2 (1 << 23) | ||
186 | # define RX_LEN_ERROR (1 << 24) | ||
187 | # define RX_CNTRL_FRAME (1 << 25) | ||
188 | # define RX_U_CNTRL_FRAME (1 << 26) | ||
189 | # define RX_MCAST_FRAME (1 << 27) | ||
190 | # define RX_BCAST_FRAME (1 << 28) | ||
191 | # define RX_FILTER_FAIL (1 << 29) | ||
192 | # define RX_PACKET_FILTER (1 << 30) | ||
193 | # define RX_MISSED_FRAME (1 << 31) | ||
194 | |||
195 | # define RX_ERROR (RX_WDOG_TIMER | RX_RUNT | RX_OVERLEN | \ | ||
196 | RX_COLL | RX_MII_ERROR | RX_CRC_ERROR | \ | ||
197 | RX_LEN_ERROR | RX_U_CNTRL_FRAME | RX_MISSED_FRAME) | ||
198 | #define MAC_RX_BUFF0_ADDR 0x4 | ||
199 | # define RX_DMA_ENABLE (1 << 0) | ||
200 | # define RX_T_DONE (1 << 1) | ||
201 | # define RX_GET_DMA_BUFFER(X) (((X) >> 2) & 0x3) | ||
202 | # define RX_SET_BUFF_ADDR(X) ((X) & 0xffffffc0) | ||
203 | #define MAC_RX_BUFF1_STATUS 0x10 | ||
204 | #define MAC_RX_BUFF1_ADDR 0x14 | ||
205 | #define MAC_RX_BUFF2_STATUS 0x20 | ||
206 | #define MAC_RX_BUFF2_ADDR 0x24 | ||
207 | #define MAC_RX_BUFF3_STATUS 0x30 | ||
208 | #define MAC_RX_BUFF3_ADDR 0x34 | ||
209 | |||
92 | /* | 210 | /* |
93 | * Theory of operation | 211 | * Theory of operation |
94 | * | 212 | * |