21f98ad34c1db2a032b61c8056b2e1c49e7e284d
[keystone-rtos/edma3_lld.git] / packages / ti / sdo / edma3 / rm / sample / src / platforms / sample_am335x_cfg.c
1 /*
2 * sample_am335x_cfg.c
3 *
4 * Platform specific EDMA3 hardware related information like number of transfer
5 * controllers, various interrupt ids etc. It is used while interrupts
6 * enabling / disabling. It needs to be ported for different SoCs.
7 *
8 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
9 *
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 *
18 * Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the
21 * distribution.
22 *
23 * Neither the name of Texas Instruments Incorporated nor the names of
24 * its contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 *
39 */
41 #include <ti/sdo/edma3/rm/edma3_rm.h>
43 /* Number of EDMA3 controllers present in the system */
44 #define NUM_EDMA3_INSTANCES 1u
45 const uint32_t numEdma3Instances = NUM_EDMA3_INSTANCES;
47 uint16_t determineProcId(void)
48 {
49 return 1U;
50 }
52 int8_t* getGlobalAddr(int8_t* addr)
53 {
54 return (addr); /* The address is already a global address */
55 }
57 uint16_t isGblConfigRequired(uint32_t dspNum)
58 {
59 (void) dspNum;
60 return 0U;
61 }
63 /* Semaphore handles */
64 EDMA3_OS_Sem_Handle SemHandle[NUM_EDMA3_INSTANCES] = {NULL};
66 /** Total number of DMA Channels supported by the EDMA3 Controller */
67 #define EDMA3_NUM_DMA_CHANNELS (64u)
68 /** Total number of QDMA Channels supported by the EDMA3 Controller */
69 #define EDMA3_NUM_QDMA_CHANNELS (8u)
70 /** Total number of TCCs supported by the EDMA3 Controller */
71 #define EDMA3_NUM_TCC (64u)
72 /** Total number of PaRAM Sets supported by the EDMA3 Controller */
73 #define EDMA3_NUM_PARAMSET (256u)
74 /** Total number of Event Queues in the EDMA3 Controller */
75 #define EDMA3_NUM_EVTQUE (3u)
76 /** Total number of Transfer Controllers (TCs) in the EDMA3 Controller */
77 #define EDMA3_NUM_TC (3u)
78 /** Number of Regions on this EDMA3 controller */
79 #define EDMA3_NUM_REGION (8u)
83 /**
84 * \brief Channel mapping existence
85 * A value of 0 (No channel mapping) implies that there is fixed association
86 * for a channel number to a parameter entry number or, in other words,
87 * PaRAM entry n corresponds to channel n.
88 */
89 #define CHANNEL_MAPPING_EXISTENCE (1u)
90 /** Existence of memory protection feature */
91 #define MEM_PROTECTION_EXISTENCE (1u)
93 /** Global Register Region of CC Registers */
94 #define CC_BASE_ADDRESS (0x49000000u)
95 /** Transfer Controller 0 Registers */
96 #define TC0_BASE_ADDRESS (0x49800000u)
97 /** Transfer Controller 1 Registers */
98 #define TC1_BASE_ADDRESS (0x49900000u)
99 /** Transfer Controller 2 Registers */
100 #define TC2_BASE_ADDRESS (0x49A00000u)
101 /** Transfer Controller 3 Registers */
102 #define TC3_BASE_ADDRESS NULL
103 /** Transfer Controller 4 Registers */
104 #define TC4_BASE_ADDRESS NULL
105 /** Transfer Controller 5 Registers */
106 #define TC5_BASE_ADDRESS NULL
107 /** Transfer Controller 6 Registers */
108 #define TC6_BASE_ADDRESS NULL
109 /** Transfer Controller 7 Registers */
110 #define TC7_BASE_ADDRESS NULL
112 /** Interrupt no. for Transfer Completion */
113 #define EDMA3_CC_XFER_COMPLETION_INT (12u)
114 /** Interrupt no. for CC Error */
115 #define EDMA3_CC_ERROR_INT (14u)
116 /** Interrupt no. for TC 0 Error */
117 #define EDMA3_TC0_ERROR_INT (112u)
118 /** Interrupt no. for TC 1 Error */
119 #define EDMA3_TC1_ERROR_INT (113u)
120 /** Interrupt no. for TC 2 Error */
121 #define EDMA3_TC2_ERROR_INT (114u)
122 /** Interrupt no. for TC 3 Error */
123 #define EDMA3_TC3_ERROR_INT (0u)
124 /** Interrupt no. for TC 4 Error */
125 #define EDMA3_TC4_ERROR_INT (0u)
126 /** Interrupt no. for TC 5 Error */
127 #define EDMA3_TC5_ERROR_INT (0u)
128 /** Interrupt no. for TC 6 Error */
129 #define EDMA3_TC6_ERROR_INT (0u)
130 /** Interrupt no. for TC 7 Error */
131 #define EDMA3_TC7_ERROR_INT (0u)
133 /**
134 * EDMA3 interrupts (transfer completion, CC error etc.) correspond to different
135 * ECM events (SoC specific). These ECM events come
136 * under ECM block XXX (handling those specific ECM events). Normally, block
137 * 0 handles events 4-31 (events 0-3 are reserved), block 1 handles events
138 * 32-63 and so on. This ECM block XXX (or interrupt selection number XXX)
139 * is mapped to a specific HWI_INT YYY in the tcf file.
140 * Define EDMA3_HWI_INT_XFER_COMP to specific HWI_INT, corresponding
141 * to transfer completion interrupt.
142 * Define EDMA3_HWI_INT_CC_ERR to specific HWI_INT, corresponding
143 * to CC error interrupts.
144 * Define EDMA3_HWI_INT_TC_ERR to specific HWI_INT, corresponding
145 * to TC error interrupts.
146 */
147 /* EDMA 0 */
149 #define EDMA3_HWI_INT_XFER_COMP (7U)
150 #define EDMA3_HWI_INT_CC_ERR (7U)
151 #define EDMA3_HWI_INT_TC0_ERR (10U)
152 #define EDMA3_HWI_INT_TC1_ERR (10U)
153 #define EDMA3_HWI_INT_TC2_ERR (10U)
155 /**
156 * \brief Mapping of DMA channels 0-31 to Hardware Events from
157 * various peripherals, which use EDMA for data transfer.
158 * All channels need not be mapped, some can be free also.
159 * 1: Mapped
160 * 0: Not mapped
161 *
162 * This mapping will be used to allocate DMA channels when user passes
163 * EDMA3_RM_DMA_CHANNEL_ANY as dma channel id (for eg to do memory-to-memory
164 * copy). The same mapping is used to allocate the TCC when user passes
165 * EDMA3_RM_TCC_ANY as tcc id (for eg to do memory-to-memory copy).
166 *
167 * To allocate more DMA channels or TCCs, one has to modify the event mapping.
168 */
169 /* 31 0 */
170 #define DMA_CHANNEL_TO_EVENT_MAPPING_0 (0xFF3F3F0Fu)
173 /**
174 * \brief Mapping of DMA channels 32-63 to Hardware Events from
175 * various peripherals, which use EDMA for data transfer.
176 * All channels need not be mapped, some can be free also.
177 * 1: Mapped
178 * 0: Not mapped
179 *
180 * This mapping will be used to allocate DMA channels when user passes
181 * EDMA3_RM_DMA_CHANNEL_ANY as dma channel id (for eg to do memory-to-memory
182 * copy). The same mapping is used to allocate the TCC when user passes
183 * EDMA3_RM_TCC_ANY as tcc id (for eg to do memory-to-memory copy).
184 *
185 * To allocate more DMA channels or TCCs, one has to modify the event mapping.
186 */
187 /* DMA channels 32-63 DOES NOT exist in DA830. */
188 #define DMA_CHANNEL_TO_EVENT_MAPPING_1 (0xFFCFFF30u)
190 /* Variable which will be used internally for referring number of Event Queues*/
191 uint32_t numEdma3EvtQue[NUM_EDMA3_INSTANCES] = {EDMA3_NUM_EVTQUE};
193 /* Variable which will be used internally for referring number of TCs. */
194 uint32_t numEdma3Tc[NUM_EDMA3_INSTANCES] = {EDMA3_NUM_TC};
196 /**
197 * Variable which will be used internally for referring transfer completion
198 * interrupt.
199 */
200 uint32_t ccXferCompInt[NUM_EDMA3_INSTANCES][EDMA3_MAX_REGIONS] = {
201 {
202 0u, EDMA3_CC_XFER_COMPLETION_INT, 0u, 0u,
203 0u, 0u, 0u, 0u,
204 },
205 };
207 /**
208 * Variable which will be used internally for referring channel controller's
209 * error interrupt.
210 */
211 uint32_t ccErrorInt[NUM_EDMA3_INSTANCES] = {EDMA3_CC_ERROR_INT};
213 /**
214 * Variable which will be used internally for referring transfer controllers'
215 * error interrupts.
216 */
217 uint32_t tcErrorInt[NUM_EDMA3_INSTANCES][EDMA3_MAX_REGIONS] = {
218 {
219 EDMA3_TC0_ERROR_INT, EDMA3_TC1_ERROR_INT,
220 EDMA3_TC2_ERROR_INT, EDMA3_TC3_ERROR_INT,
221 EDMA3_TC4_ERROR_INT, EDMA3_TC5_ERROR_INT,
222 EDMA3_TC6_ERROR_INT, EDMA3_TC7_ERROR_INT,
223 }
224 };
226 /**
227 * Variables which will be used internally for referring the hardware interrupt
228 * for various EDMA3 interrupts.
229 */
230 uint32_t hwIntXferComp = EDMA3_HWI_INT_XFER_COMP;
231 uint32_t hwIntCcErr = EDMA3_HWI_INT_CC_ERR;
232 uint32_t hwIntTcErr[NUM_EDMA3_INSTANCES][EDMA3_MAX_REGIONS] =
233 {
234 /* EDMA3 INSTANCE# 0 */
235 {
236 EDMA3_HWI_INT_TC0_ERR,
237 EDMA3_HWI_INT_TC1_ERR,
238 EDMA3_HWI_INT_TC2_ERR,
239 0,
240 0,
241 0,
242 0,
243 0
244 }
245 };
248 EDMA3_RM_GblConfigParams sampleEdma3GblCfgParams [NUM_EDMA3_INSTANCES] =
249 {
250 {
251 /** Total number of DMA Channels supported by the EDMA3 Controller */
252 EDMA3_NUM_DMA_CHANNELS,
253 /** Total number of QDMA Channels supported by the EDMA3 Controller */
254 EDMA3_NUM_QDMA_CHANNELS,
255 /** Total number of TCCs supported by the EDMA3 Controller */
256 EDMA3_NUM_TCC,
257 /** Total number of PaRAM Sets supported by the EDMA3 Controller */
258 EDMA3_NUM_PARAMSET,
259 /** Total number of Event Queues in the EDMA3 Controller */
260 EDMA3_NUM_EVTQUE,
261 /** Total number of Transfer Controllers (TCs) in the EDMA3 Controller */
262 EDMA3_NUM_TC,
263 /** Number of Regions on this EDMA3 controller */
264 EDMA3_NUM_REGION,
266 /**
267 * \brief Channel mapping existence
268 * A value of 0 (No channel mapping) implies that there is fixed association
269 * for a channel number to a parameter entry number or, in other words,
270 * PaRAM entry n corresponds to channel n.
271 */
272 CHANNEL_MAPPING_EXISTENCE,
274 /** Existence of memory protection feature */
275 MEM_PROTECTION_EXISTENCE,
277 /** Global Register Region of CC Registers */
278 (void *)(CC_BASE_ADDRESS),
279 /** Transfer Controller (TC) Registers */
280 {
281 (void *)(TC0_BASE_ADDRESS),
282 (void *)(TC1_BASE_ADDRESS),
283 (void *)(TC2_BASE_ADDRESS),
284 (void *)(TC3_BASE_ADDRESS),
285 (void *)(TC4_BASE_ADDRESS),
286 (void *)(TC5_BASE_ADDRESS),
287 (void *)(TC6_BASE_ADDRESS),
288 (void *)(TC7_BASE_ADDRESS)
289 },
290 /** Interrupt no. for Transfer Completion */
291 EDMA3_CC_XFER_COMPLETION_INT,
292 /** Interrupt no. for CC Error */
293 EDMA3_CC_ERROR_INT,
294 /** Interrupt no. for TCs Error */
295 {
296 EDMA3_TC0_ERROR_INT,
297 EDMA3_TC1_ERROR_INT,
298 EDMA3_TC2_ERROR_INT,
299 EDMA3_TC3_ERROR_INT,
300 EDMA3_TC4_ERROR_INT,
301 EDMA3_TC5_ERROR_INT,
302 EDMA3_TC6_ERROR_INT,
303 EDMA3_TC7_ERROR_INT
304 },
306 /**
307 * \brief EDMA3 TC priority setting
308 *
309 * User can program the priority of the Event Queues
310 * at a system-wide level. This means that the user can set the
311 * priority of an IO initiated by either of the TCs (Transfer Controllers)
312 * relative to IO initiated by the other bus masters on the
313 * device (ARM, DSP, USB, etc)
314 */
315 {
316 0u,
317 1u,
318 2u,
319 0u,
320 0u,
321 0u,
322 0u,
323 0u
324 },
325 /**
326 * \brief To Configure the Threshold level of number of events
327 * that can be queued up in the Event queues. EDMA3CC error register
328 * (CCERR) will indicate whether or not at any instant of time the
329 * number of events queued up in any of the event queues exceeds
330 * or equals the threshold/watermark value that is set
331 * in the queue watermark threshold register (QWMTHRA).
332 */
333 {
334 16u,
335 16u,
336 16u,
337 0u,
338 0u,
339 0u,
340 0u,
341 0u
342 },
344 /**
345 * \brief To Configure the Default Burst Size (DBS) of TCs.
346 * An optimally-sized command is defined by the transfer controller
347 * default burst size (DBS). Different TCs can have different
348 * DBS values. It is defined in Bytes.
349 */
350 {
351 16u,
352 16u,
353 16u,
354 0u,
355 0u,
356 0u,
357 0u,
358 0u
359 },
361 /**
362 * \brief Mapping from each DMA channel to a Parameter RAM set,
363 * if it exists, otherwise of no use.
364 */
365 #ifdef EDMA3_RES_USER_REQ
366 {
367 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u,
368 8u, 9u, 10u, 11u, 12u, 13u, 14u, 15u,
369 16u, 17u, 18u, 19u, 20u, 21u, 22u, 23u,
370 24u, 25u, 26u, 27u, 28u, 29u, 30u, 31u,
371 32u, 33u, 34u, 35u, 36u, 37u, 38u, 39u,
372 40u, 41u, 42u, 43u, 44u, 45u, 46u, 47u,
373 48u, 49u, 50u, 51u, 52u, 53u, 54u, 55u,
374 56u, 57u, 58u, 59u, 60u, 61u, 62u, 63u
375 },
376 #else
377 {
378 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
379 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
380 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
381 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
382 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
383 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
384 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
385 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
386 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
387 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
388 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
389 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
390 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
391 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
392 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
393 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
394 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
395 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
396 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
397 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
398 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
399 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
400 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
401 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
402 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
403 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
404 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
405 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
406 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
407 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
408 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP,
409 EDMA3_RM_CH_NO_PARAM_MAP, EDMA3_RM_CH_NO_PARAM_MAP
410 },
411 #endif
413 /**
414 * \brief Mapping from each DMA channel to a TCC. This specific
415 * TCC code will be returned when the transfer is completed
416 * on the mapped channel.
417 */
418 {
419 0u, 1u, 2u, 3u,
420 EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP,
421 8u, 9u, 10u, 11u,
422 EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, 14u, 15u,
423 16u, 17u, 18u, 19u,
424 EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, 22u, 23u,
425 24u, 25u, 26u, 27u,
426 28u, 29u, 30u, 31u,
427 EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP,
428 EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP, 38u, 39u,
429 40u, 41u, 42u, 43u,
430 44u, 45u, 46u, 47u,
431 48u, 49u, 50u, 51u,
432 52u, 53u, EDMA3_RM_CH_NO_TCC_MAP, EDMA3_RM_CH_NO_TCC_MAP,
433 56u, 57u, 58u, 59u,
434 60u, 61u, 62u, 63u
435 },
437 /**
438 * \brief Mapping of DMA channels to Hardware Events from
439 * various peripherals, which use EDMA for data transfer.
440 * All channels need not be mapped, some can be free also.
441 */
442 {
443 DMA_CHANNEL_TO_EVENT_MAPPING_0,
444 DMA_CHANNEL_TO_EVENT_MAPPING_1
445 }
446 }
447 };
450 /* Default RM Instance Initialization Configuration */
451 EDMA3_RM_InstanceInitConfig sampleInstInitConfig [NUM_EDMA3_INSTANCES][EDMA3_NUM_REGION] =
452 {
453 {
454 {
455 /* Resources owned by Region 0 */
456 /* ownPaRAMSets */
457 #ifdef EDMA3_RES_USER_REQ
458 /* 31 0 63 32 95 64 127 96 */
459 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
460 /* 159 128 191 160 223 192 255 224 */
461 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
462 /* 287 256 319 288 351 320 383 352 */
463 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
464 /* 415 384 447 416 479 448 511 480 */
465 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
466 #else
467 /* 31 0 63 32 95 64 127 96 */
468 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
469 /* 159 128 191 160 223 192 255 224 */
470 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
471 /* 287 256 319 288 351 320 383 352 */
472 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
473 /* 415 384 447 416 479 448 511 480 */
474 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
475 #endif
477 /* ownDmaChannels */
478 /* 31 0 63 32 */
479 {0x00000000u, 0x00000000u},
481 /* ownQdmaChannels */
482 /* 31 0 */
483 {0x00000000u},
485 /* ownTccs */
486 /* 31 0 63 32 */
487 {0x00000000u, 0x00000000u},
489 /* Resources reserved by Region 0 */
490 /* resvdPaRAMSets */
491 /* 31 0 63 32 95 64 127 96 */
492 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
493 /* 159 128 191 160 223 192 255 224 */
494 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
495 /* 287 256 319 288 351 320 383 352 */
496 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
497 /* 415 384 447 416 479 448 511 480 */
498 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
500 /* resvdDmaChannels */
501 /* 31 0 63 32 */
502 {0x00000000u, 0x00000000u},
504 /* resvdQdmaChannels */
505 /* 31 0 */
506 {0x00000000u},
508 /* resvdTccs */
509 /* 31 0 63 32 */
510 {0x00000000u, 0x00000000u},
511 },
513 {
514 /* Resources owned by Region 1 */
515 /* ownPaRAMSets */
516 #ifdef EDMA3_RES_USER_REQ
517 /* 31 0 63 32 95 64 127 96 */
518 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
519 /* 159 128 191 160 223 192 255 224 */
520 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
521 /* 287 256 319 288 351 320 383 352 */
522 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
523 /* 415 384 447 416 479 448 511 480 */
524 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
525 #else
526 /* 31 0 63 32 95 64 127 96 */
527 {0x00000000u, 0x00000000u, 0xFFFFFFFFu, 0xFFFFFFFFu,
528 /* 159 128 191 160 223 192 255 224 */
529 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu,
530 /* 287 256 319 288 351 320 383 352 */
531 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
532 /* 415 384 447 416 479 448 511 480 */
533 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
534 #endif
536 /* ownDmaChannels */
537 /* 31 0 63 32 */
538 {0x00C0C0F0u, 0x003000CFu},
540 /* ownQdmaChannels */
541 /* 31 0 */
542 {0x000000FFu},
544 /* ownTccs */
545 /* 31 0 63 32 */
546 {0x00C0C0F0u, 0x003000CFu},
548 /* Resources reserved by Region 1 */
549 /* resvdPaRAMSets */
550 /* 31 0 63 32 95 64 127 96 */
551 {0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000000u, 0x00000000u,
552 /* 159 128 191 160 223 192 255 224 */
553 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
554 /* 287 256 319 288 351 320 383 352 */
555 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
556 /* 415 384 447 416 479 448 511 480 */
557 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
559 /* resvdDmaChannels */
560 /* 31 0 63 32 */
561 {DMA_CHANNEL_TO_EVENT_MAPPING_0, DMA_CHANNEL_TO_EVENT_MAPPING_1},
563 /* resvdQdmaChannels */
564 /* 31 0 */
565 {0x00000000u},
567 /* resvdTccs */
568 /* 31 0 63 32 */
569 {DMA_CHANNEL_TO_EVENT_MAPPING_0, DMA_CHANNEL_TO_EVENT_MAPPING_1},
570 },
572 {
573 /* Resources owned by Region 2 */
574 /* ownPaRAMSets */
575 #ifdef EDMA3_RES_USER_REQ
576 /* 31 0 63 32 95 64 127 96 */
577 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
578 /* 159 128 191 160 223 192 255 224 */
579 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
580 /* 287 256 319 288 351 320 383 352 */
581 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
582 /* 415 384 447 416 479 448 511 480 */
583 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
584 #else
585 /* 31 0 63 32 95 64 127 96 */
586 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
587 /* 159 128 191 160 223 192 255 224 */
588 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
589 /* 287 256 319 288 351 320 383 352 */
590 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
591 /* 415 384 447 416 479 448 511 480 */
592 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
593 #endif
595 /* ownDmaChannels */
596 /* 31 0 63 32 */
597 {0x00000000u, 0x00000000u},
599 /* ownQdmaChannels */
600 /* 31 0 */
601 {0x00000000u},
603 /* ownTccs */
604 /* 31 0 63 32 */
605 {0x00000000u, 0x00000000u},
607 /* Resources reserved by Region 2 */
608 /* resvdPaRAMSets */
609 /* 31 0 63 32 95 64 127 96 */
610 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
611 /* 159 128 191 160 223 192 255 224 */
612 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
613 /* 287 256 319 288 351 320 383 352 */
614 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
615 /* 415 384 447 416 479 448 511 480 */
616 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
618 /* resvdDmaChannels */
619 /* 31 0 63 32 */
620 {0x00000000u, 0x00000000u},
622 /* resvdQdmaChannels */
623 /* 31 0 */
624 {0x00000000u},
626 /* resvdTccs */
627 /* 31 0 63 32 */
628 {0x00000000u, 0x00000000u},
629 },
631 {
632 /* Resources owned by Region 3 */
633 /* ownPaRAMSets */
634 #ifdef EDMA3_RES_USER_REQ
635 /* 31 0 63 32 95 64 127 96 */
636 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
637 /* 159 128 191 160 223 192 255 224 */
638 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
639 /* 287 256 319 288 351 320 383 352 */
640 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
641 /* 415 384 447 416 479 448 511 480 */
642 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
643 #else
644 /* 31 0 63 32 95 64 127 96 */
645 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
646 /* 159 128 191 160 223 192 255 224 */
647 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
648 /* 287 256 319 288 351 320 383 352 */
649 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
650 /* 415 384 447 416 479 448 511 480 */
651 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
652 #endif
654 /* ownDmaChannels */
655 /* 31 0 63 32 */
656 {0x00000000u, 0x00000000u},
658 /* ownQdmaChannels */
659 /* 31 0 */
660 {0x00000000u},
662 /* ownTccs */
663 /* 31 0 63 32 */
664 {0x00000000u, 0x00000000u},
666 /* Resources reserved by Region 3 */
667 /* resvdPaRAMSets */
668 /* 31 0 63 32 95 64 127 96 */
669 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
670 /* 159 128 191 160 223 192 255 224 */
671 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
672 /* 287 256 319 288 351 320 383 352 */
673 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
674 /* 415 384 447 416 479 448 511 480 */
675 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
677 /* resvdDmaChannels */
678 /* 31 0 63 32 */
679 {0x00000000u, 0x00000000u},
681 /* resvdQdmaChannels */
682 /* 31 0 */
683 {0x00000000u},
685 /* resvdTccs */
686 /* 31 0 63 32 */
687 {0x00000000u, 0x00000000u},
688 },
690 {
691 /* Resources owned by Region 4 */
692 /* ownPaRAMSets */
693 #ifdef EDMA3_RES_USER_REQ
694 /* 31 0 63 32 95 64 127 96 */
695 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
696 /* 159 128 191 160 223 192 255 224 */
697 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
698 /* 287 256 319 288 351 320 383 352 */
699 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
700 /* 415 384 447 416 479 448 511 480 */
701 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
702 #else
703 /* 31 0 63 32 95 64 127 96 */
704 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
705 /* 159 128 191 160 223 192 255 224 */
706 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
707 /* 287 256 319 288 351 320 383 352 */
708 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
709 /* 415 384 447 416 479 448 511 480 */
710 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
711 #endif
713 /* ownDmaChannels */
714 /* 31 0 63 32 */
715 {0x00000000u, 0x00000000u},
717 /* ownQdmaChannels */
718 /* 31 0 */
719 {0x00000000u},
721 /* ownTccs */
722 /* 31 0 63 32 */
723 {0x00000000u, 0x00000000u},
725 /* Resources reserved by Region 4 */
726 /* resvdPaRAMSets */
727 /* 31 0 63 32 95 64 127 96 */
728 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
729 /* 159 128 191 160 223 192 255 224 */
730 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
731 /* 287 256 319 288 351 320 383 352 */
732 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
733 /* 415 384 447 416 479 448 511 480 */
734 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
736 /* resvdDmaChannels */
737 /* 31 0 63 32 */
738 {0x00000000u, 0x00000000u},
740 /* resvdQdmaChannels */
741 /* 31 0 */
742 {0x00000000u},
744 /* resvdTccs */
745 /* 31 0 63 32 */
746 {0x00000000u, 0x00000000u},
747 },
749 {
750 /* Resources owned by Region 5 */
751 /* ownPaRAMSets */
752 #ifdef EDMA3_RES_USER_REQ
753 /* 31 0 63 32 95 64 127 96 */
754 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
755 /* 159 128 191 160 223 192 255 224 */
756 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
757 /* 287 256 319 288 351 320 383 352 */
758 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
759 /* 415 384 447 416 479 448 511 480 */
760 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
761 #else
762 /* 31 0 63 32 95 64 127 96 */
763 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
764 /* 159 128 191 160 223 192 255 224 */
765 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
766 /* 287 256 319 288 351 320 383 352 */
767 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
768 /* 415 384 447 416 479 448 511 480 */
769 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
770 #endif
772 /* ownDmaChannels */
773 /* 31 0 63 32 */
774 {0x00000000u, 0x00000000u},
776 /* ownQdmaChannels */
777 /* 31 0 */
778 {0x00000000u},
780 /* ownTccs */
781 /* 31 0 63 32 */
782 {0x00000000u, 0x00000000u},
784 /* Resources reserved by Region 5 */
785 /* resvdPaRAMSets */
786 /* 31 0 63 32 95 64 127 96 */
787 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
788 /* 159 128 191 160 223 192 255 224 */
789 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
790 /* 287 256 319 288 351 320 383 352 */
791 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
792 /* 415 384 447 416 479 448 511 480 */
793 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
795 /* resvdDmaChannels */
796 /* 31 0 63 32 */
797 {0x00000000u, 0x00000000u},
799 /* resvdQdmaChannels */
800 /* 31 0 */
801 {0x00000000u},
803 /* resvdTccs */
804 /* 31 0 63 32 */
805 {0x00000000u, 0x00000000u},
806 },
808 {
809 /* Resources owned by Region 6 */
810 /* ownPaRAMSets */
811 #ifdef EDMA3_RES_USER_REQ
812 /* 31 0 63 32 95 64 127 96 */
813 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
814 /* 159 128 191 160 223 192 255 224 */
815 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
816 /* 287 256 319 288 351 320 383 352 */
817 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
818 /* 415 384 447 416 479 448 511 480 */
819 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
820 #else
821 /* 31 0 63 32 95 64 127 96 */
822 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
823 /* 159 128 191 160 223 192 255 224 */
824 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
825 /* 287 256 319 288 351 320 383 352 */
826 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
827 /* 415 384 447 416 479 448 511 480 */
828 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
829 #endif
831 /* ownDmaChannels */
832 /* 31 0 63 32 */
833 {0x00000000u, 0x00000000u},
835 /* ownQdmaChannels */
836 /* 31 0 */
837 {0x00000000u},
839 /* ownTccs */
840 /* 31 0 63 32 */
841 {0x00000000u, 0x00000000u},
843 /* Resources reserved by Region 6 */
844 /* resvdPaRAMSets */
845 /* 31 0 63 32 95 64 127 96 */
846 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
847 /* 159 128 191 160 223 192 255 224 */
848 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
849 /* 287 256 319 288 351 320 383 352 */
850 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
851 /* 415 384 447 416 479 448 511 480 */
852 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
854 /* resvdDmaChannels */
855 /* 31 0 63 32 */
856 {0x00000000u, 0x00000000u},
858 /* resvdQdmaChannels */
859 /* 31 0 */
860 {0x00000000u},
862 /* resvdTccs */
863 /* 31 0 63 32 */
864 {0x00000000u, 0x00000000u},
865 },
867 {
868 /* Resources owned by Region 7 */
869 /* ownPaRAMSets */
870 #ifdef EDMA3_RES_USER_REQ
871 /* 31 0 63 32 95 64 127 96 */
872 {0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
873 /* 159 128 191 160 223 192 255 224 */
874 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
875 /* 287 256 319 288 351 320 383 352 */
876 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
877 /* 415 384 447 416 479 448 511 480 */
878 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
879 #else
880 /* 31 0 63 32 95 64 127 96 */
881 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
882 /* 159 128 191 160 223 192 255 224 */
883 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
884 /* 287 256 319 288 351 320 383 352 */
885 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
886 /* 415 384 447 416 479 448 511 480 */
887 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
888 #endif
890 /* ownDmaChannels */
891 /* 31 0 63 32 */
892 {0x00000000u, 0x00000000u},
894 /* ownQdmaChannels */
895 /* 31 0 */
896 {0x00000000u},
898 /* ownTccs */
899 /* 31 0 63 32 */
900 {0x00000000u, 0x00000000u},
902 /* Resources reserved by Region 7 */
903 /* resvdPaRAMSets */
904 /* 31 0 63 32 95 64 127 96 */
905 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
906 /* 159 128 191 160 223 192 255 224 */
907 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
908 /* 287 256 319 288 351 320 383 352 */
909 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
910 /* 415 384 447 416 479 448 511 480 */
911 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
913 /* resvdDmaChannels */
914 /* 31 0 63 32 */
915 {0x00000000u, 0x00000000u},
917 /* resvdQdmaChannels */
918 /* 31 0 */
919 {0x00000000u},
921 /* resvdTccs */
922 /* 31 0 63 32 */
923 {0x00000000u, 0x00000000u},
924 }
925 }
926 };
928 /* End of File */