]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/edma3_lld.git/blob - makerules/platform.mk
Change extn for A15, A8 built with GCC
[keystone-rtos/edma3_lld.git] / makerules / platform.mk
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) Simulator
14 ifeq ($(PLATFORM),tda2xx-evm)
15  SOC = tda2xx
16  PLATFORM_XDC = "ti.platforms.simVayu"
17 endif
19 # ti816x (Netra) catalog EVM
20 ifeq ($(PLATFORM),ti816x-evm)
21  SOC = ti816x
22  PLATFORM_XDC = "ti.platforms.evmTI816X"
23 endif
25 # ti816x (Netra) Simulator
26 ifeq ($(PLATFORM),ti816x-sim)
27  SOC = ti816x
28  ifeq ($(CORE),c6xdsp)
29   PLATFORM_XDC = "ti.platforms.simDM8168"
30  endif
31 endif
33 # ti814x (Centaurus) Catalog EVM
34 ifeq ($(PLATFORM),ti814x-evm)
35  SOC = ti814x
36  PLATFORM_XDC = "ti.platforms.evmTI814X"
37 endif
39 # c6a811x (J5Eco) Catalog EVM
40 ifeq ($(PLATFORM),c6a811x-evm)
41  SOC = c6a811x
42  PLATFORM_XDC = "ti.platforms.evmTI811X"
43 endif
45 # c6472 (Tomahawk) EVM
46 ifeq ($(PLATFORM),c6472-evm)
47  SOC = c6472
48  PLATFORM_XDC = "ti.platforms.evm6472"
49 endif
51 # tci6486 (Tomahawk) EVM
52 ifeq ($(PLATFORM),tci6486-evm)
53  SOC = c6472
54  PLATFORM_XDC = "ti.platforms.evmTCI6486"
55 endif
57 # tci6608 (Shannon) Simulator 
58 ifeq ($(PLATFORM),tci6608-sim)
59  SOC = c6608
60  PLATFORM_XDC = "ti.platforms.simTCI6608"
61 endif
63 # tci6616 (Nyquist) Simulator 
64 ifeq ($(PLATFORM),tci6616-sim)
65  SOC = c6616
66  PLATFORM_XDC = "ti.platforms.simTCI6616"
67 endif
69 # tci6614 (Appleton) Simulator 
70 ifeq ($(PLATFORM),tci6614-sim)
71  SOC = tci6614
72  PLATFORM_XDC = "ti.platforms.simTCI6614"
73 endif
75 # c6657 (Gauss) Simulator 
76 ifeq ($(PLATFORM),c6657-sim)
77  SOC = c6657
78  PLATFORM_XDC = "ti.platforms.simC6657"
79 endif
81 # tci6638k2k (Kepler2) Simulator 
82 ifeq ($(PLATFORM),tci6638k2k-sim)
83  SOC = tci6638k2k
84  PLATFORM_XDC = "ti.platforms.simKepler"
85 endif
87 # c6670 (Nyquist) EVM
88 ifeq ($(PLATFORM),c6670-evm)
89  SOC = c6670
90  PLATFORM_XDC = "ti.platforms.evm6670"
91 endif
93 # c6678 (Shannon) EVM
94 ifeq ($(PLATFORM),c6678-evm)
95  SOC = c6678
96  PLATFORM_XDC = "ti.platforms.evm6678"
97 endif
99 # tci6614 (Appleton) EVM
100 ifeq ($(PLATFORM),tci6614-evm)
101  SOC = tci6614
102  PLATFORM_XDC = "ti.platforms.evmTCI6614"
103 endif
105 # c6657 (Gauss) EVM
106 ifeq ($(PLATFORM),c6657-evm)
107  SOC = c6657
108  PLATFORM_XDC = "ti.platforms.evm6657"
109 endif
111 # tci6638k2k (Kepler2) EVM
112 ifeq ($(PLATFORM),tci6638k2k-evm)
113  SOC = tci6638k2k
114  PLATFORM_XDC = "ti.platforms.evmTCI6638K2K"
115 endif
117 # tci6636k2h (Hawking) EVM
118 ifeq ($(PLATFORM),tci6636k2h-evm)
119  SOC = tci6636k2h
120  PLATFORM_XDC = "ti.platforms.evmTCI6636K2H"
121 endif
123 # omapl138 (Freon) EVM
124 ifeq ($(PLATFORM),omapl138-evm)
125  SOC = omapl138
126  PLATFORM_XDC = "ti.platforms.evmOMAPL138"
127 endif
129 # c6748 (Freon) EVM
130 ifeq ($(PLATFORM),c6748-evm)
131  SOC = omapl138
132  PLATFORM_XDC = "ti.platforms.evm6748"
133 endif
135 # da830 (Primus) EVM
136 ifeq ($(PLATFORM),da830-evm)
137  SOC = omapl137
138  PLATFORM_XDC = "ti.platforms.evmDA830"
139 endif
141 # omap4 EVM
142 ifeq ($(PLATFORM),omap4-evm)
143  SOC = omap4
144  PLATFORM_XDC = "ti.platforms.sdp4430"
145 endif
147 # Generic platform
148 ifeq ($(PLATFORM),generic)
149  SOC = generic
150  PLATFORM_XDC = 
151 endif
153 # Derive Target/ISA from CORE
155 # m4
156 ifeq ($(CORE),m4)
157  ISA = m4
158 endif
160 # a15host
161 ifeq ($(CORE),a15host)
162  ISA = a15
163 endif
165 # m3vpss
166 ifeq ($(CORE),m3vpss)
167  ISA = m3
168 endif
170 # m3video
171 ifeq ($(CORE),m3video)
172  ISA = m3
173 endif
175 # a8host
176 ifeq ($(CORE),a8host)
177  ISA = a8
178 endif
180 # arm9
181 ifeq ($(CORE),arm9)
182  ISA = arm9
183 endif
185 # c6xdsp
186 ifeq ($(CORE),c6xdsp)
187  ifeq ($(SOC),ti816x)
188   ISA = 674
189  endif
190  ifeq ($(SOC),tda2xx)
191   ISA = 66
192  endif
193  ifeq ($(SOC),ti814x)
194   ISA = 674
195  endif
196  ifeq ($(SOC),c6a811x)
197   ISA = 674
198  endif
199  ifeq ($(SOC),omapl137)
200   ISA = 674
201  endif
202  ifeq ($(SOC),omapl138)
203   ISA = 674
204  endif
205  ifeq ($(SOC),c6472)
206   ISA = 64p
207  endif
208  ifeq ($(SOC),c6608)
209   ISA = 66
210  endif
211  ifeq ($(SOC),c6616)
212   ISA = 66
213  endif
214  ifeq ($(SOC),tci6614)
215   ISA = 66
216  endif
217  ifeq ($(SOC),c6657)
218   ISA = 66
219  endif
220  ifeq ($(SOC),c6670)
221   ISA = 66
222  endif
223  ifeq ($(SOC),c6678)
224   ISA = 66
225  endif
226  ifeq ($(SOC),tci6638k2k)
227   ISA = 66
228  endif
229  ifeq ($(SOC),tci6636k2h)
230   ISA = 66
231  endif
232  ifeq ($(SOC),omap4)
233   ISA = 64t
234  endif
235 endif
237 # Platform and SOC is generic; use the core name same as ISA (eg: 674)
238 ifeq ($(SOC),generic)
239   ISA = $(CORE)
240 endif
243 # Derive XDC/ISA specific settings 
245 ifeq ($(ISA),m4)
246   COMPILER = TMS470
247   ifeq ($(FORMAT),ELF)
248     TARGET_XDC = ti.targets.arm.elf.M4
249     FORMAT_EXT = e
250   else
251     TARGET_XDC = ti.targets.arm.M4
252   endif
253   
254   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
255   #    in the filename extension of object/library/executable files
256   ifeq ($(ENDIAN),big)
257     ENDIAN_EXT = e
258   endif
260   # Define the file extensions
261   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
262   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
263   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
264   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
265 endif
267 ifeq ($(ISA),a15)
268   TARGET_XDC = gnu.targets.arm.A15F
269   CFLAGS_LOCAL_a15host += -DGCC_BUILD
270   COMPILER = LINARO_GCC
271   FORMAT_EXT =
272   ENDIAN_EXT = fg
274   # Define the file extensions
275   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
276   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
277   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
278   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
279 endif
281 ifeq ($(ISA),m3)
282   COMPILER = TMS470
283   ifeq ($(FORMAT),ELF)
284     TARGET_XDC = ti.targets.arm.elf.M3
285     FORMAT_EXT = e
286   else
287     TARGET_XDC = ti.targets.arm.M3
288   endif
289   
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),674)
304   COMPILER = C6000
305   ifeq ($(FORMAT),ELF)
306     TARGET_XDC = ti.targets.elf.C674
307     FORMAT_EXT = e
308   else
309     TARGET_XDC = ti.targets.C674
310   endif
311   
312   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
313   #    in the filename extension of object/library/executable files
314   ifeq ($(ENDIAN),big)
315     ENDIAN_EXT = e
316   endif
318   # Define the file extensions
319   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
320   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
321   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
322   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
323 endif
325 ifeq ($(ISA),64p)
326   COMPILER = C6000
327   ifeq ($(FORMAT),ELF)
328    ifeq ($(ENDIAN),big)
329     TARGET_XDC = ti.targets.elf.C64P_big_endian
330    else
331     TARGET_XDC = ti.targets.elf.C64P
332    endif
333     FORMAT_EXT = e
334   else
335    ifeq ($(ENDIAN),big)
336     TARGET_XDC = ti.targets.C64P_big_endian
337    else
338     TARGET_XDC = ti.targets.C64P
339    endif
340   endif
341   
342   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
343   #    in the filename extension of object/library/executable files
344   ifeq ($(ENDIAN),big)
345     ENDIAN_EXT = e
346   endif
348   # Define the file extensions
349   OBJEXT = o$(FORMAT_EXT)64P$(ENDIAN_EXT)
350   LIBEXT = a$(FORMAT_EXT)64P$(ENDIAN_EXT)
351   EXEEXT = x$(FORMAT_EXT)64P$(ENDIAN_EXT)
352   ASMEXT = s$(FORMAT_EXT)64P$(ENDIAN_EXT)
353 endif
355 ifeq ($(ISA),64t)
356   COMPILER = C6000
357   ifeq ($(FORMAT),ELF)
358    ifeq ($(ENDIAN),big)
359     TARGET_XDC = ti.targets.elf.C64T_big_endian
360    else
361     TARGET_XDC = ti.targets.elf.C64T
362    endif
363     FORMAT_EXT = e
364   else
365    ifeq ($(ENDIAN),big)
366     TARGET_XDC = ti.targets.C64T_big_endian
367    else
368     TARGET_XDC = ti.targets.C64T
369    endif
370   endif
371   
372   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
373   #    in the filename extension of object/library/executable files
374   ifeq ($(ENDIAN),big)
375     ENDIAN_EXT = e
376   endif
378   # Define the file extensions
379   OBJEXT = o$(FORMAT_EXT)64T$(ENDIAN_EXT)
380   LIBEXT = a$(FORMAT_EXT)64T$(ENDIAN_EXT)
381   EXEEXT = x$(FORMAT_EXT)64T$(ENDIAN_EXT)
382   ASMEXT = s$(FORMAT_EXT)64T$(ENDIAN_EXT)
383 endif
385 ifeq ($(ISA),66)
386   COMPILER = C6000
387   ifeq ($(FORMAT),ELF)
388    ifeq ($(ENDIAN),big)
389     TARGET_XDC = ti.targets.elf.C66_big_endian
390    else
391     TARGET_XDC = ti.targets.elf.C66
392    endif
393     FORMAT_EXT = e
394   else
395    ifeq ($(ENDIAN),big)
396     TARGET_XDC = ti.targets.C66_big_endian
397    else
398     TARGET_XDC = ti.targets.C66
399    endif
400   endif
401   
402   # If ENDIAN is set to "big", set ENDIAN_EXT to "e", that would be used in
403   #    in the filename extension of object/library/executable files
404   ifeq ($(ENDIAN),big)
405     ENDIAN_EXT = e
406   endif
408   # Define the file extensions
409   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
410   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
411   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
412   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
414 endif
416 ifeq ($(ISA),a8)
417   ifeq ($(TOOLCHAIN_a8),TI)
418     TARGET_XDC = ti.targets.arm.elf.A8F
419     ifeq ($(FORMAT),ELF)
420       FORMAT_EXT = e
421     endif
422     ifeq ($(ENDIAN),big)
423       ENDIAN_EXT = ef
424         else
425           ENDIAN_EXT = f
426     endif
427         COMPILER = TMS470
428   else
429     TARGET_XDC = gnu.targets.arm.A8F
430     CFLAGS_LOCAL_a8host += -DGCC_BUILD
431         FORMAT_EXT =
432         ENDIAN_EXT = fg
433         COMPILER = LINARO_GCC
434   endif
436   # Define the file extensions
437   OBJEXT = o$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
438   LIBEXT = a$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
439   EXEEXT = x$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
440   ASMEXT = s$(FORMAT_EXT)$(ISA)$(ENDIAN_EXT)
441 endif
443 ifeq ($(ISA),arm9)
444   COMPILER = TMS470
445   TARGET_XDC = ti.targets.arm.elf.Arm9
446   ifeq ($(FORMAT),ELF)
447     FORMAT_EXT = e
448   endif
449   ifeq ($(ENDIAN),big)
450     ENDIAN_EXT = e
451   endif
453   # Define the file extensions
454   OBJEXT = o$(FORMAT_EXT)9$(ENDIAN_EXT)
455   LIBEXT = a$(FORMAT_EXT)9$(ENDIAN_EXT)
456   EXEEXT = x$(FORMAT_EXT)9$(ENDIAN_EXT)
457   ASMEXT = s$(FORMAT_EXT)9$(ENDIAN_EXT)
458 endif
460 ifeq (sim,$(findstring sim,$(PLATFORM)))
461   OMX_PLATFORM = sim
462 endif
463 export COMPILER
464 ifeq (ti816x-evm,$(findstring ti816x-evm,$(PLATFORM)))
465  # Don't know why platform define for XDC is separate for A8. TO DO.
466  ifeq ($(CORE),a8host)
467   OMX_PLATFORM = evmSi
468  else
469   OMX_PLATFORM = evmSi816X
470  endif
471 endif
473 ifeq ($(CORE),m3vpss)
474   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName: \\\"VPSS-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
475 endif
476 ifeq ($(CORE),m3video)
477   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"VIDEO-M3\\\", tiler: \\\"DucatiTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
478 endif
479 ifeq ($(CORE),c6xdsp)
480   CFGARGS_XDC = 
481 endif
482 ifeq ($(CORE),a8host)
483   CFGARGS_XDC = \"{mode: \\\"$(IPC_MODE)\\\", coreName:\\\"HOST\\\", tiler: \\\"NullTilerMemMgr\\\", platformMem: \\\"$(PLATFORM_MEM)\\\", maxResolution: \\\"$(MAX_RESOLUTION)\\\", omxBuildPlatform: \\\"$(OMX_PLATFORM)\\\"}\"
484 endif
486 # Nothing beyond this point