1 /***************************************************************************//**
\r
3 * SmartFusion MSS Ethernet MAC registers.
\r
5 * (c) Copyright 2007 Actel Corporation
\r
7 * IP core registers definitions. This file contains the definitions required
\r
8 * for accessing the IP core through the hardware abstraction layer (HAL).
\r
9 * This file was automatically generated, using "get_header.exe" version 0.4.0,
\r
10 * from the IP-XACT description for:
\r
13 * SVN $Revision: 2364 $
\r
14 * SVN $Date: 2010-03-01 17:58:41 +0000 (Mon, 01 Mar 2010) $
\r
16 *******************************************************************************/
\r
17 #ifndef MSS_ETHERNET_MAC_REGISTERS_H_
\r
18 #define MSS_ETHERNET_MAC_REGISTERS_H_
\r
24 #include "../../CMSIS/a2fxxxm3.h"
\r
25 #include "mss_ethernet_mac.h"
\r
26 #include "mss_ethernet_mac_user_cfg.h"
\r
28 typedef uint32_t addr_t;
\r
31 /***************************************************************************//**
\r
32 * Descriptor structure
\r
35 volatile uint32_t descriptor_0;
\r
36 volatile uint32_t descriptor_1;
\r
37 volatile uint32_t buffer_1;
\r
38 volatile uint32_t buffer_2;
\r
42 /***************************************************************************//**
\r
43 * There should be one instance of this structure for each instance of
\r
44 * the MAC in your system. MSS_MAC_init routine initializes this structure.
\r
45 * It is used to identify the various MACs in your system and an initilized
\r
46 * MAC instance's structure should be passed as first parameter to MAC functions
\r
47 * to identify which MAC should perform the requested operation.
\r
48 * Software using the MAC driver should only need to create one single
\r
49 * instance of this data structure for each MAC hardware instance in
\r
50 * the system. Using MAC_get_configuration routine, latest status of the driver
\r
51 * may be read by receiving its flags field, similarly MAC_configure routine lets
\r
52 * you modify some of these flags.
\r
54 #include "net/pack_struct_start.h"
\r
56 addr_t base_address; /**< Register base address of the driver*/
\r
57 uint8_t flags; /**< Configuration of the driver*/
\r
58 int8_t last_error; /**< Index of last error happened inside the driver*/
\r
59 uint8_t mac_address[6]; /**< MAC address of the drived instance*/
\r
60 uint8_t mac_filter_data[90]; /**< MAC filter data, 15 addresses to be used for
\r
61 received data filtering*/
\r
62 uint16_t last_timer_value; /**< Last read value of timer */
\r
63 uint32_t time_out_value; /**< Time out value */
\r
64 MSS_MAC_callback_t listener; /**< Pointer to the call-back function to be triggered
\r
65 when a package is received*/
\r
67 /* transmit related info: */
\r
68 uint32_t tx_desc_index; /**< index of the transmit descriptor getting used*/
\r
69 // uint8_t tx_buffers[TX_RING_SIZE][MSS_TX_BUFF_SIZE];/**< array of transmit buffers*/
\r
70 MAC_descriptor_t tx_descriptors[TX_RING_SIZE];/**< array of transmit descriptors*/
\r
72 /* receive related info: */
\r
73 uint32_t rx_desc_index; /**< index of the receive descriptor getting used*/
\r
74 // uint8_t rx_buffers[RX_RING_SIZE][MSS_RX_BUFF_SIZE+4];/**< array of receive buffers*/
\r
75 MAC_descriptor_t rx_descriptors[RX_RING_SIZE];/**< array of receive descriptors*/
\r
77 uint8_t phy_address; /**< MII address of the connected PHY*/
\r
80 uint32_t rx_interrupts; /**< Number of receive interrupts occurred.*/
\r
81 uint32_t rx_filtering_fail; /**< Number of received frames which did not pass
\r
82 the address recognition process.*/
\r
83 uint32_t rx_descriptor_error; /**< Number of occurrences of; no receive buffer was
\r
84 available when trying to store the received data.*/
\r
85 uint32_t rx_runt_frame; /**< Number of occurrences of; the frame is damaged by
\r
86 a collision or by a premature termination before
\r
87 the end of a collision window.*/
\r
88 uint32_t rx_not_first; /**< Number of occurrences of; start of the frame is
\r
89 not the first descriptor of a frame.*/
\r
90 uint32_t rx_not_last; /**< Number of occurrences of; end of the frame is not
\r
91 the first descriptor of a frame.*/
\r
92 uint32_t rx_frame_too_long; /**< Number of occurrences of; a current frame is
\r
93 longer than maximum size of 1,518 bytes, as specified
\r
95 uint32_t rx_collision_seen; /**< Number of occurrences of; a late collision was seen
\r
96 (collision after 64 bytes following SFD).*/
\r
97 uint32_t rx_crc_error; /**< Number of occurrences of; a CRC error has occurred
\r
98 in the received frame.*/
\r
99 uint32_t rx_fifo_overflow; /**< Number of frames not accepted due to the receive
\r
101 uint32_t rx_missed_frame; /**< Number of frames not accepted due to the
\r
102 unavailability of the receive descriptor.*/
\r
104 uint32_t tx_interrupts; /**< Number of transmit interrupts occurred.*/
\r
105 uint32_t tx_loss_of_carrier; /**< Number of occurrences of; a loss of the carrier
\r
106 during a transmission.*/
\r
107 uint32_t tx_no_carrier; /**< Number of occurrences of; the carrier was not asserted
\r
108 by an external transceiver during the transmission.*/
\r
109 uint32_t tx_late_collision; /**< Number of occurrences of; a collision was detected
\r
110 after transmitting 64 bytes.*/
\r
111 uint32_t tx_excessive_collision;/**< Number of occurrences of; the transmission was
\r
112 aborted after 16 retries.*/
\r
113 uint32_t tx_collision_count; /**< Number of collisions occurred.*/
\r
114 uint32_t tx_underflow_error; /**< Number of occurrences of; the FIFO was empty during
\r
115 the frame transmission.*/
\r
118 #include "net/pack_struct_end.h"
\r
121 /*------------------------------------------------------------------------------
\r
128 uint32_t CSR0_DSL[5];
\r
130 uint32_t CSR0_PBL[6];
\r
131 uint32_t CSR0_RESERVED0[3];
\r
132 uint32_t CSR0_TAP[3];
\r
134 uint32_t CSR0_RESERVED1[11];
\r
136 uint32_t MAC_CSR_RESERVED0[32];
\r
140 uint32_t MAC_CSR_RESERVED1[32];
\r
144 uint32_t MAC_CSR_RESERVED2[32];
\r
148 uint32_t MAC_CSR_RESERVED3[32];
\r
152 uint32_t MAC_CSR_RESERVED4[32];
\r
157 uint32_t CSR5_RESERVED0[2];
\r
162 uint32_t CSR5_RESERVED1;
\r
165 uint32_t CSR5_RESERVED2[2];
\r
169 uint32_t CSR5_RS[3];
\r
170 uint32_t CSR5_TS[3];
\r
171 uint32_t CSR5_RESERVED3[9];
\r
173 uint32_t MAC_CSR_RESERVED5[32];
\r
180 uint32_t CSR6_RESERVED0;
\r
183 uint32_t CSR6_RESERVED1;
\r
185 uint32_t CSR6_RESERVED2[3];
\r
187 uint32_t CSR6_TR[2];
\r
188 uint32_t CSR6_RESERVED3[5];
\r
191 uint32_t CSR6_RESERVED4[7];
\r
193 uint32_t CSR6_RESERVED5;
\r
195 uint32_t MAC_CSR_RESERVED6[32];
\r
200 uint32_t CSR7_RESERVED0[2];
\r
205 uint32_t CSR7_RESERVED1;
\r
208 uint32_t CSR7_RESERVED2[2];
\r
214 uint32_t MAC_CSR_RESERVED7[32];
\r
218 uint32_t MAC_CSR_RESERVED8[32];
\r
221 uint32_t CSR9_SCLK;
\r
224 uint32_t CSR9_RESERVED0[12];
\r
227 uint32_t CSR9_MDEN;
\r
229 uint32_t CSR9_RESERVED1[12];
\r
231 uint32_t MAC_CSR_RESERVED9[32];
\r
233 uint32_t CSR10[32];
\r
235 uint32_t MAC_CSR_RESERVED10[32];
\r
237 uint32_t CSR11_TIM[16];
\r
238 uint32_t CSR11_CON;
\r
239 uint32_t CSR11_NRP[3];
\r
240 uint32_t CSR11_RT[4];
\r
241 uint32_t CSR11_NTP[3];
\r
242 uint32_t CSR11_TT[4];
\r
244 } MAC_BitBand_TypeDef;
\r
246 #define MAC_BITBAND ((MAC_BitBand_TypeDef *) BITBAND_ADDRESS(MAC_BASE))
\r
248 /*******************************************************************************
\r
250 *------------------------------------------------------------------------------
\r
251 * CSR0 - Bus Mode Register
\r
253 #define CSR0_REG_OFFSET 0x00
\r
255 /*------------------------------------------------------------------------------
\r
257 * DBO field of register CSR0.
\r
258 *------------------------------------------------------------------------------
\r
259 * Descriptor byte ordering mode
\r
261 #define CSR0_DBO_OFFSET 0x00
\r
262 #define CSR0_DBO_MASK 0x00100000UL
\r
263 #define CSR0_DBO_SHIFT 20
\r
266 * Allowed values for CSR0_DBO:
\r
267 *------------------------------------------------------------------------------
\r
268 * LITTLEENDIAN: Little endian mode used for data descriptors
\r
269 * BIGENDIAN: Big endian mode used for data descriptors
\r
271 #define LITTLEENDIAN 0u
\r
272 #define BIGENDIAN 1u
\r
274 /*------------------------------------------------------------------------------
\r
276 * TAP field of register CSR0.
\r
277 *------------------------------------------------------------------------------
\r
278 * Transmit automatic polling
\r
280 #define CSR0_TAP_OFFSET 0x00
\r
281 #define CSR0_TAP_MASK 0x000E0000UL
\r
282 #define CSR0_TAP_SHIFT 17
\r
285 * Allowed values for CSR0_TAP:
\r
286 *------------------------------------------------------------------------------
\r
287 * TAP_DISABLED: TAP disabled
\r
288 * TAP_819US: TAP 819/81.9us
\r
289 * TAP_2450US: TAP 2450/245us
\r
290 * TAP_5730US: TAP 5730/573us
\r
291 * TAP_51_2US: TAP 51.2/5.12us
\r
292 * TAP_102_4US: TAP 102.4/10.24us
\r
293 * TAP_153_6US: TAP 156.6/15.26us
\r
294 * TAP_358_4US: TAP 358.4/35.84us
\r
296 #define TAP_DISABLED 0x0
\r
297 #define TAP_819US 0x1
\r
298 #define TAP_2450US 0x2
\r
299 #define TAP_5730US 0x3
\r
300 #define TAP_51_2US 0x4
\r
301 #define TAP_102_4US 0x5
\r
302 #define TAP_153_6US 0x6
\r
303 #define TAP_358_4US 0x7
\r
305 /*------------------------------------------------------------------------------
\r
307 * PBL field of register CSR0.
\r
308 *------------------------------------------------------------------------------
\r
309 * Programmable burst length
\r
311 #define CSR0_PBL_OFFSET 0x00
\r
312 #define CSR0_PBL_MASK 0x00003F00uL
\r
313 #define CSR0_PBL_SHIFT 8
\r
315 /*------------------------------------------------------------------------------
\r
317 * BLE field of register CSR0.
\r
318 *------------------------------------------------------------------------------
\r
319 * Big/little endian
\r
321 #define CSR0_BLE_OFFSET 0x00
\r
322 #define CSR0_BLE_MASK 0x00000080uL
\r
323 #define CSR0_BLE_SHIFT 7
\r
325 /*------------------------------------------------------------------------------
\r
327 * DSL field of register CSR0.
\r
328 *------------------------------------------------------------------------------
\r
329 * Descriptor skip length
\r
331 #define CSR0_DSL_OFFSET 0x00
\r
332 #define CSR0_DSL_MASK 0x0000007CuL
\r
333 #define CSR0_DSL_SHIFT 2
\r
335 /*------------------------------------------------------------------------------
\r
337 * BAR field of register CSR0.
\r
338 *------------------------------------------------------------------------------
\r
339 * Bus arbitration scheme
\r
341 #define CSR0_BAR_OFFSET 0x00
\r
342 #define CSR0_BAR_MASK 0x00000002uL
\r
343 #define CSR0_BAR_SHIFT 1
\r
345 /*------------------------------------------------------------------------------
\r
347 * SWR field of register CSR0.
\r
348 *------------------------------------------------------------------------------
\r
351 #define CSR0_SWR_OFFSET 0x00
\r
352 #define CSR0_SWR_MASK 0x00000001uL
\r
353 #define CSR0_SWR_SHIFT 0
\r
355 /*******************************************************************************
\r
357 *------------------------------------------------------------------------------
\r
358 * CSR1 - Transmit Poll Demand Register
\r
360 #define CSR1_REG_OFFSET 0x08
\r
362 /*------------------------------------------------------------------------------
\r
364 * TPD3 field of register CSR1.
\r
365 *------------------------------------------------------------------------------
\r
368 #define CSR1_TPD3_OFFSET 0x08
\r
369 #define CSR1_TPD3_MASK 0xFF000000uL
\r
370 #define CSR1_TPD3_SHIFT 24
\r
372 /*------------------------------------------------------------------------------
\r
374 * TPD2 field of register CSR1.
\r
375 *------------------------------------------------------------------------------
\r
378 #define CSR1_TPD2_OFFSET 0x08
\r
379 #define CSR1_TPD2_MASK 0x00FF0000uL
\r
380 #define CSR1_TPD2_SHIFT 16
\r
382 /*------------------------------------------------------------------------------
\r
384 * TPD1 field of register CSR1.
\r
385 *------------------------------------------------------------------------------
\r
388 #define CSR1_TPD1_OFFSET 0x08
\r
389 #define CSR1_TPD1_MASK 0x0000FF00uL
\r
390 #define CSR1_TPD1_SHIFT 8
\r
392 /*------------------------------------------------------------------------------
\r
394 * TPD0 field of register CSR1.
\r
395 *------------------------------------------------------------------------------
\r
398 #define CSR1_TPD0_OFFSET 0x08
\r
399 #define CSR1_TPD0_MASK 0x000000FFuL
\r
400 #define CSR1_TPD0_SHIFT 0
\r
402 /*******************************************************************************
\r
404 *------------------------------------------------------------------------------
\r
405 * CSR2 - Receive Poll Demand Register
\r
407 #define CSR2_REG_OFFSET 0x10
\r
409 /*------------------------------------------------------------------------------
\r
411 * RPD3 field of register CSR2.
\r
412 *------------------------------------------------------------------------------
\r
415 #define CSR2_RPD3_OFFSET 0x10
\r
416 #define CSR2_RPD3_MASK 0xFF000000uL
\r
417 #define CSR2_RPD3_SHIFT 24
\r
419 /*------------------------------------------------------------------------------
\r
421 * RPD2 field of register CSR2.
\r
422 *------------------------------------------------------------------------------
\r
425 #define CSR2_RPD2_OFFSET 0x10
\r
426 #define CSR2_RPD2_MASK 0x00FF0000uL
\r
427 #define CSR2_RPD2_SHIFT 16
\r
429 /*------------------------------------------------------------------------------
\r
431 * RPD1 field of register CSR2.
\r
432 *------------------------------------------------------------------------------
\r
435 #define CSR2_RPD1_OFFSET 0x10
\r
436 #define CSR2_RPD1_MASK 0x0000FF00uL
\r
437 #define CSR2_RPD1_SHIFT 8
\r
439 /*------------------------------------------------------------------------------
\r
441 * RPD0 field of register CSR2.
\r
442 *------------------------------------------------------------------------------
\r
445 #define CSR2_RPD0_OFFSET 0x10
\r
446 #define CSR2_RPD0_MASK 0x000000FFuL
\r
447 #define CSR2_RPD0_SHIFT 0
\r
449 /*******************************************************************************
\r
451 *------------------------------------------------------------------------------
\r
452 * CSR3 - Receive Descriptor List Base Address Register
\r
454 #define CSR3_REG_OFFSET 0x18
\r
456 /*------------------------------------------------------------------------------
\r
458 * RLA3 field of register CSR3.
\r
459 *------------------------------------------------------------------------------
\r
462 #define CSR3_RLA3_OFFSET 0x18
\r
463 #define CSR3_RLA3_MASK 0xFF000000uL
\r
464 #define CSR3_RLA3_SHIFT 24
\r
466 /*------------------------------------------------------------------------------
\r
468 * RLA2 field of register CSR3.
\r
469 *------------------------------------------------------------------------------
\r
472 #define CSR3_RLA2_OFFSET 0x18
\r
473 #define CSR3_RLA2_MASK 0x00FF0000uL
\r
474 #define CSR3_RLA2_SHIFT 16
\r
476 /*------------------------------------------------------------------------------
\r
478 * RLA1 field of register CSR3.
\r
479 *------------------------------------------------------------------------------
\r
482 #define CSR3_RLA1_OFFSET 0x18
\r
483 #define CSR3_RLA1_MASK 0x0000FF00uL
\r
484 #define CSR3_RLA1_SHIFT 8
\r
486 /*------------------------------------------------------------------------------
\r
488 * RLA0 field of register CSR3.
\r
489 *------------------------------------------------------------------------------
\r
492 #define CSR3_RLA0_OFFSET 0x18
\r
493 #define CSR3_RLA0_MASK 0x000000FFuL
\r
494 #define CSR3_RLA0_SHIFT 0
\r
496 /*******************************************************************************
\r
498 *------------------------------------------------------------------------------
\r
499 * CSR4 - Transmit Descriptor List Base Address Register
\r
501 #define CSR4_REG_OFFSET 0x20
\r
503 /*------------------------------------------------------------------------------
\r
505 * TLA3 field of register CSR4.
\r
506 *------------------------------------------------------------------------------
\r
509 #define CSR4_TLA3_OFFSET 0x20
\r
510 #define CSR4_TLA3_MASK 0xFF000000uL
\r
511 #define CSR4_TLA3_SHIFT 24
\r
513 /*------------------------------------------------------------------------------
\r
515 * TLA2 field of register CSR4.
\r
516 *------------------------------------------------------------------------------
\r
519 #define CSR4_TLA2_OFFSET 0x20
\r
520 #define CSR4_TLA2_MASK 0x00FF0000uL
\r
521 #define CSR4_TLA2_SHIFT 16
\r
523 /*------------------------------------------------------------------------------
\r
525 * TLA1 field of register CSR4.
\r
526 *------------------------------------------------------------------------------
\r
529 #define CSR4_TLA1_OFFSET 0x20
\r
530 #define CSR4_TLA1_MASK 0x0000FF00uL
\r
531 #define CSR4_TLA1_SHIFT 8
\r
533 /*------------------------------------------------------------------------------
\r
535 * TLA0 field of register CSR4.
\r
536 *------------------------------------------------------------------------------
\r
539 #define CSR4_TLA0_OFFSET 0x20
\r
540 #define CSR4_TLA0_MASK 0x000000FFuL
\r
541 #define CSR4_TLA0_SHIFT 0
\r
543 /*******************************************************************************
\r
545 *------------------------------------------------------------------------------
\r
546 * CSR5 - Status Register
\r
548 #define CSR5_REG_OFFSET 0x28
\r
549 #define CSR5_INT_BITS (CSR5_NIS_MASK | CSR5_AIS_MASK | CSR5_ERI_MASK | \
\r
550 CSR5_GTE_MASK | CSR5_ETI_MASK | CSR5_RPS_MASK | CSR5_RU_MASK | \
\r
551 CSR5_RI_MASK | CSR5_UNF_MASK | CSR5_TU_MASK | CSR5_TPS_MASK | CSR5_TI_MASK)
\r
553 /*------------------------------------------------------------------------------
\r
555 * TS field of register CSR5.
\r
556 *------------------------------------------------------------------------------
\r
557 * Transmit process state
\r
559 #define CSR5_TS_OFFSET 0x28
\r
560 #define CSR5_TS_MASK 0x00700000uL
\r
561 #define CSR5_TS_SHIFT 20
\r
563 /** 000 - Stopped; RESET or STOP TRANSMIT command issued. */
\r
564 #define CSR5_TS_STOPPED 0u
\r
565 /** 001 - Running, fetching the transmit descriptor. */
\r
566 #define CSR5_TS_RUNNING_FD 1u
\r
567 /** 010 - Running, waiting for end of transmission. */
\r
568 #define CSR5_TS_RUNNING_WT 2u
\r
569 /** 011 - Running, transferring data buffer from host memory to FIFO. */
\r
570 #define CSR5_TS_RUNNING_TD 3u
\r
571 /** 101 - Running, setup packet. */
\r
572 #define CSR5_TS_RUNNING_SP 5u
\r
573 /** 110 - Suspended; FIFO underflow or unavailable descriptor. */
\r
574 #define CSR5_TS_SUSPENDED 6u
\r
575 /** 111 - Running, closing transmit descriptor. */
\r
576 #define CSR5_TS_RUNNING_CD 7u
\r
578 /*------------------------------------------------------------------------------
\r
580 * RS field of register CSR5.
\r
581 *------------------------------------------------------------------------------
\r
582 * Receive process state
\r
584 #define CSR5_RS_OFFSET 0x28
\r
585 #define CSR5_RS_MASK 0x00060000uL
\r
586 #define CSR5_RS_SHIFT 17
\r
588 /** 000 - Stopped; RESET or STOP RECEIVE command issued. */
\r
589 #define CSR5_RS_STOPPED 0u
\r
590 /** 001 - Running, fetching the receive descriptor. */
\r
591 #define CSR5_RS_RUNNING_FD 1u
\r
592 /** 010 - Running, waiting for the end-of-receive packet before prefetch of the
\r
593 *next descriptor. */
\r
594 #define CSR5_RS_RUNNING_WR 2u
\r
595 /** 011 - Running, waiting for the receive packet. */
\r
596 #define CSR5_RS_RUNNING_RB 3u
\r
597 /** 100 - Suspended, unavailable receive buffer. */
\r
598 #define CSR5_RS_SUSPENDED 4u
\r
599 /** 101 - Running, closing the receive descriptor. */
\r
600 #define CSR5_RS_RUNNING_CD 5u
\r
601 /** 111 - Running, transferring data from FIFO to host memory. */
\r
602 #define CSR5_RS_RUNNING_TD 7u
\r
604 /*------------------------------------------------------------------------------
\r
606 * NIS field of register CSR5.
\r
607 *------------------------------------------------------------------------------
\r
608 * Normal interrupt summary
\r
610 #define CSR5_NIS_OFFSET 0x28
\r
611 #define CSR5_NIS_MASK 0x00010000uL
\r
612 #define CSR5_NIS_SHIFT 16
\r
614 /*------------------------------------------------------------------------------
\r
616 * AIS field of register CSR5.
\r
617 *------------------------------------------------------------------------------
\r
618 * Abnormal interrupt summary
\r
620 #define CSR5_AIS_OFFSET 0x28
\r
621 #define CSR5_AIS_MASK 0x00008000UL
\r
622 #define CSR5_AIS_SHIFT 15
\r
624 /*------------------------------------------------------------------------------
\r
626 * ERI field of register CSR5.
\r
627 *------------------------------------------------------------------------------
\r
628 * Early receive interrupt
\r
630 #define CSR5_ERI_OFFSET 0x28
\r
631 #define CSR5_ERI_MASK 0x00004000UL
\r
632 #define CSR5_ERI_SHIFT 14
\r
634 /*------------------------------------------------------------------------------
\r
636 * GTE field of register CSR5.
\r
637 *------------------------------------------------------------------------------
\r
638 * General-purpose timer expiration
\r
640 #define CSR5_GTE_OFFSET 0x28
\r
641 #define CSR5_GTE_MASK 0x00000800UL
\r
642 #define CSR5_GTE_SHIFT 11
\r
644 /*------------------------------------------------------------------------------
\r
646 * ETI field of register CSR5.
\r
647 *------------------------------------------------------------------------------
\r
648 * Early transmit interrupt
\r
650 #define CSR5_ETI_OFFSET 0x28
\r
651 #define CSR5_ETI_MASK 0x00000400UL
\r
652 #define CSR5_ETI_SHIFT 10
\r
654 /*------------------------------------------------------------------------------
\r
656 * RPS field of register CSR5.
\r
657 *------------------------------------------------------------------------------
\r
658 * Receive process stopped
\r
660 #define CSR5_RPS_OFFSET 0x28
\r
661 #define CSR5_RPS_MASK 0x00000100UL
\r
662 #define CSR5_RPS_SHIFT 8
\r
664 /*------------------------------------------------------------------------------
\r
666 * RU field of register CSR5.
\r
667 *------------------------------------------------------------------------------
\r
668 * Receive buffer unavailable
\r
670 #define CSR5_RU_OFFSET 0x28
\r
671 #define CSR5_RU_MASK 0x00000080UL
\r
672 #define CSR5_RU_SHIFT 7
\r
674 /*------------------------------------------------------------------------------
\r
676 * RI field of register CSR5.
\r
677 *------------------------------------------------------------------------------
\r
678 * Receive interrupt
\r
680 #define CSR5_RI_OFFSET 0x28
\r
681 #define CSR5_RI_MASK 0x00000040UL
\r
682 #define CSR5_RI_SHIFT 6
\r
684 /*------------------------------------------------------------------------------
\r
686 * UNF field of register CSR5.
\r
687 *------------------------------------------------------------------------------
\r
688 * Transmit underflow
\r
690 #define CSR5_UNF_OFFSET 0x28
\r
691 #define CSR5_UNF_MASK 0x00000020UL
\r
692 #define CSR5_UNF_SHIFT 5
\r
694 /*------------------------------------------------------------------------------
\r
696 * TU field of register CSR5.
\r
697 *------------------------------------------------------------------------------
\r
698 * Transmit buffer unavailable
\r
700 #define CSR5_TU_OFFSET 0x28
\r
701 #define CSR5_TU_MASK 0x00000004UL
\r
702 #define CSR5_TU_SHIFT 2
\r
704 /*------------------------------------------------------------------------------
\r
706 * TPS field of register CSR5.
\r
707 *------------------------------------------------------------------------------
\r
708 * Transmit process stopped
\r
710 #define CSR5_TPS_OFFSET 0x28
\r
711 #define CSR5_TPS_MASK 0x00000002UL
\r
712 #define CSR5_TPS_SHIFT 1
\r
714 /*------------------------------------------------------------------------------
\r
716 * TI field of register CSR5.
\r
717 *------------------------------------------------------------------------------
\r
718 * Transmit interrupt
\r
720 #define CSR5_TI_OFFSET 0x28
\r
721 #define CSR5_TI_MASK 0x00000001UL
\r
722 #define CSR5_TI_SHIFT 0
\r
724 /*******************************************************************************
\r
726 *------------------------------------------------------------------------------
\r
727 * CSR6 - Operation Mode Register
\r
729 #define CSR6_REG_OFFSET 0x30
\r
731 /*------------------------------------------------------------------------------
\r
733 * RA field of register CSR6.
\r
734 *------------------------------------------------------------------------------
\r
737 #define CSR6_RA_OFFSET 0x30
\r
738 #define CSR6_RA_MASK 0x40000000UL
\r
739 #define CSR6_RA_SHIFT 30
\r
741 /*------------------------------------------------------------------------------
\r
743 * TTM field of register CSR6.
\r
744 *------------------------------------------------------------------------------
\r
745 * Transmit threshold mode
\r
747 #define CSR6_TTM_OFFSET 0x30
\r
748 #define CSR6_TTM_MASK 0x00400000UL
\r
749 #define CSR6_TTM_SHIFT 22
\r
751 /*------------------------------------------------------------------------------
\r
753 * SF field of register CSR6.
\r
754 *------------------------------------------------------------------------------
\r
755 * Store and forward
\r
757 #define CSR6_SF_OFFSET 0x30
\r
758 #define CSR6_SF_MASK 0x00200000UL
\r
759 #define CSR6_SF_SHIFT 21
\r
761 /*------------------------------------------------------------------------------
\r
763 * TR field of register CSR6.
\r
764 *------------------------------------------------------------------------------
\r
765 * Threshold control bits
\r
767 #define CSR6_TR_OFFSET 0x30
\r
768 #define CSR6_TR_MASK 0x0000C000UL
\r
769 #define CSR6_TR_SHIFT 14
\r
771 /*------------------------------------------------------------------------------
\r
773 * ST field of register CSR6.
\r
774 *------------------------------------------------------------------------------
\r
775 * Start/stop transmit command
\r
777 #define CSR6_ST_OFFSET 0x30
\r
778 #define CSR6_ST_MASK 0x00002000UL
\r
779 #define CSR6_ST_SHIFT 13
\r
781 /*------------------------------------------------------------------------------
\r
783 * FD field of register CSR6.
\r
784 *------------------------------------------------------------------------------
\r
787 #define CSR6_FD_OFFSET 0x30
\r
788 #define CSR6_FD_MASK 0x00000200UL
\r
789 #define CSR6_FD_SHIFT 9
\r
791 /*------------------------------------------------------------------------------
\r
793 * PM field of register CSR6.
\r
794 *------------------------------------------------------------------------------
\r
795 * Pass all multicast
\r
797 #define CSR6_PM_OFFSET 0x30
\r
798 #define CSR6_PM_MASK 0x00000080UL
\r
799 #define CSR6_PM_SHIFT 7
\r
801 /*------------------------------------------------------------------------------
\r
803 * PR field of register CSR6.
\r
804 *------------------------------------------------------------------------------
\r
807 #define CSR6_PR_OFFSET 0x30
\r
808 #define CSR6_PR_MASK 0x00000040UL
\r
809 #define CSR6_PR_SHIFT 6
\r
811 /*------------------------------------------------------------------------------
\r
813 * IF field of register CSR6.
\r
814 *------------------------------------------------------------------------------
\r
815 * Inverse filtering
\r
817 #define CSR6_IF_OFFSET 0x30
\r
818 #define CSR6_IF_MASK 0x00000010UL
\r
819 #define CSR6_IF_SHIFT 4
\r
821 /*------------------------------------------------------------------------------
\r
823 * PB field of register CSR6.
\r
824 *------------------------------------------------------------------------------
\r
827 #define CSR6_PB_OFFSET 0x30
\r
828 #define CSR6_PB_MASK 0x00000008UL
\r
829 #define CSR6_PB_SHIFT 3
\r
831 /*------------------------------------------------------------------------------
\r
833 * HO field of register CSR6.
\r
834 *------------------------------------------------------------------------------
\r
835 * Hash-only filtering mode
\r
837 #define CSR6_HO_OFFSET 0x30
\r
838 #define CSR6_HO_MASK 0x00000004UL
\r
839 #define CSR6_HO_SHIFT 2
\r
841 /*------------------------------------------------------------------------------
\r
843 * SR field of register CSR6.
\r
844 *------------------------------------------------------------------------------
\r
845 * Start/stop receive command
\r
847 #define CSR6_SR_OFFSET 0x30
\r
848 #define CSR6_SR_MASK 0x00000002UL
\r
849 #define CSR6_SR_SHIFT 1
\r
851 /*------------------------------------------------------------------------------
\r
853 * HP field of register CSR6.
\r
854 *------------------------------------------------------------------------------
\r
855 * Hash/perfect receive filtering mode
\r
857 #define CSR6_HP_OFFSET 0x30
\r
858 #define CSR6_HP_MASK 0x00000001UL
\r
859 #define CSR6_HP_SHIFT 0
\r
861 /*******************************************************************************
\r
863 *------------------------------------------------------------------------------
\r
864 * CSR7 - Interrupt Enable Register
\r
866 #define CSR7_REG_OFFSET 0x38
\r
868 /*------------------------------------------------------------------------------
\r
870 * NIE field of register CSR7.
\r
871 *------------------------------------------------------------------------------
\r
872 * Normal interrupt summary enable
\r
874 #define CSR7_NIE_OFFSET 0x38
\r
875 #define CSR7_NIE_MASK 0x00010000UL
\r
876 #define CSR7_NIE_SHIFT 16
\r
878 /*------------------------------------------------------------------------------
\r
880 * AIE field of register CSR7.
\r
881 *------------------------------------------------------------------------------
\r
882 * Abnormal interrupt summary enable
\r
884 #define CSR7_AIE_OFFSET 0x38
\r
885 #define CSR7_AIE_MASK 0x00008000UL
\r
886 #define CSR7_AIE_SHIFT 15
\r
888 /*------------------------------------------------------------------------------
\r
890 * ERE field of register CSR7.
\r
891 *------------------------------------------------------------------------------
\r
892 * Early receive interrupt enable
\r
894 #define CSR7_ERE_OFFSET 0x38
\r
895 #define CSR7_ERE_MASK 0x00004000UL
\r
896 #define CSR7_ERE_SHIFT 14
\r
898 /*------------------------------------------------------------------------------
\r
900 * GTE field of register CSR7.
\r
901 *------------------------------------------------------------------------------
\r
902 * General-purpose timer overflow enable
\r
904 #define CSR7_GTE_OFFSET 0x38
\r
905 #define CSR7_GTE_MASK 0x00000800UL
\r
906 #define CSR7_GTE_SHIFT 11
\r
908 /*------------------------------------------------------------------------------
\r
910 * ETE field of register CSR7.
\r
911 *------------------------------------------------------------------------------
\r
912 * Early transmit interrupt enable
\r
914 #define CSR7_ETE_OFFSET 0x38
\r
915 #define CSR7_ETE_MASK 0x00000400UL
\r
916 #define CSR7_ETE_SHIFT 10
\r
918 /*------------------------------------------------------------------------------
\r
920 * RSE field of register CSR7.
\r
921 *------------------------------------------------------------------------------
\r
922 * Receive stopped enable
\r
924 #define CSR7_RSE_OFFSET 0x38
\r
925 #define CSR7_RSE_MASK 0x00000100UL
\r
926 #define CSR7_RSE_SHIFT 8
\r
928 /*------------------------------------------------------------------------------
\r
930 * RUE field of register CSR7.
\r
931 *------------------------------------------------------------------------------
\r
932 * Receive buffer unavailable enable
\r
934 #define CSR7_RUE_OFFSET 0x38
\r
935 #define CSR7_RUE_MASK 0x00000080UL
\r
936 #define CSR7_RUE_SHIFT 7
\r
938 /*------------------------------------------------------------------------------
\r
940 * RIE field of register CSR7.
\r
941 *------------------------------------------------------------------------------
\r
942 * Receive interrupt enable
\r
944 #define CSR7_RIE_OFFSET 0x38
\r
945 #define CSR7_RIE_MASK 0x00000040UL
\r
946 #define CSR7_RIE_SHIFT 6
\r
948 /*------------------------------------------------------------------------------
\r
950 * UNE field of register CSR7.
\r
951 *------------------------------------------------------------------------------
\r
952 * Underflow interrupt enable
\r
954 #define CSR7_UNE_OFFSET 0x38
\r
955 #define CSR7_UNE_MASK 0x00000020UL
\r
956 #define CSR7_UNE_SHIFT 5
\r
958 /*------------------------------------------------------------------------------
\r
960 * TUE field of register CSR7.
\r
961 *------------------------------------------------------------------------------
\r
962 * Transmit buffer unavailable enable
\r
964 #define CSR7_TUE_OFFSET 0x38
\r
965 #define CSR7_TUE_MASK 0x00000004UL
\r
966 #define CSR7_TUE_SHIFT 2
\r
968 /*------------------------------------------------------------------------------
\r
970 * TSE field of register CSR7.
\r
971 *------------------------------------------------------------------------------
\r
972 * Transmit stopped enable
\r
974 #define CSR7_TSE_OFFSET 0x38
\r
975 #define CSR7_TSE_MASK 0x00000002UL
\r
976 #define CSR7_TSE_SHIFT 1
\r
978 /*------------------------------------------------------------------------------
\r
980 * TIE field of register CSR7.
\r
981 *------------------------------------------------------------------------------
\r
982 * Transmit interrupt enable
\r
984 #define CSR7_TIE_OFFSET 0x38
\r
985 #define CSR7_TIE_MASK 0x00000001UL
\r
986 #define CSR7_TIE_SHIFT 0
\r
988 /*******************************************************************************
\r
990 *------------------------------------------------------------------------------
\r
991 * CSR8 - Missed Frames and Overflow Counter Register
\r
993 #define CSR8_REG_OFFSET 0x40
\r
995 /*------------------------------------------------------------------------------
\r
997 * OCO field of register CSR8.
\r
998 *------------------------------------------------------------------------------
\r
999 * Overflow counter overflow
\r
1001 #define CSR8_OCO_OFFSET 0x40
\r
1002 #define CSR8_OCO_MASK 0x10000000UL
\r
1003 #define CSR8_OCO_SHIFT 28
\r
1005 /*------------------------------------------------------------------------------
\r
1007 * FOC field of register CSR8.
\r
1008 *------------------------------------------------------------------------------
\r
1009 * FIFO overflow counter
\r
1011 #define CSR8_FOC_OFFSET 0x40
\r
1012 #define CSR8_FOC_MASK 0x0FFE0000UL
\r
1013 #define CSR8_FOC_SHIFT 17
\r
1015 /*------------------------------------------------------------------------------
\r
1017 * MFO field of register CSR8.
\r
1018 *------------------------------------------------------------------------------
\r
1019 * Missed frame overflow
\r
1021 #define CSR8_MFO_OFFSET 0x40
\r
1022 #define CSR8_MFO_MASK 0x00010000UL
\r
1023 #define CSR8_MFO_SHIFT 16
\r
1025 /*------------------------------------------------------------------------------
\r
1027 * MFC field of register CSR8.
\r
1028 *------------------------------------------------------------------------------
\r
1029 * Missed frame counter
\r
1031 #define CSR8_MFC_OFFSET 0x40
\r
1032 #define CSR8_MFC_MASK 0x0000FFFFUL
\r
1033 #define CSR8_MFC_SHIFT 0
\r
1035 /*******************************************************************************
\r
1037 *------------------------------------------------------------------------------
\r
1038 * CSR9 - MII Management and Serial ROM Interface Register
\r
1040 #define CSR9_REG_OFFSET 0x48
\r
1042 /*------------------------------------------------------------------------------
\r
1044 * MDI field of register CSR9.
\r
1045 *------------------------------------------------------------------------------
\r
1046 * MII management data in signal
\r
1048 #define CSR9_MDI_OFFSET 0x48
\r
1049 #define CSR9_MDI_MASK 0x00080000UL
\r
1050 #define CSR9_MDI_SHIFT 19
\r
1052 /*------------------------------------------------------------------------------
\r
1054 * MII field of register CSR9.
\r
1055 *------------------------------------------------------------------------------
\r
1056 * MII management operation mode
\r
1058 #define CSR9_MII_OFFSET 0x48
\r
1059 #define CSR9_MII_MASK 0x00040000UL
\r
1060 #define CSR9_MII_SHIFT 18
\r
1062 /*------------------------------------------------------------------------------
\r
1064 * MDO field of register CSR9.
\r
1065 *------------------------------------------------------------------------------
\r
1066 * MII management write data
\r
1068 #define CSR9_MDO_OFFSET 0x48
\r
1069 #define CSR9_MDO_MASK 0x00020000UL
\r
1070 #define CSR9_MDO_SHIFT 17
\r
1072 /*------------------------------------------------------------------------------
\r
1074 * MDC field of register CSR9.
\r
1075 *------------------------------------------------------------------------------
\r
1076 * MII management clock
\r
1078 #define CSR9_MDC_OFFSET 0x48
\r
1079 #define CSR9_MDC_MASK 0x00010000UL
\r
1080 #define CSR9_MDC_SHIFT 16
\r
1082 /*------------------------------------------------------------------------------
\r
1084 * SDO field of register CSR9.
\r
1085 *------------------------------------------------------------------------------
\r
1086 * Serial ROM data output
\r
1088 #define CSR9_SDO_OFFSET 0x48
\r
1089 #define CSR9_SDO_MASK 0x00000008UL
\r
1090 #define CSR9_SDO_SHIFT 3
\r
1092 /*------------------------------------------------------------------------------
\r
1094 * SDI field of register CSR9.
\r
1095 *------------------------------------------------------------------------------
\r
1096 * Serial ROM data input
\r
1098 #define CSR9_SDI_OFFSET 0x48
\r
1099 #define CSR9_SDI_MASK 0x00000004UL
\r
1100 #define CSR9_SDI_SHIFT 2
\r
1102 /*------------------------------------------------------------------------------
\r
1104 * SCLK field of register CSR9.
\r
1105 *------------------------------------------------------------------------------
\r
1106 * Serial ROM clock
\r
1108 #define CSR9_SCLK_OFFSET 0x48
\r
1109 #define CSR9_SCLK_MASK 0x00000002UL
\r
1110 #define CSR9_SCLK_SHIFT 1
\r
1112 /*------------------------------------------------------------------------------
\r
1114 * SCS field of register CSR9.
\r
1115 *------------------------------------------------------------------------------
\r
1116 * Serial ROM chip select
\r
1118 #define CSR9_SCS_OFFSET 0x48
\r
1119 #define CSR9_SCS_MASK 0x00000001UL
\r
1120 #define CSR9_SCS_SHIFT 0
\r
1122 /*******************************************************************************
\r
1124 *------------------------------------------------------------------------------
\r
1125 * CSR11 - General-Purpose Timer and Interrupt Mitigation Control Register
\r
1127 #define CSR11_REG_OFFSET 0x58
\r
1129 /*------------------------------------------------------------------------------
\r
1131 * CS field of register CSR11.
\r
1132 *------------------------------------------------------------------------------
\r
1135 #define CSR11_CS_OFFSET 0x58
\r
1136 #define CSR11_CS_MASK 0x80000000UL
\r
1137 #define CSR11_CS_SHIFT 31
\r
1139 /*------------------------------------------------------------------------------
\r
1141 * TT field of register CSR11.
\r
1142 *------------------------------------------------------------------------------
\r
1145 #define CSR11_TT_OFFSET 0x58
\r
1146 #define CSR11_TT_MASK 0x78000000UL
\r
1147 #define CSR11_TT_SHIFT 27
\r
1149 /*------------------------------------------------------------------------------
\r
1151 * NTP field of register CSR11.
\r
1152 *------------------------------------------------------------------------------
\r
1153 * Number of transmit packets
\r
1155 #define CSR11_NTP_OFFSET 0x58
\r
1156 #define CSR11_NTP_MASK 0x07000000UL
\r
1157 #define CSR11_NTP_SHIFT 24
\r
1159 /*------------------------------------------------------------------------------
\r
1161 * RT field of register CSR11.
\r
1162 *------------------------------------------------------------------------------
\r
1165 #define CSR11_RT_OFFSET 0x58
\r
1166 #define CSR11_RT_MASK 0x00F00000UL
\r
1167 #define CSR11_RT_SHIFT 20
\r
1169 /*------------------------------------------------------------------------------
\r
1171 * NRP field of register CSR11.
\r
1172 *------------------------------------------------------------------------------
\r
1173 * Number of receive packets
\r
1175 #define CSR11_NRP_OFFSET 0x58
\r
1176 #define CSR11_NRP_MASK 0x000E0000UL
\r
1177 #define CSR11_NRP_SHIFT 17
\r
1179 /*------------------------------------------------------------------------------
\r
1181 * CON field of register CSR11.
\r
1182 *------------------------------------------------------------------------------
\r
1185 #define CSR11_CON_OFFSET 0x58
\r
1186 #define CSR11_CON_MASK 0x00010000UL
\r
1187 #define CSR11_CON_SHIFT 16
\r
1189 /*------------------------------------------------------------------------------
\r
1191 * TIM field of register CSR11.
\r
1192 *------------------------------------------------------------------------------
\r
1195 #define CSR11_TIM_OFFSET 0x58
\r
1196 #define CSR11_TIM_MASK 0x0000FFFFUL
\r
1197 #define CSR11_TIM_SHIFT 0
\r
1199 #ifdef __cplusplus
\r
1203 #endif /* MSS_ETHERNET_MAC_REGISTERS_H_*/
\r