OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [libgloss/] [bfin/] [include/] [defBF518.h] - Blame information for rev 309

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 207 jeremybenn
/*
2
 * The authors hereby grant permission to use, copy, modify, distribute,
3
 * and license this software and its documentation for any purpose, provided
4
 * that existing copyright notices are retained in all copies and that this
5
 * notice is included verbatim in any distributions. No written agreement,
6
 * license, or royalty fee is required for any of the authorized uses.
7
 * Modifications to this software may be copyrighted by their authors
8
 * and need not follow the licensing terms described here, provided that
9
 * the new terms are clearly indicated on the first page of each file where
10
 * they apply.
11
 */
12
 
13
/*
14
** Copyright (C) 2009 Analog Devices, Inc.
15
**
16
************************************************************************************
17
**
18
** This include file contains a list of macro "defines" to enable the programmer
19
** to use symbolic names for register-access and bit-manipulation.
20
**
21
**/
22
#ifndef _DEF_BF518_H
23
#define _DEF_BF518_H
24
 
25
/* Include all Core registers and bit definitions */
26
#include <def_LPBlackfin.h>
27
 
28
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF518 */
29
 
30
/* Include defBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
31
#include <defBF51x_base.h>
32
 
33
#ifdef _MISRA_RULES
34
#pragma diag(push)
35
#pragma diag(suppress:misra_rule_19_4:"macros not strictly following 19.4")
36
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros")
37
#endif /* _MISRA_RULES */
38
 
39
/* The following are the #defines needed by ADSP-BF518 that are not in the common header */
40
/* 10/100 Ethernet Controller   (0xFFC03000 - 0xFFC031FF) */
41
 
42
#define EMAC_OPMODE             0xFFC03000       /* Operating Mode Register                              */
43
#define EMAC_ADDRLO             0xFFC03004       /* Address Low (32 LSBs) Register                       */
44
#define EMAC_ADDRHI             0xFFC03008       /* Address High (16 MSBs) Register                      */
45
#define EMAC_HASHLO             0xFFC0300C       /* Multicast Hash Table Low (Bins 31-0) Register        */
46
#define EMAC_HASHHI             0xFFC03010       /* Multicast Hash Table High (Bins 63-32) Register      */
47
#define EMAC_STAADD             0xFFC03014       /* Station Management Address Register                  */
48
#define EMAC_STADAT             0xFFC03018       /* Station Management Data Register                     */
49
#define EMAC_FLC                0xFFC0301C       /* Flow Control Register                                */
50
#define EMAC_VLAN1              0xFFC03020       /* VLAN1 Tag Register                                   */
51
#define EMAC_VLAN2              0xFFC03024       /* VLAN2 Tag Register                                   */
52
#define EMAC_WKUP_CTL           0xFFC0302C       /* Wake-Up Control/Status Register                      */
53
#define EMAC_WKUP_FFMSK0        0xFFC03030       /* Wake-Up Frame Filter 0 Byte Mask Register            */
54
#define EMAC_WKUP_FFMSK1        0xFFC03034       /* Wake-Up Frame Filter 1 Byte Mask Register            */
55
#define EMAC_WKUP_FFMSK2        0xFFC03038       /* Wake-Up Frame Filter 2 Byte Mask Register            */
56
#define EMAC_WKUP_FFMSK3        0xFFC0303C       /* Wake-Up Frame Filter 3 Byte Mask Register            */
57
#define EMAC_WKUP_FFCMD         0xFFC03040       /* Wake-Up Frame Filter Commands Register               */
58
#define EMAC_WKUP_FFOFF         0xFFC03044       /* Wake-Up Frame Filter Offsets Register                */
59
#define EMAC_WKUP_FFCRC0        0xFFC03048       /* Wake-Up Frame Filter 0,1 CRC-16 Register             */
60
#define EMAC_WKUP_FFCRC1        0xFFC0304C       /* Wake-Up Frame Filter 2,3 CRC-16 Register             */
61
 
62
#define EMAC_SYSCTL             0xFFC03060       /* EMAC System Control Register                         */
63
#define EMAC_SYSTAT             0xFFC03064       /* EMAC System Status Register                          */
64
#define EMAC_RX_STAT            0xFFC03068       /* RX Current Frame Status Register                     */
65
#define EMAC_RX_STKY            0xFFC0306C       /* RX Sticky Frame Status Register                      */
66
#define EMAC_RX_IRQE            0xFFC03070       /* RX Frame Status Interrupt Enables Register           */
67
#define EMAC_TX_STAT            0xFFC03074       /* TX Current Frame Status Register                     */
68
#define EMAC_TX_STKY            0xFFC03078       /* TX Sticky Frame Status Register                      */
69
#define EMAC_TX_IRQE            0xFFC0307C       /* TX Frame Status Interrupt Enables Register           */
70
 
71
#define EMAC_MMC_CTL            0xFFC03080       /* MMC Counter Control Register                         */
72
#define EMAC_MMC_RIRQS          0xFFC03084       /* MMC RX Interrupt Status Register                     */
73
#define EMAC_MMC_RIRQE          0xFFC03088       /* MMC RX Interrupt Enables Register                    */
74
#define EMAC_MMC_TIRQS          0xFFC0308C       /* MMC TX Interrupt Status Register                     */
75
#define EMAC_MMC_TIRQE          0xFFC03090       /* MMC TX Interrupt Enables Register                    */
76
 
77
/* EMAC PTP (IEEE 1588) */
78
 
79
#define EMAC_PTP_CTL              0xffc030a0     /* PTP Block Control                                              */
80
#define EMAC_PTP_IE               0xffc030a4     /* PTP Block Interrupt Enable                             */
81
#define EMAC_PTP_ISTAT            0xffc030a8       /* PTP Block Interrupt Status                                   */
82
#define EMAC_PTP_FOFF             0xffc030ac       /* PTP Filter offset Register                                   */
83
#define EMAC_PTP_FV1              0xffc030b0       /* PTP Filter Value Register 1                                  */
84
#define EMAC_PTP_FV2              0xffc030b4       /* PTP Filter Value Register 2                                  */
85
#define EMAC_PTP_FV3              0xffc030b8       /* PTP Filter Value Register 3                                  */
86
#define EMAC_PTP_ADDEND           0xffc030bc       /* PTP Addend for Frequency Compensation                */
87
#define EMAC_PTP_ACCR             0xffc030c0     /* PTP Accumulator for Frequency Compensation             */
88
#define EMAC_PTP_OFFSET           0xffc030c4     /* PTP Time Offset Register                                       */
89
#define EMAC_PTP_TIMELO           0xffc030c8     /* PTP Precision Clock Time Low                                   */
90
#define EMAC_PTP_TIMEHI           0xffc030cc     /* PTP Precision Clock Time High                                  */
91
#define EMAC_PTP_RXSNAPLO         0xffc030d0     /* PTP Receive Snapshot Register Low                      */
92
#define EMAC_PTP_RXSNAPHI         0xffc030d4     /* PTP Receive Snapshot Register High                     */
93
#define EMAC_PTP_TXSNAPLO         0xffc030d8     /* PTP Transmit Snapshot Register Low                     */
94
#define EMAC_PTP_TXSNAPHI         0xffc030dc     /* PTP Transmit Snapshot Register High                            */
95
#define EMAC_PTP_ALARMLO          0xffc030e0     /* PTP Alarm time Low                                             */
96
#define EMAC_PTP_ALARMHI          0xffc030e4     /* PTP Alarm time High                                            */
97
#define EMAC_PTP_ID_OFF           0xffc030e8     /* PTP Capture ID offset register                                 */
98
#define EMAC_PTP_ID_SNAP          0xffc030ec     /* PTP Capture ID register                                        */
99
#define EMAC_PTP_PPS_STARTLOP     0xffc030f0     /* PPS Start Time Low                                             */
100
#define EMAC_PTP_PPS_STARTHIP     0xffc030f4     /* PPS Start Time High                                            */
101
#define EMAC_PTP_PPS_PERIOD       0xffc030f8     /* PPS Count Register                                             */
102
 
103
#define EMAC_RXC_OK             0xFFC03100       /* RX Frame Successful Count                            */
104
#define EMAC_RXC_FCS            0xFFC03104       /* RX Frame FCS Failure Count                           */
105
#define EMAC_RXC_ALIGN          0xFFC03108       /* RX Alignment Error Count                             */
106
#define EMAC_RXC_OCTET          0xFFC0310C       /* RX Octets Successfully Received Count                */
107
#define EMAC_RXC_DMAOVF         0xFFC03110       /* Internal MAC Sublayer Error RX Frame Count           */
108
#define EMAC_RXC_UNICST         0xFFC03114       /* Unicast RX Frame Count                               */
109
#define EMAC_RXC_MULTI          0xFFC03118       /* Multicast RX Frame Count                             */
110
#define EMAC_RXC_BROAD          0xFFC0311C       /* Broadcast RX Frame Count                             */
111
#define EMAC_RXC_LNERRI         0xFFC03120       /* RX Frame In Range Error Count                        */
112
#define EMAC_RXC_LNERRO         0xFFC03124       /* RX Frame Out Of Range Error Count                    */
113
#define EMAC_RXC_LONG           0xFFC03128       /* RX Frame Too Long Count                              */
114
#define EMAC_RXC_MACCTL         0xFFC0312C       /* MAC Control RX Frame Count                           */
115
#define EMAC_RXC_OPCODE         0xFFC03130       /* Unsupported Op-Code RX Frame Count                   */
116
#define EMAC_RXC_PAUSE          0xFFC03134       /* MAC Control Pause RX Frame Count                     */
117
#define EMAC_RXC_ALLFRM         0xFFC03138       /* Overall RX Frame Count                               */
118
#define EMAC_RXC_ALLOCT         0xFFC0313C       /* Overall RX Octet Count                               */
119
#define EMAC_RXC_TYPED          0xFFC03140       /* Type/Length Consistent RX Frame Count                */
120
#define EMAC_RXC_SHORT          0xFFC03144       /* RX Frame Fragment Count - Byte Count x < 64          */
121
#define EMAC_RXC_EQ64           0xFFC03148       /* Good RX Frame Count - Byte Count x = 64              */
122
#define EMAC_RXC_LT128          0xFFC0314C       /* Good RX Frame Count - Byte Count  64 < x < 128       */
123
#define EMAC_RXC_LT256          0xFFC03150       /* Good RX Frame Count - Byte Count 128 <= x < 256      */
124
#define EMAC_RXC_LT512          0xFFC03154       /* Good RX Frame Count - Byte Count 256 <= x < 512      */
125
#define EMAC_RXC_LT1024         0xFFC03158       /* Good RX Frame Count - Byte Count 512 <= x < 1024     */
126
#define EMAC_RXC_GE1024         0xFFC0315C       /* Good RX Frame Count - Byte Count x >= 1024           */
127
 
128
#define EMAC_TXC_OK             0xFFC03180       /* TX Frame Successful Count                             */
129
#define EMAC_TXC_1COL           0xFFC03184       /* TX Frames Successful After Single Collision Count     */
130
#define EMAC_TXC_GT1COL         0xFFC03188       /* TX Frames Successful After Multiple Collisions Count  */
131
#define EMAC_TXC_OCTET          0xFFC0318C       /* TX Octets Successfully Received Count                 */
132
#define EMAC_TXC_DEFER          0xFFC03190       /* TX Frame Delayed Due To Busy Count                    */
133
#define EMAC_TXC_LATECL         0xFFC03194       /* Late TX Collisions Count                              */
134
#define EMAC_TXC_XS_COL         0xFFC03198       /* TX Frame Failed Due To Excessive Collisions Count     */
135
#define EMAC_TXC_DMAUND         0xFFC0319C       /* Internal MAC Sublayer Error TX Frame Count            */
136
#define EMAC_TXC_CRSERR         0xFFC031A0       /* Carrier Sense Deasserted During TX Frame Count        */
137
#define EMAC_TXC_UNICST         0xFFC031A4       /* Unicast TX Frame Count                                */
138
#define EMAC_TXC_MULTI          0xFFC031A8       /* Multicast TX Frame Count                              */
139
#define EMAC_TXC_BROAD          0xFFC031AC       /* Broadcast TX Frame Count                              */
140
#define EMAC_TXC_XS_DFR         0xFFC031B0       /* TX Frames With Excessive Deferral Count               */
141
#define EMAC_TXC_MACCTL         0xFFC031B4       /* MAC Control TX Frame Count                            */
142
#define EMAC_TXC_ALLFRM         0xFFC031B8       /* Overall TX Frame Count                                */
143
#define EMAC_TXC_ALLOCT         0xFFC031BC       /* Overall TX Octet Count                                */
144
#define EMAC_TXC_EQ64           0xFFC031C0       /* Good TX Frame Count - Byte Count x = 64               */
145
#define EMAC_TXC_LT128          0xFFC031C4       /* Good TX Frame Count - Byte Count  64 < x < 128        */
146
#define EMAC_TXC_LT256          0xFFC031C8       /* Good TX Frame Count - Byte Count 128 <= x < 256       */
147
#define EMAC_TXC_LT512          0xFFC031CC       /* Good TX Frame Count - Byte Count 256 <= x < 512       */
148
#define EMAC_TXC_LT1024         0xFFC031D0       /* Good TX Frame Count - Byte Count 512 <= x < 1024      */
149
#define EMAC_TXC_GE1024         0xFFC031D4       /* Good TX Frame Count - Byte Count x >= 1024            */
150
#define EMAC_TXC_ABORT          0xFFC031D8       /* Total TX Frames Aborted Count                         */
151
 
152
/* Listing for IEEE-Supported Count Registers */
153
 
154
#define FramesReceivedOK                EMAC_RXC_OK        /* RX Frame Successful Count                            */
155
#define FrameCheckSequenceErrors        EMAC_RXC_FCS       /* RX Frame FCS Failure Count                           */
156
#define AlignmentErrors                 EMAC_RXC_ALIGN     /* RX Alignment Error Count                             */
157
#define OctetsReceivedOK                EMAC_RXC_OCTET     /* RX Octets Successfully Received Count                */
158
#define FramesLostDueToIntMACRcvError   EMAC_RXC_DMAOVF    /* Internal MAC Sublayer Error RX Frame Count           */
159
#define UnicastFramesReceivedOK         EMAC_RXC_UNICST    /* Unicast RX Frame Count                               */
160
#define MulticastFramesReceivedOK       EMAC_RXC_MULTI     /* Multicast RX Frame Count                             */
161
#define BroadcastFramesReceivedOK       EMAC_RXC_BROAD     /* Broadcast RX Frame Count                             */
162
#define InRangeLengthErrors             EMAC_RXC_LNERRI    /* RX Frame In Range Error Count                        */
163
#define OutOfRangeLengthField           EMAC_RXC_LNERRO    /* RX Frame Out Of Range Error Count                    */
164
#define FrameTooLongErrors              EMAC_RXC_LONG      /* RX Frame Too Long Count                              */
165
#define MACControlFramesReceived        EMAC_RXC_MACCTL    /* MAC Control RX Frame Count                           */
166
#define UnsupportedOpcodesReceived      EMAC_RXC_OPCODE    /* Unsupported Op-Code RX Frame Count                   */
167
#define PAUSEMACCtrlFramesReceived      EMAC_RXC_PAUSE     /* MAC Control Pause RX Frame Count                     */
168
#define FramesReceivedAll               EMAC_RXC_ALLFRM    /* Overall RX Frame Count                               */
169
#define OctetsReceivedAll               EMAC_RXC_ALLOCT    /* Overall RX Octet Count                               */
170
#define TypedFramesReceived             EMAC_RXC_TYPED     /* Type/Length Consistent RX Frame Count                */
171
#define FramesLenLt64Received           EMAC_RXC_SHORT     /* RX Frame Fragment Count - Byte Count x < 64          */
172
#define FramesLenEq64Received           EMAC_RXC_EQ64      /* Good RX Frame Count - Byte Count x = 64              */
173
#define FramesLen65_127Received         EMAC_RXC_LT128     /* Good RX Frame Count - Byte Count  64 < x < 128       */
174
#define FramesLen128_255Received        EMAC_RXC_LT256     /* Good RX Frame Count - Byte Count 128 <= x < 256      */
175
#define FramesLen256_511Received        EMAC_RXC_LT512     /* Good RX Frame Count - Byte Count 256 <= x < 512      */
176
#define FramesLen512_1023Received       EMAC_RXC_LT1024    /* Good RX Frame Count - Byte Count 512 <= x < 1024     */
177
#define FramesLen1024_MaxReceived       EMAC_RXC_GE1024    /* Good RX Frame Count - Byte Count x >= 1024           */
178
 
179
#define FramesTransmittedOK             EMAC_TXC_OK        /* TX Frame Successful Count                            */
180
#define SingleCollisionFrames           EMAC_TXC_1COL      /* TX Frames Successful After Single Collision Count    */
181
#define MultipleCollisionFrames         EMAC_TXC_GT1COL    /* TX Frames Successful After Multiple Collisions Count */
182
#define OctetsTransmittedOK             EMAC_TXC_OCTET     /* TX Octets Successfully Received Count                */
183
#define FramesWithDeferredXmissions     EMAC_TXC_DEFER     /* TX Frame Delayed Due To Busy Count                   */
184
#define LateCollisions                  EMAC_TXC_LATECL    /* Late TX Collisions Count                             */
185
#define FramesAbortedDueToXSColls       EMAC_TXC_XS_COL    /* TX Frame Failed Due To Excessive Collisions Count    */
186
#define FramesLostDueToIntMacXmitError  EMAC_TXC_DMAUND    /* Internal MAC Sublayer Error TX Frame Count           */
187
#define CarrierSenseErrors              EMAC_TXC_CRSERR    /* Carrier Sense Deasserted During TX Frame Count       */
188
#define UnicastFramesXmittedOK          EMAC_TXC_UNICST    /* Unicast TX Frame Count                               */
189
#define MulticastFramesXmittedOK        EMAC_TXC_MULTI     /* Multicast TX Frame Count                             */
190
#define BroadcastFramesXmittedOK        EMAC_TXC_BROAD     /* Broadcast TX Frame Count                             */
191
#define FramesWithExcessiveDeferral     EMAC_TXC_XS_DFR    /* TX Frames With Excessive Deferral Count              */
192
#define MACControlFramesTransmitted     EMAC_TXC_MACCTL    /* MAC Control TX Frame Count                           */
193
#define FramesTransmittedAll            EMAC_TXC_ALLFRM    /* Overall TX Frame Count                               */
194
#define OctetsTransmittedAll            EMAC_TXC_ALLOCT    /* Overall TX Octet Count                               */
195
#define FramesLenEq64Transmitted        EMAC_TXC_EQ64      /* Good TX Frame Count - Byte Count x = 64              */
196
#define FramesLen65_127Transmitted      EMAC_TXC_LT128     /* Good TX Frame Count - Byte Count  64 < x < 128       */
197
#define FramesLen128_255Transmitted     EMAC_TXC_LT256     /* Good TX Frame Count - Byte Count 128 <= x < 256      */
198
#define FramesLen256_511Transmitted     EMAC_TXC_LT512     /* Good TX Frame Count - Byte Count 256 <= x < 512      */
199
#define FramesLen512_1023Transmitted    EMAC_TXC_LT1024    /* Good TX Frame Count - Byte Count 512 <= x < 1024     */
200
#define FramesLen1024_MaxTransmitted    EMAC_TXC_GE1024    /* Good TX Frame Count - Byte Count x >= 1024           */
201
#define TxAbortedFrames                 EMAC_TXC_ABORT     /* Total TX Frames Aborted Count                        */
202
 
203
 
204
/* RSI Registers */
205
 
206
#define RSI_PWR_CONTROL                 0xFFC03800              /* RSI Power Control Register */
207
/* legacy register name (below) provided for backwards code compatibility */
208
#define SDH_PWR_CTL                     RSI_PWR_CONTROL /* SDH Power Control */
209
#define RSI_CLK_CONTROL                 0xFFC03804              /* RSI Clock Control Register */
210
/* legacy register name (below) provided for backwards code compatibility */
211
#define SDH_CLK_CTL                     RSI_CLK_CONTROL /* SDH Clock Control */
212
#define RSI_ARGUMENT                    0xFFC03808              /* RSI Argument Register */
213
/* legacy register name (below) provided for backwards code compatibility */
214
#define SDH_ARGUMENT                    RSI_ARGUMENT    /* SDH Argument */
215
#define RSI_COMMAND                     0xFFC0380C              /* RSI Command Register */
216
/* legacy register name (below) provided for backwards code compatibility */
217
#define SDH_COMMAND                     RSI_COMMAND             /* SDH Command */
218
#define RSI_RESP_CMD                    0xFFC03810              /* RSI Response Command Register */
219
/* legacy register name (below) provided for backwards code compatibility */
220
#define SDH_RESP_CMD                    RSI_RESP_CMD            /* SDH Response Command */
221
#define RSI_RESPONSE0                   0xFFC03814              /* RSI Response Register */
222
/* legacy register name (below) provided for backwards code compatibility */
223
#define SDH_RESPONSE0                   RSI_RESPONSE0           /* SDH Response0 */
224
#define RSI_RESPONSE1                   0xFFC03818              /* RSI Response Register */
225
/* legacy register name (below) provided for backwards code compatibility */
226
#define SDH_RESPONSE1                   RSI_RESPONSE1           /* SDH Response1 */
227
#define RSI_RESPONSE2                   0xFFC0381C      /* RSI Response Register */
228
/* legacy register name (below) provided for backwards code compatibility */
229
#define SDH_RESPONSE2                   RSI_RESPONSE2           /* SDH Response2 */
230
#define RSI_RESPONSE3                   0xFFC03820              /* RSI Response Register */
231
/* legacy register name (below) provided for backwards code compatibility */
232
#define SDH_RESPONSE3                   RSI_RESPONSE3           /* SDH Response3 */
233
#define RSI_DATA_TIMER                  0xFFC03824              /* RSI Data Timer Register */
234
/* legacy register name (below) provided for backwards code compatibility */
235
#define SDH_DATA_TIMER                  RSI_DATA_TIMER          /* SDH Data Timer */
236
#define RSI_DATA_LGTH                   0xFFC03828              /* RSI Data Length Register */
237
/* legacy register name (below) provided for backwards code compatibility */
238
#define SDH_DATA_LGTH                   RSI_DATA_LGTH           /* SDH Data Length */
239
#define RSI_DATA_CONTROL                0xFFC0382C              /* RSI Data Control Register */
240
/* legacy register name (below) provided for backwards code compatibility */
241
#define SDH_DATA_CTL                    RSI_DATA_CONTROL        /* SDH Data Control */
242
#define RSI_DATA_CNT                    0xFFC03830              /* RSI Data Counter Register */
243
/* legacy register name (below) provided for backwards code compatibility */
244
#define SDH_DATA_CNT                    RSI_DATA_CNT            /* SDH Data Counter */
245
#define RSI_STATUS                      0xFFC03834              /* RSI Status Register */
246
/* legacy register name (below) provided for backwards code compatibility */
247
#define SDH_STATUS                      RSI_STATUS              /* SDH Status */
248
#define RSI_STATUSCL                    0xFFC03838              /* RSI Status Clear Register */
249
/* legacy register name (below) provided for backwards code compatibility */
250
#define SDH_STATUS_CLR                  RSI_STATUSCL            /* SDH Status Clear */
251
#define RSI_MASK0                               0xFFC0383C              /* RSI Interrupt 0 Mask Register */
252
/* legacy register name (below) provided for backwards code compatibility */
253
#define SDH_MASK0                       RSI_MASK0               /* SDH Interrupt0 Mask */
254
#define RSI_MASK1                               0xFFC03840              /* RSI Interrupt 1 Mask Register */
255
/* legacy register name (below) provided for backwards code compatibility */
256
#define SDH_MASK1                       RSI_MASK1               /* SDH Interrupt1 Mask */
257
#define RSI_FIFO_CNT                    0xFFC03848              /* RSI FIFO Counter Register */
258
/* legacy register name (below) provided for backwards code compatibility */
259
#define SDH_FIFO_CNT                    RSI_FIFO_CNT            /* SDH FIFO Counter */
260
#define RSI_CEATA_CONTROL               0xFFC0384C              /* RSI CEATA Register */
261
#define RSI_FIFO                                0xFFC03880              /* RSI Data FIFO Register */
262
/* legacy register name (below) provided for backwards code compatibility */
263
#define SDH_FIFO                        RSI_FIFO                /* SDH Data FIFO */
264
#define RSI_ESTAT                               0xFFC038C0              /* RSI Exception Status Register */
265
/* legacy register name (below) provided for backwards code compatibility */
266
#define SDH_E_STATUS                    RSI_ESTAT               /* SDH Exception Status */
267
#define RSI_EMASK                               0xFFC038C4              /* RSI Exception Mask Register */
268
/* legacy register name (below) provided for backwards code compatibility */
269
#define SDH_E_MASK                      RSI_EMASK               /* SDH Exception Mask */
270
#define RSI_CONFIG                      0xFFC038C8              /* RSI Configuration Register */
271
/* legacy register name (below) provided for backwards code compatibility */
272
#define SDH_CFG                                 RSI_CONFIG              /* SDH Configuration */
273
#define RSI_RD_WAIT_EN                  0xFFC038CC              /* RSI Read Wait Enable Register */
274
/* legacy register name (below) provided for backwards code compatibility */
275
#define SDH_RD_WAIT_EN                  RSI_RD_WAIT_EN          /* SDH Read Wait Enable */
276
#define RSI_PID0                                0xFFC038D0              /* RSI Peripheral ID Register 0 */
277
/* legacy register name (below) provided for backwards code compatibility */
278
#define SDH_PID0                        RSI_PID0                /* SDH Peripheral Identification0 */
279
#define RSI_PID1                                0xFFC038D4              /* RSI Peripheral ID Register 1 */
280
/* legacy register name (below) provided for backwards code compatibility */
281
#define SDH_PID1                        RSI_PID1                /* SDH Peripheral Identification1 */
282
#define RSI_PID2                                0xFFC038D8              /* RSI Peripheral ID Register 2 */
283
/* legacy register name (below) provided for backwards code compatibility */
284
#define SDH_PID2                        RSI_PID2                /* SDH Peripheral Identification2 */
285
#define RSI_PID3                                0xFFC038DC              /* RSI Peripheral ID Register 3 */
286
/* legacy register name (below) provided for backwards code compatibility */
287
#define SDH_PID3                        RSI_PID3                /* SDH Peripheral Identification3 */
288
/* RSI Registers */
289
 
290
 
291
 
292
/***********************************************************************************
293
** System MMR Register Bits And Macros
294
**
295
** Disclaimer:  All macros are intended to make C and Assembly code more readable.
296
**                              Use these macros carefully, as any that do left shifts for field
297
**                              depositing will result in the lower order bits being destroyed.  Any
298
**                              macro that shifts left to properly position the bit-field should be
299
**                              used as part of an OR to initialize a register and NOT as a dynamic
300
**                              modifier UNLESS the lower order bits are saved and ORed back in when
301
**                              the macro is used.
302
*************************************************************************************/
303
 
304
/************************  ETHERNET 10/100 CONTROLLER MASKS  ************************/
305
 
306
/* EMAC_OPMODE Masks */
307
 
308
#define RE                 0x00000001     /* Receiver Enable                                    */
309
#define ASTP               0x00000002     /* Enable Automatic Pad Stripping On RX Frames        */
310
#define HU                 0x00000010     /* Hash Filter Unicast Address                        */
311
#define HM                 0x00000020     /* Hash Filter Multicast Address                      */
312
#define PAM                0x00000040     /* Pass-All-Multicast Mode Enable                     */
313
#define PR                 0x00000080     /* Promiscuous Mode Enable                            */
314
#define IFE                0x00000100     /* Inverse Filtering Enable                           */
315
#define DBF                0x00000200     /* Disable Broadcast Frame Reception                  */
316
#define PBF                0x00000400     /* Pass Bad Frames Enable                             */
317
#define PSF                0x00000800     /* Pass Short Frames Enable                           */
318
#define RAF                0x00001000     /* Receive-All Mode                                   */
319
#define TE                 0x00010000     /* Transmitter Enable                                 */
320
#define DTXPAD             0x00020000     /* Disable Automatic TX Padding                       */
321
#define DTXCRC             0x00040000     /* Disable Automatic TX CRC Generation                */
322
#define DC                 0x00080000     /* Deferral Check                                     */
323
#define BOLMT              0x00300000     /* Back-Off Limit                                     */
324
#define BOLMT_10           0x00000000     /*            10-bit range                            */
325
#define BOLMT_8            0x00100000     /*            8-bit range                             */
326
#define BOLMT_4            0x00200000     /*            4-bit range                             */
327
#define BOLMT_1            0x00300000     /*            1-bit range                             */
328
#define DRTY               0x00400000     /* Disable TX Retry On Collision                      */
329
#define LCTRE              0x00800000     /* Enable TX Retry On Late Collision                  */
330
#define RMII               0x01000000     /* RMII/MII* Mode                                     */
331
#define RMII_10            0x02000000     /* Speed Select for RMII Port (10MBit/100MBit*)       */
332
#define FDMODE             0x04000000     /* Duplex Mode Enable (Full/Half*)                    */
333
#define LB                 0x08000000     /* Internal Loopback Enable                           */
334
#define DRO                0x10000000     /* Disable Receive Own Frames (Half-Duplex Mode)      */
335
 
336
/* EMAC_STAADD Masks */
337
 
338
#define STABUSY            0x00000001     /* Initiate Station Mgt Reg Access / STA Busy Stat    */
339
#define STAOP              0x00000002     /* Station Management Operation Code (Write/Read*)    */
340
#define STADISPRE          0x00000004     /* Disable Preamble Generation                        */
341
#define STAIE              0x00000008     /* Station Mgt. Transfer Done Interrupt Enable        */
342
#define REGAD              0x000007C0     /* STA Register Address                               */
343
#define PHYAD              0x0000F800     /* PHY Device Address                                 */
344
 
345
#ifdef _MISRA_RULES
346
#define SET_REGAD(x) (((x)&0x1Fu)<<  6 )   /* Set STA Register Address                           */
347
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 )   /* Set PHY Device Address                             */
348
#else
349
#define SET_REGAD(x) (((x)&0x1F)<<  6 )   /* Set STA Register Address                           */
350
#define SET_PHYAD(x) (((x)&0x1F)<< 11 )   /* Set PHY Device Address                             */
351
#endif /* _MISRA_RULES */
352
 
353
/* EMAC_STADAT Mask */
354
 
355
#define STADATA            0x0000FFFF     /* Station Management Data                            */
356
 
357
/* EMAC_FLC Masks */
358
 
359
#define FLCBUSY            0x00000001     /* Send Flow Ctrl Frame / Flow Ctrl Busy Status       */
360
#define FLCE               0x00000002     /* Flow Control Enable                                */
361
#define PCF                0x00000004     /* Pass Control Frames                                */
362
#define BKPRSEN            0x00000008     /* Enable Backpressure                                */
363
#define FLCPAUSE           0xFFFF0000     /* Pause Time                                         */
364
 
365
#ifdef _MISRA_RULES
366
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time                                   */
367
#else
368
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time                                   */
369
#endif /* _MISRA_RULES */
370
 
371
/* EMAC_WKUP_CTL Masks */
372
 
373
#define CAPWKFRM           0x00000001    /* Capture Wake-Up Frames                              */
374
#define MPKE               0x00000002    /* Magic Packet Enable                                 */
375
#define RWKE               0x00000004    /* Remote Wake-Up Frame Enable                         */
376
#define GUWKE              0x00000008    /* Global Unicast Wake Enable                          */
377
#define MPKS               0x00000020    /* Magic Packet Received Status                        */
378
#define RWKS               0x00000F00    /* Wake-Up Frame Received Status, Filters 3:0          */
379
 
380
/* EMAC_WKUP_FFCMD Masks */
381
 
382
#define WF0_E              0x00000001    /* Enable Wake-Up Filter 0                              */
383
#define WF0_T              0x00000008    /* Wake-Up Filter 0 Addr Type (Multicast/Unicast*)      */
384
#define WF1_E              0x00000100    /* Enable Wake-Up Filter 1                              */
385
#define WF1_T              0x00000800    /* Wake-Up Filter 1 Addr Type (Multicast/Unicast*)      */
386
#define WF2_E              0x00010000    /* Enable Wake-Up Filter 2                              */
387
#define WF2_T              0x00080000    /* Wake-Up Filter 2 Addr Type (Multicast/Unicast*)      */
388
#define WF3_E              0x01000000    /* Enable Wake-Up Filter 3                              */
389
#define WF3_T              0x08000000    /* Wake-Up Filter 3 Addr Type (Multicast/Unicast*)      */
390
 
391
/* EMAC_WKUP_FFOFF Masks */
392
 
393
#define WF0_OFF            0x000000FF    /* Wake-Up Filter 0 Pattern Offset                      */
394
#define WF1_OFF            0x0000FF00    /* Wake-Up Filter 1 Pattern Offset                      */
395
#define WF2_OFF            0x00FF0000    /* Wake-Up Filter 2 Pattern Offset                      */
396
#define WF3_OFF            0xFF000000    /* Wake-Up Filter 3 Pattern Offset                      */
397
 
398
#ifdef _MISRA_RULES
399
#define SET_WF0_OFF(x) (((x)&0xFFu)<<  0 ) /* Set Wake-Up Filter 0 Byte Offset                    */
400
#define SET_WF1_OFF(x) (((x)&0xFFu)<<  8 ) /* Set Wake-Up Filter 1 Byte Offset                    */
401
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset                    */
402
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset                    */
403
#else
404
#define SET_WF0_OFF(x) (((x)&0xFF)<<  0 ) /* Set Wake-Up Filter 0 Byte Offset                    */
405
#define SET_WF1_OFF(x) (((x)&0xFF)<<  8 ) /* Set Wake-Up Filter 1 Byte Offset                    */
406
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset                    */
407
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset                    */
408
#endif /* _MISRA_RULES */
409
 
410
/* Set ALL Offsets */
411
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
412
 
413
/* EMAC_WKUP_FFCRC0 Masks */
414
 
415
#define WF0_CRC           0x0000FFFF    /* Wake-Up Filter 0 Pattern CRC                           */
416
#define WF1_CRC           0xFFFF0000    /* Wake-Up Filter 1 Pattern CRC                           */
417
 
418
#ifdef _MISRA_RULES
419
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<<   0 ) /* Set Wake-Up Filter 0 Target CRC                   */
420
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<<  16 ) /* Set Wake-Up Filter 1 Target CRC                   */
421
#else
422
#define SET_WF0_CRC(x) (((x)&0xFFFF)<<   0 ) /* Set Wake-Up Filter 0 Target CRC                   */
423
#define SET_WF1_CRC(x) (((x)&0xFFFF)<<  16 ) /* Set Wake-Up Filter 1 Target CRC                   */
424
#endif /* _MISRA_RULES */
425
 
426
/* EMAC_WKUP_FFCRC1 Masks */
427
 
428
#define WF2_CRC           0x0000FFFF    /* Wake-Up Filter 2 Pattern CRC                           */
429
#define WF3_CRC           0xFFFF0000    /* Wake-Up Filter 3 Pattern CRC                           */
430
 
431
#ifdef _MISRA_RULES
432
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<<   0 ) /* Set Wake-Up Filter 2 Target CRC                   */
433
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<<  16 ) /* Set Wake-Up Filter 3 Target CRC                   */
434
#else
435
#define SET_WF2_CRC(x) (((x)&0xFFFF)<<   0 ) /* Set Wake-Up Filter 2 Target CRC                   */
436
#define SET_WF3_CRC(x) (((x)&0xFFFF)<<  16 ) /* Set Wake-Up Filter 3 Target CRC                   */
437
#endif /* _MISRA_RULES */
438
 
439
/* EMAC_SYSCTL Masks */
440
 
441
#define PHYIE             0x00000001    /* PHY_INT Interrupt Enable                               */
442
#define RXDWA             0x00000002    /* Receive Frame DMA Word Alignment (Odd/Even*)           */
443
#define RXCKS             0x00000004    /* Enable RX Frame TCP/UDP Checksum Computation           */
444
#define MDCDIV            0x00003F00    /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))]            */
445
 
446
#ifdef _MISRA_RULES
447
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8)   /* Set MDC Clock Divisor                                 */
448
#else
449
#define SET_MDCDIV(x) (((x)&0x3F)<< 8)   /* Set MDC Clock Divisor                                 */
450
#endif /* _MISRA_RULES */
451
 
452
/* EMAC_SYSTAT Masks */
453
 
454
#define PHYINT            0x00000001    /* PHY_INT Interrupt Status                               */
455
#define MMCINT            0x00000002    /* MMC Counter Interrupt Status                           */
456
#define RXFSINT           0x00000004    /* RX Frame-Status Interrupt Status                       */
457
#define TXFSINT           0x00000008    /* TX Frame-Status Interrupt Status                       */
458
#define WAKEDET           0x00000010    /* Wake-Up Detected Status                                */
459
#define RXDMAERR          0x00000020    /* RX DMA Direction Error Status                          */
460
#define TXDMAERR          0x00000040    /* TX DMA Direction Error Status                          */
461
#define STMDONE           0x00000080    /* Station Mgt. Transfer Done Interrupt Status            */
462
 
463
/* EMAC_RX_STAT, EMAC_RX_STKY, and EMAC_RX_IRQE Masks */
464
 
465
#define RX_FRLEN          0x000007FF    /* Frame Length In Bytes                                  */
466
#define RX_COMP           0x00001000    /* RX Frame Complete                                      */
467
#define RX_OK             0x00002000    /* RX Frame Received With No Errors                       */
468
#define RX_LONG           0x00004000    /* RX Frame Too Long Error                                */
469
#define RX_ALIGN          0x00008000    /* RX Frame Alignment Error                               */
470
#define RX_CRC            0x00010000    /* RX Frame CRC Error                                     */
471
#define RX_LEN            0x00020000    /* RX Frame Length Error                                  */
472
#define RX_FRAG           0x00040000    /* RX Frame Fragment Error                                */
473
#define RX_ADDR           0x00080000    /* RX Frame Address Filter Failed Error                   */
474
#define RX_DMAO           0x00100000    /* RX Frame DMA Overrun Error                             */
475
#define RX_PHY            0x00200000    /* RX Frame PHY Error                                     */
476
#define RX_LATE           0x00400000    /* RX Frame Late Collision Error                          */
477
#define RX_RANGE          0x00800000    /* RX Frame Length Field Out of Range Error               */
478
#define RX_MULTI          0x01000000    /* RX Multicast Frame Indicator                           */
479
#define RX_BROAD          0x02000000    /* RX Broadcast Frame Indicator                           */
480
#define RX_CTL            0x04000000    /* RX Control Frame Indicator                             */
481
#define RX_UCTL           0x08000000    /* Unsupported RX Control Frame Indicator                 */
482
#define RX_TYPE           0x10000000    /* RX Typed Frame Indicator                               */
483
#define RX_VLAN1          0x20000000    /* RX VLAN1 Frame Indicator                               */
484
#define RX_VLAN2          0x40000000    /* RX VLAN2 Frame Indicator                               */
485
#define RX_ACCEPT         0x80000000    /* RX Frame Accepted Indicator                            */
486
 
487
/*  EMAC_TX_STAT, EMAC_TX_STKY, and EMAC_TX_IRQE Masks  */
488
 
489
#define TX_COMP           0x00000001    /* TX Frame Complete                                      */
490
#define TX_OK             0x00000002    /* TX Frame Sent With No Errors                           */
491
#define TX_ECOLL          0x00000004    /* TX Frame Excessive Collision Error                     */
492
#define TX_LATE           0x00000008    /* TX Frame Late Collision Error                          */
493
#define TX_DMAU           0x00000010    /* TX Frame DMA Underrun Error (STAT)                     */
494
#define TX_MACE           0x00000010    /* Internal MAC Error Detected (STKY and IRQE)            */
495
#define TX_EDEFER         0x00000020    /* TX Frame Excessive Deferral Error                      */
496
#define TX_BROAD          0x00000040    /* TX Broadcast Frame Indicator                           */
497
#define TX_MULTI          0x00000080    /* TX Multicast Frame Indicator                           */
498
#define TX_CCNT           0x00000F00    /* TX Frame Collision Count                               */
499
#define TX_DEFER          0x00001000    /* TX Frame Deferred Indicator                            */
500
#define TX_CRS            0x00002000    /* TX Frame Carrier Sense Not Asserted Error              */
501
#define TX_LOSS           0x00004000    /* TX Frame Carrier Lost During TX Error                  */
502
#define TX_RETRY          0x00008000    /* TX Frame Successful After Retry                        */
503
#define TX_FRLEN          0x07FF0000    /* TX Frame Length (Bytes)                                */
504
 
505
/* EMAC_MMC_CTL Masks */
506
#define RSTC              0x00000001    /* Reset All Counters                                     */
507
#define CROLL             0x00000002    /* Counter Roll-Over Enable                               */
508
#define CCOR              0x00000004    /* Counter Clear-On-Read Mode Enable                      */
509
#define MMCE              0x00000008    /* Enable MMC Counter Operation                           */
510
 
511
/* EMAC_MMC_RIRQS and EMAC_MMC_RIRQE Masks */
512
#define RX_OK_CNT         0x00000001    /* RX Frames Received With No Errors                      */
513
#define RX_FCS_CNT        0x00000002    /* RX Frames W/Frame Check Sequence Errors                */
514
#define RX_ALIGN_CNT      0x00000004    /* RX Frames With Alignment Errors                        */
515
#define RX_OCTET_CNT      0x00000008    /* RX Octets Received OK                                  */
516
#define RX_LOST_CNT       0x00000010    /* RX Frames Lost Due To Internal MAC RX Error            */
517
#define RX_UNI_CNT        0x00000020    /* Unicast RX Frames Received OK                          */
518
#define RX_MULTI_CNT      0x00000040    /* Multicast RX Frames Received OK                        */
519
#define RX_BROAD_CNT      0x00000080    /* Broadcast RX Frames Received OK                        */
520
#define RX_IRL_CNT        0x00000100    /* RX Frames With In-Range Length Errors                  */
521
#define RX_ORL_CNT        0x00000200    /* RX Frames With Out-Of-Range Length Errors              */
522
#define RX_LONG_CNT       0x00000400    /* RX Frames With Frame Too Long Errors                   */
523
#define RX_MACCTL_CNT     0x00000800    /* MAC Control RX Frames Received                         */
524
#define RX_OPCODE_CTL     0x00001000    /* Unsupported Op-Code RX Frames Received                 */
525
#define RX_PAUSE_CNT      0x00002000    /* PAUSEMAC Control RX Frames Received                    */
526
#define RX_ALLF_CNT       0x00004000    /* All RX Frames Received                                 */
527
#define RX_ALLO_CNT       0x00008000    /* All RX Octets Received                                 */
528
#define RX_TYPED_CNT      0x00010000    /* Typed RX Frames Received                               */
529
#define RX_SHORT_CNT      0x00020000    /* RX Frame Fragments (< 64 Bytes) Received               */
530
#define RX_EQ64_CNT       0x00040000    /* 64-Byte RX Frames Received                             */
531
#define RX_LT128_CNT      0x00080000    /* 65-127-Byte RX Frames Received                         */
532
#define RX_LT256_CNT      0x00100000    /* 128-255-Byte RX Frames Received                        */
533
#define RX_LT512_CNT      0x00200000    /* 256-511-Byte RX Frames Received                        */
534
#define RX_LT1024_CNT     0x00400000    /* 512-1023-Byte RX Frames Received                       */
535
#define RX_GE1024_CNT     0x00800000    /* 1024-Max-Byte RX Frames Received                       */
536
 
537
/* EMAC_MMC_TIRQS and EMAC_MMC_TIRQE Masks  */
538
 
539
#define TX_OK_CNT         0x00000001    /* TX Frames Sent OK                                      */
540
#define TX_SCOLL_CNT      0x00000002    /* TX Frames With Single Collisions                       */
541
#define TX_MCOLL_CNT      0x00000004    /* TX Frames With Multiple Collisions                     */
542
#define TX_OCTET_CNT      0x00000008    /* TX Octets Sent OK                                      */
543
#define TX_DEFER_CNT      0x00000010    /* TX Frames With Deferred Transmission                   */
544
#define TX_LATE_CNT       0x00000020    /* TX Frames With Late Collisions                         */
545
#define TX_ABORTC_CNT     0x00000040    /* TX Frames Aborted Due To Excess Collisions             */
546
#define TX_LOST_CNT       0x00000080    /* TX Frames Lost Due To Internal MAC TX Error            */
547
#define TX_CRS_CNT        0x00000100    /* TX Frames With Carrier Sense Errors                    */
548
#define TX_UNI_CNT        0x00000200    /* Unicast TX Frames Sent                                 */
549
#define TX_MULTI_CNT      0x00000400    /* Multicast TX Frames Sent                               */
550
#define TX_BROAD_CNT      0x00000800    /* Broadcast TX Frames Sent                               */
551
#define TX_EXDEF_CTL      0x00001000    /* TX Frames With Excessive Deferral                      */
552
#define TX_MACCTL_CNT     0x00002000    /* MAC Control TX Frames Sent                             */
553
#define TX_ALLF_CNT       0x00004000    /* All TX Frames Sent                                     */
554
#define TX_ALLO_CNT       0x00008000    /* All TX Octets Sent                                     */
555
#define TX_EQ64_CNT       0x00010000    /* 64-Byte TX Frames Sent                                 */
556
#define TX_LT128_CNT      0x00020000    /* 65-127-Byte TX Frames Sent                             */
557
#define TX_LT256_CNT      0x00040000    /* 128-255-Byte TX Frames Sent                            */
558
#define TX_LT512_CNT      0x00080000    /* 256-511-Byte TX Frames Sent                            */
559
#define TX_LT1024_CNT     0x00100000    /* 512-1023-Byte TX Frames Sent                           */
560
#define TX_GE1024_CNT     0x00200000    /* 1024-Max-Byte TX Frames Sent                           */
561
#define TX_ABORT_CNT      0x00400000    /* TX Frames Aborted                                      */
562
 
563
 
564
/* Bit masks for EMAC_PTP_CTL */
565
 
566
#define EMAC_PTP_CTL_EN  0x1              /* Block Enable                                                               */
567
#define EMAC_PTP_CTL_TL  0x2              /* Time Stamp Lock                                                    */
568
#define EMAC_PTP_CTL_CKS         0xC              /* Clock source for the PTP_TSYNC block                               */
569
#define EMAC_PTP_CTL_ASEN        0x10             /* Auxiliary Snapshot Enable                                  */
570
#define EMAC_PTP_CTL_CKDIV 0x60           /* Divider for the selected PTP_CLK output                    */
571
#define EMAC_PTP_CTL_PPSEN 0x80           /* Pulse Per Second (PPS) Enable                                      */
572
#define EMAC_PTP_CTL_EFTM        0x100    /* Ethernet Frame type field compare mask                     */
573
#define EMAC_PTP_CTL_IPVM        0x200    /* IP Version field compare mask                                      */
574
#define EMAC_PTP_CTL_IPTM        0x400    /* IP Type Frame field (Layer 4 protocol) compare mask        */
575
#define EMAC_PTP_CTL_UDPEM 0x800          /* UDP Event port field compare mask                          */
576
#define EMAC_PTP_CTL_PTPCM 0x1000         /* PTP Control field compare mask                                     */
577
#define EMAC_PTP_CTL_CKOEN 0x2000         /* Clock output Enable                                                */
578
 
579
/* Bit masks for EMAC_PTP_IE */
580
 
581
#define EMAC_PTP_IE_ALIE         0x1              /* Alarm Feature and Interrupt Enable                         */
582
#define EMAC_PTP_IE_RXEIE        0x2              /* Receive Event Interrupt Enable                                     */
583
#define EMAC_PTP_IE_RXGIE        0x4              /* Receive General Interrupt Enable                           */
584
#define EMAC_PTP_IE_TXIE         0x8              /* Transmit Interrupt Enable                                  */
585
#define EMAC_PTP_IE_TXOVE        0x10             /* Transmit Overrun Error Interrupt Enable                    */
586
#define EMAC_PTP_IE_RXOVE        0x20             /* Receive Overrun Error Interrupt Enable                     */
587
#define EMAC_PTP_IE_ASIE         0x40             /* Auxiliary Snapshot Interrupt Enable                                */
588
 
589
/* Bit masks for EMAC_PTP_ISTAT */
590
 
591
#define EMAC_PTP_ISTAT_ALS  0x1           /* Alarm Status                                                               */
592
#define EMAC_PTP_ISTAT_RXEL 0x2           /* Receive Event Interrupt Locked                                     */
593
#define EMAC_PTP_ISTAT_RXGL 0x4           /* Receive General Interrupt Locked                           */
594
#define EMAC_PTP_ISTAT_TXTL 0x8           /* Transmit Snapshot Locked                                           */
595
#define EMAC_PTP_ISTAT_RXOV 0x10          /* Receive Snapshot Overrun Status                            */
596
#define EMAC_PTP_ISTAT_TXOV 0x20          /* Transmit snapshot Overrun Status                           */
597
#define EMAC_PTP_ISTAT_ASL  0x40          /* Auxiliary Snapshot Interrupt Status                                */
598
 
599
 
600
/* Bit masks for RSI_PWR_CONTROL */
601
#define                    PWR_ON  0x3                  /* Power On */
602
#define                RSI_CMD_OD  0x40                 /* Open Drain Output */
603
/* legacy bit mask (below) provided for backwards code compatibility */
604
#define                 SD_CMD_OD  RSI_CMD_OD           /* Open Drain Output */
605
/* legacy bit mask (below) provided for backwards code compatibility */
606
#define                nSD_CMD_OD  0x0
607
/* legacy bit mask (below) provided for backwards code compatibility */
608
#if 0
609
#define                       TBD  0x3c                 /* TBD */
610
#endif
611
/* legacy bit mask (below) provided for backwards code compatibility */
612
#define                   ROD_CTL  0x80
613
/* legacy bit mask (below) provided for backwards code compatibility */
614
#define                  nROD_CTL  0x80
615
 
616
 
617
/* Bit masks for RSI_CLK_CONTROL */
618
#define                    CLKDIV  0xff                 /* MC_CLK Divisor */
619
#define                    CLK_EN  0x100                /* MC_CLK Bus Clock Enable */
620
/* legacy bit mask (below) provided for backwards code compatibility */
621
#define                     CLK_E  CLK_EN               /* MC_CLK Bus Clock Enable */
622
/* legacy bit mask (below) provided for backwards code compatibility */
623
#define                    nCLK_E  0x0
624
#define                 PWR_SV_EN  0x200                /* Power Save Enable */
625
/* legacy bit mask (below) provided for backwards code compatibility */
626
#define                  PWR_SV_E  PWR_SV_EN            /* Power Save Enable */
627
/* legacy bit mask (below) provided for backwards code compatibility */
628
#define                 nPWR_SV_E  0x0
629
#define             CLKDIV_BYPASS  0x400                /* Bypass Divisor */
630
/* legacy bit mask (below) provided for backwards code compatibility */
631
#define            nCLKDIV_BYPASS  0x0
632
#define                  BUS_MODE  0x1800           /* Bus width selection */
633
/* legacy bit mask (below) provided for backwards code compatibility */
634
#define                  WIDE_BUS  0x0800       /* Wide Bus Mode Enable */
635
/* legacy bit mask (below) provided for backwards code compatibility */
636
#define                 nWIDE_BUS  0x0
637
 
638
 
639
/* Bit masks for RSI_COMMAND */
640
#define                   CMD_IDX  0x3f                 /* Command Index */
641
#define                CMD_RSP_EN  0x40                 /* Response */
642
/* legacy bit mask (below) provided for backwards code compatibility */
643
#define                   CMD_RSP  CMD_RSP_EN           /* Response */
644
/* legacy bit mask (below) provided for backwards code compatibility */
645
#define                  nCMD_RSP  0x0
646
#define               CMD_LRSP_EN  0x80                 /* Long Response */
647
/* legacy bit mask (below) provided for backwards code compatibility */
648
#define                 CMD_L_RSP  CMD_LRSP_EN          /* Long Response */
649
/* legacy bit mask (below) provided for backwards code compatibility */
650
#define                nCMD_L_RSP  0x0
651
#define                CMD_INT_EN  0x100                /* Command Interrupt */
652
/* legacy bit mask (below) provided for backwards code compatibility */
653
#define                 CMD_INT_E  CMD_INT_EN           /* Command Interrupt */
654
/* legacy bit mask (below) provided for backwards code compatibility */
655
#define                nCMD_INT_E  0x0
656
#define               CMD_PEND_EN  0x200                /* Command Pending */
657
/* legacy bit mask (below) provided for backwards code compatibility */
658
#define                CMD_PEND_E  CMD_PEND_EN          /* Command Pending */
659
/* legacy bit mask (below) provided for backwards code compatibility */
660
#define               nCMD_PEND_E  0x0
661
#define                    CMD_EN  0x400                        /* Command Enable */
662
/* legacy bit mask (below) provided for backwards code compatibility */
663
#define                     CMD_E  CMD_EN               /* Command Enable */
664
/* legacy bit mask (below) provided for backwards code compatibility */
665
#define                    nCMD_E  0x0
666
 
667
 
668
/* Bit masks for RSI_RESP_CMD */
669
#define                  RESP_CMD  0x3f                 /* Response Command */
670
 
671
/* Bit masks for RSI_DATA_LGTH */
672
#define               DATA_LENGTH  0xffff               /* Data Length */
673
 
674
 
675
/* Bit masks for RSI_DATA_CONTROL */
676
#define                   DATA_EN  0x1                  /* Data Transfer Enable */
677
/* legacy bit mask (below) provided for backwards code compatibility */
678
#define                     DTX_E  DATA_EN              /* Data Transfer Enable */
679
/* legacy bit mask (below) provided for backwards code compatibility */
680
#define                    nDTX_E  0x0
681
#define                  DATA_DIR  0x2                  /* Data Transfer Direction */
682
/* legacy bit mask (below) provided for backwards code compatibility */
683
#define                   DTX_DIR  DATA_DIR             /* Data Transfer Direction */
684
/* legacy bit mask (below) provided for backwards code compatibility */
685
#define                  nDTX_DIR  0x0
686
#define                 DATA_MODE  0x4                  /* Data Transfer Mode */
687
/* legacy bit mask (below) provided for backwards code compatibility */
688
#define                  DTX_MODE  DATA_MODE            /* Data Transfer Mode */
689
/* legacy bit mask (below) provided for backwards code compatibility */
690
#define                 nDTX_MODE  0x0
691
#define               DATA_DMA_EN  0x8                  /* Data Transfer DMA Enable */
692
/* legacy bit mask (below) provided for backwards code compatibility */
693
#define                 DTX_DMA_E  0x8                  /* Data Transfer DMA Enable */
694
/* legacy bit mask (below) provided for backwards code compatibility */
695
#define                nDTX_DMA_E  0x0
696
#define             DATA_BLK_LGTH  0xf0                 /* Data Transfer Block Length */
697
/* legacy bit mask (below) provided for backwards code compatibility */
698
#define              DTX_BLK_LGTH  0xf0                 /* Data Transfer Block Length */
699
#define                              CEATA_EN  0x100          /* CE-ATA operation mode enable */
700
#define                          CEATA_CCS_EN  0x200          /* CE-ATA CCS mode enable */
701
 
702
/* Bit masks for RSI_DATA_CNT */
703
#define               DATA_COUNT  0xffff                /* Data Count */
704
 
705
/* Bit masks for RSI_STATUS */
706
#define              CMD_CRC_FAIL  0x1                  /* CMD CRC Fail */
707
/* legacy bit mask (below) provided for backwards code compatibility */
708
#define             nCMD_CRC_FAIL  0x0
709
#define              DAT_CRC_FAIL  0x2                  /* Data CRC Fail */
710
/* legacy bit mask (below) provided for backwards code compatibility */
711
#define             nDAT_CRC_FAIL  0x0
712
#define               CMD_TIMEOUT  0x4                  /* CMD Time Out */
713
/* legacy bit mask (below) provided for backwards code compatibility */
714
#define              nCMD_TIMEOUT  0x0
715
#define               DAT_TIMEOUT  0x8                  /* Data Time Out */
716
/* legacy bit mask (below) provided for backwards code compatibility */
717
#define              nDAT_TIMEOUT  0x0
718
#define               TX_UNDERRUN  0x10                 /* Transmit Underrun */
719
/* legacy bit mask (below) provided for backwards code compatibility */
720
#define              nTX_UNDERRUN  0x0
721
#define                RX_OVERRUN  0x20                 /* Receive Overrun */
722
/* legacy bit mask (below) provided for backwards code compatibility */
723
#define               nRX_OVERRUN  0x0
724
#define              CMD_RESP_END  0x40                 /* CMD Response End */
725
/* legacy bit mask (below) provided for backwards code compatibility */
726
#define             nCMD_RESP_END  0x0
727
#define                  CMD_SENT  0x80                 /* CMD Sent */
728
/* legacy bit mask (below) provided for backwards code compatibility */
729
#define                 nCMD_SENT  0x0
730
#define                   DAT_END  0x100                /* Data End */
731
/* legacy bit mask (below) provided for backwards code compatibility */
732
#define                  nDAT_END  0x0
733
#define             START_BIT_ERR  0x200                /* Start Bit Error */
734
/* legacy bit mask (below) provided for backwards code compatibility */
735
#define            nSTART_BIT_ERR  0x0
736
#define               DAT_BLK_END  0x400                /* Data Block End */
737
/* legacy bit mask (below) provided for backwards code compatibility */
738
#define              nDAT_BLK_END  0x0
739
#define                   CMD_ACT  0x800                /* CMD Active */
740
/* legacy bit mask (below) provided for backwards code compatibility */
741
#define                  nCMD_ACT  0x0
742
#define                    TX_ACT  0x1000               /* Transmit Active */
743
/* legacy bit mask (below) provided for backwards code compatibility */
744
#define                   nTX_ACT  0x0
745
#define                    RX_ACT  0x2000               /* Receive Active */
746
/* legacy bit mask (below) provided for backwards code compatibility */
747
#define                   nRX_ACT  0x0
748
#define              TX_FIFO_STAT  0x4000               /* Transmit FIFO Status */
749
/* legacy bit mask (below) provided for backwards code compatibility */
750
#define             nTX_FIFO_STAT  0x0
751
#define              RX_FIFO_STAT  0x8000               /* Receive FIFO Status */
752
/* legacy bit mask (below) provided for backwards code compatibility */
753
#define             nRX_FIFO_STAT  0x0
754
#define              TX_FIFO_FULL  0x10000              /* Transmit FIFO Full */
755
/* legacy bit mask (below) provided for backwards code compatibility */
756
#define             nTX_FIFO_FULL  0x0
757
#define              RX_FIFO_FULL  0x20000              /* Receive FIFO Full */
758
/* legacy bit mask (below) provided for backwards code compatibility */
759
#define             nRX_FIFO_FULL  0x0
760
#define              TX_FIFO_ZERO  0x40000              /* Transmit FIFO Empty */
761
/* legacy bit mask (below) provided for backwards code compatibility */
762
#define             nTX_FIFO_ZERO  0x0
763
#define               RX_DAT_ZERO  0x80000              /* Receive FIFO Empty */
764
/* legacy bit mask (below) provided for backwards code compatibility */
765
#define              nRX_DAT_ZERO  0x0
766
#define                TX_DAT_RDY  0x100000             /* Transmit Data Available */
767
/* legacy bit mask (below) provided for backwards code compatibility */
768
#define               nTX_DAT_RDY  0x0
769
#define               RX_FIFO_RDY  0x200000             /* Receive Data Available */
770
/* legacy bit mask (below) provided for backwards code compatibility */
771
#define              nRX_FIFO_RDY  0x0
772
 
773
/* Bit masks for RSI_STATCL */
774
 
775
#define         CMD_CRC_FAIL_STAT  0x1                  /* CMD CRC Fail Status */
776
/* legacy bit mask (below) provided for backwards code compatibility */
777
#define        nCMD_CRC_FAIL_STAT  0x0
778
#define         DAT_CRC_FAIL_STAT  0x2                  /* Data CRC Fail Status */
779
/* legacy bit mask (below) provided for backwards code compatibility */
780
#define        nDAT_CRC_FAIL_STAT  0x0
781
#define          CMD_TIMEOUT_STAT  0x4                  /* CMD Time Out Status */
782
/* legacy bit mask (below) provided for backwards code compatibility */
783
#define         nCMD_TIMEOUT_STAT  0x0
784
#define          DAT_TIMEOUT_STAT  0x8                  /* Data Time Out status */
785
/* legacy bit mask (below) provided for backwards code compatibility */
786
#define         nDAT_TIMEOUT_STAT  0x0
787
#define          TX_UNDERRUN_STAT  0x10                 /* Transmit Underrun Status */
788
/* legacy bit mask (below) provided for backwards code compatibility */
789
#define         nTX_UNDERRUN_STAT  0x0
790
#define           RX_OVERRUN_STAT  0x20                 /* Receive Overrun Status */
791
/* legacy bit mask (below) provided for backwards code compatibility */
792
#define          nRX_OVERRUN_STAT  0x0
793
#define         CMD_RESP_END_STAT  0x40                 /* CMD Response End Status */
794
/* legacy bit mask (below) provided for backwards code compatibility */
795
#define        nCMD_RESP_END_STAT  0x0
796
#define             CMD_SENT_STAT  0x80                 /* CMD Sent Status */
797
/* legacy bit mask (below) provided for backwards code compatibility */
798
#define            nCMD_SENT_STAT  0x0
799
#define              DAT_END_STAT  0x100                /* Data End Status */
800
/* legacy bit mask (below) provided for backwards code compatibility */
801
#define             nDAT_END_STAT  0x0
802
#define        START_BIT_ERR_STAT  0x200                /* Start Bit Error Status */
803
/* legacy bit mask (below) provided for backwards code compatibility */
804
#define       nSTART_BIT_ERR_STAT  0x0
805
#define          DAT_BLK_END_STAT  0x400                /* Data Block End Status */
806
/* legacy bit mask (below) provided for backwards code compatibility */
807
#define         nDAT_BLK_END_STAT  0x0
808
 
809
/* Bit masks for RSI_MASKx */
810
 
811
#define         CMD_CRC_FAIL_MASK  0x1                  /* CMD CRC Fail Mask */
812
/* legacy bit mask (below) provided for backwards code compatibility */
813
#define        nCMD_CRC_FAIL_MASK  0x0
814
#define         DAT_CRC_FAIL_MASK  0x2                  /* Data CRC Fail Mask */
815
/* legacy bit mask (below) provided for backwards code compatibility */
816
#define        nDAT_CRC_FAIL_MASK  0x0
817
#define          CMD_TIMEOUT_MASK  0x4                  /* CMD Time Out Mask */
818
/* legacy bit mask (below) provided for backwards code compatibility */
819
#define         nCMD_TIMEOUT_MASK  0x0
820
#define          DAT_TIMEOUT_MASK  0x8                  /* Data Time Out Mask */
821
/* legacy bit mask (below) provided for backwards code compatibility */
822
#define         nDAT_TIMEOUT_MASK  0x0
823
#define          TX_UNDERRUN_MASK  0x10                 /* Transmit Underrun Mask */
824
/* legacy bit mask (below) provided for backwards code compatibility */
825
#define         nTX_UNDERRUN_MASK  0x0
826
#define           RX_OVERRUN_MASK  0x20                 /* Receive Overrun Mask */
827
/* legacy bit mask (below) provided for backwards code compatibility */
828
#define          nRX_OVERRUN_MASK  0x0
829
#define         CMD_RESP_END_MASK  0x40                 /* CMD Response End Mask */
830
/* legacy bit mask (below) provided for backwards code compatibility */
831
#define        nCMD_RESP_END_MASK  0x0
832
#define             CMD_SENT_MASK  0x80                 /* CMD Sent Mask */
833
/* legacy bit mask (below) provided for backwards code compatibility */
834
#define            nCMD_SENT_MASK  0x0
835
#define              DAT_END_MASK  0x100                /* Data End Mask */
836
/* legacy bit mask (below) provided for backwards code compatibility */
837
#define             nDAT_END_MASK  0x0
838
#define        START_BIT_ERR_MASK  0x200                /* Start Bit Error Mask */
839
/* legacy bit mask (below) provided for backwards code compatibility */
840
#define       nSTART_BIT_ERR_MASK  0x0
841
#define          DAT_BLK_END_MASK  0x400                /* Data Block End Mask */
842
/* legacy bit mask (below) provided for backwards code compatibility */
843
#define         nDAT_BLK_END_MASK  0x0
844
#define              CMD_ACT_MASK  0x800                /* CMD Active Mask */
845
/* legacy bit mask (below) provided for backwards code compatibility */
846
#define             nCMD_ACT_MASK  0x0
847
#define               TX_ACT_MASK  0x1000               /* Transmit Active Mask */
848
/* legacy bit mask (below) provided for backwards code compatibility */
849
#define              nTX_ACT_MASK  0x0
850
#define               RX_ACT_MASK  0x2000               /* Receive Active Mask */
851
/* legacy bit mask (below) provided for backwards code compatibility */
852
#define              nRX_ACT_MASK  0x0
853
#define         TX_FIFO_STAT_MASK  0x4000               /* Transmit FIFO Status Mask */
854
/* legacy bit mask (below) provided for backwards code compatibility */
855
#define        nTX_FIFO_STAT_MASK  0x0
856
#define         RX_FIFO_STAT_MASK  0x8000               /* Receive FIFO Status Mask */
857
/* legacy bit mask (below) provided for backwards code compatibility */
858
#define        nRX_FIFO_STAT_MASK  0x0
859
#define         TX_FIFO_FULL_MASK  0x10000              /* Transmit FIFO Full Mask */
860
/* legacy bit mask (below) provided for backwards code compatibility */
861
#define        nTX_FIFO_FULL_MASK  0x0
862
#define         RX_FIFO_FULL_MASK  0x20000              /* Receive FIFO Full Mask */
863
/* legacy bit mask (below) provided for backwards code compatibility */
864
#define        nRX_FIFO_FULL_MASK  0x0
865
#define         TX_FIFO_ZERO_MASK  0x40000              /* Transmit FIFO Empty Mask */
866
/* legacy bit mask (below) provided for backwards code compatibility */
867
#define        nTX_FIFO_ZERO_MASK  0x0
868
#define          RX_DAT_ZERO_MASK  0x80000              /* Receive FIFO Empty Mask */
869
/* legacy bit mask (below) provided for backwards code compatibility */
870
#define         nRX_DAT_ZERO_MASK  0x0
871
#define           TX_DAT_RDY_MASK  0x100000             /* Transmit Data Available Mask */
872
/* legacy bit mask (below) provided for backwards code compatibility */
873
#define          nTX_DAT_RDY_MASK  0x0
874
#define          RX_FIFO_RDY_MASK  0x200000             /* Receive Data Available Mask */
875
/* legacy bit mask (below) provided for backwards code compatibility */
876
#define         nRX_FIFO_RDY_MASK  0x0
877
 
878
/* Bit masks for RSI_FIFO_CNT */
879
#define                FIFO_COUNT  0x7fff               /* FIFO Count */
880
 
881
/* Bit masks for RSI_CEATA_CONTROL */
882
#define           CEATA_TX_CCSD  0x1                    /* Send CE-ATA CCSD sequence */
883
 
884
/* Bit masks for RSI_ESTAT */
885
#define              SDIO_INT_DET  0x2                  /* SDIO Int Detected */
886
/* legacy bit mask (below) provided for backwards code compatibility */
887
#define             nSDIO_INT_DET  0x0
888
#define               SD_CARD_DET  0x10                 /* SD Card Detect */
889
/* legacy bit mask (below) provided for backwards code compatibility */
890
#define              nSD_CARD_DET  0x0
891
#define             CEATA_INT_DET  0x20
892
 
893
/* Bit masks for RSI_EMASK */
894
#define         SDIO_INT_DET_MASK  0x2                /* Mask SDIO Int Detected */
895
/* legacy bit mask (below) provided for backwards code compatibility */
896
#define                  SDIO_MSK  SDIO_INT_DET_MASK  /* Mask SDIO Int Detected */
897
/* legacy bit mask (below) provided for backwards code compatibility */
898
#define                 nSDIO_MSK  0x0
899
#define          SD_CARD_DET_MASK  0x10               /* Mask Card Detect */
900
/* legacy bit mask (below) provided for backwards code compatibility */
901
#define                  SCD_MASK  SD_CARD_DET_MASK   /* Mask Card Detect */
902
/* legacy bit mask (below) provided for backwards code compatibility */
903
#define                  nSCD_MSK  0x0
904
#define        CEATA_INT_DET_MASK  0x20
905
 
906
 
907
/* Bit masks for SDH_CFG */
908
 
909
/* Left in for backwards compatibility */
910
#define                RSI_CLK_EN  0x1
911
/* legacy bit mask (below) provided for backwards code compatibility */
912
#define                   CLKS_EN  RSI_CLK_EN           /* Clocks Enable */
913
/* legacy bit mask (below) provided for backwards code compatibility */
914
#define                  nCLKS_EN  0x0
915
#define                  SDIO4_EN  0x4                  /* SDIO 4-Bit Enable */
916
/* legacy bit mask (below) provided for backwards code compatibility */
917
#define                      SD4E  SDIO4_EN             /* SDIO 4-Bit Enable */
918
/* legacy bit mask (below) provided for backwards code compatibility */
919
#define                     nSD4E  0x0
920
#define                     MW_EN  0x8                  /* Moving Window Enable */
921
/* legacy bit mask (below) provided for backwards code compatibility */
922
#define                       MWE  MW_EN                /* Moving Window Enable */
923
/* legacy bit mask (below) provided for backwards code compatibility */
924
#define                      nMWE  0x0
925
#define                   RSI_RST  0x10                 /* SDMMC Reset */
926
/* legacy bit mask (below) provided for backwards code compatibility */
927
#define                    SD_RST  RSI_RST              /* SDMMC Reset */
928
/* legacy bit mask (below) provided for backwards code compatibility */
929
#define                   nSD_RST  0x0
930
#define                    PU_DAT  0x20                 /* Pull-up SD_DAT */
931
/* legacy bit mask (below) provided for backwards code compatibility */
932
#define                 PUP_SDDAT  PU_DAT               /* Pull-up SD_DAT */
933
/* legacy bit mask (below) provided for backwards code compatibility */
934
#define                nPUP_SDDAT  0x0
935
#define                   PU_DAT3  0x40                 /* Pull-up SD_DAT3 */
936
/* legacy bit mask (below) provided for backwards code compatibility */
937
#define                PUP_SDDAT3  PU_DAT3              /* Pull-up SD_DAT3 */
938
/* legacy bit mask (below) provided for backwards code compatibility */
939
#define               nPUP_SDDAT3  0x0
940
#define                   PD_DAT3  0x80                 /* Pull-down SD_DAT3 */
941
/* legacy bit mask (below) provided for backwards code compatibility */
942
#define                 PD_SDDAT3  PD_DAT3              /* Pull-down SD_DAT3 */
943
/* legacy bit mask (below) provided for backwards code compatibility */
944
#define                nPD_SDDAT3  0x0
945
 
946
 
947
/* Bit masks for RSI_RD_WAIT_EN */
948
#define                  SDIO_RWR  0x1                  /* Read Wait Request */
949
/* legacy bit mask (below) provided for backwards code compatibility */
950
#define                       RWR  SDIO_RWR             /* Read Wait Request */
951
/* legacy bit mask (below) provided for backwards code compatibility */
952
#define                      nRWR  0x0
953
 
954
/* Bit masks for RSI_PIDx */
955
#define                   RSI_PID  0xff                 /* RSI Peripheral ID */
956
 
957
 
958
#ifdef _MISRA_RULES
959
#pragma diag(pop)
960
#endif /* _MISRA_RULES */
961
 
962
#endif /* _DEF_BF518_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.