Updated platform for j5Eco
[keystone-rtos/edma3_lld.git] / makerules / platform.mk
1 # Filename: platforms.mk\r
2 #\r
3 # Platforms make file - Platform/SoC/targets are defined/derived in this file\r
4\r
5 # This file needs to change when:\r
6 #     1. a new platform/SoC is added, which also might have its own cores/ISAs\r
7 #\r
8 \r
9 #\r
10 # Derive SOC from PLATFORM\r
11 #\r
12 \r
13 # ti816x (Netra) catalog EVM\r
14 ifeq ($(PLATFORM),ti816x-evm)\r
15  SOC = ti816x\r
16  PLATFORM_XDC = "ti.platforms.evmTI816X"\r
17 endif\r
18 \r
19 # ti816x (Netra) Simulator\r
20 ifeq ($(PLATFORM),ti816x-sim)\r
21  SOC = ti816x\r
22  ifeq ($(CORE),c6xdsp)\r
23   PLATFORM_XDC = "ti.platforms.simDM8168"\r
24  endif\r
25 endif\r
26 \r
27 # ti814x (Centaurus) Catalog EVM\r
28 ifeq ($(PLATFORM),ti814x-evm)\r
29  SOC = ti814x\r
30  PLATFORM_XDC = "ti.platforms.evmTI814X"\r
31 endif\r
32 \r
33 # c6a811x (J5Eco) Catalog EVM\r
34 ifeq ($(PLATFORM),c6a811x-evm)\r
35  SOC = c6a811x\r
36  PLATFORM_XDC = "ti.platforms.evmTI811X"\r
37 endif\r
38 \r
39 # c6472 (Tomahawk) EVM\r
40 ifeq ($(PLATFORM),c6472-evm)\r
41  SOC = c6472\r
42  PLATFORM_XDC = "ti.platforms.evm6472"\r
43 endif\r
44 \r
45 # tci6486 (Tomahawk) EVM\r
46 ifeq ($(PLATFORM),tci6486-evm)\r
47  SOC = c6472\r
48  PLATFORM_XDC = "ti.platforms.evmTCI6486"\r
49 endif\r
50 \r
51 # tci6608 (Shannon) Simulator \r
52 ifeq ($(PLATFORM),tci6608-sim)\r
53  SOC = c6608\r
54  PLATFORM_XDC = "ti.platforms.simTCI6608"\r
55 endif\r
56 \r
57 # tci6616 (Nyquist) Simulator \r
58 ifeq ($(PLATFORM),tci6616-sim)\r
59  SOC = c6616\r
60  PLATFORM_XDC = "ti.platforms.simTCI6616"\r
61 endif\r
62 \r
63 # tci6614 (Appleton) Simulator \r
64 ifeq ($(PLATFORM),tci6614-sim)\r
65  SOC = tci6614\r
66  PLATFORM_XDC = "ti.platforms.simTCI6614"\r
67 endif\r
68 \r
69 # c6657 (Gauss) Simulator \r
70 ifeq ($(PLATFORM),c6657-sim)\r
71  SOC = c6657\r
72  PLATFORM_XDC = "ti.platforms.simC6657"\r
73 endif\r
74 \r
75 # c6670 (Nyquist) EVM\r
76 ifeq ($(PLATFORM),c6670-evm)\r
77  SOC = c6670\r
78  PLATFORM_XDC = "ti.platforms.evm6670"\r
79 endif\r
80 \r
81 # c6678 (Shannon) EVM\r
82 ifeq ($(PLATFORM),c6678-evm)\r
83  SOC = c6678\r
84  PLATFORM_XDC = "ti.platforms.evm6678"\r
85 endif\r
86 \r
87 # tci6614 (Appleton) EVM\r
88 ifeq ($(PLATFORM),tci6614-evm)\r
89  SOC = tci6614\r
90  PLATFORM_XDC = "ti.platforms.evmTCI6614"\r
91 endif\r
92 \r
93 # c6657 (Gauss) EVM\r
94 ifeq ($(PLATFORM),c6657-evm)\r
95  SOC = c6657\r
96  PLATFORM_XDC = "ti.platforms.evm6657"\r
97 endif\r
98 \r
99 \r
100 # omapl138 (Freon) EVM\r
101 ifeq ($(PLATFORM),omapl138-evm)\r
102  SOC = omapl138\r
103  PLATFORM_XDC = "ti.platforms.evmOMAPL138"\r
104 endif\r
105 \r
106 # c6748 (Freon) EVM\r
107 ifeq ($(PLATFORM),c6748-evm)\r
108  SOC = omapl138\r
109  PLATFORM_XDC = "ti.platforms.evm6748"\r
110 endif\r
111 \r
112 # da830 (Primus) EVM\r
113 ifeq ($(PLATFORM),da830-evm)\r
114  SOC = omapl137\r
115  PLATFORM_XDC = "ti.platforms.evmDA830"\r
116 endif\r
117 \r
118 # omap4 EVM\r
119 ifeq ($(PLATFORM),omap4-evm)\r
120  SOC = omap4\r
121  PLATFORM_XDC = "ti.platforms.sdp4430"\r
122 endif\r
123 \r
124 # Generic platform\r
125 ifeq ($(PLATFORM),generic)\r
126  SOC = generic\r
127  PLATFORM_XDC = \r
128 endif\r
129 \r
130 # Derive Target/ISA from CORE\r
131 \r
132 # m3vpss\r
133 ifeq ($(CORE),m3vpss)\r
134  ISA = m3\r
135 endif\r
136 \r
137 # m3video\r
138 ifeq ($(CORE),m3video)\r
139  ISA = m3\r
140 endif\r
141 \r
142 # a8host\r
143 ifeq ($(CORE),a8host)\r
144  ISA = a8\r
145 endif\r
146 \r
147 # arm9\r
148 ifeq ($(CORE),arm9)\r
149  ISA = arm9\r
150 endif\r
151 \r
152 # c6xdsp\r
153 ifeq ($(CORE),c6xdsp)\r
154  ifeq ($(SOC),ti816x)\r
155   ISA = 674\r
156  endif\r
157  ifeq ($(SOC),ti814x)\r
158   ISA = 674\r
159  endif\r
160  ifeq ($(SOC),c6a811x)\r
161   ISA = 674\r
162  endif\r
163  ifeq ($(SOC),omapl137)\r
164   ISA = 674\r
165  endif\r
166  ifeq ($(SOC),omapl138)\r
167   ISA = 674\r
168  endif\r
169  ifeq ($(SOC),c6472)\r
170   ISA = 64p\r
171  endif\r
172  ifeq ($(SOC),c6608)\r
173   ISA = 66\r
174  endif\r
175  ifeq ($(SOC),c6616)\r
176   ISA = 66\r
177  endif\r
178  ifeq ($(SOC),tci6614)\r
179   ISA = 66\r
180  endif\r
181  ifeq ($(SOC),c6657)\r
182   ISA = 66\r
183  endif\r
184  ifeq ($(SOC),c6670)\r
185   ISA = 66\r
186  endif\r
187  ifeq ($(SOC),c6678)\r
188   ISA = 66\r
189  endif\r
190  ifeq ($(SOC),omap4)\r
191   ISA = 64t\r
192  endif\r
193 endif\r
194 \r
195 # Platform and SOC is generic; use the core name same as ISA (eg: 674)\r
196 ifeq ($(SOC),generic)\r
197   ISA = $(CORE)\r
198 endif\r
199 \r
200 #\r
201 # Derive XDC/ISA specific settings \r
202 #\r
203 \r
204 ifeq ($(ISA),m3)\r
205   ifeq ($(FORMAT),ELF)\r
206     TARGET_XDC = ti.targets.arm.elf.M3\r
207     FORMAT_EXT = e\r
208   else\r
209     TARGET_XDC = ti.targets.arm.M3\r
210   endif\r
211   \r
212   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in\r
213   #    in the filename extension of object/library/executable files\r
214   ifeq ($(ENDIAN),big)\r
215     ENDIAN_EXT = e\r
216   endif\r
217 \r
218   # Define the file extensions\r
219   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
220   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
221   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
222   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
223 endif\r
224 \r
225 ifeq ($(ISA),674)\r
226   ifeq ($(FORMAT),ELF)\r
227     TARGET_XDC = ti.targets.elf.C674\r
228     FORMAT_EXT = e\r
229   else\r
230     TARGET_XDC = ti.targets.C674\r
231   endif\r
232   \r
233   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in\r
234   #    in the filename extension of object/library/executable files\r
235   ifeq ($(ENDIAN),big)\r
236     ENDIAN_EXT = e\r
237   endif\r
238 \r
239   # Define the file extensions\r
240   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
241   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
242   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
243   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
244 endif\r
245 \r
246 ifeq ($(ISA),64p)\r
247   ifeq ($(FORMAT),ELF)\r
248    ifeq ($(ENDIAN),big)\r
249     TARGET_XDC = ti.targets.elf.C64P_big_endian\r
250    else\r
251     TARGET_XDC = ti.targets.elf.C64P\r
252    endif\r
253     FORMAT_EXT = e\r
254   else\r
255    ifeq ($(ENDIAN),big)\r
256     TARGET_XDC = ti.targets.C64P_big_endian\r
257    else\r
258     TARGET_XDC = ti.targets.C64P\r
259    endif\r
260   endif\r
261   \r
262   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in\r
263   #    in the filename extension of object/library/executable files\r
264   ifeq ($(ENDIAN),big)\r
265     ENDIAN_EXT = e\r
266   endif\r
267 \r
268   # Define the file extensions\r
269   OBJEXT = o$(FORMAT_EXT)64P$(ENDIAN_EXT)\r
270   LIBEXT = a$(FORMAT_EXT)64P$(ENDIAN_EXT)\r
271   EXEEXT = x$(FORMAT_EXT)64P$(ENDIAN_EXT)\r
272   ASMEXT = s$(FORMAT_EXT)64P$(ENDIAN_EXT)\r
273 endif\r
274 \r
275 ifeq ($(ISA),64t)\r
276   ifeq ($(FORMAT),ELF)\r
277    ifeq ($(ENDIAN),big)\r
278     TARGET_XDC = ti.targets.elf.C64T_big_endian\r
279    else\r
280     TARGET_XDC = ti.targets.elf.C64T\r
281    endif\r
282     FORMAT_EXT = e\r
283   else\r
284    ifeq ($(ENDIAN),big)\r
285     TARGET_XDC = ti.targets.C64T_big_endian\r
286    else\r
287     TARGET_XDC = ti.targets.C64T\r
288    endif\r
289   endif\r
290   \r
291   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in\r
292   #    in the filename extension of object/library/executable files\r
293   ifeq ($(ENDIAN),big)\r
294     ENDIAN_EXT = e\r
295   endif\r
296 \r
297   # Define the file extensions\r
298   OBJEXT = o$(FORMAT_EXT)64T$(ENDIAN_EXT)\r
299   LIBEXT = a$(FORMAT_EXT)64T$(ENDIAN_EXT)\r
300   EXEEXT = x$(FORMAT_EXT)64T$(ENDIAN_EXT)\r
301   ASMEXT = s$(FORMAT_EXT)64T$(ENDIAN_EXT)\r
302 endif\r
303 \r
304 ifeq ($(ISA),66)\r
305   ifeq ($(FORMAT),ELF)\r
306    ifeq ($(ENDIAN),big)\r
307     TARGET_XDC = ti.targets.elf.C66_big_endian\r
308    else\r
309     TARGET_XDC = ti.targets.elf.C66\r
310    endif\r
311     FORMAT_EXT = e\r
312   else\r
313    ifeq ($(ENDIAN),big)\r
314     TARGET_XDC = ti.targets.C66_big_endian\r
315    else\r
316     TARGET_XDC = ti.targets.C66\r
317    endif\r
318   endif\r
319   \r
320   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in\r
321   #    in the filename extension of object/library/executable files\r
322   ifeq ($(ENDIAN),big)\r
323     ENDIAN_EXT = e\r
324   endif\r
325 \r
326   # Define the file extensions\r
327   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
328   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
329   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
330   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)\r
331 \r
332 endif\r
333 \r
334 ifeq ($(ISA),a8)\r
335   ifeq ($(TOOLCHAIN_a8),TI)\r
336   TARGET_XDC = ti.targets.arm.elf.A8F\r
337   else\r
338   TARGET_XDC = gnu.targets.arm.GCArmv5T\r
339   PLATFORM_XDC = "host.platforms.arm"\r
340   endif\r
341   ifeq ($(FORMAT),ELF)\r
342     FORMAT_EXT = e\r
343   endif\r
344   ifeq ($(ENDIAN),big)\r
345     ENDIAN_EXT = e\r
346   endif\r
347 \r
348   # Define the file extensions\r
349   OBJEXT = o$(FORMAT_EXT)a8f$(ENDIAN_EXT)\r
350   LIBEXT = a$(FORMAT_EXT)a8f$(ENDIAN_EXT)\r
351   EXEEXT = x$(FORMAT_EXT)a8f$(ENDIAN_EXT)\r
352   ASMEXT = s$(FORMAT_EXT)a8f$(ENDIAN_EXT)\r
353 endif\r
354 \r
355 ifeq ($(ISA),arm9)\r
356   TARGET_XDC = ti.targets.arm.elf.Arm9\r
357   ifeq ($(FORMAT),ELF)\r
358     FORMAT_EXT = e\r
359   endif\r
360   ifeq ($(ENDIAN),big)\r
361     ENDIAN_EXT = e\r
362   endif\r
363 \r
364   # Define the file extensions\r
365   OBJEXT = o$(FORMAT_EXT)9$(ENDIAN_EXT)\r
366   LIBEXT = a$(FORMAT_EXT)9$(ENDIAN_EXT)\r
367   EXEEXT = x$(FORMAT_EXT)9$(ENDIAN_EXT)\r
368   ASMEXT = s$(FORMAT_EXT)9$(ENDIAN_EXT)\r
369 endif\r
370 \r
371 ifeq (sim,$(findstring sim,$(PLATFORM)))\r
372   OMX_PLATFORM = sim\r
373 endif\r
374 \r
375 ifeq (ti816x-evm,$(findstring ti816x-evm,$(PLATFORM)))\r
376  # Don't know why platform define for XDC is separate for A8. TO DO.\r
377  ifeq ($(CORE),a8host)\r
378   OMX_PLATFORM = evmSi\r
379  else\r
380   OMX_PLATFORM = evmSi816X\r
381  endif\r
382 endif\r
383 \r
384 ifeq ($(CORE),m3vpss)\r
385   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName: \\\"VPSS-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"\r
386 endif\r
387 ifeq ($(CORE),m3video)\r
388   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"VIDEO-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"\r
389 endif\r
390 ifeq ($(CORE),c6xdsp)\r
391   CFGARGS_XDC = \r
392 endif\r
393 ifeq ($(CORE),a8host)\r
394   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"HOST\\\", tiler: \\\"NullTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"\r
395 endif\r
396 \r
397 # Nothing beyond this point\r