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
34 #include "pack_struct_start.h"
\r
36 volatile uint32_t descriptor_0;
\r
37 volatile uint32_t descriptor_1;
\r
38 volatile uint32_t buffer_1;
\r
39 volatile uint32_t buffer_2;
\r
41 #include "pack_struct_end.h"
\r
44 /***************************************************************************//**
\r
45 * There should be one instance of this structure for each instance of
\r
46 * the MAC in your system. MSS_MAC_init routine initializes this structure.
\r
47 * It is used to identify the various MACs in your system and an initilized
\r
48 * MAC instance's structure should be passed as first parameter to MAC functions
\r
49 * to identify which MAC should perform the requested operation.
\r
50 * Software using the MAC driver should only need to create one single
\r
51 * instance of this data structure for each MAC hardware instance in
\r
52 * the system. Using MAC_get_configuration routine, latest status of the driver
\r
53 * may be read by receiving its flags field, similarly MAC_configure routine lets
\r
54 * you modify some of these flags.
\r
56 #include "net/pack_struct_start.h"
\r
58 addr_t base_address; /**< Register base address of the driver*/
\r
59 uint8_t flags; /**< Configuration of the driver*/
\r
60 int8_t last_error; /**< Index of last error happened inside the driver*/
\r
61 uint8_t mac_address[6]; /**< MAC address of the drived instance*/
\r
62 uint8_t mac_filter_data[90]; /**< MAC filter data, 15 addresses to be used for
\r
63 received data filtering*/
\r
64 uint16_t last_timer_value; /**< Last read value of timer */
\r
65 uint32_t time_out_value; /**< Time out value */
\r
66 MSS_MAC_callback_t listener; /**< Pointer to the call-back function to be triggered
\r
67 when a package is received*/
\r
69 /* transmit related info: */
\r
70 uint32_t tx_desc_index; /**< index of the transmit descriptor getting used*/
\r
71 MAC_descriptor_t tx_descriptors[TX_RING_SIZE];/**< array of transmit descriptors*/
\r
73 /* receive related info: */
\r
74 uint32_t rx_desc_index; /**< index of the receive descriptor getting used*/
\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
79 #include "pack_struct_start.h"
\r
81 uint32_t rx_interrupts; /**< Number of receive interrupts occurred.*/
\r
82 uint32_t rx_filtering_fail; /**< Number of received frames which did not pass
\r
83 the address recognition process.*/
\r
84 uint32_t rx_descriptor_error; /**< Number of occurrences of; no receive buffer was
\r
85 available when trying to store the received data.*/
\r
86 uint32_t rx_runt_frame; /**< Number of occurrences of; the frame is damaged by
\r
87 a collision or by a premature termination before
\r
88 the end of a collision window.*/
\r
89 uint32_t rx_not_first; /**< Number of occurrences of; start of the frame is
\r
90 not the first descriptor of a frame.*/
\r
91 uint32_t rx_not_last; /**< Number of occurrences of; end of the frame is not
\r
92 the first descriptor of a frame.*/
\r
93 uint32_t rx_frame_too_long; /**< Number of occurrences of; a current frame is
\r
94 longer than maximum size of 1,518 bytes, as specified
\r
96 uint32_t rx_collision_seen; /**< Number of occurrences of; a late collision was seen
\r
97 (collision after 64 bytes following SFD).*/
\r
98 uint32_t rx_crc_error; /**< Number of occurrences of; a CRC error has occurred
\r
99 in the received frame.*/
\r
100 uint32_t rx_fifo_overflow; /**< Number of frames not accepted due to the receive
\r
102 uint32_t rx_missed_frame; /**< Number of frames not accepted due to the
\r
103 unavailability of the receive descriptor.*/
\r
105 uint32_t tx_interrupts; /**< Number of transmit interrupts occurred.*/
\r
106 uint32_t tx_loss_of_carrier; /**< Number of occurrences of; a loss of the carrier
\r
107 during a transmission.*/
\r
108 uint32_t tx_no_carrier; /**< Number of occurrences of; the carrier was not asserted
\r
109 by an external transceiver during the transmission.*/
\r
110 uint32_t tx_late_collision; /**< Number of occurrences of; a collision was detected
\r
111 after transmitting 64 bytes.*/
\r
112 uint32_t tx_excessive_collision;/**< Number of occurrences of; the transmission was
\r
113 aborted after 16 retries.*/
\r
114 uint32_t tx_collision_count; /**< Number of collisions occurred.*/
\r
115 uint32_t tx_underflow_error; /**< Number of occurrences of; the FIFO was empty during
\r
116 the frame transmission.*/
\r
118 #include "pack_struct_end.h"
\r
120 #include "net/pack_struct_end.h"
\r
123 /*------------------------------------------------------------------------------
\r
130 uint32_t CSR0_DSL[5];
\r
132 uint32_t CSR0_PBL[6];
\r
133 uint32_t CSR0_RESERVED0[3];
\r
134 uint32_t CSR0_TAP[3];
\r
136 uint32_t CSR0_RESERVED1[11];
\r
138 uint32_t MAC_CSR_RESERVED0[32];
\r
142 uint32_t MAC_CSR_RESERVED1[32];
\r
146 uint32_t MAC_CSR_RESERVED2[32];
\r
150 uint32_t MAC_CSR_RESERVED3[32];
\r
154 uint32_t MAC_CSR_RESERVED4[32];
\r
159 uint32_t CSR5_RESERVED0[2];
\r
164 uint32_t CSR5_RESERVED1;
\r
167 uint32_t CSR5_RESERVED2[2];
\r
171 uint32_t CSR5_RS[3];
\r
172 uint32_t CSR5_TS[3];
\r
173 uint32_t CSR5_RESERVED3[9];
\r
175 uint32_t MAC_CSR_RESERVED5[32];
\r
182 uint32_t CSR6_RESERVED0;
\r
185 uint32_t CSR6_RESERVED1;
\r
187 uint32_t CSR6_RESERVED2[3];
\r
189 uint32_t CSR6_TR[2];
\r
190 uint32_t CSR6_RESERVED3[5];
\r
193 uint32_t CSR6_RESERVED4[7];
\r
195 uint32_t CSR6_RESERVED5;
\r
197 uint32_t MAC_CSR_RESERVED6[32];
\r
202 uint32_t CSR7_RESERVED0[2];
\r
207 uint32_t CSR7_RESERVED1;
\r
210 uint32_t CSR7_RESERVED2[2];
\r
216 uint32_t MAC_CSR_RESERVED7[32];
\r
220 uint32_t MAC_CSR_RESERVED8[32];
\r
223 uint32_t CSR9_SCLK;
\r
226 uint32_t CSR9_RESERVED0[12];
\r
229 uint32_t CSR9_MDEN;
\r
231 uint32_t CSR9_RESERVED1[12];
\r
233 uint32_t MAC_CSR_RESERVED9[32];
\r
235 uint32_t CSR10[32];
\r
237 uint32_t MAC_CSR_RESERVED10[32];
\r
239 uint32_t CSR11_TIM[16];
\r
240 uint32_t CSR11_CON;
\r
241 uint32_t CSR11_NRP[3];
\r
242 uint32_t CSR11_RT[4];
\r
243 uint32_t CSR11_NTP[3];
\r
244 uint32_t CSR11_TT[4];
\r
246 } MAC_BitBand_TypeDef;
\r
248 #define MAC_BITBAND ((MAC_BitBand_TypeDef *) BITBAND_ADDRESS(MAC_BASE))
\r
250 /*******************************************************************************
\r
252 *------------------------------------------------------------------------------
\r
253 * CSR0 - Bus Mode Register
\r
255 #define CSR0_REG_OFFSET 0x00
\r
257 /*------------------------------------------------------------------------------
\r
259 * DBO field of register CSR0.
\r
260 *------------------------------------------------------------------------------
\r
261 * Descriptor byte ordering mode
\r
263 #define CSR0_DBO_OFFSET 0x00
\r
264 #define CSR0_DBO_MASK 0x00100000UL
\r
265 #define CSR0_DBO_SHIFT 20
\r
268 * Allowed values for CSR0_DBO:
\r
269 *------------------------------------------------------------------------------
\r
270 * LITTLEENDIAN: Little endian mode used for data descriptors
\r
271 * BIGENDIAN: Big endian mode used for data descriptors
\r
273 #define LITTLEENDIAN 0u
\r
274 #define BIGENDIAN 1u
\r
276 /*------------------------------------------------------------------------------
\r
278 * TAP field of register CSR0.
\r
279 *------------------------------------------------------------------------------
\r
280 * Transmit automatic polling
\r
282 #define CSR0_TAP_OFFSET 0x00
\r
283 #define CSR0_TAP_MASK 0x000E0000UL
\r
284 #define CSR0_TAP_SHIFT 17
\r
287 * Allowed values for CSR0_TAP:
\r
288 *------------------------------------------------------------------------------
\r
289 * TAP_DISABLED: TAP disabled
\r
290 * TAP_819US: TAP 819/81.9us
\r
291 * TAP_2450US: TAP 2450/245us
\r
292 * TAP_5730US: TAP 5730/573us
\r
293 * TAP_51_2US: TAP 51.2/5.12us
\r
294 * TAP_102_4US: TAP 102.4/10.24us
\r
295 * TAP_153_6US: TAP 156.6/15.26us
\r
296 * TAP_358_4US: TAP 358.4/35.84us
\r
298 #define TAP_DISABLED 0x0
\r
299 #define TAP_819US 0x1
\r
300 #define TAP_2450US 0x2
\r
301 #define TAP_5730US 0x3
\r
302 #define TAP_51_2US 0x4
\r
303 #define TAP_102_4US 0x5
\r
304 #define TAP_153_6US 0x6
\r
305 #define TAP_358_4US 0x7
\r
307 /*------------------------------------------------------------------------------
\r
309 * PBL field of register CSR0.
\r
310 *------------------------------------------------------------------------------
\r
311 * Programmable burst length
\r
313 #define CSR0_PBL_OFFSET 0x00
\r
314 #define CSR0_PBL_MASK 0x00003F00uL
\r
315 #define CSR0_PBL_SHIFT 8
\r
317 /*------------------------------------------------------------------------------
\r
319 * BLE field of register CSR0.
\r
320 *------------------------------------------------------------------------------
\r
321 * Big/little endian
\r
323 #define CSR0_BLE_OFFSET 0x00
\r
324 #define CSR0_BLE_MASK 0x00000080uL
\r
325 #define CSR0_BLE_SHIFT 7
\r
327 /*------------------------------------------------------------------------------
\r
329 * DSL field of register CSR0.
\r
330 *------------------------------------------------------------------------------
\r
331 * Descriptor skip length
\r
333 #define CSR0_DSL_OFFSET 0x00
\r
334 #define CSR0_DSL_MASK 0x0000007CuL
\r
335 #define CSR0_DSL_SHIFT 2
\r
337 /*------------------------------------------------------------------------------
\r
339 * BAR field of register CSR0.
\r
340 *------------------------------------------------------------------------------
\r
341 * Bus arbitration scheme
\r
343 #define CSR0_BAR_OFFSET 0x00
\r
344 #define CSR0_BAR_MASK 0x00000002uL
\r
345 #define CSR0_BAR_SHIFT 1
\r
347 /*------------------------------------------------------------------------------
\r
349 * SWR field of register CSR0.
\r
350 *------------------------------------------------------------------------------
\r
353 #define CSR0_SWR_OFFSET 0x00
\r
354 #define CSR0_SWR_MASK 0x00000001uL
\r
355 #define CSR0_SWR_SHIFT 0
\r
357 /*******************************************************************************
\r
359 *------------------------------------------------------------------------------
\r
360 * CSR1 - Transmit Poll Demand Register
\r
362 #define CSR1_REG_OFFSET 0x08
\r
364 /*------------------------------------------------------------------------------
\r
366 * TPD3 field of register CSR1.
\r
367 *------------------------------------------------------------------------------
\r
370 #define CSR1_TPD3_OFFSET 0x08
\r
371 #define CSR1_TPD3_MASK 0xFF000000uL
\r
372 #define CSR1_TPD3_SHIFT 24
\r
374 /*------------------------------------------------------------------------------
\r
376 * TPD2 field of register CSR1.
\r
377 *------------------------------------------------------------------------------
\r
380 #define CSR1_TPD2_OFFSET 0x08
\r
381 #define CSR1_TPD2_MASK 0x00FF0000uL
\r
382 #define CSR1_TPD2_SHIFT 16
\r
384 /*------------------------------------------------------------------------------
\r
386 * TPD1 field of register CSR1.
\r
387 *------------------------------------------------------------------------------
\r
390 #define CSR1_TPD1_OFFSET 0x08
\r
391 #define CSR1_TPD1_MASK 0x0000FF00uL
\r
392 #define CSR1_TPD1_SHIFT 8
\r
394 /*------------------------------------------------------------------------------
\r
396 * TPD0 field of register CSR1.
\r
397 *------------------------------------------------------------------------------
\r
400 #define CSR1_TPD0_OFFSET 0x08
\r
401 #define CSR1_TPD0_MASK 0x000000FFuL
\r
402 #define CSR1_TPD0_SHIFT 0
\r
404 /*******************************************************************************
\r
406 *------------------------------------------------------------------------------
\r
407 * CSR2 - Receive Poll Demand Register
\r
409 #define CSR2_REG_OFFSET 0x10
\r
411 /*------------------------------------------------------------------------------
\r
413 * RPD3 field of register CSR2.
\r
414 *------------------------------------------------------------------------------
\r
417 #define CSR2_RPD3_OFFSET 0x10
\r
418 #define CSR2_RPD3_MASK 0xFF000000uL
\r
419 #define CSR2_RPD3_SHIFT 24
\r
421 /*------------------------------------------------------------------------------
\r
423 * RPD2 field of register CSR2.
\r
424 *------------------------------------------------------------------------------
\r
427 #define CSR2_RPD2_OFFSET 0x10
\r
428 #define CSR2_RPD2_MASK 0x00FF0000uL
\r
429 #define CSR2_RPD2_SHIFT 16
\r
431 /*------------------------------------------------------------------------------
\r
433 * RPD1 field of register CSR2.
\r
434 *------------------------------------------------------------------------------
\r
437 #define CSR2_RPD1_OFFSET 0x10
\r
438 #define CSR2_RPD1_MASK 0x0000FF00uL
\r
439 #define CSR2_RPD1_SHIFT 8
\r
441 /*------------------------------------------------------------------------------
\r
443 * RPD0 field of register CSR2.
\r
444 *------------------------------------------------------------------------------
\r
447 #define CSR2_RPD0_OFFSET 0x10
\r
448 #define CSR2_RPD0_MASK 0x000000FFuL
\r
449 #define CSR2_RPD0_SHIFT 0
\r
451 /*******************************************************************************
\r
453 *------------------------------------------------------------------------------
\r
454 * CSR3 - Receive Descriptor List Base Address Register
\r
456 #define CSR3_REG_OFFSET 0x18
\r
458 /*------------------------------------------------------------------------------
\r
460 * RLA3 field of register CSR3.
\r
461 *------------------------------------------------------------------------------
\r
464 #define CSR3_RLA3_OFFSET 0x18
\r
465 #define CSR3_RLA3_MASK 0xFF000000uL
\r
466 #define CSR3_RLA3_SHIFT 24
\r
468 /*------------------------------------------------------------------------------
\r
470 * RLA2 field of register CSR3.
\r
471 *------------------------------------------------------------------------------
\r
474 #define CSR3_RLA2_OFFSET 0x18
\r
475 #define CSR3_RLA2_MASK 0x00FF0000uL
\r
476 #define CSR3_RLA2_SHIFT 16
\r
478 /*------------------------------------------------------------------------------
\r
480 * RLA1 field of register CSR3.
\r
481 *------------------------------------------------------------------------------
\r
484 #define CSR3_RLA1_OFFSET 0x18
\r
485 #define CSR3_RLA1_MASK 0x0000FF00uL
\r
486 #define CSR3_RLA1_SHIFT 8
\r
488 /*------------------------------------------------------------------------------
\r
490 * RLA0 field of register CSR3.
\r
491 *------------------------------------------------------------------------------
\r
494 #define CSR3_RLA0_OFFSET 0x18
\r
495 #define CSR3_RLA0_MASK 0x000000FFuL
\r
496 #define CSR3_RLA0_SHIFT 0
\r
498 /*******************************************************************************
\r
500 *------------------------------------------------------------------------------
\r
501 * CSR4 - Transmit Descriptor List Base Address Register
\r
503 #define CSR4_REG_OFFSET 0x20
\r
505 /*------------------------------------------------------------------------------
\r
507 * TLA3 field of register CSR4.
\r
508 *------------------------------------------------------------------------------
\r
511 #define CSR4_TLA3_OFFSET 0x20
\r
512 #define CSR4_TLA3_MASK 0xFF000000uL
\r
513 #define CSR4_TLA3_SHIFT 24
\r
515 /*------------------------------------------------------------------------------
\r
517 * TLA2 field of register CSR4.
\r
518 *------------------------------------------------------------------------------
\r
521 #define CSR4_TLA2_OFFSET 0x20
\r
522 #define CSR4_TLA2_MASK 0x00FF0000uL
\r
523 #define CSR4_TLA2_SHIFT 16
\r
525 /*------------------------------------------------------------------------------
\r
527 * TLA1 field of register CSR4.
\r
528 *------------------------------------------------------------------------------
\r
531 #define CSR4_TLA1_OFFSET 0x20
\r
532 #define CSR4_TLA1_MASK 0x0000FF00uL
\r
533 #define CSR4_TLA1_SHIFT 8
\r
535 /*------------------------------------------------------------------------------
\r
537 * TLA0 field of register CSR4.
\r
538 *------------------------------------------------------------------------------
\r
541 #define CSR4_TLA0_OFFSET 0x20
\r
542 #define CSR4_TLA0_MASK 0x000000FFuL
\r
543 #define CSR4_TLA0_SHIFT 0
\r
545 /*******************************************************************************
\r
547 *------------------------------------------------------------------------------
\r
548 * CSR5 - Status Register
\r
550 #define CSR5_REG_OFFSET 0x28
\r
551 #define CSR5_INT_BITS (CSR5_NIS_MASK | CSR5_AIS_MASK | CSR5_ERI_MASK | \
\r
552 CSR5_GTE_MASK | CSR5_ETI_MASK | CSR5_RPS_MASK | CSR5_RU_MASK | \
\r
553 CSR5_RI_MASK | CSR5_UNF_MASK | CSR5_TU_MASK | CSR5_TPS_MASK | CSR5_TI_MASK)
\r
555 /*------------------------------------------------------------------------------
\r
557 * TS field of register CSR5.
\r
558 *------------------------------------------------------------------------------
\r
559 * Transmit process state
\r
561 #define CSR5_TS_OFFSET 0x28
\r
562 #define CSR5_TS_MASK 0x00700000uL
\r
563 #define CSR5_TS_SHIFT 20
\r
565 /** 000 - Stopped; RESET or STOP TRANSMIT command issued. */
\r
566 #define CSR5_TS_STOPPED 0u
\r
567 /** 001 - Running, fetching the transmit descriptor. */
\r
568 #define CSR5_TS_RUNNING_FD 1u
\r
569 /** 010 - Running, waiting for end of transmission. */
\r
570 #define CSR5_TS_RUNNING_WT 2u
\r
571 /** 011 - Running, transferring data buffer from host memory to FIFO. */
\r
572 #define CSR5_TS_RUNNING_TD 3u
\r
573 /** 101 - Running, setup packet. */
\r
574 #define CSR5_TS_RUNNING_SP 5u
\r
575 /** 110 - Suspended; FIFO underflow or unavailable descriptor. */
\r
576 #define CSR5_TS_SUSPENDED 6u
\r
577 /** 111 - Running, closing transmit descriptor. */
\r
578 #define CSR5_TS_RUNNING_CD 7u
\r
580 /*------------------------------------------------------------------------------
\r
582 * RS field of register CSR5.
\r
583 *------------------------------------------------------------------------------
\r
584 * Receive process state
\r
586 #define CSR5_RS_OFFSET 0x28
\r
587 #define CSR5_RS_MASK 0x00060000uL
\r
588 #define CSR5_RS_SHIFT 17
\r
590 /** 000 - Stopped; RESET or STOP RECEIVE command issued. */
\r
591 #define CSR5_RS_STOPPED 0u
\r
592 /** 001 - Running, fetching the receive descriptor. */
\r
593 #define CSR5_RS_RUNNING_FD 1u
\r
594 /** 010 - Running, waiting for the end-of-receive packet before prefetch of the
\r
595 *next descriptor. */
\r
596 #define CSR5_RS_RUNNING_WR 2u
\r
597 /** 011 - Running, waiting for the receive packet. */
\r
598 #define CSR5_RS_RUNNING_RB 3u
\r
599 /** 100 - Suspended, unavailable receive buffer. */
\r
600 #define CSR5_RS_SUSPENDED 4u
\r
601 /** 101 - Running, closing the receive descriptor. */
\r
602 #define CSR5_RS_RUNNING_CD 5u
\r
603 /** 111 - Running, transferring data from FIFO to host memory. */
\r
604 #define CSR5_RS_RUNNING_TD 7u
\r
606 /*------------------------------------------------------------------------------
\r
608 * NIS field of register CSR5.
\r
609 *------------------------------------------------------------------------------
\r
610 * Normal interrupt summary
\r
612 #define CSR5_NIS_OFFSET 0x28
\r
613 #define CSR5_NIS_MASK 0x00010000uL
\r
614 #define CSR5_NIS_SHIFT 16
\r
616 /*------------------------------------------------------------------------------
\r
618 * AIS field of register CSR5.
\r
619 *------------------------------------------------------------------------------
\r
620 * Abnormal interrupt summary
\r
622 #define CSR5_AIS_OFFSET 0x28
\r
623 #define CSR5_AIS_MASK 0x00008000UL
\r
624 #define CSR5_AIS_SHIFT 15
\r
626 /*------------------------------------------------------------------------------
\r
628 * ERI field of register CSR5.
\r
629 *------------------------------------------------------------------------------
\r
630 * Early receive interrupt
\r
632 #define CSR5_ERI_OFFSET 0x28
\r
633 #define CSR5_ERI_MASK 0x00004000UL
\r
634 #define CSR5_ERI_SHIFT 14
\r
636 /*------------------------------------------------------------------------------
\r
638 * GTE field of register CSR5.
\r
639 *------------------------------------------------------------------------------
\r
640 * General-purpose timer expiration
\r
642 #define CSR5_GTE_OFFSET 0x28
\r
643 #define CSR5_GTE_MASK 0x00000800UL
\r
644 #define CSR5_GTE_SHIFT 11
\r
646 /*------------------------------------------------------------------------------
\r
648 * ETI field of register CSR5.
\r
649 *------------------------------------------------------------------------------
\r
650 * Early transmit interrupt
\r
652 #define CSR5_ETI_OFFSET 0x28
\r
653 #define CSR5_ETI_MASK 0x00000400UL
\r
654 #define CSR5_ETI_SHIFT 10
\r
656 /*------------------------------------------------------------------------------
\r
658 * RPS field of register CSR5.
\r
659 *------------------------------------------------------------------------------
\r
660 * Receive process stopped
\r
662 #define CSR5_RPS_OFFSET 0x28
\r
663 #define CSR5_RPS_MASK 0x00000100UL
\r
664 #define CSR5_RPS_SHIFT 8
\r
666 /*------------------------------------------------------------------------------
\r
668 * RU field of register CSR5.
\r
669 *------------------------------------------------------------------------------
\r
670 * Receive buffer unavailable
\r
672 #define CSR5_RU_OFFSET 0x28
\r
673 #define CSR5_RU_MASK 0x00000080UL
\r
674 #define CSR5_RU_SHIFT 7
\r
676 /*------------------------------------------------------------------------------
\r
678 * RI field of register CSR5.
\r
679 *------------------------------------------------------------------------------
\r
680 * Receive interrupt
\r
682 #define CSR5_RI_OFFSET 0x28
\r
683 #define CSR5_RI_MASK 0x00000040UL
\r
684 #define CSR5_RI_SHIFT 6
\r
686 /*------------------------------------------------------------------------------
\r
688 * UNF field of register CSR5.
\r
689 *------------------------------------------------------------------------------
\r
690 * Transmit underflow
\r
692 #define CSR5_UNF_OFFSET 0x28
\r
693 #define CSR5_UNF_MASK 0x00000020UL
\r
694 #define CSR5_UNF_SHIFT 5
\r
696 /*------------------------------------------------------------------------------
\r
698 * TU field of register CSR5.
\r
699 *------------------------------------------------------------------------------
\r
700 * Transmit buffer unavailable
\r
702 #define CSR5_TU_OFFSET 0x28
\r
703 #define CSR5_TU_MASK 0x00000004UL
\r
704 #define CSR5_TU_SHIFT 2
\r
706 /*------------------------------------------------------------------------------
\r
708 * TPS field of register CSR5.
\r
709 *------------------------------------------------------------------------------
\r
710 * Transmit process stopped
\r
712 #define CSR5_TPS_OFFSET 0x28
\r
713 #define CSR5_TPS_MASK 0x00000002UL
\r
714 #define CSR5_TPS_SHIFT 1
\r
716 /*------------------------------------------------------------------------------
\r
718 * TI field of register CSR5.
\r
719 *------------------------------------------------------------------------------
\r
720 * Transmit interrupt
\r
722 #define CSR5_TI_OFFSET 0x28
\r
723 #define CSR5_TI_MASK 0x00000001UL
\r
724 #define CSR5_TI_SHIFT 0
\r
726 /*******************************************************************************
\r
728 *------------------------------------------------------------------------------
\r
729 * CSR6 - Operation Mode Register
\r
731 #define CSR6_REG_OFFSET 0x30
\r
733 /*------------------------------------------------------------------------------
\r
735 * RA field of register CSR6.
\r
736 *------------------------------------------------------------------------------
\r
739 #define CSR6_RA_OFFSET 0x30
\r
740 #define CSR6_RA_MASK 0x40000000UL
\r
741 #define CSR6_RA_SHIFT 30
\r
743 /*------------------------------------------------------------------------------
\r
745 * TTM field of register CSR6.
\r
746 *------------------------------------------------------------------------------
\r
747 * Transmit threshold mode
\r
749 #define CSR6_TTM_OFFSET 0x30
\r
750 #define CSR6_TTM_MASK 0x00400000UL
\r
751 #define CSR6_TTM_SHIFT 22
\r
753 /*------------------------------------------------------------------------------
\r
755 * SF field of register CSR6.
\r
756 *------------------------------------------------------------------------------
\r
757 * Store and forward
\r
759 #define CSR6_SF_OFFSET 0x30
\r
760 #define CSR6_SF_MASK 0x00200000UL
\r
761 #define CSR6_SF_SHIFT 21
\r
763 /*------------------------------------------------------------------------------
\r
765 * TR field of register CSR6.
\r
766 *------------------------------------------------------------------------------
\r
767 * Threshold control bits
\r
769 #define CSR6_TR_OFFSET 0x30
\r
770 #define CSR6_TR_MASK 0x0000C000UL
\r
771 #define CSR6_TR_SHIFT 14
\r
773 /*------------------------------------------------------------------------------
\r
775 * ST field of register CSR6.
\r
776 *------------------------------------------------------------------------------
\r
777 * Start/stop transmit command
\r
779 #define CSR6_ST_OFFSET 0x30
\r
780 #define CSR6_ST_MASK 0x00002000UL
\r
781 #define CSR6_ST_SHIFT 13
\r
783 /*------------------------------------------------------------------------------
\r
785 * FD field of register CSR6.
\r
786 *------------------------------------------------------------------------------
\r
789 #define CSR6_FD_OFFSET 0x30
\r
790 #define CSR6_FD_MASK 0x00000200UL
\r
791 #define CSR6_FD_SHIFT 9
\r
793 /*------------------------------------------------------------------------------
\r
795 * PM field of register CSR6.
\r
796 *------------------------------------------------------------------------------
\r
797 * Pass all multicast
\r
799 #define CSR6_PM_OFFSET 0x30
\r
800 #define CSR6_PM_MASK 0x00000080UL
\r
801 #define CSR6_PM_SHIFT 7
\r
803 /*------------------------------------------------------------------------------
\r
805 * PR field of register CSR6.
\r
806 *------------------------------------------------------------------------------
\r
809 #define CSR6_PR_OFFSET 0x30
\r
810 #define CSR6_PR_MASK 0x00000040UL
\r
811 #define CSR6_PR_SHIFT 6
\r
813 /*------------------------------------------------------------------------------
\r
815 * IF field of register CSR6.
\r
816 *------------------------------------------------------------------------------
\r
817 * Inverse filtering
\r
819 #define CSR6_IF_OFFSET 0x30
\r
820 #define CSR6_IF_MASK 0x00000010UL
\r
821 #define CSR6_IF_SHIFT 4
\r
823 /*------------------------------------------------------------------------------
\r
825 * PB field of register CSR6.
\r
826 *------------------------------------------------------------------------------
\r
829 #define CSR6_PB_OFFSET 0x30
\r
830 #define CSR6_PB_MASK 0x00000008UL
\r
831 #define CSR6_PB_SHIFT 3
\r
833 /*------------------------------------------------------------------------------
\r
835 * HO field of register CSR6.
\r
836 *------------------------------------------------------------------------------
\r
837 * Hash-only filtering mode
\r
839 #define CSR6_HO_OFFSET 0x30
\r
840 #define CSR6_HO_MASK 0x00000004UL
\r
841 #define CSR6_HO_SHIFT 2
\r
843 /*------------------------------------------------------------------------------
\r
845 * SR field of register CSR6.
\r
846 *------------------------------------------------------------------------------
\r
847 * Start/stop receive command
\r
849 #define CSR6_SR_OFFSET 0x30
\r
850 #define CSR6_SR_MASK 0x00000002UL
\r
851 #define CSR6_SR_SHIFT 1
\r
853 /*------------------------------------------------------------------------------
\r
855 * HP field of register CSR6.
\r
856 *------------------------------------------------------------------------------
\r
857 * Hash/perfect receive filtering mode
\r
859 #define CSR6_HP_OFFSET 0x30
\r
860 #define CSR6_HP_MASK 0x00000001UL
\r
861 #define CSR6_HP_SHIFT 0
\r
863 /*******************************************************************************
\r
865 *------------------------------------------------------------------------------
\r
866 * CSR7 - Interrupt Enable Register
\r
868 #define CSR7_REG_OFFSET 0x38
\r
870 /*------------------------------------------------------------------------------
\r
872 * NIE field of register CSR7.
\r
873 *------------------------------------------------------------------------------
\r
874 * Normal interrupt summary enable
\r
876 #define CSR7_NIE_OFFSET 0x38
\r
877 #define CSR7_NIE_MASK 0x00010000UL
\r
878 #define CSR7_NIE_SHIFT 16
\r
880 /*------------------------------------------------------------------------------
\r
882 * AIE field of register CSR7.
\r
883 *------------------------------------------------------------------------------
\r
884 * Abnormal interrupt summary enable
\r
886 #define CSR7_AIE_OFFSET 0x38
\r
887 #define CSR7_AIE_MASK 0x00008000UL
\r
888 #define CSR7_AIE_SHIFT 15
\r
890 /*------------------------------------------------------------------------------
\r
892 * ERE field of register CSR7.
\r
893 *------------------------------------------------------------------------------
\r
894 * Early receive interrupt enable
\r
896 #define CSR7_ERE_OFFSET 0x38
\r
897 #define CSR7_ERE_MASK 0x00004000UL
\r
898 #define CSR7_ERE_SHIFT 14
\r
900 /*------------------------------------------------------------------------------
\r
902 * GTE field of register CSR7.
\r
903 *------------------------------------------------------------------------------
\r
904 * General-purpose timer overflow enable
\r
906 #define CSR7_GTE_OFFSET 0x38
\r
907 #define CSR7_GTE_MASK 0x00000800UL
\r
908 #define CSR7_GTE_SHIFT 11
\r
910 /*------------------------------------------------------------------------------
\r
912 * ETE field of register CSR7.
\r
913 *------------------------------------------------------------------------------
\r
914 * Early transmit interrupt enable
\r
916 #define CSR7_ETE_OFFSET 0x38
\r
917 #define CSR7_ETE_MASK 0x00000400UL
\r
918 #define CSR7_ETE_SHIFT 10
\r
920 /*------------------------------------------------------------------------------
\r
922 * RSE field of register CSR7.
\r
923 *------------------------------------------------------------------------------
\r
924 * Receive stopped enable
\r
926 #define CSR7_RSE_OFFSET 0x38
\r
927 #define CSR7_RSE_MASK 0x00000100UL
\r
928 #define CSR7_RSE_SHIFT 8
\r
930 /*------------------------------------------------------------------------------
\r
932 * RUE field of register CSR7.
\r
933 *------------------------------------------------------------------------------
\r
934 * Receive buffer unavailable enable
\r
936 #define CSR7_RUE_OFFSET 0x38
\r
937 #define CSR7_RUE_MASK 0x00000080UL
\r
938 #define CSR7_RUE_SHIFT 7
\r
940 /*------------------------------------------------------------------------------
\r
942 * RIE field of register CSR7.
\r
943 *------------------------------------------------------------------------------
\r
944 * Receive interrupt enable
\r
946 #define CSR7_RIE_OFFSET 0x38
\r
947 #define CSR7_RIE_MASK 0x00000040UL
\r
948 #define CSR7_RIE_SHIFT 6
\r
950 /*------------------------------------------------------------------------------
\r
952 * UNE field of register CSR7.
\r
953 *------------------------------------------------------------------------------
\r
954 * Underflow interrupt enable
\r
956 #define CSR7_UNE_OFFSET 0x38
\r
957 #define CSR7_UNE_MASK 0x00000020UL
\r
958 #define CSR7_UNE_SHIFT 5
\r
960 /*------------------------------------------------------------------------------
\r
962 * TUE field of register CSR7.
\r
963 *------------------------------------------------------------------------------
\r
964 * Transmit buffer unavailable enable
\r
966 #define CSR7_TUE_OFFSET 0x38
\r
967 #define CSR7_TUE_MASK 0x00000004UL
\r
968 #define CSR7_TUE_SHIFT 2
\r
970 /*------------------------------------------------------------------------------
\r
972 * TSE field of register CSR7.
\r
973 *------------------------------------------------------------------------------
\r
974 * Transmit stopped enable
\r
976 #define CSR7_TSE_OFFSET 0x38
\r
977 #define CSR7_TSE_MASK 0x00000002UL
\r
978 #define CSR7_TSE_SHIFT 1
\r
980 /*------------------------------------------------------------------------------
\r
982 * TIE field of register CSR7.
\r
983 *------------------------------------------------------------------------------
\r
984 * Transmit interrupt enable
\r
986 #define CSR7_TIE_OFFSET 0x38
\r
987 #define CSR7_TIE_MASK 0x00000001UL
\r
988 #define CSR7_TIE_SHIFT 0
\r
990 /*******************************************************************************
\r
992 *------------------------------------------------------------------------------
\r
993 * CSR8 - Missed Frames and Overflow Counter Register
\r
995 #define CSR8_REG_OFFSET 0x40
\r
997 /*------------------------------------------------------------------------------
\r
999 * OCO field of register CSR8.
\r
1000 *------------------------------------------------------------------------------
\r
1001 * Overflow counter overflow
\r
1003 #define CSR8_OCO_OFFSET 0x40
\r
1004 #define CSR8_OCO_MASK 0x10000000UL
\r
1005 #define CSR8_OCO_SHIFT 28
\r
1007 /*------------------------------------------------------------------------------
\r
1009 * FOC field of register CSR8.
\r
1010 *------------------------------------------------------------------------------
\r
1011 * FIFO overflow counter
\r
1013 #define CSR8_FOC_OFFSET 0x40
\r
1014 #define CSR8_FOC_MASK 0x0FFE0000UL
\r
1015 #define CSR8_FOC_SHIFT 17
\r
1017 /*------------------------------------------------------------------------------
\r
1019 * MFO field of register CSR8.
\r
1020 *------------------------------------------------------------------------------
\r
1021 * Missed frame overflow
\r
1023 #define CSR8_MFO_OFFSET 0x40
\r
1024 #define CSR8_MFO_MASK 0x00010000UL
\r
1025 #define CSR8_MFO_SHIFT 16
\r
1027 /*------------------------------------------------------------------------------
\r
1029 * MFC field of register CSR8.
\r
1030 *------------------------------------------------------------------------------
\r
1031 * Missed frame counter
\r
1033 #define CSR8_MFC_OFFSET 0x40
\r
1034 #define CSR8_MFC_MASK 0x0000FFFFUL
\r
1035 #define CSR8_MFC_SHIFT 0
\r
1037 /*******************************************************************************
\r
1039 *------------------------------------------------------------------------------
\r
1040 * CSR9 - MII Management and Serial ROM Interface Register
\r
1042 #define CSR9_REG_OFFSET 0x48
\r
1044 /*------------------------------------------------------------------------------
\r
1046 * MDI field of register CSR9.
\r
1047 *------------------------------------------------------------------------------
\r
1048 * MII management data in signal
\r
1050 #define CSR9_MDI_OFFSET 0x48
\r
1051 #define CSR9_MDI_MASK 0x00080000UL
\r
1052 #define CSR9_MDI_SHIFT 19
\r
1054 /*------------------------------------------------------------------------------
\r
1056 * MII field of register CSR9.
\r
1057 *------------------------------------------------------------------------------
\r
1058 * MII management operation mode
\r
1060 #define CSR9_MII_OFFSET 0x48
\r
1061 #define CSR9_MII_MASK 0x00040000UL
\r
1062 #define CSR9_MII_SHIFT 18
\r
1064 /*------------------------------------------------------------------------------
\r
1066 * MDO field of register CSR9.
\r
1067 *------------------------------------------------------------------------------
\r
1068 * MII management write data
\r
1070 #define CSR9_MDO_OFFSET 0x48
\r
1071 #define CSR9_MDO_MASK 0x00020000UL
\r
1072 #define CSR9_MDO_SHIFT 17
\r
1074 /*------------------------------------------------------------------------------
\r
1076 * MDC field of register CSR9.
\r
1077 *------------------------------------------------------------------------------
\r
1078 * MII management clock
\r
1080 #define CSR9_MDC_OFFSET 0x48
\r
1081 #define CSR9_MDC_MASK 0x00010000UL
\r
1082 #define CSR9_MDC_SHIFT 16
\r
1084 /*------------------------------------------------------------------------------
\r
1086 * SDO field of register CSR9.
\r
1087 *------------------------------------------------------------------------------
\r
1088 * Serial ROM data output
\r
1090 #define CSR9_SDO_OFFSET 0x48
\r
1091 #define CSR9_SDO_MASK 0x00000008UL
\r
1092 #define CSR9_SDO_SHIFT 3
\r
1094 /*------------------------------------------------------------------------------
\r
1096 * SDI field of register CSR9.
\r
1097 *------------------------------------------------------------------------------
\r
1098 * Serial ROM data input
\r
1100 #define CSR9_SDI_OFFSET 0x48
\r
1101 #define CSR9_SDI_MASK 0x00000004UL
\r
1102 #define CSR9_SDI_SHIFT 2
\r
1104 /*------------------------------------------------------------------------------
\r
1106 * SCLK field of register CSR9.
\r
1107 *------------------------------------------------------------------------------
\r
1108 * Serial ROM clock
\r
1110 #define CSR9_SCLK_OFFSET 0x48
\r
1111 #define CSR9_SCLK_MASK 0x00000002UL
\r
1112 #define CSR9_SCLK_SHIFT 1
\r
1114 /*------------------------------------------------------------------------------
\r
1116 * SCS field of register CSR9.
\r
1117 *------------------------------------------------------------------------------
\r
1118 * Serial ROM chip select
\r
1120 #define CSR9_SCS_OFFSET 0x48
\r
1121 #define CSR9_SCS_MASK 0x00000001UL
\r
1122 #define CSR9_SCS_SHIFT 0
\r
1124 /*******************************************************************************
\r
1126 *------------------------------------------------------------------------------
\r
1127 * CSR11 - General-Purpose Timer and Interrupt Mitigation Control Register
\r
1129 #define CSR11_REG_OFFSET 0x58
\r
1131 /*------------------------------------------------------------------------------
\r
1133 * CS field of register CSR11.
\r
1134 *------------------------------------------------------------------------------
\r
1137 #define CSR11_CS_OFFSET 0x58
\r
1138 #define CSR11_CS_MASK 0x80000000UL
\r
1139 #define CSR11_CS_SHIFT 31
\r
1141 /*------------------------------------------------------------------------------
\r
1143 * TT field of register CSR11.
\r
1144 *------------------------------------------------------------------------------
\r
1147 #define CSR11_TT_OFFSET 0x58
\r
1148 #define CSR11_TT_MASK 0x78000000UL
\r
1149 #define CSR11_TT_SHIFT 27
\r
1151 /*------------------------------------------------------------------------------
\r
1153 * NTP field of register CSR11.
\r
1154 *------------------------------------------------------------------------------
\r
1155 * Number of transmit packets
\r
1157 #define CSR11_NTP_OFFSET 0x58
\r
1158 #define CSR11_NTP_MASK 0x07000000UL
\r
1159 #define CSR11_NTP_SHIFT 24
\r
1161 /*------------------------------------------------------------------------------
\r
1163 * RT field of register CSR11.
\r
1164 *------------------------------------------------------------------------------
\r
1167 #define CSR11_RT_OFFSET 0x58
\r
1168 #define CSR11_RT_MASK 0x00F00000UL
\r
1169 #define CSR11_RT_SHIFT 20
\r
1171 /*------------------------------------------------------------------------------
\r
1173 * NRP field of register CSR11.
\r
1174 *------------------------------------------------------------------------------
\r
1175 * Number of receive packets
\r
1177 #define CSR11_NRP_OFFSET 0x58
\r
1178 #define CSR11_NRP_MASK 0x000E0000UL
\r
1179 #define CSR11_NRP_SHIFT 17
\r
1181 /*------------------------------------------------------------------------------
\r
1183 * CON field of register CSR11.
\r
1184 *------------------------------------------------------------------------------
\r
1187 #define CSR11_CON_OFFSET 0x58
\r
1188 #define CSR11_CON_MASK 0x00010000UL
\r
1189 #define CSR11_CON_SHIFT 16
\r
1191 /*------------------------------------------------------------------------------
\r
1193 * TIM field of register CSR11.
\r
1194 *------------------------------------------------------------------------------
\r
1197 #define CSR11_TIM_OFFSET 0x58
\r
1198 #define CSR11_TIM_MASK 0x0000FFFFUL
\r
1199 #define CSR11_TIM_SHIFT 0
\r
1201 #ifdef __cplusplus
\r
1205 #endif /* MSS_ETHERNET_MAC_REGISTERS_H_*/
\r