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
14 ** Copyright (C) 2009 Analog Devices, Inc.
16 ************************************************************************************
18 ** This include file contains a list of macro "defines" to enable the programmer
19 ** to use symbolic names for the ADSP-BF524 peripherals.
21 ************************************************************************************
22 ** System MMR Register Map
23 ************************************************************************************/
28 /* include all Core registers and bit definitions */
31 /* include core specific register pointer definitions */
32 #include <cdef_LPBlackfin.h>
34 /* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF524 */
36 /* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
37 #include <cdefBF52x_base.h>
41 #pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
42 #endif /* _MISRA_RULES */
44 /* The following are the #defines needed by ADSP-BF524 that are not in the common header */
46 /* USB Control Registers */
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)
62 /* USB Packet Control Registers */
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)
78 /* USB Endpoint FIFO Registers */
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)
89 /* USB OTG Control Registers */
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)
95 /* USB Phy Control Registers */
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)
103 /* (APHY_CNTRL is for ADI usage only) */
105 #define pUSB_APHY_CNTRL ((volatile unsigned short *)USB_APHY_CNTRL)
107 /* (APHY_CALIB is for ADI usage only) */
109 #define pUSB_APHY_CALIB ((volatile unsigned short *)USB_APHY_CALIB)
111 #define pUSB_APHY_CNTRL2 ((volatile unsigned short *)USB_APHY_CNTRL2)
113 /* (PHY_TEST is for ADI usage only) */
115 #define pUSB_PHY_TEST ((volatile unsigned short *)USB_PHY_TEST)
117 #define pUSB_PLLOSC_CTRL ((volatile unsigned short *)USB_PLLOSC_CTRL)
118 #define pUSB_SRP_CLKDIV ((volatile unsigned short *)USB_SRP_CLKDIV)
120 /* USB Endpoint 0 Control Registers */
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)
133 /* USB Endpoint 1 Control Registers */
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)
146 /* USB Endpoint 2 Control Registers */
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)
159 /* USB Endpoint 3 Control Registers */
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)
172 /* USB Endpoint 4 Control Registers */
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)
185 /* USB Endpoint 5 Control Registers */
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)
198 /* USB Endpoint 6 Control Registers */
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)
211 /* USB Endpoint 7 Control Registers */
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)
224 #define pUSB_DMA_INTERRUPT ((volatile unsigned short *)USB_DMA_INTERRUPT)
226 /* USB Channel 0 Config Registers */
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)
234 /* USB Channel 1 Config Registers */
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)
242 /* USB Channel 2 Config Registers */
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)
250 /* USB Channel 3 Config Registers */
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)
258 /* USB Channel 4 Config Registers */
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)
266 /* USB Channel 5 Config Registers */
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)
274 /* USB Channel 6 Config Registers */
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)
282 /* USB Channel 7 Config Registers */
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)
292 #endif /* _MISRA_RULES */
294 #endif /* _CDEF_BF524_H */