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