]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/drv/emac/emac_component.mk
a6d54747736953189020fce0c3dbac53d9ed0c9e
[processor-sdk/pdk.git] / packages / ti / drv / emac / emac_component.mk
1 #
2 # Copyright (c) 2016-2020, Texas Instruments Incorporated
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
7 # are met:
8 #
9 # *  Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 #
12 # *  Redistributions in binary form must reproduce the above copyright
13 #    notice, this list of conditions and the following disclaimer in the
14 #    documentation and/or other materials provided with the distribution.
15 #
16 # *  Neither the name of Texas Instruments Incorporated nor the names of
17 #    its contributors may be used to endorse or promote products derived
18 #    from this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #
33 # File: emac_component.mk
34 #       This file is component include make file of EMAC library.
35 # List of variables set in this file and their purpose:
36 # <mod>_RELPATH        - This is the relative path of the module, typically from
37 #                        top-level directory of the package
38 # <mod>_PATH           - This is the absolute path of the module. It derives from
39 #                        absolute path of the top-level directory (set in env.mk)
40 #                        and relative path set above
41 # <mod>_INCLUDE        - This is the path that has interface header files of the
42 #                        module. This can be multiple directories (space separated)
43 # <mod>_PKG_LIST       - Names of the modules (and sub-modules) that are a part
44 #                        part of this module, including itself.
45 # <mod>_BOARD_DEPENDENCY - "yes": means the code for this module depends on
46 #                             board and the compiled obj/lib has to be kept
47 #                             under <board> directory
48 #                             "no" or "" or if this variable is not defined: means
49 #                             this module has no board dependent code and hence
50 #                             the obj/libs are not kept under <board> dir.
51 # <mod>_CORE_DEPENDENCY     - "yes": means the code for this module depends on
52 #                             core and the compiled obj/lib has to be kept
53 #                             under <core> directory
54 #                             "no" or "" or if this variable is not defined: means
55 #                             this module has no core dependent code and hence
56 #                             the obj/libs are not kept under <core> dir.
57 # <mod>_APP_STAGE_FILES     - List of source files that belongs to the module
58 #                             <mod>, but that needs to be compiled at application
59 #                             build stage (in the context of the app). This is
60 #                             primarily for link time configurations or if the
61 #                             source file is dependent on options/defines that are
62 #                             application dependent. This can be left blank or
63 #                             not defined at all, in which case, it means there
64 #                             no source files in the module <mod> that are required
65 #                             to be compiled in the application build stage.
66 #
67 ifeq ($(emac_component_make_include), )
69 # under other list
70 drvemac_BOARDLIST       = am65xx_evm am65xx_idk j721e_sim j721e_evm
71 drvemac_SOCLIST         = am574x am572x am571x am437x am335x k2g dra72x dra75x dra78x omapl137 omapl138 c6657 am65xx j721e
72 drvemac_am574x_CORELIST = c66x a15_0 ipu1_0
73 drvemac_am572x_CORELIST = c66x a15_0 ipu1_0
74 drvemac_am571x_CORELIST = c66x a15_0 ipu1_0
75 drvemac_am437x_CORELIST = a9host
76 drvemac_am335x_CORELIST = a8host
77 drvemac_k2g_CORELIST    = c66x a15_0
78 drvemac_dra72x_CORELIST = a15_0 ipu1_0
79 drvemac_dra75x_CORELIST = a15_0 ipu1_0
80 drvemac_dra78x_CORELIST = ipu1_0
81 drvemac_omapl137_CORELIST = c674x arm9_0
82 drvemac_omapl138_CORELIST = c674x arm9_0
83 drvemac_c6657_CORELIST  = c66x
84 drvemac_am65xx_CORELIST = mpu1_0 mcu1_0
85 drvemac_j721e_CORELIST = mpu1_0 mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1
87 ############################
88 # emac package
89 # List of components included under emac lib
90 # The components included here are built and will be part of emac lib
91 ############################
92 #emac_LIB_LIST = emac emac_indp
93 emac_LIB_LIST =
94 drvemac_LIB_LIST = $(emac_LIB_LIST)
96 ############################
97 # makefile based emac test apps
98 # List of tests under emac
99 # All the tests mentioned in list are built when test target is called
100 # List below all test apps for allowed values
101 ############################
102 #emac_EXAMPLE_LIST = Emac_Icssg_TestApp Emac_Cpsw_TestApp Emac_Cpsw_Smp_TestApp Emac_Icssg_WithoutDDR_TestApp
103 emac_EXAMPLE_LIST = 
104 drvemac_EXAMPLE_LIST = $(emac_EXAMPLE_LIST)
107 # EMAC Modules
110 # EMAC LIB
111 emac_COMP_LIST = emac
112 emac_RELPATH = ti/drv/emac
113 emac_PATH = $(PDK_EMAC_COMP_PATH)
114 emac_LIBNAME = ti.drv.emac
115 export emac_LIBNAME
116 emac_LIBPATH = $(emac_PATH)/lib
117 export emac_LIBPATH
118 emac_OBJPATH = $(emac_RELPATH)/emac
119 export emac_OBJPATH
120 emac_MAKEFILE = -f build/makefile.mk
121 export emac_MAKEFILE
122 emac_BOARD_DEPENDENCY = no
123 emac_CORE_DEPENDENCY = no
124 emac_SOC_DEPENDENCY = yes
125 export emac_COMP_LIST
126 export emac_BOARD_DEPENDENCY
127 export emac_CORE_DEPENDENCY
128 export emac_SOC_DEPENDENCY
129 emac_PKG_LIST = emac
130 export emac_PKG_LIST
131 emac_INCLUDE = $(emac_PATH)
132 emac_SOCLIST = $(drvemac_SOCLIST)
133 export emac_SOCLIST
134 emac_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
135 export emac_$(SOC)_CORELIST
137 # EMAC INDEPENDENT LIB
138 emac_indp_COMP_LIST = emac_indp
139 emac_indp_RELPATH = ti/drv/emac
140 emac_indp_PATH = $(PDK_EMAC_COMP_PATH)
141 emac_indp_LIBNAME = ti.drv.emac
142 export emac_indp_LIBNAME
143 emac_indp_LIBPATH = $(emac_indp_PATH)/lib
144 export emac_indp_LIBPATH
145 emac_indp_OBJPATH = $(emac_indp_RELPATH)/emac_indp
146 export emac_indp_OBJPATH
147 emac_indp_MAKEFILE = -f build/makefile_indp.mk
148 export emac_indp_MAKEFILE
149 emac_indp_BOARD_DEPENDENCY = no
150 emac_indp_CORE_DEPENDENCY = no
151 emac_indp_SOC_DEPENDENCY = no
152 export emac_indp_COMP_LIST
153 export emac_indp_BOARD_DEPENDENCY
154 export emac_indp_CORE_DEPENDENCY
155 export emac_indp_SOC_DEPENDENCY
156 emac_indp_PKG_LIST = emac_indp
157 export emac_indp_PKG_LIST
158 emac_indp_INCLUDE = $(emac_indp_PATH)
159 emac_indp_SOCLIST = $(drvemac_SOCLIST)
160 export emac_indp_SOCLIST
161 emac_indp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
162 export emac_indp_$(SOC)_CORELIST
164 # EMAC PROFILE LIB
165 emac_profile_COMP_LIST = emac_profile
166 emac_profile_RELPATH = ti/drv/emac
167 emac_profile_PATH = $(PDK_EMAC_COMP_PATH)
168 emac_profile_LIBNAME = ti.drv.emac.profiling
169 export emac_profile_LIBNAME
170 emac_profile_LIBPATH = $(emac_profile_PATH)/lib
171 export emac_profile_LIBPATH
172 emac_profile_OBJPATH = $(emac_profile_RELPATH)/emac_profile
173 export emac_profile_OBJPATH
174 emac_profile_MAKEFILE = -f build/makefile_profile.mk
175 export emac_profile_MAKEFILE
176 emac_profile_BOARD_DEPENDENCY = no
177 emac_profile_CORE_DEPENDENCY = no
178 emac_profile_SOC_DEPENDENCY = yes
179 export emac_profile_COMP_LIST
180 export emac_profile_BOARD_DEPENDENCY
181 export emac_profile_CORE_DEPENDENCY
182 export emac_profile_SOC_DEPENDENCY
183 emac_profile_PKG_LIST = emac_profile
184 export emac_profile_PKG_LIST
185 emac_profile_INCLUDE = $(emac_profile_PATH)
186 emac_profile_SOCLIST = $(drvemac_SOCLIST)
187 export emac_profile_SOCLIST
188 emac_profile_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
189 export emac_profile_$(SOC)_CORELIST
191 # EMAC PROFILE INDEPENDENT LIB
192 emac_profile_indp_COMP_LIST = emac_profile_indp
193 emac_profile_indp_RELPATH = ti/drv/emac
194 emac_profile_indp_PATH = $(PDK_EMAC_COMP_PATH)
195 emac_profile_indp_LIBNAME = ti.drv.emac.profiling
196 export emac_profile_indp_LIBNAME
197 emac_profile_indp_LIBPATH = $(emac_profile_indp_PATH)/lib
198 export emac_profile_indp_LIBPATH
199 emac_profile_indp_OBJPATH = $(emac_profile_indp_RELPATH)/emac_profile_indp
200 export emac_profile_indp_OBJPATH
201 emac_profile_indp_MAKEFILE = -f build/makefile_profile_indp.mk
202 export emac_profile_indp_MAKEFILE
203 emac_profile_indp_BOARD_DEPENDENCY = no
204 emac_profile_indp_CORE_DEPENDENCY = no
205 emac_profile_indp_SOC_DEPENDENCY = no
206 export emac_profile_indp_COMP_LIST
207 export emac_profile_indp_BOARD_DEPENDENCY
208 export emac_profile_indp_CORE_DEPENDENCY
209 export emac_profile_indp_SOC_DEPENDENCY
210 emac_profile_indp_PKG_LIST = emac_profile_indp
211 export emac_profile_indp_PKG_LIST
212 emac_profile_indp_INCLUDE = $(emac_profile_indp_PATH)
213 emac_profile_indp_SOCLIST = $(drvemac_SOCLIST)
214 export emac_profile_indp_SOCLIST
215 emac_profile_indp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
216 export emac_profile_indp_$(SOC)_CORELIST
218 # EMAC unit test app ICSSG
219 Emac_Icssg_TestApp_COMP_LIST = Emac_Icssg_TestApp
220 Emac_Icssg_TestApp_RELPATH = ti/drv/emac/test/EmacLoopbackTest
221 Emac_Icssg_TestApp_PATH = $(PDK_EMAC_COMP_PATH)/test/EmacLoopbackTest
222 Emac_Icssg_TestApp_BOARD_DEPENDENCY = yes
223 Emac_Icssg_TestApp_CORE_DEPENDENCY = no
224 Emac_Icssg_TestApp_XDC_CONFIGURO = yes
225 Emac_Icssg_TestApp_MAKEFILE = -f $(SOC)/icssg/makefile_dualmac
226 export Emac_Icssg_TestApp_MAKEFILE
227 export Emac_Icssg_TestApp_board_dependency
228 export Emac_Icssg_TestApp_core_dependency
229 export Emac_Icssg_TestApp_xdc_configuro
230 Emac_Icssg_TestApp_PKG_LIST = Emac_Icssg_TestApp
231 Emac_Icssg_TestApp_INCLUDE = $(Emac_Icssg_TestApp_PATH)
232 Emac_Icssg_TestApp_BOARDLIST = am65xx_evm am65xx_idk
233 export Emac_Icssg_TestApp_BOARDLIST
234 Emac_Icssg_TestApp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
235 export Emac_Icssg_TestApp_$(SOC)_CORELIST
237 Emac_Icssg_TestApp_SBL_APPIMAGEGEN = yes
238 export Emac_Icssg_TestApp_SBL_APPIMAGEGEN
240 # EMAC unit test app CPSW
241 Emac_Cpsw_TestApp_COMP_LIST = Emac_Cpsw_TestApp
242 Emac_Cpsw_TestApp_RELPATH = ti/drv/emac/test/EmacLoopbackTest
243 Emac_Cpsw_TestApp_PATH = $(PDK_EMAC_COMP_PATH)/test/EmacLoopbackTest
244 Emac_Cpsw_TestApp_BOARD_DEPENDENCY = yes
245 Emac_Cpsw_TestApp_CORE_DEPENDENCY = no
246 Emac_Cpsw_TestApp_XDC_CONFIGURO = yes
247 Emac_Cpsw_TestApp_MAKEFILE = -f $(SOC)/cpsw/makefile
248 export Emac_Cpsw_TestApp_board_dependency
249 export Emac_Cpsw_TestApp_core_dependency
250 export Emac_Cpsw_TestApp_xdc_configuro
251 Emac_Cpsw_TestApp_PKG_LIST = Emac_Cpsw_TestApp
252 Emac_Cpsw_TestApp_INCLUDE = $(Emac_Cpsw_TestApp_PATH)
253 Emac_Cpsw_TestApp_BOARDLIST = am65xx_evm am65xx_idk j721e_sim j721e_evm
254 export Emac_Cpsw_TestApp_BOARDLIST
255 Emac_Cpsw_TestApp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
256 export Emac_Cpsw_TestApp_$(SOC)_CORELIST
258 Emac_Cpsw_TestApp_SBL_APPIMAGEGEN = yes
259 ifeq ($(SOC),$(filter $(SOC), j721e))
260 Emac_Cpsw_TestApp_SBL_APPIMAGEGEN = no
261 endif
262 export Emac_Cpsw_TestApp_SBL_APPIMAGEGEN
264 # EMAC unit test app CPSW with SMP enabled
265 Emac_Cpsw_Smp_TestApp_COMP_LIST = Emac_Cpsw_Smp_TestApp
266 Emac_Cpsw_Smp_TestApp_RELPATH = ti/drv/emac/test/EmacLoopbackTest
267 Emac_Cpsw_Smp_TestApp_PATH = $(PDK_EMAC_COMP_PATH)/test/EmacLoopbackTest
268 Emac_Cpsw_Smp_TestApp_BOARD_DEPENDENCY = yes
269 Emac_Cpsw_Smp_TestApp_CORE_DEPENDENCY = no
270 Emac_Cpsw_Smp_TestApp_XDC_CONFIGURO = yes
271 Emac_Cpsw_Smp_TestApp_MAKEFILE = -f $(SOC)/cpsw/makefile SMP=enable
272 export Emac_Cpsw_Smp_TestApp_board_dependency
273 export Emac_Cpsw_Smp_TestApp_core_dependency
274 export Emac_Cpsw_Smp_TestApp_xdc_configuro
275 Emac_Cpsw_Smp_TestApp_PKG_LIST = Emac_Cpsw_Smp_TestApp
276 Emac_Cpsw_Smp_TestApp_INCLUDE = $(Emac_Cpsw_Smp_TestApp_PATH)
277 Emac_Cpsw_Smp_TestApp_BOARDLIST = am65xx_evm am65xx_idk
278 export Emac_Cpsw_Smp_TestApp_BOARDLIST
279 Emac_Cpsw_Smp_TestApp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
280 export Emac_Cpsw_Smp_TestApp_$(SOC)_CORELIST
282 Emac_Cpsw_Smp_TestApp_SBL_APPIMAGEGEN = yes
283 export Emac_Cpsw_Smp_TestApp_SBL_APPIMAGEGEN
285 # EMAC unit test app ICSSG without DDR
286 Emac_Icssg_WithoutDDR_TestApp_COMP_LIST = Emac_Icssg_WithoutDDR_TestApp
287 Emac_Icssg_WithoutDDR_TestApp_RELPATH = ti/drv/emac/test/EmacLoopbackTest
288 Emac_Icssg_WithoutDDR_TestApp_PATH = $(PDK_EMAC_COMP_PATH)/test/EmacLoopbackTest
289 Emac_Icssg_WithoutDDR_TestApp_BOARD_DEPENDENCY = yes
290 Emac_Icssg_WithoutDDR_TestApp_CORE_DEPENDENCY = no
291 Emac_Icssg_WithoutDDR_TestApp_XDC_CONFIGURO = yes
292 Emac_Icssg_WithoutDDR_TestApp_MAKEFILE = -f am65xx/icssg/makefile_without_ddr
293 export Emac_Icssg_WithoutDDR_TestApp_MAKEFILE
294 export Emac_Icssg_WithoutDDR_TestApp_board_dependency
295 export Emac_Icssg_WithoutDDR_TestApp_core_dependency
296 export Emac_Icssg_WithoutDDR_TestApp_xdc_configuro
297 Emac_Icssg_WithoutDDR_TestApp_PKG_LIST = Emac_Icssg_WithoutDDR_TestApp
298 Emac_Icssg_WithoutDDR_TestApp_INCLUDE = $(Emac_Icssg_WithoutDDR_TestApp_PATH)
299 Emac_Icssg_WithoutDDR_TestApp_BOARDLIST = am65xx_evm am65xx_idk
300 export Emac_Icssg_WithoutDDR_TestApp_BOARDLIST
301 #Emac_Icssg_WithoutDDR_TestApp_$(SOC)_CORELIST = $(drvemac_$(SOC)_CORELIST)
302 Emac_Icssg_WithoutDDR_TestApp_$(SOC)_CORELIST = mcu1_0
303 export Emac_Icssg_WithoutDDR_TestApp_$(SOC)_CORELIST
305 Emac_Icssg_WithoutDDR_TestApp_SBL_APPIMAGEGEN = yes
306 export Emac_Icssg_WithoutDDR_TestApp_SBL_APPIMAGEGEN
308 export drvemac_LIB_LIST
309 export emac_LIB_LIST
310 export emac_EXAMPLE_LIST
311 export drvemac_EXAMPLE_LIST
313 emac_component_make_include := 1
314 endif