]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A2F200_SoftConsole/MicroSemi_Code/drivers/mss_ethernet_mac/mss_ethernet_mac_regs.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_A2F200_SoftConsole / MicroSemi_Code / drivers / mss_ethernet_mac / mss_ethernet_mac_regs.h
1 /***************************************************************************//**\r
2  * @file\r
3  * SmartFusion MSS Ethernet MAC registers.\r
4  *\r
5  * (c) Copyright 2007 Actel Corporation\r
6  *\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
11  *\r
12  *\r
13  * SVN $Revision: 2364 $\r
14  * SVN $Date: 2010-03-01 17:58:41 +0000 (Mon, 01 Mar 2010) $\r
15  *\r
16  *******************************************************************************/\r
17 #ifndef MSS_ETHERNET_MAC_REGISTERS_H_\r
18 #define MSS_ETHERNET_MAC_REGISTERS_H_\r
19 \r
20 #ifdef __cplusplus\r
21 extern "C" {\r
22 #endif\r
23 \r
24 #include "../../CMSIS/a2fxxxm3.h"\r
25 #include "mss_ethernet_mac.h"\r
26 #include "mss_ethernet_mac_user_cfg.h"\r
27 \r
28 typedef uint32_t addr_t;\r
29 \r
30 \r
31 /***************************************************************************//**\r
32  * Descriptor structure\r
33  */\r
34 #include "pack_struct_start.h"\r
35 typedef struct {\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
40 } MAC_descriptor_t\r
41 #include "pack_struct_end.h"\r
42 \r
43 \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
55  */\r
56 #include "net/pack_struct_start.h"\r
57 typedef struct {\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
68 \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
72 \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
76 \r
77     uint8_t             phy_address;            /**< MII address of the connected PHY*/\r
78 \r
79         #include "pack_struct_start.h"\r
80         struct {\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
95                                                                                         by 802.3.*/\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
101                                                                                         FIFO overflow.*/\r
102                 uint32_t rx_missed_frame;               /**< Number of frames not accepted due to the\r
103                                                                                         unavailability of the receive descriptor.*/\r
104                 \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
117     } statistics\r
118         #include "pack_struct_end.h"\r
119 } MAC_instance_t\r
120 #include "net/pack_struct_end.h"\r
121 \r
122 \r
123 /*------------------------------------------------------------------------------\r
124  *\r
125  */\r
126 typedef struct\r
127 {\r
128     uint32_t CSR0_SWR;\r
129     uint32_t CSR0_BAR;\r
130     uint32_t CSR0_DSL[5];\r
131     uint32_t CSR0_BLE;\r
132     uint32_t CSR0_PBL[6];\r
133     uint32_t CSR0_RESERVED0[3];\r
134     uint32_t CSR0_TAP[3];\r
135     uint32_t CSR0_DBO;\r
136     uint32_t CSR0_RESERVED1[11];\r
137 \r
138     uint32_t MAC_CSR_RESERVED0[32];\r
139 \r
140     uint32_t CSR1[32];\r
141 \r
142     uint32_t MAC_CSR_RESERVED1[32];\r
143 \r
144     uint32_t CSR2[32];\r
145 \r
146     uint32_t MAC_CSR_RESERVED2[32];\r
147 \r
148     uint32_t CSR3[32];\r
149 \r
150     uint32_t MAC_CSR_RESERVED3[32];\r
151 \r
152     uint32_t CSR4[32];\r
153 \r
154     uint32_t MAC_CSR_RESERVED4[32];\r
155 \r
156     uint32_t CSR5_TI;\r
157     uint32_t CSR5_TPS;\r
158     uint32_t CSR5_TU;\r
159     uint32_t CSR5_RESERVED0[2];\r
160     uint32_t CSR5_UNF;\r
161     uint32_t CSR5_RI;\r
162     uint32_t CSR5_RU;\r
163     uint32_t CSR5_RPS;\r
164     uint32_t CSR5_RESERVED1;\r
165     uint32_t CSR5_ETI;\r
166     uint32_t CSR5_GTE;\r
167     uint32_t CSR5_RESERVED2[2];\r
168     uint32_t CSR5_ERI;\r
169     uint32_t CSR5_AIS;\r
170     uint32_t CSR5_NIS;\r
171     uint32_t CSR5_RS[3];\r
172     uint32_t CSR5_TS[3];\r
173     uint32_t CSR5_RESERVED3[9];\r
174 \r
175     uint32_t MAC_CSR_RESERVED5[32];\r
176 \r
177     uint32_t CSR6_HP;\r
178     uint32_t CSR6_SR;\r
179     uint32_t CSR6_HO;\r
180     uint32_t CSR6_PB;\r
181     uint32_t CSR6_IF;\r
182     uint32_t CSR6_RESERVED0;\r
183     uint32_t CSR6_PR;\r
184     uint32_t CSR6_PM;\r
185     uint32_t CSR6_RESERVED1;\r
186     uint32_t CSR6_FD;\r
187     uint32_t CSR6_RESERVED2[3];\r
188     uint32_t CSR6_ST;\r
189     uint32_t CSR6_TR[2];\r
190     uint32_t CSR6_RESERVED3[5];\r
191     uint32_t CSR6_SF;\r
192     uint32_t CSR6_TTM;\r
193     uint32_t CSR6_RESERVED4[7];\r
194     uint32_t CSR6_RA;\r
195     uint32_t CSR6_RESERVED5;\r
196 \r
197     uint32_t MAC_CSR_RESERVED6[32];\r
198 \r
199     uint32_t CSR7_TIE;\r
200     uint32_t CSR7_TSE;\r
201     uint32_t CSR7_TUE;\r
202     uint32_t CSR7_RESERVED0[2];\r
203     uint32_t CSR7_UNE;\r
204     uint32_t CSR7_RIE;\r
205     uint32_t CSR7_RUE;\r
206     uint32_t CSR7_RSE;\r
207     uint32_t CSR7_RESERVED1;\r
208     uint32_t CSR7_ETE;\r
209     uint32_t CSR7_GTE;\r
210     uint32_t CSR7_RESERVED2[2];\r
211     uint32_t CSR7_ERE;\r
212     uint32_t CSR7_AIE;\r
213     uint32_t CSR7_NIE;\r
214     uint32_t CSR7[15];\r
215 \r
216     uint32_t MAC_CSR_RESERVED7[32];\r
217 \r
218     uint32_t CSR8[32];\r
219 \r
220     uint32_t MAC_CSR_RESERVED8[32];\r
221 \r
222     uint32_t CSR9_SCS;\r
223     uint32_t CSR9_SCLK;\r
224     uint32_t CSR9_SDI;\r
225     uint32_t CSR9_SDO;\r
226     uint32_t CSR9_RESERVED0[12];\r
227     uint32_t CSR9_MDC;\r
228     uint32_t CSR9_MDO;\r
229     uint32_t CSR9_MDEN;\r
230     uint32_t CSR9_MDI;\r
231     uint32_t CSR9_RESERVED1[12];\r
232 \r
233     uint32_t MAC_CSR_RESERVED9[32];\r
234 \r
235     uint32_t CSR10[32];\r
236 \r
237     uint32_t MAC_CSR_RESERVED10[32];\r
238 \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
245     uint32_t CSR11_CS;\r
246 } MAC_BitBand_TypeDef;\r
247 \r
248 #define MAC_BITBAND   ((MAC_BitBand_TypeDef *) BITBAND_ADDRESS(MAC_BASE))\r
249 \r
250 /*******************************************************************************\r
251  * CSR0 register:\r
252  *------------------------------------------------------------------------------\r
253  * CSR0 - Bus Mode Register\r
254  */\r
255 #define CSR0_REG_OFFSET 0x00\r
256 \r
257 /*------------------------------------------------------------------------------\r
258  * CSR0_DBO:\r
259  *   DBO field of register CSR0.\r
260  *------------------------------------------------------------------------------\r
261  * Descriptor byte ordering mode\r
262  */\r
263 #define CSR0_DBO_OFFSET   0x00\r
264 #define CSR0_DBO_MASK     0x00100000UL\r
265 #define CSR0_DBO_SHIFT    20\r
266 \r
267 /*\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
272  */\r
273 #define LITTLEENDIAN    0u\r
274 #define BIGENDIAN       1u\r
275 \r
276 /*------------------------------------------------------------------------------\r
277  * CSR0_TAP:\r
278  *   TAP field of register CSR0.\r
279  *------------------------------------------------------------------------------\r
280  * Transmit automatic polling\r
281  */\r
282 #define CSR0_TAP_OFFSET   0x00\r
283 #define CSR0_TAP_MASK     0x000E0000UL\r
284 #define CSR0_TAP_SHIFT    17\r
285 \r
286 /*\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
297  */\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
306 \r
307 /*------------------------------------------------------------------------------\r
308  * CSR0_PBL:\r
309  *   PBL field of register CSR0.\r
310  *------------------------------------------------------------------------------\r
311  * Programmable burst length\r
312  */\r
313 #define CSR0_PBL_OFFSET   0x00\r
314 #define CSR0_PBL_MASK     0x00003F00uL\r
315 #define CSR0_PBL_SHIFT    8\r
316 \r
317 /*------------------------------------------------------------------------------\r
318  * CSR0_BLE:\r
319  *   BLE field of register CSR0.\r
320  *------------------------------------------------------------------------------\r
321  * Big/little endian\r
322  */\r
323 #define CSR0_BLE_OFFSET   0x00\r
324 #define CSR0_BLE_MASK     0x00000080uL\r
325 #define CSR0_BLE_SHIFT    7\r
326 \r
327 /*------------------------------------------------------------------------------\r
328  * CSR0_DSL:\r
329  *   DSL field of register CSR0.\r
330  *------------------------------------------------------------------------------\r
331  * Descriptor skip length\r
332  */\r
333 #define CSR0_DSL_OFFSET   0x00\r
334 #define CSR0_DSL_MASK     0x0000007CuL\r
335 #define CSR0_DSL_SHIFT    2\r
336 \r
337 /*------------------------------------------------------------------------------\r
338  * CSR0_BAR:\r
339  *   BAR field of register CSR0.\r
340  *------------------------------------------------------------------------------\r
341  * Bus arbitration scheme\r
342  */\r
343 #define CSR0_BAR_OFFSET   0x00\r
344 #define CSR0_BAR_MASK     0x00000002uL\r
345 #define CSR0_BAR_SHIFT    1\r
346 \r
347 /*------------------------------------------------------------------------------\r
348  * CSR0_SWR:\r
349  *   SWR field of register CSR0.\r
350  *------------------------------------------------------------------------------\r
351  * Software reset\r
352  */\r
353 #define CSR0_SWR_OFFSET   0x00\r
354 #define CSR0_SWR_MASK     0x00000001uL\r
355 #define CSR0_SWR_SHIFT    0\r
356 \r
357 /*******************************************************************************\r
358  * CSR1 register:\r
359  *------------------------------------------------------------------------------\r
360  * CSR1 - Transmit Poll Demand Register\r
361  */\r
362 #define CSR1_REG_OFFSET 0x08\r
363 \r
364 /*------------------------------------------------------------------------------\r
365  * CSR1_TPD3:\r
366  *   TPD3 field of register CSR1.\r
367  *------------------------------------------------------------------------------\r
368  * TPD(31..24)\r
369  */\r
370 #define CSR1_TPD3_OFFSET   0x08\r
371 #define CSR1_TPD3_MASK     0xFF000000uL\r
372 #define CSR1_TPD3_SHIFT    24\r
373 \r
374 /*------------------------------------------------------------------------------\r
375  * CSR1_TPD2:\r
376  *   TPD2 field of register CSR1.\r
377  *------------------------------------------------------------------------------\r
378  * TPD(23..16)\r
379  */\r
380 #define CSR1_TPD2_OFFSET   0x08\r
381 #define CSR1_TPD2_MASK     0x00FF0000uL\r
382 #define CSR1_TPD2_SHIFT    16\r
383 \r
384 /*------------------------------------------------------------------------------\r
385  * CSR1_TPD1:\r
386  *   TPD1 field of register CSR1.\r
387  *------------------------------------------------------------------------------\r
388  * TPD(15..8)\r
389  */\r
390 #define CSR1_TPD1_OFFSET   0x08\r
391 #define CSR1_TPD1_MASK     0x0000FF00uL\r
392 #define CSR1_TPD1_SHIFT    8\r
393 \r
394 /*------------------------------------------------------------------------------\r
395  * CSR1_TPD0:\r
396  *   TPD0 field of register CSR1.\r
397  *------------------------------------------------------------------------------\r
398  * TPD(7..0)\r
399  */\r
400 #define CSR1_TPD0_OFFSET   0x08\r
401 #define CSR1_TPD0_MASK     0x000000FFuL\r
402 #define CSR1_TPD0_SHIFT    0\r
403 \r
404 /*******************************************************************************\r
405  * CSR2 register:\r
406  *------------------------------------------------------------------------------\r
407  * CSR2 - Receive Poll Demand Register\r
408  */\r
409 #define CSR2_REG_OFFSET 0x10\r
410 \r
411 /*------------------------------------------------------------------------------\r
412  * CSR2_RPD3:\r
413  *   RPD3 field of register CSR2.\r
414  *------------------------------------------------------------------------------\r
415  * RPD(31..24)\r
416  */\r
417 #define CSR2_RPD3_OFFSET   0x10\r
418 #define CSR2_RPD3_MASK     0xFF000000uL\r
419 #define CSR2_RPD3_SHIFT    24\r
420 \r
421 /*------------------------------------------------------------------------------\r
422  * CSR2_RPD2:\r
423  *   RPD2 field of register CSR2.\r
424  *------------------------------------------------------------------------------\r
425  * RPD(23..16)\r
426  */\r
427 #define CSR2_RPD2_OFFSET   0x10\r
428 #define CSR2_RPD2_MASK     0x00FF0000uL\r
429 #define CSR2_RPD2_SHIFT    16\r
430 \r
431 /*------------------------------------------------------------------------------\r
432  * CSR2_RPD1:\r
433  *   RPD1 field of register CSR2.\r
434  *------------------------------------------------------------------------------\r
435  * RPD(15..8)\r
436  */\r
437 #define CSR2_RPD1_OFFSET   0x10\r
438 #define CSR2_RPD1_MASK     0x0000FF00uL\r
439 #define CSR2_RPD1_SHIFT    8\r
440 \r
441 /*------------------------------------------------------------------------------\r
442  * CSR2_RPD0:\r
443  *   RPD0 field of register CSR2.\r
444  *------------------------------------------------------------------------------\r
445  * RPD(7..0)\r
446  */\r
447 #define CSR2_RPD0_OFFSET   0x10\r
448 #define CSR2_RPD0_MASK     0x000000FFuL\r
449 #define CSR2_RPD0_SHIFT    0\r
450 \r
451 /*******************************************************************************\r
452  * CSR3 register:\r
453  *------------------------------------------------------------------------------\r
454  * CSR3 - Receive Descriptor List Base Address Register\r
455  */\r
456 #define CSR3_REG_OFFSET 0x18\r
457 \r
458 /*------------------------------------------------------------------------------\r
459  * CSR3_RLA3:\r
460  *   RLA3 field of register CSR3.\r
461  *------------------------------------------------------------------------------\r
462  * RLA(31..24)\r
463  */\r
464 #define CSR3_RLA3_OFFSET   0x18\r
465 #define CSR3_RLA3_MASK     0xFF000000uL\r
466 #define CSR3_RLA3_SHIFT    24\r
467 \r
468 /*------------------------------------------------------------------------------\r
469  * CSR3_RLA2:\r
470  *   RLA2 field of register CSR3.\r
471  *------------------------------------------------------------------------------\r
472  * RLA(23..16)\r
473  */\r
474 #define CSR3_RLA2_OFFSET   0x18\r
475 #define CSR3_RLA2_MASK     0x00FF0000uL\r
476 #define CSR3_RLA2_SHIFT    16\r
477 \r
478 /*------------------------------------------------------------------------------\r
479  * CSR3_RLA1:\r
480  *   RLA1 field of register CSR3.\r
481  *------------------------------------------------------------------------------\r
482  * RLA(15..8)\r
483  */\r
484 #define CSR3_RLA1_OFFSET   0x18\r
485 #define CSR3_RLA1_MASK     0x0000FF00uL\r
486 #define CSR3_RLA1_SHIFT    8\r
487 \r
488 /*------------------------------------------------------------------------------\r
489  * CSR3_RLA0:\r
490  *   RLA0 field of register CSR3.\r
491  *------------------------------------------------------------------------------\r
492  * RLA(7..0)\r
493  */\r
494 #define CSR3_RLA0_OFFSET   0x18\r
495 #define CSR3_RLA0_MASK     0x000000FFuL\r
496 #define CSR3_RLA0_SHIFT    0\r
497 \r
498 /*******************************************************************************\r
499  * CSR4 register:\r
500  *------------------------------------------------------------------------------\r
501  * CSR4 - Transmit Descriptor List Base Address Register\r
502  */\r
503 #define CSR4_REG_OFFSET 0x20\r
504 \r
505 /*------------------------------------------------------------------------------\r
506  * CSR4_TLA3:\r
507  *   TLA3 field of register CSR4.\r
508  *------------------------------------------------------------------------------\r
509  * TLA(31..24)\r
510  */\r
511 #define CSR4_TLA3_OFFSET   0x20\r
512 #define CSR4_TLA3_MASK     0xFF000000uL\r
513 #define CSR4_TLA3_SHIFT    24\r
514 \r
515 /*------------------------------------------------------------------------------\r
516  * CSR4_TLA2:\r
517  *   TLA2 field of register CSR4.\r
518  *------------------------------------------------------------------------------\r
519  * TLA(23..16)\r
520  */\r
521 #define CSR4_TLA2_OFFSET   0x20\r
522 #define CSR4_TLA2_MASK     0x00FF0000uL\r
523 #define CSR4_TLA2_SHIFT    16\r
524 \r
525 /*------------------------------------------------------------------------------\r
526  * CSR4_TLA1:\r
527  *   TLA1 field of register CSR4.\r
528  *------------------------------------------------------------------------------\r
529  * TLA(15..8)\r
530  */\r
531 #define CSR4_TLA1_OFFSET   0x20\r
532 #define CSR4_TLA1_MASK     0x0000FF00uL\r
533 #define CSR4_TLA1_SHIFT    8\r
534 \r
535 /*------------------------------------------------------------------------------\r
536  * CSR4_TLA0:\r
537  *   TLA0 field of register CSR4.\r
538  *------------------------------------------------------------------------------\r
539  * TLA(7..0)\r
540  */\r
541 #define CSR4_TLA0_OFFSET   0x20\r
542 #define CSR4_TLA0_MASK     0x000000FFuL\r
543 #define CSR4_TLA0_SHIFT    0\r
544 \r
545 /*******************************************************************************\r
546  * CSR5 register:\r
547  *------------------------------------------------------------------------------\r
548  * CSR5 - Status Register\r
549  */\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
554 \r
555 /*------------------------------------------------------------------------------\r
556  * CSR5_TS:\r
557  *   TS field of register CSR5.\r
558  *------------------------------------------------------------------------------\r
559  * Transmit process state\r
560  */\r
561 #define CSR5_TS_OFFSET   0x28\r
562 #define CSR5_TS_MASK     0x00700000uL\r
563 #define CSR5_TS_SHIFT    20\r
564 \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
579 \r
580 /*------------------------------------------------------------------------------\r
581  * CSR5_RS:\r
582  *   RS field of register CSR5.\r
583  *------------------------------------------------------------------------------\r
584  * Receive process state\r
585  */\r
586 #define CSR5_RS_OFFSET   0x28\r
587 #define CSR5_RS_MASK     0x00060000uL\r
588 #define CSR5_RS_SHIFT    17\r
589 \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
605 \r
606 /*------------------------------------------------------------------------------\r
607  * CSR5_NIS:\r
608  *   NIS field of register CSR5.\r
609  *------------------------------------------------------------------------------\r
610  * Normal interrupt summary\r
611  */\r
612 #define CSR5_NIS_OFFSET   0x28\r
613 #define CSR5_NIS_MASK     0x00010000uL\r
614 #define CSR5_NIS_SHIFT    16\r
615 \r
616 /*------------------------------------------------------------------------------\r
617  * CSR5_AIS:\r
618  *   AIS field of register CSR5.\r
619  *------------------------------------------------------------------------------\r
620  * Abnormal interrupt summary\r
621  */\r
622 #define CSR5_AIS_OFFSET   0x28\r
623 #define CSR5_AIS_MASK     0x00008000UL\r
624 #define CSR5_AIS_SHIFT    15\r
625 \r
626 /*------------------------------------------------------------------------------\r
627  * CSR5_ERI:\r
628  *   ERI field of register CSR5.\r
629  *------------------------------------------------------------------------------\r
630  * Early receive interrupt\r
631  */\r
632 #define CSR5_ERI_OFFSET   0x28\r
633 #define CSR5_ERI_MASK     0x00004000UL\r
634 #define CSR5_ERI_SHIFT    14\r
635 \r
636 /*------------------------------------------------------------------------------\r
637  * CSR5_GTE:\r
638  *   GTE field of register CSR5.\r
639  *------------------------------------------------------------------------------\r
640  * General-purpose timer expiration\r
641  */\r
642 #define CSR5_GTE_OFFSET   0x28\r
643 #define CSR5_GTE_MASK     0x00000800UL\r
644 #define CSR5_GTE_SHIFT    11\r
645 \r
646 /*------------------------------------------------------------------------------\r
647  * CSR5_ETI:\r
648  *   ETI field of register CSR5.\r
649  *------------------------------------------------------------------------------\r
650  * Early transmit interrupt\r
651  */\r
652 #define CSR5_ETI_OFFSET   0x28\r
653 #define CSR5_ETI_MASK     0x00000400UL\r
654 #define CSR5_ETI_SHIFT    10\r
655 \r
656 /*------------------------------------------------------------------------------\r
657  * CSR5_RPS:\r
658  *   RPS field of register CSR5.\r
659  *------------------------------------------------------------------------------\r
660  * Receive process stopped\r
661  */\r
662 #define CSR5_RPS_OFFSET   0x28\r
663 #define CSR5_RPS_MASK     0x00000100UL\r
664 #define CSR5_RPS_SHIFT    8\r
665 \r
666 /*------------------------------------------------------------------------------\r
667  * CSR5_RU:\r
668  *   RU field of register CSR5.\r
669  *------------------------------------------------------------------------------\r
670  * Receive buffer unavailable\r
671  */\r
672 #define CSR5_RU_OFFSET   0x28\r
673 #define CSR5_RU_MASK     0x00000080UL\r
674 #define CSR5_RU_SHIFT    7\r
675 \r
676 /*------------------------------------------------------------------------------\r
677  * CSR5_RI:\r
678  *   RI field of register CSR5.\r
679  *------------------------------------------------------------------------------\r
680  * Receive interrupt\r
681  */\r
682 #define CSR5_RI_OFFSET   0x28\r
683 #define CSR5_RI_MASK     0x00000040UL\r
684 #define CSR5_RI_SHIFT    6\r
685 \r
686 /*------------------------------------------------------------------------------\r
687  * CSR5_UNF:\r
688  *   UNF field of register CSR5.\r
689  *------------------------------------------------------------------------------\r
690  * Transmit underflow\r
691  */\r
692 #define CSR5_UNF_OFFSET   0x28\r
693 #define CSR5_UNF_MASK     0x00000020UL\r
694 #define CSR5_UNF_SHIFT    5\r
695 \r
696 /*------------------------------------------------------------------------------\r
697  * CSR5_TU:\r
698  *   TU field of register CSR5.\r
699  *------------------------------------------------------------------------------\r
700  * Transmit buffer unavailable\r
701  */\r
702 #define CSR5_TU_OFFSET   0x28\r
703 #define CSR5_TU_MASK     0x00000004UL\r
704 #define CSR5_TU_SHIFT    2\r
705 \r
706 /*------------------------------------------------------------------------------\r
707  * CSR5_TPS:\r
708  *   TPS field of register CSR5.\r
709  *------------------------------------------------------------------------------\r
710  * Transmit process stopped\r
711  */\r
712 #define CSR5_TPS_OFFSET   0x28\r
713 #define CSR5_TPS_MASK     0x00000002UL\r
714 #define CSR5_TPS_SHIFT    1\r
715 \r
716 /*------------------------------------------------------------------------------\r
717  * CSR5_TI:\r
718  *   TI field of register CSR5.\r
719  *------------------------------------------------------------------------------\r
720  * Transmit interrupt\r
721  */\r
722 #define CSR5_TI_OFFSET   0x28\r
723 #define CSR5_TI_MASK     0x00000001UL\r
724 #define CSR5_TI_SHIFT    0\r
725 \r
726 /*******************************************************************************\r
727  * CSR6 register:\r
728  *------------------------------------------------------------------------------\r
729  * CSR6 - Operation Mode Register\r
730  */\r
731 #define CSR6_REG_OFFSET 0x30\r
732 \r
733 /*------------------------------------------------------------------------------\r
734  * CSR6_RA:\r
735  *   RA field of register CSR6.\r
736  *------------------------------------------------------------------------------\r
737  * Receive all\r
738  */\r
739 #define CSR6_RA_OFFSET   0x30\r
740 #define CSR6_RA_MASK     0x40000000UL\r
741 #define CSR6_RA_SHIFT    30\r
742 \r
743 /*------------------------------------------------------------------------------\r
744  * CSR6_TTM:\r
745  *   TTM field of register CSR6.\r
746  *------------------------------------------------------------------------------\r
747  * Transmit threshold mode\r
748  */\r
749 #define CSR6_TTM_OFFSET   0x30\r
750 #define CSR6_TTM_MASK     0x00400000UL\r
751 #define CSR6_TTM_SHIFT    22\r
752 \r
753 /*------------------------------------------------------------------------------\r
754  * CSR6_SF:\r
755  *   SF field of register CSR6.\r
756  *------------------------------------------------------------------------------\r
757  * Store and forward\r
758  */\r
759 #define CSR6_SF_OFFSET   0x30\r
760 #define CSR6_SF_MASK     0x00200000UL\r
761 #define CSR6_SF_SHIFT    21\r
762 \r
763 /*------------------------------------------------------------------------------\r
764  * CSR6_TR:\r
765  *   TR field of register CSR6.\r
766  *------------------------------------------------------------------------------\r
767  * Threshold control bits\r
768  */\r
769 #define CSR6_TR_OFFSET   0x30\r
770 #define CSR6_TR_MASK     0x0000C000UL\r
771 #define CSR6_TR_SHIFT    14\r
772 \r
773 /*------------------------------------------------------------------------------\r
774  * CSR6_ST:\r
775  *   ST field of register CSR6.\r
776  *------------------------------------------------------------------------------\r
777  * Start/stop transmit command\r
778  */\r
779 #define CSR6_ST_OFFSET   0x30\r
780 #define CSR6_ST_MASK     0x00002000UL\r
781 #define CSR6_ST_SHIFT    13\r
782 \r
783 /*------------------------------------------------------------------------------\r
784  * CSR6_FD:\r
785  *   FD field of register CSR6.\r
786  *------------------------------------------------------------------------------\r
787  * Full-duplex mode\r
788  */\r
789 #define CSR6_FD_OFFSET   0x30\r
790 #define CSR6_FD_MASK     0x00000200UL\r
791 #define CSR6_FD_SHIFT    9\r
792 \r
793 /*------------------------------------------------------------------------------\r
794  * CSR6_PM:\r
795  *   PM field of register CSR6.\r
796  *------------------------------------------------------------------------------\r
797  * Pass all multicast\r
798  */\r
799 #define CSR6_PM_OFFSET   0x30\r
800 #define CSR6_PM_MASK     0x00000080UL\r
801 #define CSR6_PM_SHIFT    7\r
802 \r
803 /*------------------------------------------------------------------------------\r
804  * CSR6_PR:\r
805  *   PR field of register CSR6.\r
806  *------------------------------------------------------------------------------\r
807  * Promiscuous mode\r
808  */\r
809 #define CSR6_PR_OFFSET   0x30\r
810 #define CSR6_PR_MASK     0x00000040UL\r
811 #define CSR6_PR_SHIFT    6\r
812 \r
813 /*------------------------------------------------------------------------------\r
814  * CSR6_IF:\r
815  *   IF field of register CSR6.\r
816  *------------------------------------------------------------------------------\r
817  * Inverse filtering\r
818  */\r
819 #define CSR6_IF_OFFSET   0x30\r
820 #define CSR6_IF_MASK     0x00000010UL\r
821 #define CSR6_IF_SHIFT    4\r
822 \r
823 /*------------------------------------------------------------------------------\r
824  * CSR6_PB:\r
825  *   PB field of register CSR6.\r
826  *------------------------------------------------------------------------------\r
827  * Pass bad frames\r
828  */\r
829 #define CSR6_PB_OFFSET   0x30\r
830 #define CSR6_PB_MASK     0x00000008UL\r
831 #define CSR6_PB_SHIFT    3\r
832 \r
833 /*------------------------------------------------------------------------------\r
834  * CSR6_HO:\r
835  *   HO field of register CSR6.\r
836  *------------------------------------------------------------------------------\r
837  * Hash-only filtering mode\r
838  */\r
839 #define CSR6_HO_OFFSET   0x30\r
840 #define CSR6_HO_MASK     0x00000004UL\r
841 #define CSR6_HO_SHIFT    2\r
842 \r
843 /*------------------------------------------------------------------------------\r
844  * CSR6_SR:\r
845  *   SR field of register CSR6.\r
846  *------------------------------------------------------------------------------\r
847  * Start/stop receive command\r
848  */\r
849 #define CSR6_SR_OFFSET   0x30\r
850 #define CSR6_SR_MASK     0x00000002UL\r
851 #define CSR6_SR_SHIFT    1\r
852 \r
853 /*------------------------------------------------------------------------------\r
854  * CSR6_HP:\r
855  *   HP field of register CSR6.\r
856  *------------------------------------------------------------------------------\r
857  * Hash/perfect receive filtering mode\r
858  */\r
859 #define CSR6_HP_OFFSET   0x30\r
860 #define CSR6_HP_MASK     0x00000001UL\r
861 #define CSR6_HP_SHIFT    0\r
862 \r
863 /*******************************************************************************\r
864  * CSR7 register:\r
865  *------------------------------------------------------------------------------\r
866  * CSR7 - Interrupt Enable Register\r
867  */\r
868 #define CSR7_REG_OFFSET 0x38\r
869 \r
870 /*------------------------------------------------------------------------------\r
871  * CSR7_NIE:\r
872  *   NIE field of register CSR7.\r
873  *------------------------------------------------------------------------------\r
874  * Normal interrupt summary enable\r
875  */\r
876 #define CSR7_NIE_OFFSET   0x38\r
877 #define CSR7_NIE_MASK     0x00010000UL\r
878 #define CSR7_NIE_SHIFT    16\r
879 \r
880 /*------------------------------------------------------------------------------\r
881  * CSR7_AIE:\r
882  *   AIE field of register CSR7.\r
883  *------------------------------------------------------------------------------\r
884  * Abnormal interrupt summary enable\r
885  */\r
886 #define CSR7_AIE_OFFSET   0x38\r
887 #define CSR7_AIE_MASK     0x00008000UL\r
888 #define CSR7_AIE_SHIFT    15\r
889 \r
890 /*------------------------------------------------------------------------------\r
891  * CSR7_ERE:\r
892  *   ERE field of register CSR7.\r
893  *------------------------------------------------------------------------------\r
894  * Early receive interrupt enable\r
895  */\r
896 #define CSR7_ERE_OFFSET   0x38\r
897 #define CSR7_ERE_MASK     0x00004000UL\r
898 #define CSR7_ERE_SHIFT    14\r
899 \r
900 /*------------------------------------------------------------------------------\r
901  * CSR7_GTE:\r
902  *   GTE field of register CSR7.\r
903  *------------------------------------------------------------------------------\r
904  * General-purpose timer overflow enable\r
905  */\r
906 #define CSR7_GTE_OFFSET   0x38\r
907 #define CSR7_GTE_MASK     0x00000800UL\r
908 #define CSR7_GTE_SHIFT    11\r
909 \r
910 /*------------------------------------------------------------------------------\r
911  * CSR7_ETE:\r
912  *   ETE field of register CSR7.\r
913  *------------------------------------------------------------------------------\r
914  * Early transmit interrupt enable\r
915  */\r
916 #define CSR7_ETE_OFFSET   0x38\r
917 #define CSR7_ETE_MASK     0x00000400UL\r
918 #define CSR7_ETE_SHIFT    10\r
919 \r
920 /*------------------------------------------------------------------------------\r
921  * CSR7_RSE:\r
922  *   RSE field of register CSR7.\r
923  *------------------------------------------------------------------------------\r
924  * Receive stopped enable\r
925  */\r
926 #define CSR7_RSE_OFFSET   0x38\r
927 #define CSR7_RSE_MASK     0x00000100UL\r
928 #define CSR7_RSE_SHIFT    8\r
929 \r
930 /*------------------------------------------------------------------------------\r
931  * CSR7_RUE:\r
932  *   RUE field of register CSR7.\r
933  *------------------------------------------------------------------------------\r
934  * Receive buffer unavailable enable\r
935  */\r
936 #define CSR7_RUE_OFFSET   0x38\r
937 #define CSR7_RUE_MASK     0x00000080UL\r
938 #define CSR7_RUE_SHIFT    7\r
939 \r
940 /*------------------------------------------------------------------------------\r
941  * CSR7_RIE:\r
942  *   RIE field of register CSR7.\r
943  *------------------------------------------------------------------------------\r
944  * Receive interrupt enable\r
945  */\r
946 #define CSR7_RIE_OFFSET   0x38\r
947 #define CSR7_RIE_MASK     0x00000040UL\r
948 #define CSR7_RIE_SHIFT    6\r
949 \r
950 /*------------------------------------------------------------------------------\r
951  * CSR7_UNE:\r
952  *   UNE field of register CSR7.\r
953  *------------------------------------------------------------------------------\r
954  * Underflow interrupt enable\r
955  */\r
956 #define CSR7_UNE_OFFSET   0x38\r
957 #define CSR7_UNE_MASK     0x00000020UL\r
958 #define CSR7_UNE_SHIFT    5\r
959 \r
960 /*------------------------------------------------------------------------------\r
961  * CSR7_TUE:\r
962  *   TUE field of register CSR7.\r
963  *------------------------------------------------------------------------------\r
964  * Transmit buffer unavailable enable\r
965  */\r
966 #define CSR7_TUE_OFFSET   0x38\r
967 #define CSR7_TUE_MASK     0x00000004UL\r
968 #define CSR7_TUE_SHIFT    2\r
969 \r
970 /*------------------------------------------------------------------------------\r
971  * CSR7_TSE:\r
972  *   TSE field of register CSR7.\r
973  *------------------------------------------------------------------------------\r
974  * Transmit stopped enable\r
975  */\r
976 #define CSR7_TSE_OFFSET   0x38\r
977 #define CSR7_TSE_MASK     0x00000002UL\r
978 #define CSR7_TSE_SHIFT    1\r
979 \r
980 /*------------------------------------------------------------------------------\r
981  * CSR7_TIE:\r
982  *   TIE field of register CSR7.\r
983  *------------------------------------------------------------------------------\r
984  * Transmit interrupt enable\r
985  */\r
986 #define CSR7_TIE_OFFSET   0x38\r
987 #define CSR7_TIE_MASK     0x00000001UL\r
988 #define CSR7_TIE_SHIFT    0\r
989 \r
990 /*******************************************************************************\r
991  * CSR8 register:\r
992  *------------------------------------------------------------------------------\r
993  * CSR8 - Missed Frames and Overflow Counter Register\r
994  */\r
995 #define CSR8_REG_OFFSET 0x40\r
996 \r
997 /*------------------------------------------------------------------------------\r
998  * CSR8_OCO:\r
999  *   OCO field of register CSR8.\r
1000  *------------------------------------------------------------------------------\r
1001  * Overflow counter overflow\r
1002  */\r
1003 #define CSR8_OCO_OFFSET   0x40\r
1004 #define CSR8_OCO_MASK     0x10000000UL\r
1005 #define CSR8_OCO_SHIFT    28\r
1006 \r
1007 /*------------------------------------------------------------------------------\r
1008  * CSR8_FOC:\r
1009  *   FOC field of register CSR8.\r
1010  *------------------------------------------------------------------------------\r
1011  * FIFO overflow counter\r
1012  */\r
1013 #define CSR8_FOC_OFFSET   0x40\r
1014 #define CSR8_FOC_MASK     0x0FFE0000UL\r
1015 #define CSR8_FOC_SHIFT    17\r
1016 \r
1017 /*------------------------------------------------------------------------------\r
1018  * CSR8_MFO:\r
1019  *   MFO field of register CSR8.\r
1020  *------------------------------------------------------------------------------\r
1021  * Missed frame overflow\r
1022  */\r
1023 #define CSR8_MFO_OFFSET   0x40\r
1024 #define CSR8_MFO_MASK     0x00010000UL\r
1025 #define CSR8_MFO_SHIFT    16\r
1026 \r
1027 /*------------------------------------------------------------------------------\r
1028  * CSR8_MFC:\r
1029  *   MFC field of register CSR8.\r
1030  *------------------------------------------------------------------------------\r
1031  * Missed frame counter\r
1032  */\r
1033 #define CSR8_MFC_OFFSET   0x40\r
1034 #define CSR8_MFC_MASK     0x0000FFFFUL\r
1035 #define CSR8_MFC_SHIFT    0\r
1036 \r
1037 /*******************************************************************************\r
1038  * CSR9 register:\r
1039  *------------------------------------------------------------------------------\r
1040  * CSR9 - MII Management and Serial ROM Interface Register\r
1041  */\r
1042 #define CSR9_REG_OFFSET 0x48\r
1043 \r
1044 /*------------------------------------------------------------------------------\r
1045  * CSR9_MDI:\r
1046  *   MDI field of register CSR9.\r
1047  *------------------------------------------------------------------------------\r
1048  * MII management data in signal\r
1049  */\r
1050 #define CSR9_MDI_OFFSET   0x48\r
1051 #define CSR9_MDI_MASK     0x00080000UL\r
1052 #define CSR9_MDI_SHIFT    19\r
1053 \r
1054 /*------------------------------------------------------------------------------\r
1055  * CSR9_MII:\r
1056  *   MII field of register CSR9.\r
1057  *------------------------------------------------------------------------------\r
1058  * MII management operation mode\r
1059  */\r
1060 #define CSR9_MII_OFFSET   0x48\r
1061 #define CSR9_MII_MASK     0x00040000UL\r
1062 #define CSR9_MII_SHIFT    18\r
1063 \r
1064 /*------------------------------------------------------------------------------\r
1065  * CSR9_MDO:\r
1066  *   MDO field of register CSR9.\r
1067  *------------------------------------------------------------------------------\r
1068  * MII management write data\r
1069  */\r
1070 #define CSR9_MDO_OFFSET   0x48\r
1071 #define CSR9_MDO_MASK     0x00020000UL\r
1072 #define CSR9_MDO_SHIFT    17\r
1073 \r
1074 /*------------------------------------------------------------------------------\r
1075  * CSR9_MDC:\r
1076  *   MDC field of register CSR9.\r
1077  *------------------------------------------------------------------------------\r
1078  * MII management clock\r
1079  */\r
1080 #define CSR9_MDC_OFFSET   0x48\r
1081 #define CSR9_MDC_MASK     0x00010000UL\r
1082 #define CSR9_MDC_SHIFT    16\r
1083 \r
1084 /*------------------------------------------------------------------------------\r
1085  * CSR9_SDO:\r
1086  *   SDO field of register CSR9.\r
1087  *------------------------------------------------------------------------------\r
1088  * Serial ROM data output\r
1089  */\r
1090 #define CSR9_SDO_OFFSET   0x48\r
1091 #define CSR9_SDO_MASK     0x00000008UL\r
1092 #define CSR9_SDO_SHIFT    3\r
1093 \r
1094 /*------------------------------------------------------------------------------\r
1095  * CSR9_SDI:\r
1096  *   SDI field of register CSR9.\r
1097  *------------------------------------------------------------------------------\r
1098  * Serial ROM data input\r
1099  */\r
1100 #define CSR9_SDI_OFFSET   0x48\r
1101 #define CSR9_SDI_MASK     0x00000004UL\r
1102 #define CSR9_SDI_SHIFT    2\r
1103 \r
1104 /*------------------------------------------------------------------------------\r
1105  * CSR9_SCLK:\r
1106  *   SCLK field of register CSR9.\r
1107  *------------------------------------------------------------------------------\r
1108  * Serial ROM clock\r
1109  */\r
1110 #define CSR9_SCLK_OFFSET   0x48\r
1111 #define CSR9_SCLK_MASK     0x00000002UL\r
1112 #define CSR9_SCLK_SHIFT    1\r
1113 \r
1114 /*------------------------------------------------------------------------------\r
1115  * CSR9_SCS:\r
1116  *   SCS field of register CSR9.\r
1117  *------------------------------------------------------------------------------\r
1118  * Serial ROM chip select\r
1119  */\r
1120 #define CSR9_SCS_OFFSET   0x48\r
1121 #define CSR9_SCS_MASK     0x00000001UL\r
1122 #define CSR9_SCS_SHIFT    0\r
1123 \r
1124 /*******************************************************************************\r
1125  * CSR11 register:\r
1126  *------------------------------------------------------------------------------\r
1127  * CSR11 - General-Purpose Timer and Interrupt Mitigation Control Register\r
1128  */\r
1129 #define CSR11_REG_OFFSET        0x58\r
1130 \r
1131 /*------------------------------------------------------------------------------\r
1132  * CSR11_CS:\r
1133  *   CS field of register CSR11.\r
1134  *------------------------------------------------------------------------------\r
1135  * Cycle size\r
1136  */\r
1137 #define CSR11_CS_OFFSET   0x58\r
1138 #define CSR11_CS_MASK     0x80000000UL\r
1139 #define CSR11_CS_SHIFT    31\r
1140 \r
1141 /*------------------------------------------------------------------------------\r
1142  * CSR11_TT:\r
1143  *   TT field of register CSR11.\r
1144  *------------------------------------------------------------------------------\r
1145  * Transmit timer\r
1146  */\r
1147 #define CSR11_TT_OFFSET   0x58\r
1148 #define CSR11_TT_MASK     0x78000000UL\r
1149 #define CSR11_TT_SHIFT    27\r
1150 \r
1151 /*------------------------------------------------------------------------------\r
1152  * CSR11_NTP:\r
1153  *   NTP field of register CSR11.\r
1154  *------------------------------------------------------------------------------\r
1155  * Number of transmit packets\r
1156  */\r
1157 #define CSR11_NTP_OFFSET   0x58\r
1158 #define CSR11_NTP_MASK     0x07000000UL\r
1159 #define CSR11_NTP_SHIFT    24\r
1160 \r
1161 /*------------------------------------------------------------------------------\r
1162  * CSR11_RT:\r
1163  *   RT field of register CSR11.\r
1164  *------------------------------------------------------------------------------\r
1165  * Receive timer\r
1166  */\r
1167 #define CSR11_RT_OFFSET   0x58\r
1168 #define CSR11_RT_MASK     0x00F00000UL\r
1169 #define CSR11_RT_SHIFT    20\r
1170 \r
1171 /*------------------------------------------------------------------------------\r
1172  * CSR11_NRP:\r
1173  *   NRP field of register CSR11.\r
1174  *------------------------------------------------------------------------------\r
1175  * Number of receive packets\r
1176  */\r
1177 #define CSR11_NRP_OFFSET   0x58\r
1178 #define CSR11_NRP_MASK     0x000E0000UL\r
1179 #define CSR11_NRP_SHIFT    17\r
1180 \r
1181 /*------------------------------------------------------------------------------\r
1182  * CSR11_CON:\r
1183  *   CON field of register CSR11.\r
1184  *------------------------------------------------------------------------------\r
1185  * Continuous mode\r
1186  */\r
1187 #define CSR11_CON_OFFSET   0x58\r
1188 #define CSR11_CON_MASK     0x00010000UL\r
1189 #define CSR11_CON_SHIFT    16\r
1190 \r
1191 /*------------------------------------------------------------------------------\r
1192  * CSR11_TIM:\r
1193  *   TIM field of register CSR11.\r
1194  *------------------------------------------------------------------------------\r
1195  * Timer value\r
1196  */\r
1197 #define CSR11_TIM_OFFSET   0x58\r
1198 #define CSR11_TIM_MASK     0x0000FFFFUL\r
1199 #define CSR11_TIM_SHIFT    0\r
1200 \r
1201 #ifdef __cplusplus\r
1202 }\r
1203 #endif\r
1204 \r
1205 #endif /* MSS_ETHERNET_MAC_REGISTERS_H_*/\r