1 2 3 4 5 6 7 8 9 10 11
12
13 14 15 16
17
18 /*!
19 * ======== Platform ========
20 * Platform support for AM571X
21 *
22 * This module implements xdc.platform.IPlatform and defines configuration
23 * parameters that correspond to this platform's Cpu's, Board's, etc.
24 *
25 * The configuration parameters are initialized in this package's
26 * configuration script (package.cfg) and "bound" to the TCOM object
27 * model. Once they are part of the model, these parameters are
28 * queried by a program's configuration script.
29 *
30 * This particular platform has 1 Cortex-A15, 2 Benelli/IPU
31 * Sub-system (Dual M4's) and 1 C66x DSP's.
32 */
33 metaonly module Platform inherits xdc.platform.IPlatform
34 {
35 readonly config xdc.platform.IPlatform.Board BOARD = {
36 id: "0",
37 boardName: "evmAM571X",
38 boardFamily: "evmAM571X",
39 boardRevision: null,
40 };
41
42 readonly config xdc.platform.IExeContext.Cpu DSP = {
43 id: "0",
44 clockRate: 700,
45 catalogName: "ti.catalog.c6000",
46 deviceName: "DRA7XX",
47 revision: "1.0",
48 };
49
50
51 readonly config xdc.platform.IExeContext.Cpu M4 = {
52 id: "1",
53 clockRate: 212.8,
54 catalogName: "ti.catalog.arm.cortexm4",
55 deviceName: "DRA7XX",
56 revision: "1.0",
57 };
58
59
60 readonly config xdc.platform.IExeContext.Cpu GPP = {
61 id: "3",
62 clockRate: 1500.0,
63 catalogName: "ti.catalog.arm.cortexa15",
64 deviceName: "DRA7XX",
65 revision: "1.0"
66 };
67
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
103
104 readonly config Any SR_0 = {
105 name: "SR_0", space: "data", access: "RWX",
106 base: 0x8E000000, len: 0x1000000,
107 comment: "SR#0 Memory (16 MB)"
108 };
109
110 readonly config Any DSP1 = {
111 externalMemoryMap: [
112 [ "DSP1_PROG", {
113 name: "DSP1_PROG", space: "code/data", access: "RWX",
114 base: 0x8C000000, len: 0x1000000,
115 comment: "DSP1 Program Memory (16 MB)"
116 }],
117 [ "SR_0", SR_0 ]
118 ],
119 codeMemory: "DSP1_PROG",
120 dataMemory: "DSP1_PROG",
121 stackMemory: "DSP1_PROG",
122 l1DMode: "32k",
123 l1PMode: "32k",
124 l2Mode: "128k"
125 };
126
127 readonly config Any IPU1 = {
128 externalMemoryMap: [
129 [ "IPU1_PROG", {
130 name: "IPU1_PROG", space: "code/data", access: "RWX",
131 base: 0x8A000000, len: 0x800000,
132 comment: "IPU1 Program Memory (8 MB)"
133 }],
134 [ "SR_0", SR_0 ]
135 ],
136 codeMemory: "IPU1_PROG",
137 dataMemory: "IPU1_PROG",
138 stackMemory: "IPU1_PROG"
139 };
140
141 readonly config Any IPU2 = {
142 externalMemoryMap: [
143 [ "IPU2_PROG", {
144 name: "IPU2_PROG", space: "code/data", access: "RWX",
145 base: 0x8A800000, len: 0x800000,
146 comment: "IPU2 Program Memory (8 MB)"
147 }],
148 [ "SR_0", SR_0 ]
149 ],
150 codeMemory: "IPU2_PROG",
151 dataMemory: "IPU2_PROG",
152 stackMemory: "IPU2_PROG"
153 };
154
155 readonly config Any HOST = {
156 externalMemoryMap: [
157 [ "HOST_PROG", {
158 name: "HOST_PROG", space: "code/data", access: "RWX",
159 base: 0x8B000000, len: 0x1000000,
160 comment: "HOST Program Memory (16 MB)"
161 }],
162 [ "SR_0", SR_0 ]
163 ],
164 codeMemory: "HOST_PROG",
165 dataMemory: "HOST_PROG",
166 stackMemory: "HOST_PROG"
167 };
168
169 instance:
170
171 /*!
172 * ======== externalMemoryMap ========
173 * Memory regions as defined in the AM571X Specification
174 */
175 override readonly config xdc.platform.IPlatform.Memory
176 externalMemoryMap[string] = [
177 ["EXT_RAM", {
178 comment: "2 GB External RAM Memory",
179 name: "EXT_RAM",
180 base: 0x80000000,
181 len: 0x80000000
182 }]
183 ];
184
185 186 187 188 189 190
191 config String l1PMode = "32k";
192
193 194 195 196 197 198
199 config String l1DMode = "32k";
200
201 202 203 204 205 206
207 config String l2Mode = "0k";
208 };
209 210 211
212