document update for the edma release
[keystone-rtos/edma3_lld.git] / packages / ti / sdo / edma3 / rm / RM.xdt
1 %%{
2 /*
3  * RM.xdt
4  *
5  * Template file for the Resource Manager for generating internal data 
6  * structures.
7  *
8  * Copyright (C) 2009 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    var makeFar = (((Program.build.target.isa.match(/66/)) || (Program.build.target.isa.match(/64t/)) || (Program.build.target.isa.match(/64p/)) || (Program.build.target.isa.match(/674/))) ? true : false);
43 %%}
45 /* Resource Manager Internal Header Files */
46 #include <ti/sdo/edma3/rm/src/edma3resmgr.h>
48 /**
49  * Maximum Resource Manager Instances supported by the EDMA3 Package.
50  * USE THE SAME VALUE FOR BOTH THE #DEFINE AND CONST UNSIGNED INT BELOW.
51  */
52 % var max_rm_instances = this.edma3_max_rm_instances;
54 /**
55  * Maximum Resource Manager Instances supported by the EDMA3 Package.
56  * This #define is needed for array declarations.
57  */
58 #define MAX_EDMA3_RM_INSTANCES `max_rm_instances`
60 /* This const is required to access this constant in other header files */
61 const unsigned int EDMA3_MAX_RM_INSTANCES = `max_rm_instances`;
63 /*
64 % print("********** GUNP Program.build.target.isa " + Program.build.target.isa);
65 */
66 EDMA3_RM_InstanceInitConfig userInstInitConfigArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
67 EDMA3_RM_Instance resMgrInstanceArray[EDMA3_MAX_EDMA3_INSTANCES][MAX_EDMA3_RM_INSTANCES];
70 % if (makeFar) {
71 /* These pointers will be used to refer the above mentioned arrays. */
72 far EDMA3_RM_Instance *resMgrInstance = (EDMA3_RM_Instance *)resMgrInstanceArray;
73 far EDMA3_RM_InstanceInitConfig *userInitConfig = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
75 /* Pointer to the above mentioned 2-D arrays, used for address calculation purpose */
76 far EDMA3_RM_Instance *ptrRMIArray = (EDMA3_RM_Instance *)resMgrInstanceArray;
77 far EDMA3_RM_InstanceInitConfig *ptrInitCfgArray = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
79 % }
80 % else {
81 /* These pointers will be used to refer the above mentioned arrays. */
82 EDMA3_RM_Instance *resMgrInstance = (EDMA3_RM_Instance *)resMgrInstanceArray;
83 EDMA3_RM_InstanceInitConfig *userInitConfig = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
85 /* Pointer to the above mentioned 2-D arrays, used for address calculation purpose */
86 EDMA3_RM_Instance *ptrRMIArray = (EDMA3_RM_Instance *)resMgrInstanceArray;
87 EDMA3_RM_InstanceInitConfig *ptrInitCfgArray = (EDMA3_RM_InstanceInitConfig *)userInstInitConfigArray;
89 % }