1 /*
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) 2006-2008 Analog Devices Inc., All Rights Reserved.
15 **
16 ************************************************************************************
17 **
18 ** This include file contains a list of macro "defines" to enable the programmer
19 ** to use symbolic names for the ADSP-BF525 peripherals.
20 **
21 ************************************************************************************
22 ** System MMR Register Map
23 ************************************************************************************/
24 
25 #ifndef _CDEF_BF525_H
26 #define _CDEF_BF525_H
27 
28 /* include all Core registers and bit definitions */
29 #include <defBF525.h>
30 
31 /* include core specific register pointer definitions */
32 #include <cdef_LPBlackfin.h>
33 
34 /* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF525 */
35 
36 /* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
37 #include <cdefBF52x_base.h>
38 
39 #ifdef _MISRA_RULES
40 #pragma diag(push)
41 #pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
42 #endif /* _MISRA_RULES */
43 
44 /* The following are the #defines needed by ADSP-BF525 that are not in the common header */
45 
46 /* USB Control Registers */
47 
48 #define                        pUSB_FADDR ((volatile unsigned short *)USB_FADDR)
49 #define                        pUSB_POWER ((volatile unsigned short *)USB_POWER)
50 #define                       pUSB_INTRTX ((volatile unsigned short *)USB_INTRTX)
51 #define                       pUSB_INTRRX ((volatile unsigned short *)USB_INTRRX)
52 #define                      pUSB_INTRTXE ((volatile unsigned short *)USB_INTRTXE)
53 #define                      pUSB_INTRRXE ((volatile unsigned short *)USB_INTRRXE)
54 #define                      pUSB_INTRUSB ((volatile unsigned short *)USB_INTRUSB)
55 #define                     pUSB_INTRUSBE ((volatile unsigned short *)USB_INTRUSBE)
56 #define                        pUSB_FRAME ((volatile unsigned short *)USB_FRAME)
57 #define                        pUSB_INDEX ((volatile unsigned short *)USB_INDEX)
58 #define                     pUSB_TESTMODE ((volatile unsigned short *)USB_TESTMODE)
59 #define                     pUSB_GLOBINTR ((volatile unsigned short *)USB_GLOBINTR)
60 #define                   pUSB_GLOBAL_CTL ((volatile unsigned short *)USB_GLOBAL_CTL)
61 
62 /* USB Packet Control Registers */
63 
64 #define                pUSB_TX_MAX_PACKET ((volatile unsigned short *)USB_TX_MAX_PACKET)
65 #define                         pUSB_CSR0 ((volatile unsigned short *)USB_CSR0)
66 #define                        pUSB_TXCSR ((volatile unsigned short *)USB_TXCSR)
67 #define                pUSB_RX_MAX_PACKET ((volatile unsigned short *)USB_RX_MAX_PACKET)
68 #define                        pUSB_RXCSR ((volatile unsigned short *)USB_RXCSR)
69 #define                       pUSB_COUNT0 ((volatile unsigned short *)USB_COUNT0)
70 #define                      pUSB_RXCOUNT ((volatile unsigned short *)USB_RXCOUNT)
71 #define                       pUSB_TXTYPE ((volatile unsigned short *)USB_TXTYPE)
72 #define                    pUSB_NAKLIMIT0 ((volatile unsigned short *)USB_NAKLIMIT0)
73 #define                   pUSB_TXINTERVAL ((volatile unsigned short *)USB_TXINTERVAL)
74 #define                       pUSB_RXTYPE ((volatile unsigned short *)USB_RXTYPE)
75 #define                   pUSB_RXINTERVAL ((volatile unsigned short *)USB_RXINTERVAL)
76 #define                      pUSB_TXCOUNT ((volatile unsigned short *)USB_TXCOUNT)
77 
78 /* USB Endpoint FIFO Registers */
79 
80 #define                     pUSB_EP0_FIFO ((volatile unsigned short *)USB_EP0_FIFO)
81 #define                     pUSB_EP1_FIFO ((volatile unsigned short *)USB_EP1_FIFO)
82 #define                     pUSB_EP2_FIFO ((volatile unsigned short *)USB_EP2_FIFO)
83 #define                     pUSB_EP3_FIFO ((volatile unsigned short *)USB_EP3_FIFO)
84 #define                     pUSB_EP4_FIFO ((volatile unsigned short *)USB_EP4_FIFO)
85 #define                     pUSB_EP5_FIFO ((volatile unsigned short *)USB_EP5_FIFO)
86 #define                     pUSB_EP6_FIFO ((volatile unsigned short *)USB_EP6_FIFO)
87 #define                     pUSB_EP7_FIFO ((volatile unsigned short *)USB_EP7_FIFO)
88 
89 /* USB OTG Control Registers */
90 
91 #define                  pUSB_OTG_DEV_CTL ((volatile unsigned short *)USB_OTG_DEV_CTL)
92 #define                 pUSB_OTG_VBUS_IRQ ((volatile unsigned short *)USB_OTG_VBUS_IRQ)
93 #define                pUSB_OTG_VBUS_MASK ((volatile unsigned short *)USB_OTG_VBUS_MASK)
94 
95 /* USB Phy Control Registers */
96 
97 #define                     pUSB_LINKINFO ((volatile unsigned short *)USB_LINKINFO)
98 #define                        pUSB_VPLEN ((volatile unsigned short *)USB_VPLEN)
99 #define                      pUSB_HS_EOF1 ((volatile unsigned short *)USB_HS_EOF1)
100 #define                      pUSB_FS_EOF1 ((volatile unsigned short *)USB_FS_EOF1)
101 #define                      pUSB_LS_EOF1 ((volatile unsigned short *)USB_LS_EOF1)
102 
103 /* (APHY_CNTRL is for ADI usage only) */
104 
105 #define                   pUSB_APHY_CNTRL ((volatile unsigned short *)USB_APHY_CNTRL)
106 
107 /* (APHY_CALIB is for ADI usage only) */
108 
109 #define                   pUSB_APHY_CALIB ((volatile unsigned short *)USB_APHY_CALIB)
110 
111 #define                  pUSB_APHY_CNTRL2 ((volatile unsigned short *)USB_APHY_CNTRL2)
112 
113 /* (PHY_TEST is for ADI usage only) */
114 
115 #define                     pUSB_PHY_TEST ((volatile unsigned short *)USB_PHY_TEST)
116 
117 #define                  pUSB_PLLOSC_CTRL ((volatile unsigned short *)USB_PLLOSC_CTRL)
118 #define                   pUSB_SRP_CLKDIV ((volatile unsigned short *)USB_SRP_CLKDIV)
119 
120 /* USB Endpoint 0 Control Registers */
121 
122 #define                pUSB_EP_NI0_TXMAXP ((volatile unsigned short *)USB_EP_NI0_TXMAXP)
123 #define                 pUSB_EP_NI0_TXCSR ((volatile unsigned short *)USB_EP_NI0_TXCSR)
124 #define                pUSB_EP_NI0_RXMAXP ((volatile unsigned short *)USB_EP_NI0_RXMAXP)
125 #define                 pUSB_EP_NI0_RXCSR ((volatile unsigned short *)USB_EP_NI0_RXCSR)
126 #define               pUSB_EP_NI0_RXCOUNT ((volatile unsigned short *)USB_EP_NI0_RXCOUNT)
127 #define                pUSB_EP_NI0_TXTYPE ((volatile unsigned short *)USB_EP_NI0_TXTYPE)
128 #define            pUSB_EP_NI0_TXINTERVAL ((volatile unsigned short *)USB_EP_NI0_TXINTERVAL)
129 #define                pUSB_EP_NI0_RXTYPE ((volatile unsigned short *)USB_EP_NI0_RXTYPE)
130 #define            pUSB_EP_NI0_RXINTERVAL ((volatile unsigned short *)USB_EP_NI0_RXINTERVAL)
131 #define               pUSB_EP_NI0_TXCOUNT ((volatile unsigned short *)USB_EP_NI0_TXCOUNT)
132 
133 /* USB Endpoint 1 Control Registers */
134 
135 #define                pUSB_EP_NI1_TXMAXP ((volatile unsigned short *)USB_EP_NI1_TXMAXP)
136 #define                 pUSB_EP_NI1_TXCSR ((volatile unsigned short *)USB_EP_NI1_TXCSR)
137 #define                pUSB_EP_NI1_RXMAXP ((volatile unsigned short *)USB_EP_NI1_RXMAXP)
138 #define                 pUSB_EP_NI1_RXCSR ((volatile unsigned short *)USB_EP_NI1_RXCSR)
139 #define               pUSB_EP_NI1_RXCOUNT ((volatile unsigned short *)USB_EP_NI1_RXCOUNT)
140 #define                pUSB_EP_NI1_TXTYPE ((volatile unsigned short *)USB_EP_NI1_TXTYPE)
141 #define            pUSB_EP_NI1_TXINTERVAL ((volatile unsigned short *)USB_EP_NI1_TXINTERVAL)
142 #define                pUSB_EP_NI1_RXTYPE ((volatile unsigned short *)USB_EP_NI1_RXTYPE)
143 #define            pUSB_EP_NI1_RXINTERVAL ((volatile unsigned short *)USB_EP_NI1_RXINTERVAL)
144 #define               pUSB_EP_NI1_TXCOUNT ((volatile unsigned short *)USB_EP_NI1_TXCOUNT)
145 
146 /* USB Endpoint 2 Control Registers */
147 
148 #define                pUSB_EP_NI2_TXMAXP ((volatile unsigned short *)USB_EP_NI2_TXMAXP)
149 #define                 pUSB_EP_NI2_TXCSR ((volatile unsigned short *)USB_EP_NI2_TXCSR)
150 #define                pUSB_EP_NI2_RXMAXP ((volatile unsigned short *)USB_EP_NI2_RXMAXP)
151 #define                 pUSB_EP_NI2_RXCSR ((volatile unsigned short *)USB_EP_NI2_RXCSR)
152 #define               pUSB_EP_NI2_RXCOUNT ((volatile unsigned short *)USB_EP_NI2_RXCOUNT)
153 #define                pUSB_EP_NI2_TXTYPE ((volatile unsigned short *)USB_EP_NI2_TXTYPE)
154 #define            pUSB_EP_NI2_TXINTERVAL ((volatile unsigned short *)USB_EP_NI2_TXINTERVAL)
155 #define                pUSB_EP_NI2_RXTYPE ((volatile unsigned short *)USB_EP_NI2_RXTYPE)
156 #define            pUSB_EP_NI2_RXINTERVAL ((volatile unsigned short *)USB_EP_NI2_RXINTERVAL)
157 #define               pUSB_EP_NI2_TXCOUNT ((volatile unsigned short *)USB_EP_NI2_TXCOUNT)
158 
159 /* USB Endpoint 3 Control Registers */
160 
161 #define                pUSB_EP_NI3_TXMAXP ((volatile unsigned short *)USB_EP_NI3_TXMAXP)
162 #define                 pUSB_EP_NI3_TXCSR ((volatile unsigned short *)USB_EP_NI3_TXCSR)
163 #define                pUSB_EP_NI3_RXMAXP ((volatile unsigned short *)USB_EP_NI3_RXMAXP)
164 #define                 pUSB_EP_NI3_RXCSR ((volatile unsigned short *)USB_EP_NI3_RXCSR)
165 #define               pUSB_EP_NI3_RXCOUNT ((volatile unsigned short *)USB_EP_NI3_RXCOUNT)
166 #define                pUSB_EP_NI3_TXTYPE ((volatile unsigned short *)USB_EP_NI3_TXTYPE)
167 #define            pUSB_EP_NI3_TXINTERVAL ((volatile unsigned short *)USB_EP_NI3_TXINTERVAL)
168 #define                pUSB_EP_NI3_RXTYPE ((volatile unsigned short *)USB_EP_NI3_RXTYPE)
169 #define            pUSB_EP_NI3_RXINTERVAL ((volatile unsigned short *)USB_EP_NI3_RXINTERVAL)
170 #define               pUSB_EP_NI3_TXCOUNT ((volatile unsigned short *)USB_EP_NI3_TXCOUNT)
171 
172 /* USB Endpoint 4 Control Registers */
173 
174 #define                pUSB_EP_NI4_TXMAXP ((volatile unsigned short *)USB_EP_NI4_TXMAXP)
175 #define                 pUSB_EP_NI4_TXCSR ((volatile unsigned short *)USB_EP_NI4_TXCSR)
176 #define                pUSB_EP_NI4_RXMAXP ((volatile unsigned short *)USB_EP_NI4_RXMAXP)
177 #define                 pUSB_EP_NI4_RXCSR ((volatile unsigned short *)USB_EP_NI4_RXCSR)
178 #define               pUSB_EP_NI4_RXCOUNT ((volatile unsigned short *)USB_EP_NI4_RXCOUNT)
179 #define                pUSB_EP_NI4_TXTYPE ((volatile unsigned short *)USB_EP_NI4_TXTYPE)
180 #define            pUSB_EP_NI4_TXINTERVAL ((volatile unsigned short *)USB_EP_NI4_TXINTERVAL)
181 #define                pUSB_EP_NI4_RXTYPE ((volatile unsigned short *)USB_EP_NI4_RXTYPE)
182 #define            pUSB_EP_NI4_RXINTERVAL ((volatile unsigned short *)USB_EP_NI4_RXINTERVAL)
183 #define               pUSB_EP_NI4_TXCOUNT ((volatile unsigned short *)USB_EP_NI4_TXCOUNT)
184 
185 /* USB Endpoint 5 Control Registers */
186 
187 #define                pUSB_EP_NI5_TXMAXP ((volatile unsigned short *)USB_EP_NI5_TXMAXP)
188 #define                 pUSB_EP_NI5_TXCSR ((volatile unsigned short *)USB_EP_NI5_TXCSR)
189 #define                pUSB_EP_NI5_RXMAXP ((volatile unsigned short *)USB_EP_NI5_RXMAXP)
190 #define                 pUSB_EP_NI5_RXCSR ((volatile unsigned short *)USB_EP_NI5_RXCSR)
191 #define               pUSB_EP_NI5_RXCOUNT ((volatile unsigned short *)USB_EP_NI5_RXCOUNT)
192 #define                pUSB_EP_NI5_TXTYPE ((volatile unsigned short *)USB_EP_NI5_TXTYPE)
193 #define            pUSB_EP_NI5_TXINTERVAL ((volatile unsigned short *)USB_EP_NI5_TXINTERVAL)
194 #define                pUSB_EP_NI5_RXTYPE ((volatile unsigned short *)USB_EP_NI5_RXTYPE)
195 #define            pUSB_EP_NI5_RXINTERVAL ((volatile unsigned short *)USB_EP_NI5_RXINTERVAL)
196 #define               pUSB_EP_NI5_TXCOUNT ((volatile unsigned short *)USB_EP_NI5_TXCOUNT)
197 
198 /* USB Endpoint 6 Control Registers */
199 
200 #define                pUSB_EP_NI6_TXMAXP ((volatile unsigned short *)USB_EP_NI6_TXMAXP)
201 #define                 pUSB_EP_NI6_TXCSR ((volatile unsigned short *)USB_EP_NI6_TXCSR)
202 #define                pUSB_EP_NI6_RXMAXP ((volatile unsigned short *)USB_EP_NI6_RXMAXP)
203 #define                 pUSB_EP_NI6_RXCSR ((volatile unsigned short *)USB_EP_NI6_RXCSR)
204 #define               pUSB_EP_NI6_RXCOUNT ((volatile unsigned short *)USB_EP_NI6_RXCOUNT)
205 #define                pUSB_EP_NI6_TXTYPE ((volatile unsigned short *)USB_EP_NI6_TXTYPE)
206 #define            pUSB_EP_NI6_TXINTERVAL ((volatile unsigned short *)USB_EP_NI6_TXINTERVAL)
207 #define                pUSB_EP_NI6_RXTYPE ((volatile unsigned short *)USB_EP_NI6_RXTYPE)
208 #define            pUSB_EP_NI6_RXINTERVAL ((volatile unsigned short *)USB_EP_NI6_RXINTERVAL)
209 #define               pUSB_EP_NI6_TXCOUNT ((volatile unsigned short *)USB_EP_NI6_TXCOUNT)
210 
211 /* USB Endpoint 7 Control Registers */
212 
213 #define                pUSB_EP_NI7_TXMAXP ((volatile unsigned short *)USB_EP_NI7_TXMAXP)
214 #define                 pUSB_EP_NI7_TXCSR ((volatile unsigned short *)USB_EP_NI7_TXCSR)
215 #define                pUSB_EP_NI7_RXMAXP ((volatile unsigned short *)USB_EP_NI7_RXMAXP)
216 #define                 pUSB_EP_NI7_RXCSR ((volatile unsigned short *)USB_EP_NI7_RXCSR)
217 #define               pUSB_EP_NI7_RXCOUNT ((volatile unsigned short *)USB_EP_NI7_RXCOUNT)
218 #define                pUSB_EP_NI7_TXTYPE ((volatile unsigned short *)USB_EP_NI7_TXTYPE)
219 #define            pUSB_EP_NI7_TXINTERVAL ((volatile unsigned short *)USB_EP_NI7_TXINTERVAL)
220 #define                pUSB_EP_NI7_RXTYPE ((volatile unsigned short *)USB_EP_NI7_RXTYPE)
221 #define            pUSB_EP_NI7_RXINTERVAL ((volatile unsigned short *)USB_EP_NI7_RXINTERVAL)
222 #define               pUSB_EP_NI7_TXCOUNT ((volatile unsigned short *)USB_EP_NI7_TXCOUNT)
223 
224 #define                pUSB_DMA_INTERRUPT ((volatile unsigned short *)USB_DMA_INTERRUPT)
225 
226 /* USB Channel 0 Config Registers */
227 
228 #define                  pUSB_DMA0CONTROL ((volatile unsigned short *)USB_DMA0CONTROL)
229 #define                  pUSB_DMA0ADDRLOW ((volatile unsigned short *)USB_DMA0ADDRLOW)
230 #define                 pUSB_DMA0ADDRHIGH ((volatile unsigned short *)USB_DMA0ADDRHIGH)
231 #define                 pUSB_DMA0COUNTLOW ((volatile unsigned short *)USB_DMA0COUNTLOW)
232 #define                pUSB_DMA0COUNTHIGH ((volatile unsigned short *)USB_DMA0COUNTHIGH)
233 
234 /* USB Channel 1 Config Registers */
235 
236 #define                  pUSB_DMA1CONTROL ((volatile unsigned short *)USB_DMA1CONTROL)
237 #define                  pUSB_DMA1ADDRLOW ((volatile unsigned short *)USB_DMA1ADDRLOW)
238 #define                 pUSB_DMA1ADDRHIGH ((volatile unsigned short *)USB_DMA1ADDRHIGH)
239 #define                 pUSB_DMA1COUNTLOW ((volatile unsigned short *)USB_DMA1COUNTLOW)
240 #define                pUSB_DMA1COUNTHIGH ((volatile unsigned short *)USB_DMA1COUNTHIGH)
241 
242 /* USB Channel 2 Config Registers */
243 
244 #define                  pUSB_DMA2CONTROL ((volatile unsigned short *)USB_DMA2CONTROL)
245 #define                  pUSB_DMA2ADDRLOW ((volatile unsigned short *)USB_DMA2ADDRLOW)
246 #define                 pUSB_DMA2ADDRHIGH ((volatile unsigned short *)USB_DMA2ADDRHIGH)
247 #define                 pUSB_DMA2COUNTLOW ((volatile unsigned short *)USB_DMA2COUNTLOW)
248 #define                pUSB_DMA2COUNTHIGH ((volatile unsigned short *)USB_DMA2COUNTHIGH)
249 
250 /* USB Channel 3 Config Registers */
251 
252 #define                  pUSB_DMA3CONTROL ((volatile unsigned short *)USB_DMA3CONTROL)
253 #define                  pUSB_DMA3ADDRLOW ((volatile unsigned short *)USB_DMA3ADDRLOW)
254 #define                 pUSB_DMA3ADDRHIGH ((volatile unsigned short *)USB_DMA3ADDRHIGH)
255 #define                 pUSB_DMA3COUNTLOW ((volatile unsigned short *)USB_DMA3COUNTLOW)
256 #define                pUSB_DMA3COUNTHIGH ((volatile unsigned short *)USB_DMA3COUNTHIGH)
257 
258 /* USB Channel 4 Config Registers */
259 
260 #define                  pUSB_DMA4CONTROL ((volatile unsigned short *)USB_DMA4CONTROL)
261 #define                  pUSB_DMA4ADDRLOW ((volatile unsigned short *)USB_DMA4ADDRLOW)
262 #define                 pUSB_DMA4ADDRHIGH ((volatile unsigned short *)USB_DMA4ADDRHIGH)
263 #define                 pUSB_DMA4COUNTLOW ((volatile unsigned short *)USB_DMA4COUNTLOW)
264 #define                pUSB_DMA4COUNTHIGH ((volatile unsigned short *)USB_DMA4COUNTHIGH)
265 
266 /* USB Channel 5 Config Registers */
267 
268 #define                  pUSB_DMA5CONTROL ((volatile unsigned short *)USB_DMA5CONTROL)
269 #define                  pUSB_DMA5ADDRLOW ((volatile unsigned short *)USB_DMA5ADDRLOW)
270 #define                 pUSB_DMA5ADDRHIGH ((volatile unsigned short *)USB_DMA5ADDRHIGH)
271 #define                 pUSB_DMA5COUNTLOW ((volatile unsigned short *)USB_DMA5COUNTLOW)
272 #define                pUSB_DMA5COUNTHIGH ((volatile unsigned short *)USB_DMA5COUNTHIGH)
273 
274 /* USB Channel 6 Config Registers */
275 
276 #define                  pUSB_DMA6CONTROL ((volatile unsigned short *)USB_DMA6CONTROL)
277 #define                  pUSB_DMA6ADDRLOW ((volatile unsigned short *)USB_DMA6ADDRLOW)
278 #define                 pUSB_DMA6ADDRHIGH ((volatile unsigned short *)USB_DMA6ADDRHIGH)
279 #define                 pUSB_DMA6COUNTLOW ((volatile unsigned short *)USB_DMA6COUNTLOW)
280 #define                pUSB_DMA6COUNTHIGH ((volatile unsigned short *)USB_DMA6COUNTHIGH)
281 
282 /* USB Channel 7 Config Registers */
283 
284 #define                  pUSB_DMA7CONTROL ((volatile unsigned short *)USB_DMA7CONTROL)
285 #define                  pUSB_DMA7ADDRLOW ((volatile unsigned short *)USB_DMA7ADDRLOW)
286 #define                 pUSB_DMA7ADDRHIGH ((volatile unsigned short *)USB_DMA7ADDRHIGH)
287 #define                 pUSB_DMA7COUNTLOW ((volatile unsigned short *)USB_DMA7COUNTLOW)
288 #define                pUSB_DMA7COUNTHIGH ((volatile unsigned short *)USB_DMA7COUNTHIGH)
289 
290 #ifdef _MISRA_RULES
291 #pragma diag(pop)
292 #endif /* _MISRA_RULES */
293 
294 #endif /* _CDEF_BF525_H */
295