[keystone-rtos/edma3_lld.git] / packages / ti / sdo / edma3 / drv / 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/drv/edma3_drv.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 0U;
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 (0xFFCFCFFFu)
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 (0xFF3FFFC0u)
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 EDMA3_CC_XFER_COMPLETION_INT, 0u, 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_DRV_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_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
379 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
380 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
381 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
382 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
383 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
384 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
385 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
386 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
387 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
388 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
389 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
390 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
391 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
392 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
393 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
394 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
395 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
396 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
397 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
398 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
399 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
400 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
401 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
402 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
403 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
404 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
405 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
406 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
407 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
408 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_CH_NO_PARAM_MAP,
409 EDMA3_DRV_CH_NO_PARAM_MAP, EDMA3_DRV_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 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
420 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
421 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
422 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
423 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
424 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
425 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
426 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
427 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
428 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
429 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
430 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
431 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
432 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
433 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP,
434 EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP, EDMA3_DRV_CH_NO_TCC_MAP
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 DRV Instance Initialization Configuration */
451 EDMA3_DRV_InstanceInitConfig sampleInstInitConfig [NUM_EDMA3_INSTANCES][EDMA3_NUM_REGION] =
452 {
453 {
455 {
456 /* Resources owned by Region 0 */
457 /* ownPaRAMSets */
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,},
467 /* ownDmaChannels */
468 /* 31 0 63 32 */
469 {0xFFFFFFFFu, 0xFFFFFFFFu},
471 /* ownQdmaChannels */
472 /* 31 0 */
473 {0x000000FFU},
475 /* ownTccs */
476 /* 31 0 63 32 */
477 {0xFFFFFFFFU, 0xFFFFFFFFU},
479 /* Resources reserved by Region 0 */
480 /* resvdPaRAMSets */
481 /* 31 0 63 32 95 64 127 96 */
482 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
483 /* 159 128 191 160 223 192 255 224 */
484 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
485 /* 287 256 319 288 351 320 383 352 */
486 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
487 /* 415 384 447 416 479 448 511 480 */
488 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
490 /* resvdDmaChannels */
491 /* 31 0 63 32 */
492 {0x00000000u, 0x00000000u},
494 /* resvdQdmaChannels */
495 /* 31 0 */
496 {0x00000000u},
498 /* resvdTccs */
499 /* 31 0 63 32 */
500 {0x00000000u, 0x00000000u},
501 },
503 {
504 /* Resources owned by Region 1 */
505 /* ownPaRAMSets */
506 /* 31 0 63 32 95 64 127 96 */
507 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
508 /* 159 128 191 160 223 192 255 224 */
509 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
510 /* 287 256 319 288 351 320 383 352 */
511 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
512 /* 415 384 447 416 479 448 511 480 */
513 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
515 /* ownDmaChannels */
516 /* 31 0 63 32 */
517 {0x00000000u, 0x00000000u},
519 /* ownQdmaChannels */
520 /* 31 0 */
521 {0x00000000u},
523 /* ownTccs */
524 /* 31 0 63 32 */
525 {0x00000000u, 0x00000000u},
527 /* Resources reserved by Region 1 */
528 /* resvdPaRAMSets */
529 /* 31 0 63 32 95 64 127 96 */
530 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
531 /* 159 128 191 160 223 192 255 224 */
532 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
533 /* 287 256 319 288 351 320 383 352 */
534 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
535 /* 415 384 447 416 479 448 511 480 */
536 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
538 /* resvdDmaChannels */
539 /* 31 0 63 32 */
540 {0x00000000u, 0x00000000u},
542 /* resvdQdmaChannels */
543 /* 31 0 */
544 {0x00000000u},
546 /* resvdTccs */
547 /* 31 0 63 32 */
548 {0x00000000u, 0x00000000u},
549 },
551 {
552 /* Resources owned by Region 2 */
553 /* ownPaRAMSets */
554 /* 31 0 63 32 95 64 127 96 */
555 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
556 /* 159 128 191 160 223 192 255 224 */
557 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
558 /* 287 256 319 288 351 320 383 352 */
559 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
560 /* 415 384 447 416 479 448 511 480 */
561 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
563 /* ownDmaChannels */
564 /* 31 0 63 32 */
565 {0x00000000u, 0x00000000u},
567 /* ownQdmaChannels */
568 /* 31 0 */
569 {0x00000000u},
571 /* ownTccs */
572 /* 31 0 63 32 */
573 {0x00000000u, 0x00000000u},
575 /* Resources reserved by Region 2 */
576 /* resvdPaRAMSets */
577 /* 31 0 63 32 95 64 127 96 */
578 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
579 /* 159 128 191 160 223 192 255 224 */
580 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
581 /* 287 256 319 288 351 320 383 352 */
582 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
583 /* 415 384 447 416 479 448 511 480 */
584 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
586 /* resvdDmaChannels */
587 /* 31 0 63 32 */
588 {0x00000000u, 0x00000000u},
590 /* resvdQdmaChannels */
591 /* 31 0 */
592 {0x00000000u},
594 /* resvdTccs */
595 /* 31 0 63 32 */
596 {0x00000000u, 0x00000000u},
597 },
599 {
600 /* Resources owned by Region 3 */
601 /* ownPaRAMSets */
602 /* 31 0 63 32 95 64 127 96 */
603 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
604 /* 159 128 191 160 223 192 255 224 */
605 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
606 /* 287 256 319 288 351 320 383 352 */
607 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
608 /* 415 384 447 416 479 448 511 480 */
609 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
611 /* ownDmaChannels */
612 /* 31 0 63 32 */
613 {0x00000000u, 0x00000000u},
615 /* ownQdmaChannels */
616 /* 31 0 */
617 {0x00000000u},
619 /* ownTccs */
620 /* 31 0 63 32 */
621 {0x00000000u, 0x00000000u},
623 /* Resources reserved by Region 3 */
624 /* resvdPaRAMSets */
625 /* 31 0 63 32 95 64 127 96 */
626 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
627 /* 159 128 191 160 223 192 255 224 */
628 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
629 /* 287 256 319 288 351 320 383 352 */
630 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
631 /* 415 384 447 416 479 448 511 480 */
632 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
634 /* resvdDmaChannels */
635 /* 31 0 63 32 */
636 {0x00000000u, 0x00000000u},
638 /* resvdQdmaChannels */
639 /* 31 0 */
640 {0x00000000u},
642 /* resvdTccs */
643 /* 31 0 63 32 */
644 {0x00000000u, 0x00000000u},
645 },
647 {
648 /* Resources owned by Region 4 */
649 /* ownPaRAMSets */
650 /* 31 0 63 32 95 64 127 96 */
651 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
652 /* 159 128 191 160 223 192 255 224 */
653 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
654 /* 287 256 319 288 351 320 383 352 */
655 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
656 /* 415 384 447 416 479 448 511 480 */
657 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
659 /* ownDmaChannels */
660 /* 31 0 63 32 */
661 {0x00000000u, 0x00000000u},
663 /* ownQdmaChannels */
664 /* 31 0 */
665 {0x00000000u},
667 /* ownTccs */
668 /* 31 0 63 32 */
669 {0x00000000u, 0x00000000u},
671 /* Resources reserved by Region 4 */
672 /* resvdPaRAMSets */
673 /* 31 0 63 32 95 64 127 96 */
674 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
675 /* 159 128 191 160 223 192 255 224 */
676 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
677 /* 287 256 319 288 351 320 383 352 */
678 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
679 /* 415 384 447 416 479 448 511 480 */
680 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
682 /* resvdDmaChannels */
683 /* 31 0 63 32 */
684 {0x00000000u, 0x00000000u},
686 /* resvdQdmaChannels */
687 /* 31 0 */
688 {0x00000000u},
690 /* resvdTccs */
691 /* 31 0 63 32 */
692 {0x00000000u, 0x00000000u},
693 },
695 {
696 /* Resources owned by Region 5 */
697 /* ownPaRAMSets */
698 /* 31 0 63 32 95 64 127 96 */
699 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
700 /* 159 128 191 160 223 192 255 224 */
701 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
702 /* 287 256 319 288 351 320 383 352 */
703 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
704 /* 415 384 447 416 479 448 511 480 */
705 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
707 /* ownDmaChannels */
708 /* 31 0 63 32 */
709 {0x00000000u, 0x00000000u},
711 /* ownQdmaChannels */
712 /* 31 0 */
713 {0x00000000u},
715 /* ownTccs */
716 /* 31 0 63 32 */
717 {0x00000000u, 0x00000000u},
719 /* Resources reserved by Region 5 */
720 /* resvdPaRAMSets */
721 /* 31 0 63 32 95 64 127 96 */
722 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
723 /* 159 128 191 160 223 192 255 224 */
724 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
725 /* 287 256 319 288 351 320 383 352 */
726 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
727 /* 415 384 447 416 479 448 511 480 */
728 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
730 /* resvdDmaChannels */
731 /* 31 0 63 32 */
732 {0x00000000u, 0x00000000u},
734 /* resvdQdmaChannels */
735 /* 31 0 */
736 {0x00000000u},
738 /* resvdTccs */
739 /* 31 0 63 32 */
740 {0x00000000u, 0x00000000u},
741 },
743 {
744 /* Resources owned by Region 6 */
745 /* ownPaRAMSets */
746 /* 31 0 63 32 95 64 127 96 */
747 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
748 /* 159 128 191 160 223 192 255 224 */
749 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
750 /* 287 256 319 288 351 320 383 352 */
751 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
752 /* 415 384 447 416 479 448 511 480 */
753 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
755 /* ownDmaChannels */
756 /* 31 0 63 32 */
757 {0x00000000u, 0x00000000u},
759 /* ownQdmaChannels */
760 /* 31 0 */
761 {0x00000000u},
763 /* ownTccs */
764 /* 31 0 63 32 */
765 {0x00000000u, 0x00000000u},
767 /* Resources reserved by Region 6 */
768 /* resvdPaRAMSets */
769 /* 31 0 63 32 95 64 127 96 */
770 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
771 /* 159 128 191 160 223 192 255 224 */
772 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
773 /* 287 256 319 288 351 320 383 352 */
774 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
775 /* 415 384 447 416 479 448 511 480 */
776 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
778 /* resvdDmaChannels */
779 /* 31 0 63 32 */
780 {0x00000000u, 0x00000000u},
782 /* resvdQdmaChannels */
783 /* 31 0 */
784 {0x00000000u},
786 /* resvdTccs */
787 /* 31 0 63 32 */
788 {0x00000000u, 0x00000000u},
789 },
791 {
792 /* Resources owned by Region 7 */
793 /* ownPaRAMSets */
794 /* 31 0 63 32 95 64 127 96 */
795 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
796 /* 159 128 191 160 223 192 255 224 */
797 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
798 /* 287 256 319 288 351 320 383 352 */
799 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
800 /* 415 384 447 416 479 448 511 480 */
801 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
803 /* ownDmaChannels */
804 /* 31 0 63 32 */
805 {0x00000000u, 0x00000000u},
807 /* ownQdmaChannels */
808 /* 31 0 */
809 {0x00000000u},
811 /* ownTccs */
812 /* 31 0 63 32 */
813 {0x00000000u, 0x00000000u},
815 /* Resources reserved by Region 7 */
816 /* resvdPaRAMSets */
817 /* 31 0 63 32 95 64 127 96 */
818 {0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
819 /* 159 128 191 160 223 192 255 224 */
820 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
821 /* 287 256 319 288 351 320 383 352 */
822 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
823 /* 415 384 447 416 479 448 511 480 */
824 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,},
826 /* resvdDmaChannels */
827 /* 31 0 63 32 */
828 {0x00000000u, 0x00000000u},
830 /* resvdQdmaChannels */
831 /* 31 0 */
832 {0x00000000u},
834 /* resvdTccs */
835 /* 31 0 63 32 */
836 {0x00000000u, 0x00000000u},
837 }
838 }
839 };
841 /* End of File */