35 #include "sys_config.h"
139 #define ENET_MAC1_MASK 0xcf1f
140 #define ENET_MAC1_RXENABLE 0x00000001
141 #define ENET_MAC1_PARF 0x00000002
142 #define ENET_MAC1_RXFLOWCTRL 0x00000004
143 #define ENET_MAC1_TXFLOWCTRL 0x00000008
144 #define ENET_MAC1_LOOPBACK 0x00000010
145 #define ENET_MAC1_RESETTX 0x00000100
146 #define ENET_MAC1_RESETMCSTX 0x00000200
147 #define ENET_MAC1_RESETRX 0x00000400
148 #define ENET_MAC1_RESETMCSRX 0x00000800
149 #define ENET_MAC1_SIMRESET 0x00004000
150 #define ENET_MAC1_SOFTRESET 0x00008000
155 #define ENET_MAC2_MASK 0x73ff
156 #define ENET_MAC2_FULLDUPLEX 0x00000001
157 #define ENET_MAC2_FLC 0x00000002
158 #define ENET_MAC2_HFEN 0x00000004
159 #define ENET_MAC2_DELAYEDCRC 0x00000008
160 #define ENET_MAC2_CRCEN 0x00000010
161 #define ENET_MAC2_PADCRCEN 0x00000020
162 #define ENET_MAC2_VLANPADEN 0x00000040
163 #define ENET_MAC2_AUTODETPADEN 0x00000080
164 #define ENET_MAC2_PPENF 0x00000100
165 #define ENET_MAC2_LPENF 0x00000200
166 #define ENET_MAC2_NOBACKOFF 0x00001000
167 #define ENET_MAC2_BP_NOBACKOFF 0x00002000
168 #define ENET_MAC2_EXCESSDEFER 0x00004000
175 #define ENET_IPGT_BTOBINTEGAP(n) ((n) & 0x7F)
180 #define ENET_IPGT_FULLDUPLEX (ENET_IPGT_BTOBINTEGAP(0x15))
185 #define ENET_IPGT_HALFDUPLEX (ENET_IPGT_BTOBINTEGAP(0x12))
192 #define ENET_IPGR_NBTOBINTEGAP2(n) ((n) & 0x7F)
195 #define ENET_IPGR_P2_DEF (ENET_IPGR_NBTOBINTEGAP2(0x12))
199 #define ENET_IPGR_NBTOBINTEGAP1(n) (((n) & 0x7F) << 8)
202 #define ENET_IPGR_P1_DEF ENET_IPGR_NBTOBINTEGAP1(0x0C)
209 #define ENET_CLRT_RETRANSMAX(n) ((n) & 0x0F)
213 #define ENET_CLRT_COLLWIN(n) (((n) & 0x3F) << 8)
216 #define ENET_CLRT_DEF ((ENET_CLRT_RETRANSMAX(0x0F)) | (ENET_CLRT_COLLWIN(0x37)))
222 #define ENET_MAXF_MAXFLEN(n) ((n) & 0xFFFF)
223 #define ENET_MAXF_MAXFLEN_DEF (0x600)
226 #define ENET_SUPP_100Mbps_SPEED 0x00000100
231 #define ENET_TEST_SCPQ 0x00000001
232 #define ENET_TEST_TESTPAUSE 0x00000002
233 #define ENET_TEST_TESTBP 0x00000004
238 #define ENET_MCFG_SCANINC 0x00000001
239 #define ENET_MCFG_SUPPPREAMBLE 0x00000002
240 #define ENET_MCFG_CLOCKSEL(n) (((n) & 0x0F) << 2)
241 #define ENET_MCFG_RES_MII 0x00008000
242 #define ENET_MCFG_RESETMIIMGMT 2500000UL
247 #define ENET_MCMD_READ 0x00000001
248 #define ENET_MCMD_SCAN 0x00000002
249 #define ENET_MII_WR_TOUT 0x00050000
250 #define ENET_MII_RD_TOUT 0x00050000
255 #define ENET_MADR_REGADDR(n) ((n) & 0x1F)
256 #define ENET_MADR_PHYADDR(n) (((n) & 0x1F) << 8)
261 #define ENET_MWTD_DATA(n) ((n) & 0xFFFF)
266 #define ENET_MRDD_DATA(n) ((n) & 0xFFFF)
271 #define ENET_MIND_BUSY 0x00000001
272 #define ENET_MIND_SCANNING 0x00000002
273 #define ENET_MIND_NOTVALID 0x00000004
274 #define ENET_MIND_MIILINKFAIL 0x00000008
279 #define ENET_COMMAND_RXENABLE 0x00000001
280 #define ENET_COMMAND_TXENABLE 0x00000002
281 #define ENET_COMMAND_REGRESET 0x00000008
282 #define ENET_COMMAND_TXRESET 0x00000010
283 #define ENET_COMMAND_RXRESET 0x00000020
284 #define ENET_COMMAND_PASSRUNTFRAME 0x00000040
285 #define ENET_COMMAND_PASSRXFILTER 0x00000080
286 #define ENET_COMMAND_TXFLOWCONTROL 0x00000100
287 #define ENET_COMMAND_RMII 0x00000200
288 #define ENET_COMMAND_FULLDUPLEX 0x00000400
293 #define ENET_STATUS_RXSTATUS 0x00000001
294 #define ENET_STATUS_TXSTATUS 0x00000002
299 #define ENET_TSV0_CRCERR 0x00000001
300 #define ENET_TSV0_LCE 0x00000002
301 #define ENET_TSV0_LOR 0x00000004
302 #define ENET_TSV0_DONE 0x00000008
303 #define ENET_TSV0_MULTICAST 0x00000010
304 #define ENET_TSV0_BROADCAST 0x00000020
305 #define ENET_TSV0_PACKETDEFER 0x00000040
306 #define ENET_TSV0_EXDF 0x00000080
307 #define ENET_TSV0_EXCOL 0x00000100
308 #define ENET_TSV0_LCOL 0x00000200
309 #define ENET_TSV0_GIANT 0x00000400
310 #define ENET_TSV0_UNDERRUN 0x00000800
311 #define ENET_TSV0_TOTALBYTES 0x0FFFF000
312 #define ENET_TSV0_CONTROLFRAME 0x10000000
313 #define ENET_TSV0_PAUSE 0x20000000
314 #define ENET_TSV0_BACKPRESSURE 0x40000000
315 #define ENET_TSV0_VLAN 0x80000000
320 #define ENET_TSV1_TBC 0x0000FFFF
321 #define ENET_TSV1_TCC 0x000F0000
326 #define ENET_RSV_RBC 0x0000FFFF
327 #define ENET_RSV_PPI 0x00010000
328 #define ENET_RSV_RXDVSEEN 0x00020000
329 #define ENET_RSV_CESEEN 0x00040000
330 #define ENET_RSV_RCV 0x00080000
331 #define ENET_RSV_CRCERR 0x00100000
332 #define ENET_RSV_LCERR 0x00200000
333 #define ENET_RSV_LOR 0x00400000
334 #define ENET_RSV_ROK 0x00800000
335 #define ENET_RSV_MULTICAST 0x01000000
336 #define ENET_RSV_BROADCAST 0x02000000
337 #define ENET_RSV_DRIBBLENIBBLE 0x04000000
338 #define ENET_RSV_CONTROLFRAME 0x08000000
339 #define ENET_RSV_PAUSE 0x10000000
340 #define ENET_RSV_UO 0x20000000
341 #define ENET_RSV_VLAN 0x40000000
346 #define ENET_FLOWCONTROLCOUNTER_MC(n) ((n) & 0xFFFF)
347 #define ENET_FLOWCONTROLCOUNTER_PT(n) (((n) & 0xFFFF) << 16)
352 #define ENET_FLOWCONTROLSTATUS_MCC(n) ((n) & 0xFFFF)
357 #define ENET_RXFILTERCTRL_AUE 0x00000001
358 #define ENET_RXFILTERCTRL_ABE 0x00000002
359 #define ENET_RXFILTERCTRL_AME 0x00000004
360 #define ENET_RXFILTERCTRL_AUHE 0x00000008
361 #define ENET_RXFILTERCTRL_AMHE 0x00000010
362 #define ENET_RXFILTERCTRL_APE 0x00000020
363 #define ENET_RXFILTERCTRL_MPEW 0x00001000
364 #define ENET_RXFILTERCTRL_RFEW 0x00002000
369 #define ENET_RXFILTERWOLSTATUS_AUW 0x00000001
370 #define ENET_RXFILTERWOLSTATUS_ABW 0x00000002
371 #define ENET_RXFILTERWOLSTATUS_AMW 0x00000004
372 #define ENET_RXFILTERWOLSTATUS_AUHW 0x00000008
373 #define ENET_RXFILTERWOLSTATUS_AMHW 0x00000010
374 #define ENET_RXFILTERWOLSTATUS_APW 0x00000020
375 #define ENET_RXFILTERWOLSTATUS_RFW 0x00000080
376 #define ENET_RXFILTERWOLSTATUS_MPW 0x00000100
377 #define ENET_RXFILTERWOLSTATUS_BITMASK 0x01BF
382 #define ENET_INT_RXOVERRUN 0x00000001
383 #define ENET_INT_RXERROR 0x00000002
384 #define ENET_INT_RXFINISHED 0x00000004
385 #define ENET_INT_RXDONE 0x00000008
386 #define ENET_INT_TXUNDERRUN 0x00000010
387 #define ENET_INT_TXERROR 0x00000020
388 #define ENET_INT_TXFINISHED 0x00000040
389 #define ENET_INT_TXDONE 0x00000080
390 #define ENET_INT_SOFT 0x00001000
391 #define ENET_INT_WAKEUP 0x00002000
396 #define ENET_POWERDOWN_PD 0x80000000
409 #define ENET_RCTRL_SIZE(n) (((n) - 1) & 0x7FF)
410 #define ENET_RCTRL_INT 0x80000000
424 #define ENET_RHASH_SA 0x000001FF
425 #define ENET_RHASH_DA 0x001FF000
428 #define ENET_RINFO_SIZE(n) (((n) & 0x7FF) + 1)
429 #define ENET_RINFO_CTRL_FRAME 0x00040000
430 #define ENET_RINFO_VLAN 0x00080000
431 #define ENET_RINFO_FAIL_FILT 0x00100000
432 #define ENET_RINFO_MCAST 0x00200000
433 #define ENET_RINFO_BCAST 0x00400000
434 #define ENET_RINFO_CRC_ERR 0x00800000
435 #define ENET_RINFO_SYM_ERR 0x01000000
436 #define ENET_RINFO_LEN_ERR 0x02000000
437 #define ENET_RINFO_RANGE_ERR 0x04000000
438 #define ENET_RINFO_ALIGN_ERR 0x08000000
439 #define ENET_RINFO_OVERRUN 0x10000000
440 #define ENET_RINFO_NO_DESCR 0x20000000
441 #define ENET_RINFO_LAST_FLAG 0x40000000
442 #define ENET_RINFO_ERR 0x80000000
444 #define ENET_RINFO_ERR_MASK (ENET_RINFO_FAIL_FILT | ENET_RINFO_CRC_ERR | ENET_RINFO_SYM_ERR | \
445 ENET_RINFO_LEN_ERR | ENET_RINFO_ALIGN_ERR | ENET_RINFO_OVERRUN)
458 #define ENET_TCTRL_SIZE(n) (((n) - 1) & 0x7FF)
459 #define ENET_TCTRL_OVERRIDE 0x04000000
460 #define ENET_TCTRL_HUGE 0x08000000
461 #define ENET_TCTRL_PAD 0x10000000
462 #define ENET_TCTRL_CRC 0x20000000
463 #define ENET_TCTRL_LAST 0x40000000
464 #define ENET_TCTRL_INT 0x80000000
474 #define ENET_TINFO_COL_CNT 0x01E00000
475 #define ENET_TINFO_DEFER 0x02000000
476 #define ENET_TINFO_EXCESS_DEF 0x04000000
477 #define ENET_TINFO_EXCESS_COL 0x08000000
478 #define ENET_TINFO_LATE_COL 0x10000000
479 #define ENET_TINFO_UNDERRUN 0x20000000
480 #define ENET_TINFO_NO_DESCR 0x40000000
481 #define ENET_TINFO_ERR 0x80000000
486 #define ENET_ETH_MAX_FLEN (1536)
491 typedef enum IP_ENET_002_BUFF_STATUS {