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