d4e8086ce7b39572a4e197b616a8a7045745ca9b
1 # Filename: platforms.mk
2 #
3 # Platforms make file - Platform/SoC/targets are defined/derived in this file
4 #
5 # This file needs to change when:
6 # 1. a new platform/SoC is added, which also might have its own cores/ISAs
7 #
9 #
10 # Derive SOC from PLATFORM
11 #
13 # tda2xx (Vayu) EVM
14 ifeq ($(PLATFORM),tda2xx-evm)
15 SOC = tda2xx
16 PLATFORM_XDC = "ti.platforms.evmDRA7XX"
17 endif
19 # tda3xx (ADAS low)
20 ifeq ($(PLATFORM),tda3xx-evm)
21 SOC = tda3xx
22 PLATFORM_XDC = "ti.platforms.evmDRA7XX"
23 endif
25 # ti816x (Netra) catalog EVM
26 ifeq ($(PLATFORM),ti816x-evm)
27 SOC = ti816x
28 PLATFORM_XDC = "ti.platforms.evmTI816X"
29 endif
31 # ti816x (Netra) Simulator
32 ifeq ($(PLATFORM),ti816x-sim)
33 SOC = ti816x
34 ifeq ($(CORE),c6xdsp)
35 PLATFORM_XDC = "ti.platforms.simDM8168"
36 endif
37 endif
39 # ti814x (Centaurus) Catalog EVM
40 ifeq ($(PLATFORM),ti814x-evm)
41 SOC = ti814x
42 PLATFORM_XDC = "ti.platforms.evmTI814X"
43 endif
45 # c6a811x (J5Eco) Catalog EVM
46 ifeq ($(PLATFORM),c6a811x-evm)
47 SOC = c6a811x
48 PLATFORM_XDC = "ti.platforms.evmTI811X"
49 endif
51 # c6472 (Tomahawk) EVM
52 ifeq ($(PLATFORM),c6472-evm)
53 SOC = c6472
54 PLATFORM_XDC = "ti.platforms.evm6472"
55 endif
57 # tci6486 (Tomahawk) EVM
58 ifeq ($(PLATFORM),tci6486-evm)
59 SOC = c6472
60 PLATFORM_XDC = "ti.platforms.evmTCI6486"
61 endif
63 # tci6608 (Shannon) Simulator
64 ifeq ($(PLATFORM),tci6608-sim)
65 SOC = c6608
66 PLATFORM_XDC = "ti.platforms.simTCI6608"
67 endif
69 # tci6616 (Nyquist) Simulator
70 ifeq ($(PLATFORM),tci6616-sim)
71 SOC = c6616
72 PLATFORM_XDC = "ti.platforms.simTCI6616"
73 endif
75 # tci6614 (Appleton) Simulator
76 ifeq ($(PLATFORM),tci6614-sim)
77 SOC = tci6614
78 PLATFORM_XDC = "ti.platforms.simTCI6614"
79 endif
81 # c6657 (Gauss) Simulator
82 ifeq ($(PLATFORM),c6657-sim)
83 SOC = c6657
84 PLATFORM_XDC = "ti.platforms.simC6657"
85 endif
87 # tci6638k2k (Kepler2) Simulator
88 ifeq ($(PLATFORM),tci6638k2k-sim)
89 SOC = tci6638k2k
90 PLATFORM_XDC = "ti.platforms.simKepler"
91 endif
93 # c6670 (Nyquist) EVM
94 ifeq ($(PLATFORM),c6670-evm)
95 SOC = c6670
96 PLATFORM_XDC = "ti.platforms.evm6670"
97 endif
99 # c6678 (Shannon) EVM
100 ifeq ($(PLATFORM),c6678-evm)
101 SOC = c6678
102 PLATFORM_XDC = "ti.platforms.evm6678"
103 endif
105 # tci6614 (Appleton) EVM
106 ifeq ($(PLATFORM),tci6614-evm)
107 SOC = tci6614
108 PLATFORM_XDC = "ti.platforms.evmTCI6614"
109 endif
111 # c6657 (Gauss) EVM
112 ifeq ($(PLATFORM),c6657-evm)
113 SOC = c6657
114 PLATFORM_XDC = "ti.platforms.evm6657"
115 endif
117 # tci6638k2k (Kepler2) EVM
118 ifeq ($(PLATFORM),tci6638k2k-evm)
119 SOC = tci6638k2k
120 CFLAGS_LOCAL_a15host += -DGENERIC
121 PLATFORM_XDC = "ti.platforms.evmTCI6638K2K"
122 endif
124 # tci6630k2l EVM
125 ifeq ($(PLATFORM),tci6630k2l-evm)
126 SOC = tci6630k2l
127 CFLAGS_LOCAL_a15host += -DGENERIC
128 PLATFORM_XDC = "ti.platforms.evmTCI6630K2L"
129 endif
131 # c66ak2e EVM
132 ifeq ($(PLATFORM),c66ak2e-evm)
133 SOC = c66ak2e
134 CFLAGS_LOCAL_a15host += -DGENERIC
135 PLATFORM_XDC = "ti.platforms.evmC66AK2E"
136 endif
138 # tci6636k2h (Hawking) EVM
139 ifeq ($(PLATFORM),tci6636k2h-evm)
140 SOC = tci6636k2h
141 CFLAGS_LOCAL_a15host += -DGENERIC
142 PLATFORM_XDC = "ti.platforms.evmTCI6636K2H"
143 endif
145 # omapl138 (Freon) EVM
146 ifeq ($(PLATFORM),omapl138-evm)
147 SOC = omapl138
148 PLATFORM_XDC = "ti.platforms.evmOMAPL138"
149 endif
151 # c6748 (Freon) EVM
152 ifeq ($(PLATFORM),c6748-evm)
153 SOC = omapl138
154 PLATFORM_XDC = "ti.platforms.evm6748"
155 endif
157 # da830 (Primus) EVM
158 ifeq ($(PLATFORM),da830-evm)
159 SOC = omapl137
160 PLATFORM_XDC = "ti.platforms.evmDA830"
161 endif
163 # omap4 EVM
164 ifeq ($(PLATFORM),omap4-evm)
165 SOC = omap4
166 PLATFORM_XDC = "ti.platforms.sdp4430"
167 endif
169 # Generic platform
170 ifeq ($(PLATFORM),generic)
171 SOC = generic
172 PLATFORM_XDC =
173 endif
175 # Derive Target/ISA from CORE
177 # m4
178 ifeq ($(CORE),m4)
179 ISA = m4
180 endif
182 # a15host
183 ifeq ($(CORE),a15host)
184 ISA = a15
185 endif
187 # m3vpss
188 ifeq ($(CORE),m3vpss)
189 ISA = m3
190 endif
192 # m3video
193 ifeq ($(CORE),m3video)
194 ISA = m3
195 endif
197 # a8host
198 ifeq ($(CORE),a8host)
199 ISA = a8
200 endif
202 # arm9
203 ifeq ($(CORE),arm9)
204 ISA = arm9
205 endif
207 # c6xdsp
208 ifeq ($(CORE),c6xdsp)
209 ifeq ($(SOC),ti816x)
210 ISA = 674
211 endif
212 ifeq ($(SOC),tda2xx)
213 ISA = 66
214 endif
215 ifeq ($(SOC),tda3xx)
216 ISA = 66
217 endif
218 ifeq ($(SOC),ti814x)
219 ISA = 674
220 endif
221 ifeq ($(SOC),c6a811x)
222 ISA = 674
223 endif
224 ifeq ($(SOC),omapl137)
225 ISA = 674
226 endif
227 ifeq ($(SOC),omapl138)
228 ISA = 674
229 endif
230 ifeq ($(SOC),c6472)
231 ISA = 64p
232 endif
233 ifeq ($(SOC),c6608)
234 ISA = 66
235 endif
236 ifeq ($(SOC),c66ak2e)
237 ISA = 66
238 endif
239 ifeq ($(SOC),c6616)
240 ISA = 66
241 endif
242 ifeq ($(SOC),tci6614)
243 ISA = 66
244 endif
245 ifeq ($(SOC),c6657)
246 ISA = 66
247 endif
248 ifeq ($(SOC),c6670)
249 ISA = 66
250 endif
251 ifeq ($(SOC),c6678)
252 ISA = 66
253 endif
254 ifeq ($(SOC),tci6638k2k)
255 ISA = 66
256 endif
257 ifeq ($(SOC),tci6630k2l)
258 ISA = 66
259 endif
260 ifeq ($(SOC),tci6636k2h)
261 ISA = 66
262 endif
263 ifeq ($(SOC),omap4)
264 ISA = 64t
265 endif
266 endif
268 # EVE - arp32
269 ifeq ($(CORE),eve)
270 ISA = arp32
271 endif
273 # Platform and SOC is generic; use the core name same as ISA (eg: 674)
274 ifeq ($(SOC),generic)
275 ISA = $(CORE)
276 endif
278 #
279 # Derive XDC/ISA specific settings
280 #
281 ifeq ($(ISA),m4)
282 COMPILER = TMS470
283 ifeq ($(FORMAT),ELF)
284 TARGET_XDC = ti.targets.arm.elf.M4
285 FORMAT_EXT = e
286 else
287 TARGET_XDC = ti.targets.arm.M4
288 endif
290 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
291 # in the filename extension of object/library/executable files
292 ifeq ($(ENDIAN),big)
293 ENDIAN_EXT = e
294 endif
296 # Define the file extensions
297 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
298 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
299 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
300 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
301 endif
303 ifeq ($(ISA),a15)
304 TARGET_XDC = gnu.targets.arm.A15F
305 CFLAGS_LOCAL_a15host += -DGCC_BUILD
306 COMPILER = LINARO_GCC
307 FORMAT_EXT =
308 ENDIAN_EXT = fg
310 # Define the file extensions
311 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
312 OBJEXT_SO = $(OBJEXT)_so
313 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
314 LIBEXT_SO = $(LIBEXT)_so
315 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
316 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
317 endif
319 ifeq ($(ISA),m3)
320 COMPILER = TMS470
321 ifeq ($(FORMAT),ELF)
322 TARGET_XDC = ti.targets.arm.elf.M3
323 FORMAT_EXT = e
324 else
325 TARGET_XDC = ti.targets.arm.M3
326 endif
328 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
329 # in the filename extension of object/library/executable files
330 ifeq ($(ENDIAN),big)
331 ENDIAN_EXT = e
332 endif
334 # Define the file extensions
335 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
336 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
337 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
338 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
339 endif
341 ifeq ($(ISA),674)
342 COMPILER = C6000
343 ifeq ($(FORMAT),ELF)
344 TARGET_XDC = ti.targets.elf.C674
345 FORMAT_EXT = e
346 else
347 TARGET_XDC = ti.targets.C674
348 endif
350 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
351 # in the filename extension of object/library/executable files
352 ifeq ($(ENDIAN),big)
353 ENDIAN_EXT = e
354 endif
356 # Define the file extensions
357 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
358 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
359 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
360 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
361 endif
363 ifeq ($(ISA),64p)
364 COMPILER = C6000
365 ifeq ($(FORMAT),ELF)
366 ifeq ($(ENDIAN),big)
367 TARGET_XDC = ti.targets.elf.C64P_big_endian
368 else
369 TARGET_XDC = ti.targets.elf.C64P
370 endif
371 FORMAT_EXT = e
372 else
373 ifeq ($(ENDIAN),big)
374 TARGET_XDC = ti.targets.C64P_big_endian
375 else
376 TARGET_XDC = ti.targets.C64P
377 endif
378 endif
380 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
381 # in the filename extension of object/library/executable files
382 ifeq ($(ENDIAN),big)
383 ENDIAN_EXT = e
384 endif
386 # Define the file extensions
387 OBJEXT = o$(FORMAT_EXT)64P$(ENDIAN_EXT)
388 LIBEXT = a$(FORMAT_EXT)64P$(ENDIAN_EXT)
389 EXEEXT = x$(FORMAT_EXT)64P$(ENDIAN_EXT)
390 ASMEXT = s$(FORMAT_EXT)64P$(ENDIAN_EXT)
391 endif
393 ifeq ($(ISA),64t)
394 COMPILER = C6000
395 ifeq ($(FORMAT),ELF)
396 ifeq ($(ENDIAN),big)
397 TARGET_XDC = ti.targets.elf.C64T_big_endian
398 else
399 TARGET_XDC = ti.targets.elf.C64T
400 endif
401 FORMAT_EXT = e
402 else
403 ifeq ($(ENDIAN),big)
404 TARGET_XDC = ti.targets.C64T_big_endian
405 else
406 TARGET_XDC = ti.targets.C64T
407 endif
408 endif
410 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
411 # in the filename extension of object/library/executable files
412 ifeq ($(ENDIAN),big)
413 ENDIAN_EXT = e
414 endif
416 # Define the file extensions
417 OBJEXT = o$(FORMAT_EXT)64T$(ENDIAN_EXT)
418 LIBEXT = a$(FORMAT_EXT)64T$(ENDIAN_EXT)
419 EXEEXT = x$(FORMAT_EXT)64T$(ENDIAN_EXT)
420 ASMEXT = s$(FORMAT_EXT)64T$(ENDIAN_EXT)
421 endif
423 ifeq ($(ISA),66)
424 COMPILER = C6000
425 ifeq ($(FORMAT),ELF)
426 ifeq ($(ENDIAN),big)
427 TARGET_XDC = ti.targets.elf.C66_big_endian
428 else
429 TARGET_XDC = ti.targets.elf.C66
430 endif
431 FORMAT_EXT = e
432 else
433 ifeq ($(ENDIAN),big)
434 TARGET_XDC = ti.targets.C66_big_endian
435 else
436 TARGET_XDC = ti.targets.C66
437 endif
438 endif
440 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
441 # in the filename extension of object/library/executable files
442 ifeq ($(ENDIAN),big)
443 ENDIAN_EXT = e
444 endif
446 # Define the file extensions
447 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
448 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
449 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
450 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
452 endif
454 ifeq ($(ISA),a8)
455 ifeq ($(TOOLCHAIN_a8),TI)
456 TARGET_XDC = ti.targets.arm.elf.A8F
457 ifeq ($(FORMAT),ELF)
458 FORMAT_EXT = e
459 endif
460 ifeq ($(ENDIAN),big)
461 ENDIAN_EXT = ef
462 else
463 ENDIAN_EXT = f
464 endif
465 COMPILER = TMS470
466 else
467 TARGET_XDC = gnu.targets.arm.A8F
468 CFLAGS_LOCAL_a8host += -DGCC_BUILD
469 FORMAT_EXT =
470 ENDIAN_EXT = fg
471 COMPILER = LINARO_GCC
472 endif
474 # Define the file extensions
475 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
476 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
477 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
478 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
479 endif
481 ifeq ($(ISA),arm9)
482 COMPILER = TMS470
483 TARGET_XDC = ti.targets.arm.elf.Arm9
484 ifeq ($(FORMAT),ELF)
485 FORMAT_EXT = e
486 endif
487 ifeq ($(ENDIAN),big)
488 ENDIAN_EXT = e
489 endif
491 # Define the file extensions
492 OBJEXT = o$(FORMAT_EXT)9$(ENDIAN_EXT)
493 LIBEXT = a$(FORMAT_EXT)9$(ENDIAN_EXT)
494 EXEEXT = x$(FORMAT_EXT)9$(ENDIAN_EXT)
495 ASMEXT = s$(FORMAT_EXT)9$(ENDIAN_EXT)
496 endif
498 ifeq ($(ISA),arp32)
499 ifeq ($(FORMAT),ELF)
500 TARGET_XDC = ti.targets.arp32.elf.ARP32_far
501 ENDIAN_EXT = f
502 FORMAT_EXT = e
503 else
504 TARGET_XDC = ti.targets.arp32.elf.ARP32
505 endif
507 # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
508 # in the filename extension of object/library/executable files
509 ifeq ($(ENDIAN),big)
510 ENDIAN_EXT = e
511 endif
513 # Define the file extensions
514 OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
515 LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
516 EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
517 ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
518 endif
520 ifeq (sim,$(findstring sim,$(PLATFORM)))
521 OMX_PLATFORM = sim
522 endif
523 export COMPILER
524 ifeq (ti816x-evm,$(findstring ti816x-evm,$(PLATFORM)))
525 # Don't know why platform define for XDC is separate for A8. TO DO.
526 ifeq ($(CORE),a8host)
527 OMX_PLATFORM = evmSi
528 else
529 OMX_PLATFORM = evmSi816X
530 endif
531 endif
533 ifeq ($(CORE),m3vpss)
534 CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName: \\\"VPSS-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
535 endif
536 ifeq ($(CORE),m3video)
537 CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"VIDEO-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
538 endif
539 ifeq ($(CORE),c6xdsp)
540 CFGARGS_XDC =
541 endif
542 ifeq ($(CORE),a8host)
543 CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"HOST\\\", tiler: \\\"NullTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
544 endif
546 # Nothing beyond this point