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/] [defBF526.h] - Blame information for rev 207

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_BF526_H
23
#define _DEF_BF526_H
24
 
25
/* Include all Core registers and bit definitions */
26
#include <def_LPBlackfin.h>
27
 
28
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF526 */
29
 
30
/* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
31
#include <defBF52x_base.h>
32
 
33
#ifdef _MISRA_RULES
34
#pragma diag(push)
35
#pragma diag(suppress:misra_rule_19_4:"some acros violate rule 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-BF526 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
#define EMAC_RXC_OK             0xFFC03100       /* RX Frame Successful Count                            */
78
#define EMAC_RXC_FCS            0xFFC03104       /* RX Frame FCS Failure Count                           */
79
#define EMAC_RXC_ALIGN          0xFFC03108       /* RX Alignment Error Count                             */
80
#define EMAC_RXC_OCTET          0xFFC0310C       /* RX Octets Successfully Received Count                */
81
#define EMAC_RXC_DMAOVF         0xFFC03110       /* Internal MAC Sublayer Error RX Frame Count           */
82
#define EMAC_RXC_UNICST         0xFFC03114       /* Unicast RX Frame Count                               */
83
#define EMAC_RXC_MULTI          0xFFC03118       /* Multicast RX Frame Count                             */
84
#define EMAC_RXC_BROAD          0xFFC0311C       /* Broadcast RX Frame Count                             */
85
#define EMAC_RXC_LNERRI         0xFFC03120       /* RX Frame In Range Error Count                        */
86
#define EMAC_RXC_LNERRO         0xFFC03124       /* RX Frame Out Of Range Error Count                    */
87
#define EMAC_RXC_LONG           0xFFC03128       /* RX Frame Too Long Count                              */
88
#define EMAC_RXC_MACCTL         0xFFC0312C       /* MAC Control RX Frame Count                           */
89
#define EMAC_RXC_OPCODE         0xFFC03130       /* Unsupported Op-Code RX Frame Count                   */
90
#define EMAC_RXC_PAUSE          0xFFC03134       /* MAC Control Pause RX Frame Count                     */
91
#define EMAC_RXC_ALLFRM         0xFFC03138       /* Overall RX Frame Count                               */
92
#define EMAC_RXC_ALLOCT         0xFFC0313C       /* Overall RX Octet Count                               */
93
#define EMAC_RXC_TYPED          0xFFC03140       /* Type/Length Consistent RX Frame Count                */
94
#define EMAC_RXC_SHORT          0xFFC03144       /* RX Frame Fragment Count - Byte Count x < 64          */
95
#define EMAC_RXC_EQ64           0xFFC03148       /* Good RX Frame Count - Byte Count x = 64              */
96
#define EMAC_RXC_LT128          0xFFC0314C       /* Good RX Frame Count - Byte Count  64 < x < 128       */
97
#define EMAC_RXC_LT256          0xFFC03150       /* Good RX Frame Count - Byte Count 128 <= x < 256      */
98
#define EMAC_RXC_LT512          0xFFC03154       /* Good RX Frame Count - Byte Count 256 <= x < 512      */
99
#define EMAC_RXC_LT1024         0xFFC03158       /* Good RX Frame Count - Byte Count 512 <= x < 1024     */
100
#define EMAC_RXC_GE1024         0xFFC0315C       /* Good RX Frame Count - Byte Count x >= 1024           */
101
 
102
#define EMAC_TXC_OK             0xFFC03180       /* TX Frame Successful Count                             */
103
#define EMAC_TXC_1COL           0xFFC03184       /* TX Frames Successful After Single Collision Count     */
104
#define EMAC_TXC_GT1COL         0xFFC03188       /* TX Frames Successful After Multiple Collisions Count  */
105
#define EMAC_TXC_OCTET          0xFFC0318C       /* TX Octets Successfully Received Count                 */
106
#define EMAC_TXC_DEFER          0xFFC03190       /* TX Frame Delayed Due To Busy Count                    */
107
#define EMAC_TXC_LATECL         0xFFC03194       /* Late TX Collisions Count                              */
108
#define EMAC_TXC_XS_COL         0xFFC03198       /* TX Frame Failed Due To Excessive Collisions Count     */
109
#define EMAC_TXC_DMAUND         0xFFC0319C       /* Internal MAC Sublayer Error TX Frame Count            */
110
#define EMAC_TXC_CRSERR         0xFFC031A0       /* Carrier Sense Deasserted During TX Frame Count        */
111
#define EMAC_TXC_UNICST         0xFFC031A4       /* Unicast TX Frame Count                                */
112
#define EMAC_TXC_MULTI          0xFFC031A8       /* Multicast TX Frame Count                              */
113
#define EMAC_TXC_BROAD          0xFFC031AC       /* Broadcast TX Frame Count                              */
114
#define EMAC_TXC_XS_DFR         0xFFC031B0       /* TX Frames With Excessive Deferral Count               */
115
#define EMAC_TXC_MACCTL         0xFFC031B4       /* MAC Control TX Frame Count                            */
116
#define EMAC_TXC_ALLFRM         0xFFC031B8       /* Overall TX Frame Count                                */
117
#define EMAC_TXC_ALLOCT         0xFFC031BC       /* Overall TX Octet Count                                */
118
#define EMAC_TXC_EQ64           0xFFC031C0       /* Good TX Frame Count - Byte Count x = 64               */
119
#define EMAC_TXC_LT128          0xFFC031C4       /* Good TX Frame Count - Byte Count  64 < x < 128        */
120
#define EMAC_TXC_LT256          0xFFC031C8       /* Good TX Frame Count - Byte Count 128 <= x < 256       */
121
#define EMAC_TXC_LT512          0xFFC031CC       /* Good TX Frame Count - Byte Count 256 <= x < 512       */
122
#define EMAC_TXC_LT1024         0xFFC031D0       /* Good TX Frame Count - Byte Count 512 <= x < 1024      */
123
#define EMAC_TXC_GE1024         0xFFC031D4       /* Good TX Frame Count - Byte Count x >= 1024            */
124
#define EMAC_TXC_ABORT          0xFFC031D8       /* Total TX Frames Aborted Count                         */
125
 
126
/* Listing for IEEE-Supported Count Registers */
127
 
128
#define FramesReceivedOK                EMAC_RXC_OK        /* RX Frame Successful Count                            */
129
#define FrameCheckSequenceErrors        EMAC_RXC_FCS       /* RX Frame FCS Failure Count                           */
130
#define AlignmentErrors                 EMAC_RXC_ALIGN     /* RX Alignment Error Count                             */
131
#define OctetsReceivedOK                EMAC_RXC_OCTET     /* RX Octets Successfully Received Count                */
132
#define FramesLostDueToIntMACRcvError   EMAC_RXC_DMAOVF    /* Internal MAC Sublayer Error RX Frame Count           */
133
#define UnicastFramesReceivedOK         EMAC_RXC_UNICST    /* Unicast RX Frame Count                               */
134
#define MulticastFramesReceivedOK       EMAC_RXC_MULTI     /* Multicast RX Frame Count                             */
135
#define BroadcastFramesReceivedOK       EMAC_RXC_BROAD     /* Broadcast RX Frame Count                             */
136
#define InRangeLengthErrors             EMAC_RXC_LNERRI    /* RX Frame In Range Error Count                        */
137
#define OutOfRangeLengthField           EMAC_RXC_LNERRO    /* RX Frame Out Of Range Error Count                    */
138
#define FrameTooLongErrors              EMAC_RXC_LONG      /* RX Frame Too Long Count                              */
139
#define MACControlFramesReceived        EMAC_RXC_MACCTL    /* MAC Control RX Frame Count                           */
140
#define UnsupportedOpcodesReceived      EMAC_RXC_OPCODE    /* Unsupported Op-Code RX Frame Count                   */
141
#define PAUSEMACCtrlFramesReceived      EMAC_RXC_PAUSE     /* MAC Control Pause RX Frame Count                     */
142
#define FramesReceivedAll               EMAC_RXC_ALLFRM    /* Overall RX Frame Count                               */
143
#define OctetsReceivedAll               EMAC_RXC_ALLOCT    /* Overall RX Octet Count                               */
144
#define TypedFramesReceived             EMAC_RXC_TYPED     /* Type/Length Consistent RX Frame Count                */
145
#define FramesLenLt64Received           EMAC_RXC_SHORT     /* RX Frame Fragment Count - Byte Count x < 64          */
146
#define FramesLenEq64Received           EMAC_RXC_EQ64      /* Good RX Frame Count - Byte Count x = 64              */
147
#define FramesLen65_127Received         EMAC_RXC_LT128     /* Good RX Frame Count - Byte Count  64 < x < 128       */
148
#define FramesLen128_255Received        EMAC_RXC_LT256     /* Good RX Frame Count - Byte Count 128 <= x < 256      */
149
#define FramesLen256_511Received        EMAC_RXC_LT512     /* Good RX Frame Count - Byte Count 256 <= x < 512      */
150
#define FramesLen512_1023Received       EMAC_RXC_LT1024    /* Good RX Frame Count - Byte Count 512 <= x < 1024     */
151
#define FramesLen1024_MaxReceived       EMAC_RXC_GE1024    /* Good RX Frame Count - Byte Count x >= 1024           */
152
 
153
#define FramesTransmittedOK             EMAC_TXC_OK        /* TX Frame Successful Count                            */
154
#define SingleCollisionFrames           EMAC_TXC_1COL      /* TX Frames Successful After Single Collision Count    */
155
#define MultipleCollisionFrames         EMAC_TXC_GT1COL    /* TX Frames Successful After Multiple Collisions Count */
156
#define OctetsTransmittedOK             EMAC_TXC_OCTET     /* TX Octets Successfully Received Count                */
157
#define FramesWithDeferredXmissions     EMAC_TXC_DEFER     /* TX Frame Delayed Due To Busy Count                   */
158
#define LateCollisions                  EMAC_TXC_LATECL    /* Late TX Collisions Count                             */
159
#define FramesAbortedDueToXSColls       EMAC_TXC_XS_COL    /* TX Frame Failed Due To Excessive Collisions Count    */
160
#define FramesLostDueToIntMacXmitError  EMAC_TXC_DMAUND    /* Internal MAC Sublayer Error TX Frame Count           */
161
#define CarrierSenseErrors              EMAC_TXC_CRSERR    /* Carrier Sense Deasserted During TX Frame Count       */
162
#define UnicastFramesXmittedOK          EMAC_TXC_UNICST    /* Unicast TX Frame Count                               */
163
#define MulticastFramesXmittedOK        EMAC_TXC_MULTI     /* Multicast TX Frame Count                             */
164
#define BroadcastFramesXmittedOK        EMAC_TXC_BROAD     /* Broadcast TX Frame Count                             */
165
#define FramesWithExcessiveDeferral     EMAC_TXC_XS_DFR    /* TX Frames With Excessive Deferral Count              */
166
#define MACControlFramesTransmitted     EMAC_TXC_MACCTL    /* MAC Control TX Frame Count                           */
167
#define FramesTransmittedAll            EMAC_TXC_ALLFRM    /* Overall TX Frame Count                               */
168
#define OctetsTransmittedAll            EMAC_TXC_ALLOCT    /* Overall TX Octet Count                               */
169
#define FramesLenEq64Transmitted        EMAC_TXC_EQ64      /* Good TX Frame Count - Byte Count x = 64              */
170
#define FramesLen65_127Transmitted      EMAC_TXC_LT128     /* Good TX Frame Count - Byte Count  64 < x < 128       */
171
#define FramesLen128_255Transmitted     EMAC_TXC_LT256     /* Good TX Frame Count - Byte Count 128 <= x < 256      */
172
#define FramesLen256_511Transmitted     EMAC_TXC_LT512     /* Good TX Frame Count - Byte Count 256 <= x < 512      */
173
#define FramesLen512_1023Transmitted    EMAC_TXC_LT1024    /* Good TX Frame Count - Byte Count 512 <= x < 1024     */
174
#define FramesLen1024_MaxTransmitted    EMAC_TXC_GE1024    /* Good TX Frame Count - Byte Count x >= 1024           */
175
#define TxAbortedFrames                 EMAC_TXC_ABORT     /* Total TX Frames Aborted Count                        */
176
 
177
/***********************************************************************************
178
** System MMR Register Bits And Macros
179
**
180
** Disclaimer:  All macros are intended to make C and Assembly code more readable.
181
**                              Use these macros carefully, as any that do left shifts for field
182
**                              depositing will result in the lower order bits being destroyed.  Any
183
**                              macro that shifts left to properly position the bit-field should be
184
**                              used as part of an OR to initialize a register and NOT as a dynamic
185
**                              modifier UNLESS the lower order bits are saved and ORed back in when
186
**                              the macro is used.
187
*************************************************************************************/
188
 
189
/************************  ETHERNET 10/100 CONTROLLER MASKS  ************************/
190
 
191
/* EMAC_OPMODE Masks */
192
 
193
#define RE                 0x00000001     /* Receiver Enable                                    */
194
#define ASTP               0x00000002     /* Enable Automatic Pad Stripping On RX Frames        */
195
#define HU                 0x00000010     /* Hash Filter Unicast Address                        */
196
#define HM                 0x00000020     /* Hash Filter Multicast Address                      */
197
#define PAM                0x00000040     /* Pass-All-Multicast Mode Enable                     */
198
#define PR                 0x00000080     /* Promiscuous Mode Enable                            */
199
#define IFE                0x00000100     /* Inverse Filtering Enable                           */
200
#define DBF                0x00000200     /* Disable Broadcast Frame Reception                  */
201
#define PBF                0x00000400     /* Pass Bad Frames Enable                             */
202
#define PSF                0x00000800     /* Pass Short Frames Enable                           */
203
#define RAF                0x00001000     /* Receive-All Mode                                   */
204
#define TE                 0x00010000     /* Transmitter Enable                                 */
205
#define DTXPAD             0x00020000     /* Disable Automatic TX Padding                       */
206
#define DTXCRC             0x00040000     /* Disable Automatic TX CRC Generation                */
207
#define DC                 0x00080000     /* Deferral Check                                     */
208
#define BOLMT              0x00300000     /* Back-Off Limit                                     */
209
#define BOLMT_10           0x00000000     /*            10-bit range                            */
210
#define BOLMT_8            0x00100000     /*            8-bit range                             */
211
#define BOLMT_4            0x00200000     /*            4-bit range                             */
212
#define BOLMT_1            0x00300000     /*            1-bit range                             */
213
#define DRTY               0x00400000     /* Disable TX Retry On Collision                      */
214
#define LCTRE              0x00800000     /* Enable TX Retry On Late Collision                  */
215
#define RMII               0x01000000     /* RMII/MII* Mode                                     */
216
#define RMII_10            0x02000000     /* Speed Select for RMII Port (10MBit/100MBit*)       */
217
#define FDMODE             0x04000000     /* Duplex Mode Enable (Full/Half*)                    */
218
#define LB                 0x08000000     /* Internal Loopback Enable                           */
219
#define DRO                0x10000000     /* Disable Receive Own Frames (Half-Duplex Mode)      */
220
 
221
/* EMAC_STAADD Masks */
222
 
223
#define STABUSY            0x00000001     /* Initiate Station Mgt Reg Access / STA Busy Stat    */
224
#define STAOP              0x00000002     /* Station Management Operation Code (Write/Read*)    */
225
#define STADISPRE          0x00000004     /* Disable Preamble Generation                        */
226
#define STAIE              0x00000008     /* Station Mgt. Transfer Done Interrupt Enable        */
227
#define REGAD              0x000007C0     /* STA Register Address                               */
228
#define PHYAD              0x0000F800     /* PHY Device Address                                 */
229
 
230
#ifdef _MISRA_RULES
231
#define SET_REGAD(x) (((x)&0x1Fu)<<  6 )   /* Set STA Register Address                           */
232
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 )   /* Set PHY Device Address                             */
233
#else
234
#define SET_REGAD(x) (((x)&0x1F)<<  6 )   /* Set STA Register Address                           */
235
#define SET_PHYAD(x) (((x)&0x1F)<< 11 )   /* Set PHY Device Address                             */
236
#endif /* _MISRA_RULES */
237
 
238
/* EMAC_STADAT Mask */
239
 
240
#define STADATA            0x0000FFFF     /* Station Management Data                            */
241
 
242
/* EMAC_FLC Masks */
243
 
244
#define FLCBUSY            0x00000001     /* Send Flow Ctrl Frame / Flow Ctrl Busy Status       */
245
#define FLCE               0x00000002     /* Flow Control Enable                                */
246
#define PCF                0x00000004     /* Pass Control Frames                                */
247
#define BKPRSEN            0x00000008     /* Enable Backpressure                                */
248
#define FLCPAUSE           0xFFFF0000     /* Pause Time                                         */
249
 
250
#ifdef _MISRA_RULES
251
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time                                   */
252
#else
253
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time                                   */
254
#endif /* _MISRA_RULES */
255
 
256
/* EMAC_WKUP_CTL Masks */
257
 
258
#define CAPWKFRM           0x00000001    /* Capture Wake-Up Frames                              */
259
#define MPKE               0x00000002    /* Magic Packet Enable                                 */
260
#define RWKE               0x00000004    /* Remote Wake-Up Frame Enable                         */
261
#define GUWKE              0x00000008    /* Global Unicast Wake Enable                          */
262
#define MPKS               0x00000020    /* Magic Packet Received Status                        */
263
#define RWKS               0x00000F00    /* Wake-Up Frame Received Status, Filters 3:0          */
264
 
265
/* EMAC_WKUP_FFCMD Masks */
266
 
267
#define WF0_E              0x00000001    /* Enable Wake-Up Filter 0                              */
268
#define WF0_T              0x00000008    /* Wake-Up Filter 0 Addr Type (Multicast/Unicast*)      */
269
#define WF1_E              0x00000100    /* Enable Wake-Up Filter 1                              */
270
#define WF1_T              0x00000800    /* Wake-Up Filter 1 Addr Type (Multicast/Unicast*)      */
271
#define WF2_E              0x00010000    /* Enable Wake-Up Filter 2                              */
272
#define WF2_T              0x00080000    /* Wake-Up Filter 2 Addr Type (Multicast/Unicast*)      */
273
#define WF3_E              0x01000000    /* Enable Wake-Up Filter 3                              */
274
#define WF3_T              0x08000000    /* Wake-Up Filter 3 Addr Type (Multicast/Unicast*)      */
275
 
276
/* EMAC_WKUP_FFOFF Masks */
277
 
278
#define WF0_OFF            0x000000FF    /* Wake-Up Filter 0 Pattern Offset                      */
279
#define WF1_OFF            0x0000FF00    /* Wake-Up Filter 1 Pattern Offset                      */
280
#define WF2_OFF            0x00FF0000    /* Wake-Up Filter 2 Pattern Offset                      */
281
#define WF3_OFF            0xFF000000    /* Wake-Up Filter 3 Pattern Offset                      */
282
 
283
#ifdef _MISRA_RULES
284
#define SET_WF0_OFF(x) (((x)&0xFFu)<<  0 ) /* Set Wake-Up Filter 0 Byte Offset                    */
285
#define SET_WF1_OFF(x) (((x)&0xFFu)<<  8 ) /* Set Wake-Up Filter 1 Byte Offset                    */
286
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset                    */
287
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset                    */
288
#else
289
#define SET_WF0_OFF(x) (((x)&0xFF)<<  0 ) /* Set Wake-Up Filter 0 Byte Offset                    */
290
#define SET_WF1_OFF(x) (((x)&0xFF)<<  8 ) /* Set Wake-Up Filter 1 Byte Offset                    */
291
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset                    */
292
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset                    */
293
#endif /* _MISRA_RULES */
294
 
295
/* Set ALL Offsets */
296
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
297
 
298
/* EMAC_WKUP_FFCRC0 Masks */
299
 
300
#define WF0_CRC           0x0000FFFF    /* Wake-Up Filter 0 Pattern CRC                           */
301
#define WF1_CRC           0xFFFF0000    /* Wake-Up Filter 1 Pattern CRC                           */
302
 
303
#ifdef _MISRA_RULES
304
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<<   0 ) /* Set Wake-Up Filter 0 Target CRC                   */
305
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<<  16 ) /* Set Wake-Up Filter 1 Target CRC                   */
306
#else
307
#define SET_WF0_CRC(x) (((x)&0xFFFF)<<   0 ) /* Set Wake-Up Filter 0 Target CRC                   */
308
#define SET_WF1_CRC(x) (((x)&0xFFFF)<<  16 ) /* Set Wake-Up Filter 1 Target CRC                   */
309
#endif /* _MISRA_RULES */
310
 
311
/* EMAC_WKUP_FFCRC1 Masks */
312
 
313
#define WF2_CRC           0x0000FFFF    /* Wake-Up Filter 2 Pattern CRC                           */
314
#define WF3_CRC           0xFFFF0000    /* Wake-Up Filter 3 Pattern CRC                           */
315
 
316
#ifdef _MISRA_RULES
317
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<<   0 ) /* Set Wake-Up Filter 2 Target CRC                   */
318
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<<  16 ) /* Set Wake-Up Filter 3 Target CRC                   */
319
#else
320
#define SET_WF2_CRC(x) (((x)&0xFFFF)<<   0 ) /* Set Wake-Up Filter 2 Target CRC                   */
321
#define SET_WF3_CRC(x) (((x)&0xFFFF)<<  16 ) /* Set Wake-Up Filter 3 Target CRC                   */
322
#endif /* _MISRA_RULES */
323
 
324
/* EMAC_SYSCTL Masks */
325
 
326
#define PHYIE             0x00000001    /* PHY_INT Interrupt Enable                               */
327
#define RXDWA             0x00000002    /* Receive Frame DMA Word Alignment (Odd/Even*)           */
328
#define RXCKS             0x00000004    /* Enable RX Frame TCP/UDP Checksum Computation           */
329
#define MDCDIV            0x00003F00    /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))]            */
330
 
331
#ifdef _MISRA_RULES
332
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8)   /* Set MDC Clock Divisor                                 */
333
#else
334
#define SET_MDCDIV(x) (((x)&0x3F)<< 8)   /* Set MDC Clock Divisor                                 */
335
#endif /* _MISRA_RULES */
336
 
337
/* EMAC_SYSTAT Masks */
338
 
339
#define PHYINT            0x00000001    /* PHY_INT Interrupt Status                               */
340
#define MMCINT            0x00000002    /* MMC Counter Interrupt Status                           */
341
#define RXFSINT           0x00000004    /* RX Frame-Status Interrupt Status                       */
342
#define TXFSINT           0x00000008    /* TX Frame-Status Interrupt Status                       */
343
#define WAKEDET           0x00000010    /* Wake-Up Detected Status                                */
344
#define RXDMAERR          0x00000020    /* RX DMA Direction Error Status                          */
345
#define TXDMAERR          0x00000040    /* TX DMA Direction Error Status                          */
346
#define STMDONE           0x00000080    /* Station Mgt. Transfer Done Interrupt Status            */
347
 
348
/* EMAC_RX_STAT, EMAC_RX_STKY, and EMAC_RX_IRQE Masks */
349
 
350
#define RX_FRLEN          0x000007FF    /* Frame Length In Bytes                                  */
351
#define RX_COMP           0x00001000    /* RX Frame Complete                                      */
352
#define RX_OK             0x00002000    /* RX Frame Received With No Errors                       */
353
#define RX_LONG           0x00004000    /* RX Frame Too Long Error                                */
354
#define RX_ALIGN          0x00008000    /* RX Frame Alignment Error                               */
355
#define RX_CRC            0x00010000    /* RX Frame CRC Error                                     */
356
#define RX_LEN            0x00020000    /* RX Frame Length Error                                  */
357
#define RX_FRAG           0x00040000    /* RX Frame Fragment Error                                */
358
#define RX_ADDR           0x00080000    /* RX Frame Address Filter Failed Error                   */
359
#define RX_DMAO           0x00100000    /* RX Frame DMA Overrun Error                             */
360
#define RX_PHY            0x00200000    /* RX Frame PHY Error                                     */
361
#define RX_LATE           0x00400000    /* RX Frame Late Collision Error                          */
362
#define RX_RANGE          0x00800000    /* RX Frame Length Field Out of Range Error               */
363
#define RX_MULTI          0x01000000    /* RX Multicast Frame Indicator                           */
364
#define RX_BROAD          0x02000000    /* RX Broadcast Frame Indicator                           */
365
#define RX_CTL            0x04000000    /* RX Control Frame Indicator                             */
366
#define RX_UCTL           0x08000000    /* Unsupported RX Control Frame Indicator                 */
367
#define RX_TYPE           0x10000000    /* RX Typed Frame Indicator                               */
368
#define RX_VLAN1          0x20000000    /* RX VLAN1 Frame Indicator                               */
369
#define RX_VLAN2          0x40000000    /* RX VLAN2 Frame Indicator                               */
370
#define RX_ACCEPT         0x80000000    /* RX Frame Accepted Indicator                            */
371
 
372
/*  EMAC_TX_STAT, EMAC_TX_STKY, and EMAC_TX_IRQE Masks  */
373
 
374
#define TX_COMP           0x00000001    /* TX Frame Complete                                      */
375
#define TX_OK             0x00000002    /* TX Frame Sent With No Errors                           */
376
#define TX_ECOLL          0x00000004    /* TX Frame Excessive Collision Error                     */
377
#define TX_LATE           0x00000008    /* TX Frame Late Collision Error                          */
378
#define TX_DMAU           0x00000010    /* TX Frame DMA Underrun Error (STAT)                     */
379
#define TX_MACE           0x00000010    /* Internal MAC Error Detected (STKY and IRQE)            */
380
#define TX_EDEFER         0x00000020    /* TX Frame Excessive Deferral Error                      */
381
#define TX_BROAD          0x00000040    /* TX Broadcast Frame Indicator                           */
382
#define TX_MULTI          0x00000080    /* TX Multicast Frame Indicator                           */
383
#define TX_CCNT           0x00000F00    /* TX Frame Collision Count                               */
384
#define TX_DEFER          0x00001000    /* TX Frame Deferred Indicator                            */
385
#define TX_CRS            0x00002000    /* TX Frame Carrier Sense Not Asserted Error              */
386
#define TX_LOSS           0x00004000    /* TX Frame Carrier Lost During TX Error                  */
387
#define TX_RETRY          0x00008000    /* TX Frame Successful After Retry                        */
388
#define TX_FRLEN          0x07FF0000    /* TX Frame Length (Bytes)                                */
389
 
390
/* EMAC_MMC_CTL Masks */
391
#define RSTC              0x00000001    /* Reset All Counters                                     */
392
#define CROLL             0x00000002    /* Counter Roll-Over Enable                               */
393
#define CCOR              0x00000004    /* Counter Clear-On-Read Mode Enable                      */
394
#define MMCE              0x00000008    /* Enable MMC Counter Operation                           */
395
 
396
/* EMAC_MMC_RIRQS and EMAC_MMC_RIRQE Masks */
397
#define RX_OK_CNT         0x00000001    /* RX Frames Received With No Errors                      */
398
#define RX_FCS_CNT        0x00000002    /* RX Frames W/Frame Check Sequence Errors                */
399
#define RX_ALIGN_CNT      0x00000004    /* RX Frames With Alignment Errors                        */
400
#define RX_OCTET_CNT      0x00000008    /* RX Octets Received OK                                  */
401
#define RX_LOST_CNT       0x00000010    /* RX Frames Lost Due To Internal MAC RX Error            */
402
#define RX_UNI_CNT        0x00000020    /* Unicast RX Frames Received OK                          */
403
#define RX_MULTI_CNT      0x00000040    /* Multicast RX Frames Received OK                        */
404
#define RX_BROAD_CNT      0x00000080    /* Broadcast RX Frames Received OK                        */
405
#define RX_IRL_CNT        0x00000100    /* RX Frames With In-Range Length Errors                  */
406
#define RX_ORL_CNT        0x00000200    /* RX Frames With Out-Of-Range Length Errors              */
407
#define RX_LONG_CNT       0x00000400    /* RX Frames With Frame Too Long Errors                   */
408
#define RX_MACCTL_CNT     0x00000800    /* MAC Control RX Frames Received                         */
409
#define RX_OPCODE_CTL     0x00001000    /* Unsupported Op-Code RX Frames Received                 */
410
#define RX_PAUSE_CNT      0x00002000    /* PAUSEMAC Control RX Frames Received                    */
411
#define RX_ALLF_CNT       0x00004000    /* All RX Frames Received                                 */
412
#define RX_ALLO_CNT       0x00008000    /* All RX Octets Received                                 */
413
#define RX_TYPED_CNT      0x00010000    /* Typed RX Frames Received                               */
414
#define RX_SHORT_CNT      0x00020000    /* RX Frame Fragments (< 64 Bytes) Received               */
415
#define RX_EQ64_CNT       0x00040000    /* 64-Byte RX Frames Received                             */
416
#define RX_LT128_CNT      0x00080000    /* 65-127-Byte RX Frames Received                         */
417
#define RX_LT256_CNT      0x00100000    /* 128-255-Byte RX Frames Received                        */
418
#define RX_LT512_CNT      0x00200000    /* 256-511-Byte RX Frames Received                        */
419
#define RX_LT1024_CNT     0x00400000    /* 512-1023-Byte RX Frames Received                       */
420
#define RX_GE1024_CNT     0x00800000    /* 1024-Max-Byte RX Frames Received                       */
421
 
422
/* EMAC_MMC_TIRQS and EMAC_MMC_TIRQE Masks  */
423
 
424
#define TX_OK_CNT         0x00000001    /* TX Frames Sent OK                                      */
425
#define TX_SCOLL_CNT      0x00000002    /* TX Frames With Single Collisions                       */
426
#define TX_MCOLL_CNT      0x00000004    /* TX Frames With Multiple Collisions                     */
427
#define TX_OCTET_CNT      0x00000008    /* TX Octets Sent OK                                      */
428
#define TX_DEFER_CNT      0x00000010    /* TX Frames With Deferred Transmission                   */
429
#define TX_LATE_CNT       0x00000020    /* TX Frames With Late Collisions                         */
430
#define TX_ABORTC_CNT     0x00000040    /* TX Frames Aborted Due To Excess Collisions             */
431
#define TX_LOST_CNT       0x00000080    /* TX Frames Lost Due To Internal MAC TX Error            */
432
#define TX_CRS_CNT        0x00000100    /* TX Frames With Carrier Sense Errors                    */
433
#define TX_UNI_CNT        0x00000200    /* Unicast TX Frames Sent                                 */
434
#define TX_MULTI_CNT      0x00000400    /* Multicast TX Frames Sent                               */
435
#define TX_BROAD_CNT      0x00000800    /* Broadcast TX Frames Sent                               */
436
#define TX_EXDEF_CTL      0x00001000    /* TX Frames With Excessive Deferral                      */
437
#define TX_MACCTL_CNT     0x00002000    /* MAC Control TX Frames Sent                             */
438
#define TX_ALLF_CNT       0x00004000    /* All TX Frames Sent                                     */
439
#define TX_ALLO_CNT       0x00008000    /* All TX Octets Sent                                     */
440
#define TX_EQ64_CNT       0x00010000    /* 64-Byte TX Frames Sent                                 */
441
#define TX_LT128_CNT      0x00020000    /* 65-127-Byte TX Frames Sent                             */
442
#define TX_LT256_CNT      0x00040000    /* 128-255-Byte TX Frames Sent                            */
443
#define TX_LT512_CNT      0x00080000    /* 256-511-Byte TX Frames Sent                            */
444
#define TX_LT1024_CNT     0x00100000    /* 512-1023-Byte TX Frames Sent                           */
445
#define TX_GE1024_CNT     0x00200000    /* 1024-Max-Byte TX Frames Sent                           */
446
#define TX_ABORT_CNT      0x00400000    /* TX Frames Aborted                                      */
447
 
448
/* USB Control Registers */
449
 
450
#define                        USB_FADDR  0xffc03800   /* Function address register */
451
#define                        USB_POWER  0xffc03804   /* Power management register */
452
#define                       USB_INTRTX  0xffc03808   /* Interrupt register for endpoint 0 and Tx endpoint 1 to 7 */
453
#define                       USB_INTRRX  0xffc0380c   /* Interrupt register for Rx endpoints 1 to 7 */
454
#define                      USB_INTRTXE  0xffc03810   /* Interrupt enable register for IntrTx */
455
#define                      USB_INTRRXE  0xffc03814   /* Interrupt enable register for IntrRx */
456
#define                      USB_INTRUSB  0xffc03818   /* Interrupt register for common USB interrupts */
457
#define                     USB_INTRUSBE  0xffc0381c   /* Interrupt enable register for IntrUSB */
458
#define                        USB_FRAME  0xffc03820   /* USB frame number */
459
#define                        USB_INDEX  0xffc03824   /* Index register for selecting the indexed endpoint registers */
460
#define                     USB_TESTMODE  0xffc03828   /* Enabled USB 20 test modes */
461
#define                     USB_GLOBINTR  0xffc0382c   /* Global Interrupt Mask register and Wakeup Exception Interrupt */
462
#define                   USB_GLOBAL_CTL  0xffc03830   /* Global Clock Control for the core */
463
 
464
/* USB Packet Control Registers */
465
 
466
#define                USB_TX_MAX_PACKET  0xffc03840   /* Maximum packet size for Host Tx endpoint */
467
#define                         USB_CSR0  0xffc03844   /* Control Status register for endpoint 0 and Control Status register for Host Tx endpoint */
468
#define                        USB_TXCSR  0xffc03844   /* Control Status register for endpoint 0 and Control Status register for Host Tx endpoint */
469
#define                USB_RX_MAX_PACKET  0xffc03848   /* Maximum packet size for Host Rx endpoint */
470
#define                        USB_RXCSR  0xffc0384c   /* Control Status register for Host Rx endpoint */
471
#define                       USB_COUNT0  0xffc03850   /* Number of bytes received in endpoint 0 FIFO and Number of bytes received in Host Tx endpoint */
472
#define                      USB_RXCOUNT  0xffc03850   /* Number of bytes received in endpoint 0 FIFO and Number of bytes received in Host Tx endpoint */
473
#define                       USB_TXTYPE  0xffc03854   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint */
474
#define                    USB_NAKLIMIT0  0xffc03858   /* Sets the NAK response timeout on Endpoint 0 and on Bulk transfers for Host Tx endpoint */
475
#define                   USB_TXINTERVAL  0xffc03858   /* Sets the NAK response timeout on Endpoint 0 and on Bulk transfers for Host Tx endpoint */
476
#define                       USB_RXTYPE  0xffc0385c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint */
477
#define                   USB_RXINTERVAL  0xffc03860   /* Sets the polling interval for Interrupt and Isochronous transfers or the NAK response timeout on Bulk transfers */
478
#define                      USB_TXCOUNT  0xffc03868   /* Number of bytes to be written to the selected endpoint Tx FIFO */
479
 
480
/* USB Endpoint FIFO Registers */
481
 
482
#define                     USB_EP0_FIFO  0xffc03880   /* Endpoint 0 FIFO */
483
#define                     USB_EP1_FIFO  0xffc03888   /* Endpoint 1 FIFO */
484
#define                     USB_EP2_FIFO  0xffc03890   /* Endpoint 2 FIFO */
485
#define                     USB_EP3_FIFO  0xffc03898   /* Endpoint 3 FIFO */
486
#define                     USB_EP4_FIFO  0xffc038a0   /* Endpoint 4 FIFO */
487
#define                     USB_EP5_FIFO  0xffc038a8   /* Endpoint 5 FIFO */
488
#define                     USB_EP6_FIFO  0xffc038b0   /* Endpoint 6 FIFO */
489
#define                     USB_EP7_FIFO  0xffc038b8   /* Endpoint 7 FIFO */
490
 
491
/* USB OTG Control Registers */
492
 
493
#define                  USB_OTG_DEV_CTL  0xffc03900   /* OTG Device Control Register */
494
#define                 USB_OTG_VBUS_IRQ  0xffc03904   /* OTG VBUS Control Interrupts */
495
#define                USB_OTG_VBUS_MASK  0xffc03908   /* VBUS Control Interrupt Enable */
496
 
497
/* USB Phy Control Registers */
498
 
499
#define                     USB_LINKINFO  0xffc03948   /* Enables programming of some PHY-side delays */
500
#define                        USB_VPLEN  0xffc0394c   /* Determines duration of VBUS pulse for VBUS charging */
501
#define                      USB_HS_EOF1  0xffc03950   /* Time buffer for High-Speed transactions */
502
#define                      USB_FS_EOF1  0xffc03954   /* Time buffer for Full-Speed transactions */
503
#define                      USB_LS_EOF1  0xffc03958   /* Time buffer for Low-Speed transactions */
504
 
505
/* (APHY_CNTRL is for ADI usage only) */
506
 
507
#define                   USB_APHY_CNTRL  0xffc039e0   /* Register that increases visibility of Analog PHY */
508
 
509
/* (APHY_CALIB is for ADI usage only) */
510
 
511
#define                   USB_APHY_CALIB  0xffc039e4   /* Register used to set some calibration values */
512
 
513
#define                  USB_APHY_CNTRL2  0xffc039e8   /* Register used to prevent re-enumeration once Moab goes into hibernate mode */
514
 
515
/* (PHY_TEST is for ADI usage only) */
516
 
517
#define                     USB_PHY_TEST  0xffc039ec   /* Used for reducing simulation time and simplifies FIFO testability */
518
 
519
#define                  USB_PLLOSC_CTRL  0xffc039f0   /* Used to program different parameters for USB PLL and Oscillator */
520
#define                   USB_SRP_CLKDIV  0xffc039f4   /* Used to program clock divide value for the clock fed to the SRP detection logic */
521
 
522
/* USB Endpoint 0 Control Registers */
523
 
524
#define                USB_EP_NI0_TXMAXP  0xffc03a00   /* Maximum packet size for Host Tx endpoint0 */
525
#define                 USB_EP_NI0_TXCSR  0xffc03a04   /* Control Status register for endpoint 0 */
526
#define                USB_EP_NI0_RXMAXP  0xffc03a08   /* Maximum packet size for Host Rx endpoint0 */
527
#define                 USB_EP_NI0_RXCSR  0xffc03a0c   /* Control Status register for Host Rx endpoint0 */
528
#define               USB_EP_NI0_RXCOUNT  0xffc03a10   /* Number of bytes received in endpoint 0 FIFO */
529
#define                USB_EP_NI0_TXTYPE  0xffc03a14   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint0 */
530
#define            USB_EP_NI0_TXINTERVAL  0xffc03a18   /* Sets the NAK response timeout on Endpoint 0 */
531
#define                USB_EP_NI0_RXTYPE  0xffc03a1c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint0 */
532
#define            USB_EP_NI0_RXINTERVAL  0xffc03a20   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint0 */
533
#define               USB_EP_NI0_TXCOUNT  0xffc03a28   /* Number of bytes to be written to the endpoint0 Tx FIFO */
534
 
535
/* USB Endpoint 1 Control Registers */
536
 
537
#define                USB_EP_NI1_TXMAXP  0xffc03a40   /* Maximum packet size for Host Tx endpoint1 */
538
#define                 USB_EP_NI1_TXCSR  0xffc03a44   /* Control Status register for endpoint1 */
539
#define                USB_EP_NI1_RXMAXP  0xffc03a48   /* Maximum packet size for Host Rx endpoint1 */
540
#define                 USB_EP_NI1_RXCSR  0xffc03a4c   /* Control Status register for Host Rx endpoint1 */
541
#define               USB_EP_NI1_RXCOUNT  0xffc03a50   /* Number of bytes received in endpoint1 FIFO */
542
#define                USB_EP_NI1_TXTYPE  0xffc03a54   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint1 */
543
#define            USB_EP_NI1_TXINTERVAL  0xffc03a58   /* Sets the NAK response timeout on Endpoint1 */
544
#define                USB_EP_NI1_RXTYPE  0xffc03a5c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint1 */
545
#define            USB_EP_NI1_RXINTERVAL  0xffc03a60   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint1 */
546
#define               USB_EP_NI1_TXCOUNT  0xffc03a68   /* Number of bytes to be written to the+H102 endpoint1 Tx FIFO */
547
 
548
/* USB Endpoint 2 Control Registers */
549
 
550
#define                USB_EP_NI2_TXMAXP  0xffc03a80   /* Maximum packet size for Host Tx endpoint2 */
551
#define                 USB_EP_NI2_TXCSR  0xffc03a84   /* Control Status register for endpoint2 */
552
#define                USB_EP_NI2_RXMAXP  0xffc03a88   /* Maximum packet size for Host Rx endpoint2 */
553
#define                 USB_EP_NI2_RXCSR  0xffc03a8c   /* Control Status register for Host Rx endpoint2 */
554
#define               USB_EP_NI2_RXCOUNT  0xffc03a90   /* Number of bytes received in endpoint2 FIFO */
555
#define                USB_EP_NI2_TXTYPE  0xffc03a94   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint2 */
556
#define            USB_EP_NI2_TXINTERVAL  0xffc03a98   /* Sets the NAK response timeout on Endpoint2 */
557
#define                USB_EP_NI2_RXTYPE  0xffc03a9c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint2 */
558
#define            USB_EP_NI2_RXINTERVAL  0xffc03aa0   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint2 */
559
#define               USB_EP_NI2_TXCOUNT  0xffc03aa8   /* Number of bytes to be written to the endpoint2 Tx FIFO */
560
 
561
/* USB Endpoint 3 Control Registers */
562
 
563
#define                USB_EP_NI3_TXMAXP  0xffc03ac0   /* Maximum packet size for Host Tx endpoint3 */
564
#define                 USB_EP_NI3_TXCSR  0xffc03ac4   /* Control Status register for endpoint3 */
565
#define                USB_EP_NI3_RXMAXP  0xffc03ac8   /* Maximum packet size for Host Rx endpoint3 */
566
#define                 USB_EP_NI3_RXCSR  0xffc03acc   /* Control Status register for Host Rx endpoint3 */
567
#define               USB_EP_NI3_RXCOUNT  0xffc03ad0   /* Number of bytes received in endpoint3 FIFO */
568
#define                USB_EP_NI3_TXTYPE  0xffc03ad4   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint3 */
569
#define            USB_EP_NI3_TXINTERVAL  0xffc03ad8   /* Sets the NAK response timeout on Endpoint3 */
570
#define                USB_EP_NI3_RXTYPE  0xffc03adc   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint3 */
571
#define            USB_EP_NI3_RXINTERVAL  0xffc03ae0   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint3 */
572
#define               USB_EP_NI3_TXCOUNT  0xffc03ae8   /* Number of bytes to be written to the H124endpoint3 Tx FIFO */
573
 
574
/* USB Endpoint 4 Control Registers */
575
 
576
#define                USB_EP_NI4_TXMAXP  0xffc03b00   /* Maximum packet size for Host Tx endpoint4 */
577
#define                 USB_EP_NI4_TXCSR  0xffc03b04   /* Control Status register for endpoint4 */
578
#define                USB_EP_NI4_RXMAXP  0xffc03b08   /* Maximum packet size for Host Rx endpoint4 */
579
#define                 USB_EP_NI4_RXCSR  0xffc03b0c   /* Control Status register for Host Rx endpoint4 */
580
#define               USB_EP_NI4_RXCOUNT  0xffc03b10   /* Number of bytes received in endpoint4 FIFO */
581
#define                USB_EP_NI4_TXTYPE  0xffc03b14   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint4 */
582
#define            USB_EP_NI4_TXINTERVAL  0xffc03b18   /* Sets the NAK response timeout on Endpoint4 */
583
#define                USB_EP_NI4_RXTYPE  0xffc03b1c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint4 */
584
#define            USB_EP_NI4_RXINTERVAL  0xffc03b20   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint4 */
585
#define               USB_EP_NI4_TXCOUNT  0xffc03b28   /* Number of bytes to be written to the endpoint4 Tx FIFO */
586
 
587
/* USB Endpoint 5 Control Registers */
588
 
589
#define                USB_EP_NI5_TXMAXP  0xffc03b40   /* Maximum packet size for Host Tx endpoint5 */
590
#define                 USB_EP_NI5_TXCSR  0xffc03b44   /* Control Status register for endpoint5 */
591
#define                USB_EP_NI5_RXMAXP  0xffc03b48   /* Maximum packet size for Host Rx endpoint5 */
592
#define                 USB_EP_NI5_RXCSR  0xffc03b4c   /* Control Status register for Host Rx endpoint5 */
593
#define               USB_EP_NI5_RXCOUNT  0xffc03b50   /* Number of bytes received in endpoint5 FIFO */
594
#define                USB_EP_NI5_TXTYPE  0xffc03b54   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint5 */
595
#define            USB_EP_NI5_TXINTERVAL  0xffc03b58   /* Sets the NAK response timeout on Endpoint5 */
596
#define                USB_EP_NI5_RXTYPE  0xffc03b5c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint5 */
597
#define            USB_EP_NI5_RXINTERVAL  0xffc03b60   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint5 */
598
#define               USB_EP_NI5_TXCOUNT  0xffc03b68   /* Number of bytes to be written to the endpoint5 Tx FIFO */
599
 
600
/* USB Endpoint 6 Control Registers */
601
 
602
#define                USB_EP_NI6_TXMAXP  0xffc03b80   /* Maximum packet size for Host Tx endpoint6 */
603
#define                 USB_EP_NI6_TXCSR  0xffc03b84   /* Control Status register for endpoint6 */
604
#define                USB_EP_NI6_RXMAXP  0xffc03b88   /* Maximum packet size for Host Rx endpoint6 */
605
#define                 USB_EP_NI6_RXCSR  0xffc03b8c   /* Control Status register for Host Rx endpoint6 */
606
#define               USB_EP_NI6_RXCOUNT  0xffc03b90   /* Number of bytes received in endpoint6 FIFO */
607
#define                USB_EP_NI6_TXTYPE  0xffc03b94   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint6 */
608
#define            USB_EP_NI6_TXINTERVAL  0xffc03b98   /* Sets the NAK response timeout on Endpoint6 */
609
#define                USB_EP_NI6_RXTYPE  0xffc03b9c   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint6 */
610
#define            USB_EP_NI6_RXINTERVAL  0xffc03ba0   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint6 */
611
#define               USB_EP_NI6_TXCOUNT  0xffc03ba8   /* Number of bytes to be written to the endpoint6 Tx FIFO */
612
 
613
/* USB Endpoint 7 Control Registers */
614
 
615
#define                USB_EP_NI7_TXMAXP  0xffc03bc0   /* Maximum packet size for Host Tx endpoint7 */
616
#define                 USB_EP_NI7_TXCSR  0xffc03bc4   /* Control Status register for endpoint7 */
617
#define                USB_EP_NI7_RXMAXP  0xffc03bc8   /* Maximum packet size for Host Rx endpoint7 */
618
#define                 USB_EP_NI7_RXCSR  0xffc03bcc   /* Control Status register for Host Rx endpoint7 */
619
#define               USB_EP_NI7_RXCOUNT  0xffc03bd0   /* Number of bytes received in endpoint7 FIFO */
620
#define                USB_EP_NI7_TXTYPE  0xffc03bd4   /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint7 */
621
#define            USB_EP_NI7_TXINTERVAL  0xffc03bd8   /* Sets the NAK response timeout on Endpoint7 */
622
#define                USB_EP_NI7_RXTYPE  0xffc03bdc   /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint7 */
623
#define            USB_EP_NI7_RXINTERVAL  0xffc03bf0   /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint7 */
624
#define               USB_EP_NI7_TXCOUNT  0xffc03bf8   /* Number of bytes to be written to the endpoint7 Tx FIFO */
625
 
626
#define                USB_DMA_INTERRUPT  0xffc03c00   /* Indicates pending interrupts for the DMA channels */
627
 
628
/* USB Channel 0 Config Registers */
629
 
630
#define                  USB_DMA0CONTROL  0xffc03c04   /* DMA master channel 0 configuration */
631
#define                  USB_DMA0ADDRLOW  0xffc03c08   /* Lower 16-bits of memory source/destination address for DMA master channel 0 */
632
#define                 USB_DMA0ADDRHIGH  0xffc03c0c   /* Upper 16-bits of memory source/destination address for DMA master channel 0 */
633
#define                 USB_DMA0COUNTLOW  0xffc03c10   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 0 */
634
#define                USB_DMA0COUNTHIGH  0xffc03c14   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 0 */
635
 
636
/* USB Channel 1 Config Registers */
637
 
638
#define                  USB_DMA1CONTROL  0xffc03c24   /* DMA master channel 1 configuration */
639
#define                  USB_DMA1ADDRLOW  0xffc03c28   /* Lower 16-bits of memory source/destination address for DMA master channel 1 */
640
#define                 USB_DMA1ADDRHIGH  0xffc03c2c   /* Upper 16-bits of memory source/destination address for DMA master channel 1 */
641
#define                 USB_DMA1COUNTLOW  0xffc03c30   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 1 */
642
#define                USB_DMA1COUNTHIGH  0xffc03c34   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 1 */
643
 
644
/* USB Channel 2 Config Registers */
645
 
646
#define                  USB_DMA2CONTROL  0xffc03c44   /* DMA master channel 2 configuration */
647
#define                  USB_DMA2ADDRLOW  0xffc03c48   /* Lower 16-bits of memory source/destination address for DMA master channel 2 */
648
#define                 USB_DMA2ADDRHIGH  0xffc03c4c   /* Upper 16-bits of memory source/destination address for DMA master channel 2 */
649
#define                 USB_DMA2COUNTLOW  0xffc03c50   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 2 */
650
#define                USB_DMA2COUNTHIGH  0xffc03c54   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 2 */
651
 
652
/* USB Channel 3 Config Registers */
653
 
654
#define                  USB_DMA3CONTROL  0xffc03c64   /* DMA master channel 3 configuration */
655
#define                  USB_DMA3ADDRLOW  0xffc03c68   /* Lower 16-bits of memory source/destination address for DMA master channel 3 */
656
#define                 USB_DMA3ADDRHIGH  0xffc03c6c   /* Upper 16-bits of memory source/destination address for DMA master channel 3 */
657
#define                 USB_DMA3COUNTLOW  0xffc03c70   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 3 */
658
#define                USB_DMA3COUNTHIGH  0xffc03c74   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 3 */
659
 
660
/* USB Channel 4 Config Registers */
661
 
662
#define                  USB_DMA4CONTROL  0xffc03c84   /* DMA master channel 4 configuration */
663
#define                  USB_DMA4ADDRLOW  0xffc03c88   /* Lower 16-bits of memory source/destination address for DMA master channel 4 */
664
#define                 USB_DMA4ADDRHIGH  0xffc03c8c   /* Upper 16-bits of memory source/destination address for DMA master channel 4 */
665
#define                 USB_DMA4COUNTLOW  0xffc03c90   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 4 */
666
#define                USB_DMA4COUNTHIGH  0xffc03c94   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 4 */
667
 
668
/* USB Channel 5 Config Registers */
669
 
670
#define                  USB_DMA5CONTROL  0xffc03ca4   /* DMA master channel 5 configuration */
671
#define                  USB_DMA5ADDRLOW  0xffc03ca8   /* Lower 16-bits of memory source/destination address for DMA master channel 5 */
672
#define                 USB_DMA5ADDRHIGH  0xffc03cac   /* Upper 16-bits of memory source/destination address for DMA master channel 5 */
673
#define                 USB_DMA5COUNTLOW  0xffc03cb0   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 5 */
674
#define                USB_DMA5COUNTHIGH  0xffc03cb4   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 5 */
675
 
676
/* USB Channel 6 Config Registers */
677
 
678
#define                  USB_DMA6CONTROL  0xffc03cc4   /* DMA master channel 6 configuration */
679
#define                  USB_DMA6ADDRLOW  0xffc03cc8   /* Lower 16-bits of memory source/destination address for DMA master channel 6 */
680
#define                 USB_DMA6ADDRHIGH  0xffc03ccc   /* Upper 16-bits of memory source/destination address for DMA master channel 6 */
681
#define                 USB_DMA6COUNTLOW  0xffc03cd0   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 6 */
682
#define                USB_DMA6COUNTHIGH  0xffc03cd4   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 6 */
683
 
684
/* USB Channel 7 Config Registers */
685
 
686
#define                  USB_DMA7CONTROL  0xffc03ce4   /* DMA master channel 7 configuration */
687
#define                  USB_DMA7ADDRLOW  0xffc03ce8   /* Lower 16-bits of memory source/destination address for DMA master channel 7 */
688
#define                 USB_DMA7ADDRHIGH  0xffc03cec   /* Upper 16-bits of memory source/destination address for DMA master channel 7 */
689
#define                 USB_DMA7COUNTLOW  0xffc03cf0   /* Lower 16-bits of byte count of DMA transfer for DMA master channel 7 */
690
#define                USB_DMA7COUNTHIGH  0xffc03cf4   /* Upper 16-bits of byte count of DMA transfer for DMA master channel 7 */
691
 
692
/* Bit masks for USB_FADDR */
693
 
694
#define          FUNCTION_ADDRESS  0x7f       /* Function address */
695
 
696
/* Bit masks for USB_POWER */
697
 
698
#define           ENABLE_SUSPENDM  0x1        /* enable SuspendM output */
699
#define          nENABLE_SUSPENDM  0x0
700
#define              SUSPEND_MODE  0x2        /* Suspend Mode indicator */
701
#define             nSUSPEND_MODE  0x0
702
#define               RESUME_MODE  0x4        /* DMA Mode */
703
#define              nRESUME_MODE  0x0
704
#define                     RESET  0x8        /* Reset indicator */
705
#define                    nRESET  0x0
706
#define                   HS_MODE  0x10       /* High Speed mode indicator */
707
#define                  nHS_MODE  0x0
708
#define                 HS_ENABLE  0x20       /* high Speed Enable */
709
#define                nHS_ENABLE  0x0
710
#define                 SOFT_CONN  0x40       /* Soft connect */
711
#define                nSOFT_CONN  0x0
712
#define                ISO_UPDATE  0x80       /* Isochronous update */
713
#define               nISO_UPDATE  0x0
714
 
715
/* Bit masks for USB_INTRTX */
716
 
717
#define                    EP0_TX  0x1        /* Tx Endpoint 0 interrupt */
718
#define                   nEP0_TX  0x0
719
#define                    EP1_TX  0x2        /* Tx Endpoint 1 interrupt */
720
#define                   nEP1_TX  0x0
721
#define                    EP2_TX  0x4        /* Tx Endpoint 2 interrupt */
722
#define                   nEP2_TX  0x0
723
#define                    EP3_TX  0x8        /* Tx Endpoint 3 interrupt */
724
#define                   nEP3_TX  0x0
725
#define                    EP4_TX  0x10       /* Tx Endpoint 4 interrupt */
726
#define                   nEP4_TX  0x0
727
#define                    EP5_TX  0x20       /* Tx Endpoint 5 interrupt */
728
#define                   nEP5_TX  0x0
729
#define                    EP6_TX  0x40       /* Tx Endpoint 6 interrupt */
730
#define                   nEP6_TX  0x0
731
#define                    EP7_TX  0x80       /* Tx Endpoint 7 interrupt */
732
#define                   nEP7_TX  0x0
733
 
734
/* Bit masks for USB_INTRRX */
735
 
736
#define                    EP1_RX  0x2        /* Rx Endpoint 1 interrupt */
737
#define                   nEP1_RX  0x0
738
#define                    EP2_RX  0x4        /* Rx Endpoint 2 interrupt */
739
#define                   nEP2_RX  0x0
740
#define                    EP3_RX  0x8        /* Rx Endpoint 3 interrupt */
741
#define                   nEP3_RX  0x0
742
#define                    EP4_RX  0x10       /* Rx Endpoint 4 interrupt */
743
#define                   nEP4_RX  0x0
744
#define                    EP5_RX  0x20       /* Rx Endpoint 5 interrupt */
745
#define                   nEP5_RX  0x0
746
#define                    EP6_RX  0x40       /* Rx Endpoint 6 interrupt */
747
#define                   nEP6_RX  0x0
748
#define                    EP7_RX  0x80       /* Rx Endpoint 7 interrupt */
749
#define                   nEP7_RX  0x0
750
 
751
/* Bit masks for USB_INTRTXE */
752
 
753
#define                  EP0_TX_E  0x1        /* Endpoint 0 interrupt Enable */
754
#define                 nEP0_TX_E  0x0
755
#define                  EP1_TX_E  0x2        /* Tx Endpoint 1 interrupt  Enable */
756
#define                 nEP1_TX_E  0x0
757
#define                  EP2_TX_E  0x4        /* Tx Endpoint 2 interrupt  Enable */
758
#define                 nEP2_TX_E  0x0
759
#define                  EP3_TX_E  0x8        /* Tx Endpoint 3 interrupt  Enable */
760
#define                 nEP3_TX_E  0x0
761
#define                  EP4_TX_E  0x10       /* Tx Endpoint 4 interrupt  Enable */
762
#define                 nEP4_TX_E  0x0
763
#define                  EP5_TX_E  0x20       /* Tx Endpoint 5 interrupt  Enable */
764
#define                 nEP5_TX_E  0x0
765
#define                  EP6_TX_E  0x40       /* Tx Endpoint 6 interrupt  Enable */
766
#define                 nEP6_TX_E  0x0
767
#define                  EP7_TX_E  0x80       /* Tx Endpoint 7 interrupt  Enable */
768
#define                 nEP7_TX_E  0x0
769
 
770
/* Bit masks for USB_INTRRXE */
771
 
772
#define                  EP1_RX_E  0x2        /* Rx Endpoint 1 interrupt  Enable */
773
#define                 nEP1_RX_E  0x0
774
#define                  EP2_RX_E  0x4        /* Rx Endpoint 2 interrupt  Enable */
775
#define                 nEP2_RX_E  0x0
776
#define                  EP3_RX_E  0x8        /* Rx Endpoint 3 interrupt  Enable */
777
#define                 nEP3_RX_E  0x0
778
#define                  EP4_RX_E  0x10       /* Rx Endpoint 4 interrupt  Enable */
779
#define                 nEP4_RX_E  0x0
780
#define                  EP5_RX_E  0x20       /* Rx Endpoint 5 interrupt  Enable */
781
#define                 nEP5_RX_E  0x0
782
#define                  EP6_RX_E  0x40       /* Rx Endpoint 6 interrupt  Enable */
783
#define                 nEP6_RX_E  0x0
784
#define                  EP7_RX_E  0x80       /* Rx Endpoint 7 interrupt  Enable */
785
#define                 nEP7_RX_E  0x0
786
 
787
/* Bit masks for USB_INTRUSB */
788
 
789
#define                 SUSPEND_B  0x1        /* Suspend indicator */
790
#define                nSUSPEND_B  0x0
791
#define                  RESUME_B  0x2        /* Resume indicator */
792
#define                 nRESUME_B  0x0
793
#define          RESET_OR_BABLE_B  0x4        /* Reset/babble indicator */
794
#define         nRESET_OR_BABLE_B  0x0
795
#define                     SOF_B  0x8        /* Start of frame */
796
#define                    nSOF_B  0x0
797
#define                    CONN_B  0x10       /* Connection indicator */
798
#define                   nCONN_B  0x0
799
#define                  DISCON_B  0x20       /* Disconnect indicator */
800
#define                 nDISCON_B  0x0
801
#define             SESSION_REQ_B  0x40       /* Session Request */
802
#define            nSESSION_REQ_B  0x0
803
#define              VBUS_ERROR_B  0x80       /* Vbus threshold indicator */
804
#define             nVBUS_ERROR_B  0x0
805
 
806
/* Bit masks for USB_INTRUSBE */
807
 
808
#define                SUSPEND_BE  0x1        /* Suspend indicator int enable */
809
#define               nSUSPEND_BE  0x0
810
#define                 RESUME_BE  0x2        /* Resume indicator int enable */
811
#define                nRESUME_BE  0x0
812
#define         RESET_OR_BABLE_BE  0x4        /* Reset/babble indicator int enable */
813
#define        nRESET_OR_BABLE_BE  0x0
814
#define                    SOF_BE  0x8        /* Start of frame int enable */
815
#define                   nSOF_BE  0x0
816
#define                   CONN_BE  0x10       /* Connection indicator int enable */
817
#define                  nCONN_BE  0x0
818
#define                 DISCON_BE  0x20       /* Disconnect indicator int enable */
819
#define                nDISCON_BE  0x0
820
#define            SESSION_REQ_BE  0x40       /* Session Request int enable */
821
#define           nSESSION_REQ_BE  0x0
822
#define             VBUS_ERROR_BE  0x80       /* Vbus threshold indicator int enable */
823
#define            nVBUS_ERROR_BE  0x0
824
 
825
/* Bit masks for USB_FRAME */
826
 
827
#define              FRAME_NUMBER  0x7ff      /* Frame number */
828
 
829
/* Bit masks for USB_INDEX */
830
 
831
#define         SELECTED_ENDPOINT  0xf        /* selected endpoint */
832
 
833
/* Bit masks for USB_GLOBAL_CTL */
834
 
835
#define                GLOBAL_ENA  0x1        /* enables USB module */
836
#define               nGLOBAL_ENA  0x0
837
#define                EP1_TX_ENA  0x2        /* Transmit endpoint 1 enable */
838
#define               nEP1_TX_ENA  0x0
839
#define                EP2_TX_ENA  0x4        /* Transmit endpoint 2 enable */
840
#define               nEP2_TX_ENA  0x0
841
#define                EP3_TX_ENA  0x8        /* Transmit endpoint 3 enable */
842
#define               nEP3_TX_ENA  0x0
843
#define                EP4_TX_ENA  0x10       /* Transmit endpoint 4 enable */
844
#define               nEP4_TX_ENA  0x0
845
#define                EP5_TX_ENA  0x20       /* Transmit endpoint 5 enable */
846
#define               nEP5_TX_ENA  0x0
847
#define                EP6_TX_ENA  0x40       /* Transmit endpoint 6 enable */
848
#define               nEP6_TX_ENA  0x0
849
#define                EP7_TX_ENA  0x80       /* Transmit endpoint 7 enable */
850
#define               nEP7_TX_ENA  0x0
851
#define                EP1_RX_ENA  0x100      /* Receive endpoint 1 enable */
852
#define               nEP1_RX_ENA  0x0
853
#define                EP2_RX_ENA  0x200      /* Receive endpoint 2 enable */
854
#define               nEP2_RX_ENA  0x0
855
#define                EP3_RX_ENA  0x400      /* Receive endpoint 3 enable */
856
#define               nEP3_RX_ENA  0x0
857
#define                EP4_RX_ENA  0x800      /* Receive endpoint 4 enable */
858
#define               nEP4_RX_ENA  0x0
859
#define                EP5_RX_ENA  0x1000     /* Receive endpoint 5 enable */
860
#define               nEP5_RX_ENA  0x0
861
#define                EP6_RX_ENA  0x2000     /* Receive endpoint 6 enable */
862
#define               nEP6_RX_ENA  0x0
863
#define                EP7_RX_ENA  0x4000     /* Receive endpoint 7 enable */
864
#define               nEP7_RX_ENA  0x0
865
 
866
/* Bit masks for USB_OTG_DEV_CTL */
867
 
868
#define                   SESSION  0x1        /* session indicator */
869
#define                  nSESSION  0x0
870
#define                  HOST_REQ  0x2        /* Host negotiation request */
871
#define                 nHOST_REQ  0x0
872
#define                 HOST_MODE  0x4        /* indicates USBDRC is a host */
873
#define                nHOST_MODE  0x0
874
#define                     VBUS0  0x8        /* Vbus level indicator[0] */
875
#define                    nVBUS0  0x0
876
#define                     VBUS1  0x10       /* Vbus level indicator[1] */
877
#define                    nVBUS1  0x0
878
#define                     LSDEV  0x20       /* Low-speed indicator */
879
#define                    nLSDEV  0x0
880
#define                     FSDEV  0x40       /* Full or High-speed indicator */
881
#define                    nFSDEV  0x0
882
#define                  B_DEVICE  0x80       /* A' or 'B' device indicator */
883
#define                 nB_DEVICE  0x0
884
 
885
/* Bit masks for USB_OTG_VBUS_IRQ */
886
 
887
#define             DRIVE_VBUS_ON  0x1        /* indicator to drive VBUS control circuit */
888
#define            nDRIVE_VBUS_ON  0x0
889
#define            DRIVE_VBUS_OFF  0x2        /* indicator to shut off charge pump */
890
#define           nDRIVE_VBUS_OFF  0x0
891
#define           CHRG_VBUS_START  0x4        /* indicator for external circuit to start charging VBUS */
892
#define          nCHRG_VBUS_START  0x0
893
#define             CHRG_VBUS_END  0x8        /* indicator for external circuit to end charging VBUS */
894
#define            nCHRG_VBUS_END  0x0
895
#define        DISCHRG_VBUS_START  0x10       /* indicator to start discharging VBUS */
896
#define       nDISCHRG_VBUS_START  0x0
897
#define          DISCHRG_VBUS_END  0x20       /* indicator to stop discharging VBUS */
898
#define         nDISCHRG_VBUS_END  0x0
899
 
900
/* Bit masks for USB_OTG_VBUS_MASK */
901
 
902
#define         DRIVE_VBUS_ON_ENA  0x1        /* enable DRIVE_VBUS_ON interrupt */
903
#define        nDRIVE_VBUS_ON_ENA  0x0
904
#define        DRIVE_VBUS_OFF_ENA  0x2        /* enable DRIVE_VBUS_OFF interrupt */
905
#define       nDRIVE_VBUS_OFF_ENA  0x0
906
#define       CHRG_VBUS_START_ENA  0x4        /* enable CHRG_VBUS_START interrupt */
907
#define      nCHRG_VBUS_START_ENA  0x0
908
#define         CHRG_VBUS_END_ENA  0x8        /* enable CHRG_VBUS_END interrupt */
909
#define        nCHRG_VBUS_END_ENA  0x0
910
#define    DISCHRG_VBUS_START_ENA  0x10       /* enable DISCHRG_VBUS_START interrupt */
911
#define   nDISCHRG_VBUS_START_ENA  0x0
912
#define      DISCHRG_VBUS_END_ENA  0x20       /* enable DISCHRG_VBUS_END interrupt */
913
#define     nDISCHRG_VBUS_END_ENA  0x0
914
 
915
/* Bit masks for USB_CSR0 */
916
 
917
#define                  RXPKTRDY  0x1        /* data packet receive indicator */
918
#define                 nRXPKTRDY  0x0
919
#define                  TXPKTRDY  0x2        /* data packet in FIFO indicator */
920
#define                 nTXPKTRDY  0x0
921
#define                STALL_SENT  0x4        /* STALL handshake sent */
922
#define               nSTALL_SENT  0x0
923
#define                   DATAEND  0x8        /* Data end indicator */
924
#define                  nDATAEND  0x0
925
#define                  SETUPEND  0x10       /* Setup end */
926
#define                 nSETUPEND  0x0
927
#define                 SENDSTALL  0x20       /* Send STALL handshake */
928
#define                nSENDSTALL  0x0
929
#define         SERVICED_RXPKTRDY  0x40       /* used to clear the RxPktRdy bit */
930
#define        nSERVICED_RXPKTRDY  0x0
931
#define         SERVICED_SETUPEND  0x80       /* used to clear the SetupEnd bit */
932
#define        nSERVICED_SETUPEND  0x0
933
#define                 FLUSHFIFO  0x100      /* flush endpoint FIFO */
934
#define                nFLUSHFIFO  0x0
935
#define          STALL_RECEIVED_H  0x4        /* STALL handshake received host mode */
936
#define         nSTALL_RECEIVED_H  0x0
937
#define                SETUPPKT_H  0x8        /* send Setup token host mode */
938
#define               nSETUPPKT_H  0x0
939
#define                   ERROR_H  0x10       /* timeout error indicator host mode */
940
#define                  nERROR_H  0x0
941
#define                  REQPKT_H  0x20       /* Request an IN transaction host mode */
942
#define                 nREQPKT_H  0x0
943
#define               STATUSPKT_H  0x40       /* Status stage transaction host mode */
944
#define              nSTATUSPKT_H  0x0
945
#define             NAK_TIMEOUT_H  0x80       /* EP0 halted after a NAK host mode */
946
#define            nNAK_TIMEOUT_H  0x0
947
 
948
/* Bit masks for USB_COUNT0 */
949
 
950
#define              EP0_RX_COUNT  0x7f       /* number of received bytes in EP0 FIFO */
951
 
952
/* Bit masks for USB_NAKLIMIT0 */
953
 
954
#define             EP0_NAK_LIMIT  0x1f       /* number of frames/micro frames after which EP0 timeouts */
955
 
956
/* Bit masks for USB_TX_MAX_PACKET */
957
 
958
#define         MAX_PACKET_SIZE_T  0x7ff      /* maximum data pay load in a frame */
959
 
960
/* Bit masks for USB_RX_MAX_PACKET */
961
 
962
#define         MAX_PACKET_SIZE_R  0x7ff      /* maximum data pay load in a frame */
963
 
964
/* Bit masks for USB_TXCSR */
965
 
966
#define                TXPKTRDY_T  0x1        /* data packet in FIFO indicator */
967
#define               nTXPKTRDY_T  0x0
968
#define          FIFO_NOT_EMPTY_T  0x2        /* FIFO not empty */
969
#define         nFIFO_NOT_EMPTY_T  0x0
970
#define                UNDERRUN_T  0x4        /* TxPktRdy not set  for an IN token */
971
#define               nUNDERRUN_T  0x0
972
#define               FLUSHFIFO_T  0x8        /* flush endpoint FIFO */
973
#define              nFLUSHFIFO_T  0x0
974
#define              STALL_SEND_T  0x10       /* issue a Stall handshake */
975
#define             nSTALL_SEND_T  0x0
976
#define              STALL_SENT_T  0x20       /* Stall handshake transmitted */
977
#define             nSTALL_SENT_T  0x0
978
#define        CLEAR_DATATOGGLE_T  0x40       /* clear endpoint data toggle */
979
#define       nCLEAR_DATATOGGLE_T  0x0
980
#define                INCOMPTX_T  0x80       /* indicates that a large packet is split */
981
#define               nINCOMPTX_T  0x0
982
#define              DMAREQMODE_T  0x400      /* DMA mode (0 or 1) selection */
983
#define             nDMAREQMODE_T  0x0
984
#define        FORCE_DATATOGGLE_T  0x800      /* Force data toggle */
985
#define       nFORCE_DATATOGGLE_T  0x0
986
#define              DMAREQ_ENA_T  0x1000     /* Enable DMA request for Tx EP */
987
#define             nDMAREQ_ENA_T  0x0
988
#define                     ISO_T  0x4000     /* enable Isochronous transfers */
989
#define                    nISO_T  0x0
990
#define                 AUTOSET_T  0x8000     /* allows TxPktRdy to be set automatically */
991
#define                nAUTOSET_T  0x0
992
#define                  ERROR_TH  0x4        /* error condition host mode */
993
#define                 nERROR_TH  0x0
994
#define         STALL_RECEIVED_TH  0x20       /* Stall handshake received host mode */
995
#define        nSTALL_RECEIVED_TH  0x0
996
#define            NAK_TIMEOUT_TH  0x80       /* NAK timeout host mode */
997
#define           nNAK_TIMEOUT_TH  0x0
998
 
999
/* Bit masks for USB_TXCOUNT */
1000
 
1001
#define                  TX_COUNT  0x1fff     /* Number of bytes to be written to the selected endpoint Tx FIFO */
1002
 
1003
/* Bit masks for USB_RXCSR */
1004
 
1005
#define                RXPKTRDY_R  0x1        /* data packet in FIFO indicator */
1006
#define               nRXPKTRDY_R  0x0
1007
#define               FIFO_FULL_R  0x2        /* FIFO not empty */
1008
#define              nFIFO_FULL_R  0x0
1009
#define                 OVERRUN_R  0x4        /* TxPktRdy not set  for an IN token */
1010
#define                nOVERRUN_R  0x0
1011
#define               DATAERROR_R  0x8        /* Out packet cannot be loaded into Rx  FIFO */
1012
#define              nDATAERROR_R  0x0
1013
#define               FLUSHFIFO_R  0x10       /* flush endpoint FIFO */
1014
#define              nFLUSHFIFO_R  0x0
1015
#define              STALL_SEND_R  0x20       /* issue a Stall handshake */
1016
#define             nSTALL_SEND_R  0x0
1017
#define              STALL_SENT_R  0x40       /* Stall handshake transmitted */
1018
#define             nSTALL_SENT_R  0x0
1019
#define        CLEAR_DATATOGGLE_R  0x80       /* clear endpoint data toggle */
1020
#define       nCLEAR_DATATOGGLE_R  0x0
1021
#define                INCOMPRX_R  0x100      /* indicates that a large packet is split */
1022
#define               nINCOMPRX_R  0x0
1023
#define              DMAREQMODE_R  0x800      /* DMA mode (0 or 1) selection */
1024
#define             nDMAREQMODE_R  0x0
1025
#define                 DISNYET_R  0x1000     /* disable Nyet handshakes */
1026
#define                nDISNYET_R  0x0
1027
#define              DMAREQ_ENA_R  0x2000     /* Enable DMA request for Tx EP */
1028
#define             nDMAREQ_ENA_R  0x0
1029
#define                     ISO_R  0x4000     /* enable Isochronous transfers */
1030
#define                    nISO_R  0x0
1031
#define               AUTOCLEAR_R  0x8000     /* allows TxPktRdy to be set automatically */
1032
#define              nAUTOCLEAR_R  0x0
1033
#define                  ERROR_RH  0x4        /* TxPktRdy not set  for an IN token host mode */
1034
#define                 nERROR_RH  0x0
1035
#define                 REQPKT_RH  0x20       /* request an IN transaction host mode */
1036
#define                nREQPKT_RH  0x0
1037
#define         STALL_RECEIVED_RH  0x40       /* Stall handshake received host mode */
1038
#define        nSTALL_RECEIVED_RH  0x0
1039
#define               INCOMPRX_RH  0x100      /* indicates that a large packet is split host mode */
1040
#define              nINCOMPRX_RH  0x0
1041
#define             DMAREQMODE_RH  0x800      /* DMA mode (0 or 1) selection host mode */
1042
#define            nDMAREQMODE_RH  0x0
1043
#define                AUTOREQ_RH  0x4000     /* sets ReqPkt automatically host mode */
1044
#define               nAUTOREQ_RH  0x0
1045
 
1046
/* Bit masks for USB_RXCOUNT */
1047
 
1048
#define                  RX_COUNT  0x1fff     /* Number of received bytes in the packet in the Rx FIFO */
1049
 
1050
/* Bit masks for USB_TXTYPE */
1051
 
1052
#define            TARGET_EP_NO_T  0xf        /* EP number */
1053
#define                PROTOCOL_T  0xc        /* transfer type */
1054
 
1055
/* Bit masks for USB_TXINTERVAL */
1056
 
1057
#define          TX_POLL_INTERVAL  0xff       /* polling interval for selected Tx EP */
1058
 
1059
/* Bit masks for USB_RXTYPE */
1060
 
1061
#define            TARGET_EP_NO_R  0xf        /* EP number */
1062
#define                PROTOCOL_R  0xc        /* transfer type */
1063
 
1064
/* Bit masks for USB_RXINTERVAL */
1065
 
1066
#define          RX_POLL_INTERVAL  0xff       /* polling interval for selected Rx EP */
1067
 
1068
/* Bit masks for USB_DMA_INTERRUPT */
1069
 
1070
#define                  DMA0_INT  0x1        /* DMA0 pending interrupt */
1071
#define                 nDMA0_INT  0x0
1072
#define                  DMA1_INT  0x2        /* DMA1 pending interrupt */
1073
#define                 nDMA1_INT  0x0
1074
#define                  DMA2_INT  0x4        /* DMA2 pending interrupt */
1075
#define                 nDMA2_INT  0x0
1076
#define                  DMA3_INT  0x8        /* DMA3 pending interrupt */
1077
#define                 nDMA3_INT  0x0
1078
#define                  DMA4_INT  0x10       /* DMA4 pending interrupt */
1079
#define                 nDMA4_INT  0x0
1080
#define                  DMA5_INT  0x20       /* DMA5 pending interrupt */
1081
#define                 nDMA5_INT  0x0
1082
#define                  DMA6_INT  0x40       /* DMA6 pending interrupt */
1083
#define                 nDMA6_INT  0x0
1084
#define                  DMA7_INT  0x80       /* DMA7 pending interrupt */
1085
#define                 nDMA7_INT  0x0
1086
 
1087
/* Bit masks for USB_DMAxCONTROL */
1088
 
1089
#define                   DMA_ENA  0x1        /* DMA enable */
1090
#define                  nDMA_ENA  0x0
1091
#define                 DIRECTION  0x2        /* direction of DMA transfer */
1092
#define                nDIRECTION  0x0
1093
#define                      MODE  0x4        /* DMA Bus error */
1094
#define                     nMODE  0x0
1095
#define                   INT_ENA  0x8        /* Interrupt enable */
1096
#define                  nINT_ENA  0x0
1097
#define                     EPNUM  0xf0       /* EP number */
1098
#define                  BUSERROR  0x100      /* DMA Bus error */
1099
#define                 nBUSERROR  0x0
1100
 
1101
/* Bit masks for USB_DMAxADDRHIGH */
1102
 
1103
#define             DMA_ADDR_HIGH  0xffff     /* Upper 16-bits of memory source/destination address for the DMA master channel */
1104
 
1105
/* Bit masks for USB_DMAxADDRLOW */
1106
 
1107
#define              DMA_ADDR_LOW  0xffff     /* Lower 16-bits of memory source/destination address for the DMA master channel */
1108
 
1109
/* Bit masks for USB_DMAxCOUNTHIGH */
1110
 
1111
#define            DMA_COUNT_HIGH  0xffff     /* Upper 16-bits of byte count of DMA transfer for DMA master channel */
1112
 
1113
/* Bit masks for USB_DMAxCOUNTLOW */
1114
 
1115
#define             DMA_COUNT_LOW  0xffff     /* Lower 16-bits of byte count of DMA transfer for DMA master channel */
1116
 
1117
#ifdef _MISRA_RULES
1118
#pragma diag(pop)
1119
#endif /* _MISRA_RULES */
1120
 
1121
#endif /* _DEF_BF526_H */

powered by: WebSVN 2.1.0

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