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