NOTICE OF RELOCATION
[keystone-rtos/sbl.git] / sbl_component.mk
1 #
2 # Copyright (c) 2018, 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: sbl_component.mk
34 #       This file is component include make file of SBL.
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 #                             platform and the compiled obj/lib has to be kept
47 #                             under <platform> directory
48 #                             "no" or "" or if this variable is not defined: means
49 #                             this module has no platform dependent code and hence
50 #                             the obj/libs are not kept under <platform> 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 ($(sbl_component_make_include), )
69 sbl_BOARDLIST = am65xx_evm am65xx_idk j721e_evm
71 sbl_SOCLIST = am65xx j721e
73 am65xx_smp_CORELIST := mcu1_0 mpu1_0 mpu2_0
74 sbl_am65xx_CORELIST := mcu1_0 mcu1_1 mpu1_0 mpu1_1 mpu2_0 mpu2_1
75 am65xx_LASTCORE := $(word $(words $(sbl_am65xx_CORELIST)), $(sbl_am65xx_CORELIST))
77 j721e_smp_CORELIST := mcu1_0 mcu2_0 mcu3_0 mpu1_0
78 sbl_j721e_CORELIST := mcu1_0 mcu1_1 mcu2_0 mcu2_1 mcu3_0 mcu3_1 mpu1_0 mpu1_1
79 j721e_LASTCORE := $(word $(words $(sbl_j721e_CORELIST)), $(sbl_j721e_CORELIST))
81 sbl_DISABLE_PARALLEL_MAKE = yes
82 ############################
83 # sbl package
84 # List of components included under sbl
85 # The components included here are built and will be part of sbl
86 ############################
87 sbl_LIB_LIST = sbl_lib_mmcsd sbl_lib_ospi sbl_lib_uart sbl_lib_hyperflash sbl_lib_cust
89 ############################
90 # sbl example
91 # List of examples under sbl (+= is used at each example definition)
92 # All the tests mentioned in list are built when test target is called
93 # List below all examples for allowed values
94 ############################
95 sbl_EXAMPLE_LIST =
97 #
98 # SBL Modules
99 #
101 # SBL MMCSD LIB
102 sbl_lib_mmcsd_COMP_LIST = sbl_lib_mmcsd
103 sbl_lib_mmcsd_RELPATH = ti/boot/sbl
104 export sbl_lib_mmcsd_OBJPATH = ti/boot/sbl/mmcsd
105 sbl_lib_mmcsd_PATH = $(PDK_SBL_COMP_PATH)
106 sbl_lib_mmcsd_LIBNAME = sbl_lib_mmcsd
107 sbl_lib_mmcsd_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/mmcsd
108 sbl_lib_mmcsd_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=mmcsd
109 export sbl_lib_mmcsd_MAKEFILE
110 export sbl_lib_mmcsd_LIBNAME
111 export sbl_lib_mmcsd_LIBPATH
112 sbl_lib_mmcsd_BOARD_DEPENDENCY = yes
113 sbl_lib_mmcsd_SOC_DEPENDENCY = yes
114 sbl_lib_mmcsd_CORE_DEPENDENCY = no
115 export sbl_lib_mmcsd_COMP_LIST
116 export sbl_lib_mmcsd_BOARD_DEPENDENCY
117 export sbl_lib_mmcsd_CORE_DEPENDENCY
118 sbl_lib_mmcsd_PKG_LIST = sbl_lib_mmcsd
119 sbl_lib_mmcsd_INCLUDE = $(sbl_lib_mmcsd_PATH)
120 sbl_lib_mmcsd_SOCLIST = $(sbl_SOCLIST)
121 sbl_lib_mmcsd_BOARDLIST = $(sbl_BOARDLIST)
122 export sbl_lib_mmcsd_SOCLIST
123 export sbl_lib_mmcsd_BOARDLIST
124 sbl_lib_mmcsd_$(SOC)_CORELIST = mcu1_0
125 export sbl_lib_mmcsd_$(SOC)_CORELIST
127 # SBL OSPI LIB
128 sbl_lib_ospi_COMP_LIST = sbl_lib_ospi
129 sbl_lib_ospi_RELPATH = ti/boot/sbl/ospi
130 export sbl_lib_ospi_OBJPATH = ti/boot/sbl/ospi
131 sbl_lib_ospi_PATH = $(PDK_SBL_COMP_PATH)
132 sbl_lib_ospi_LIBNAME = sbl_lib_ospi
133 sbl_lib_ospi_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/ospi
134 sbl_lib_ospi_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=ospi
135 export sbl_lib_ospi_MAKEFILE
136 export sbl_lib_ospi_LIBNAME
137 export sbl_lib_ospi_LIBPATH
138 sbl_lib_ospi_BOARD_DEPENDENCY = yes
139 sbl_lib_ospi_SOC_DEPENDENCY = yes
140 sbl_lib_ospi_CORE_DEPENDENCY = no
141 export sbl_lib_ospi_COMP_LIST
142 export sbl_lib_ospi_BOARD_DEPENDENCY
143 export sbl_lib_ospi_CORE_DEPENDENCY
144 sbl_lib_ospi_PKG_LIST = sbl_lib_ospi
145 sbl_lib_ospi_INCLUDE = $(sbl_lib_ospi_PATH)
146 sbl_lib_ospi_SOCLIST = $(sbl_SOCLIST)
147 sbl_lib_ospi_BOARDLIST = $(sbl_BOARDLIST)
148 export sbl_lib_ospi_SOCLIST
149 export sbl_lib_ospi_BOARDLIST
150 sbl_lib_ospi_$(SOC)_CORELIST = mcu1_0
151 export sbl_lib_ospi_$(SOC)_CORELIST
153 # SBL HYPERFLASH LIB
154 sbl_lib_hyperflash_COMP_LIST = sbl_lib_hyperflash
155 sbl_lib_hyperflash_RELPATH = ti/boot/sbl/hyperflash
156 export sbl_lib_hyperflash_OBJPATH = ti/boot/sbl/hyperflash
157 sbl_lib_hyperflash_PATH = $(PDK_SBL_COMP_PATH)
158 sbl_lib_hyperflash_LIBNAME = sbl_lib_hyperflash
159 sbl_lib_hyperflash_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/hyperflash
160 sbl_lib_hyperflash_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=hyperflash
161 export sbl_lib_hyperflash_MAKEFILE
162 export sbl_lib_hyperflash_LIBNAME
163 export sbl_lib_hyperflash_LIBPATH
164 sbl_lib_hyperflash_BOARD_DEPENDENCY = yes
165 sbl_lib_hyperflash_SOC_DEPENDENCY = yes
166 sbl_lib_hyperflash_CORE_DEPENDENCY = no
167 export sbl_lib_hyperflash_COMP_LIST
168 export sbl_lib_hyperflash_BOARD_DEPENDENCY
169 export sbl_lib_hyperflash_CORE_DEPENDENCY
170 sbl_lib_hyperflash_PKG_LIST = sbl_lib_hyperflash
171 sbl_lib_hyperflash_INCLUDE = $(sbl_lib_hyperflash_PATH)
172 sbl_lib_hyperflash_SOCLIST = j721e
173 sbl_lib_hyperflash_BOARDLIST = j721e_evm
174 export sbl_lib_hyperflash_SOCLIST
175 export sbl_lib_hyperflash_BOARDLIST
176 sbl_lib_hyperflash_$(SOC)_CORELIST = mcu1_0
177 export sbl_lib_hyperflash_$(SOC)_CORELIST
179 # SBL UART LIB
180 sbl_lib_uart_COMP_LIST = sbl_lib_uart
181 sbl_lib_uart_RELPATH = ti/boot/sbl
182 export sbl_lib_uart_OBJPATH = ti/boot/sbl/uart
183 sbl_lib_uart_PATH = $(PDK_SBL_COMP_PATH)
184 sbl_lib_uart_LIBNAME = sbl_lib_uart
185 sbl_lib_uart_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/uart
186 sbl_lib_uart_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=uart
187 export sbl_lib_uart_MAKEFILE
188 export sbl_lib_uart_LIBNAME
189 export sbl_lib_uart_LIBPATH
190 sbl_lib_uart_BOARD_DEPENDENCY = yes
191 sbl_lib_uart_SOC_DEPENDENCY = yes
192 sbl_lib_uart_CORE_DEPENDENCY = no
193 export sbl_lib_uart_COMP_LIST
194 export sbl_lib_uart_BOARD_DEPENDENCY
195 export sbl_lib_uart_CORE_DEPENDENCY
196 sbl_lib_uart_PKG_LIST = sbl_lib_uart
197 sbl_lib_uart_INCLUDE = $(sbl_lib_uart_PATH)
198 sbl_lib_uart_SOCLIST = $(sbl_SOCLIST)
199 sbl_lib_uart_BOARDLIST = $(sbl_BOARDLIST)
200 export sbl_lib_uart_SOCLIST
201 export sbl_lib_uart_BOARDLIST
202 sbl_lib_uart_$(SOC)_CORELIST = mcu1_0
203 export sbl_lib_uart_$(SOC)_CORELIST
206 # SBL Examples
208 # SBL MMCSD Image
209 sbl_mmcsd_img_COMP_LIST = sbl_mmcsd_img
210 sbl_mmcsd_img_RELPATH = ti/boot/sbl/board/k3
211 sbl_mmcsd_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/mmcsd/bin
212 sbl_mmcsd_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
213 sbl_mmcsd_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=mmcsd
214 export sbl_mmcsd_img_MAKEFILE
215 sbl_mmcsd_img_BOARD_DEPENDENCY = yes
216 sbl_mmcsd_img_SOC_DEPENDENCY = yes
217 sbl_mmcsd_img_CORE_DEPENDENCY = no
218 export sbl_mmcsd_img_COMP_LIST
219 export sbl_mmcsd_img_BOARD_DEPENDENCY
220 export sbl_mmcsd_img_SOC_DEPENDENCY
221 export sbl_mmcsd_img_CORE_DEPENDENCY
222 sbl_mmcsd_img_PKG_LIST = sbl
223 sbl_mmcsd_img_INCLUDE = $(sbl_mmcsd_img_PATH)
224 sbl_mmcsd_img_BOARDLIST = $(sbl_BOARDLIST)
225 export sbl_mmcsd_img_BOARDLIST
226 sbl_mmcsd_img_$(SOC)_CORELIST = mcu1_0
227 export sbl_mmcsd_img_$(SOC)_CORELIST
228 sbl_EXAMPLE_LIST += sbl_mmcsd_img
229 sbl_mmcsd_img_SBL_IMAGEGEN = yes
230 export sbl_mmcsd_img_SBL_IMAGEGEN
232 # SBL OSPI Image
233 sbl_ospi_img_COMP_LIST = sbl_ospi_img
234 sbl_ospi_img_RELPATH = ti/boot/sbl/board/k3
235 sbl_ospi_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/ospi/bin
236 sbl_ospi_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
237 sbl_ospi_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=ospi
238 export sbl_ospi_img_MAKEFILE
239 sbl_ospi_img_BOARD_DEPENDENCY = yes
240 sbl_ospi_img_SOC_DEPENDENCY = yes
241 sbl_ospi_img_CORE_DEPENDENCY = no
242 export sbl_ospi_img_COMP_LIST
243 export sbl_ospi_img_BOARD_DEPENDENCY
244 export sbl_ospi_img_SOC_DEPENDENCY
245 export sbl_ospi_img_CORE_DEPENDENCY
246 sbl_ospi_img_PKG_LIST = sbl
247 sbl_ospi_img_INCLUDE = $(sbl_ospi_img_PATH)
248 sbl_ospi_img_BOARDLIST = $(sbl_BOARDLIST)
249 export sbl_ospi_img_BOARDLIST
250 sbl_ospi_img_$(SOC)_CORELIST = mcu1_0
251 export sbl_ospi_img_$(SOC)_CORELIST
252 sbl_EXAMPLE_LIST += sbl_ospi_img
253 sbl_ospi_img_SBL_IMAGEGEN = yes
254 export sbl_ospi_img_SBL_IMAGEGEN
256 # SBL HYPERFLASH Image
257 sbl_hyperflash_img_COMP_LIST = sbl_hyperflash_img
258 sbl_hyperflash_img_RELPATH = ti/boot/sbl/board/k3
259 sbl_hyperflash_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/hyperflash/bin
260 sbl_hyperflash_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
261 sbl_hyperflash_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=hyperflash
262 export sbl_hyperflash_img_MAKEFILE
263 sbl_hyperflash_img_BOARD_DEPENDENCY = yes
264 bl_hyperflash_img_SOC_DEPENDENCY = yes
265 sbl_hyperflash_img_CORE_DEPENDENCY = no
266 export sbl_hyperflash_img_COMP_LIST
267 export sbl_hyperflash_img_BOARD_DEPENDENCY
268 export sbl_hyperflash_img_SOC_DEPENDENCY
269 export sbl_hyperflash_img_CORE_DEPENDENCY
270 sbl_hyperflash_img_PKG_LIST = sbl
271 sbl_hyperflash_img_INCLUDE = $(sbl_hyperflash_img_PATH)
272 sbl_hyperflash_img_BOARDLIST = j721e_evm
273 export sbl_hyperflash_img_BOARDLIST
274 sbl_hyperflash_img_$(SOC)_CORELIST = mcu1_0
275 export sbl_hyperflash_img_$(SOC)_CORELIST
276 sbl_EXAMPLE_LIST += sbl_hyperflash_img
277 sbl_hyperflash_img_SBL_IMAGEGEN = yes
278 export sbl_hyperflash_img_SBL_IMAGEGEN
280 # SBL UART Image
281 sbl_uart_img_COMP_LIST = sbl_uart_img
282 sbl_uart_img_RELPATH = ti/boot/sbl/board/k3
283 sbl_uart_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/uart/bin
284 sbl_uart_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
285 sbl_uart_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=uart
286 export sbl_uart_img_MAKEFILE
287 sbl_uart_img_BOARD_DEPENDENCY = yes
288 sbl_uart_img_SOC_DEPENDENCY = yes
289 sbl_uart_img_CORE_DEPENDENCY = no
290 export sbl_uart_img_COMP_LIST
291 export sbl_uart_img_BOARD_DEPENDENCY
292 export sbl_uart_img_SOC_DEPENDENCY
293 export sbl_uart_img_CORE_DEPENDENCY
294 sbl_uart_img_PKG_LIST = sbl
295 sbl_uart_img_INCLUDE = $(sbl_uart_img_PATH)
296 sbl_uart_img_BOARDLIST = $(sbl_BOARDLIST)
297 export sbl_uart_img_BOARDLIST
298 sbl_uart_img_$(SOC)_CORELIST = mcu1_0
299 export sbl_uart_img_$(SOC)_CORELIST
300 sbl_EXAMPLE_LIST += sbl_uart_img
301 sbl_uart_img_SBL_IMAGEGEN = yes
302 export sbl_uart_img_SBL_IMAGEGEN
304 # Individual Core Boot Test
305 sbl_boot_test_COMP_LIST = sbl_boot_test
306 sbl_boot_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
307 sbl_boot_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
308 sbl_boot_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
309 sbl_boot_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_boot_test.mk
310 export sbl_boot_test_MAKEFILE
311 sbl_boot_test_BOARD_DEPENDENCY = no
312 sbl_boot_test_SOC_DEPENDENCY = no
313 sbl_boot_test_CORE_DEPENDENCY = no
314 export sbl_boot_test_COMP_LIST
315 export sbl_boot_test_BOARD_DEPENDENCY
316 export sbl_boot_test_SOC_DEPENDENCY
317 export sbl_boot_test_CORE_DEPENDENCY
318 sbl_boot_test_PKG_LIST = sbl_boot_test
319 sbl_boot_test_INCLUDE = $(sbl_boot_test_PATH)
320 sbl_boot_test_BOARDLIST = $(sbl_BOARDLIST)
321 export sbl_boot_test_BOARDLIST
322 sbl_boot_test_$(SOC)_CORELIST = $(sbl_$(SOC)_CORELIST)
323 export sbl_boot_test_$(SOC)_CORELIST
324 sbl_EXAMPLE_LIST += sbl_boot_test
325 sbl_boot_test_SBL_APPIMAGEGEN = yes
326 export sbl_boot_test_SBL_APPIMAGEGEN
328 # Multicore AMP Boot Test
329 sbl_multicore_amp_COMP_LIST = sbl_multicore_amp
330 sbl_multicore_amp_RELPATH = ti/boot/sbl/example/k3MulticoreApp
331 sbl_multicore_amp_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
332 sbl_multicore_amp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
333 sbl_multicore_amp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_amp.mk
334 export sbl_multicore_amp_MAKEFILE
335 sbl_multicore_amp_BOARD_DEPENDENCY = no
336 sbl_multicore_amp_SOC_DEPENDENCY = no
337 sbl_multicore_amp_CORE_DEPENDENCY = no
338 export sbl_multicore_amp_COMP_LIST
339 export sbl_multicore_amp_BOARD_DEPENDENCY
340 export sbl_multicore_amp_SOC_DEPENDENCY
341 export sbl_multicore_amp_CORE_DEPENDENCY
342 sbl_multicore_amp_PKG_LIST = sbl_multicore_amp
343 sbl_multicore_amp_INCLUDE = $(sbl_multicore_amp_PATH)
344 sbl_multicore_amp_BOARDLIST = $(sbl_BOARDLIST)
345 export sbl_multicore_amp_BOARDLIST
346 sbl_multicore_amp_$(SOC)_CORELIST = $($(SOC)_LASTCORE)
347 export sbl_multicore_amp_$(SOC)_CORELIST
348 sbl_EXAMPLE_LIST += sbl_multicore_amp
349 sbl_multicore_amp_SBL_APPIMAGEGEN = no
350 export sbl_multicore_amp_SBL_APPIMAGEGEN
352 # R5 Lockstep and MPU SMP Boot Test
353 sbl_smp_test_COMP_LIST = sbl_smp_test
354 sbl_smp_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
355 sbl_smp_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
356 sbl_smp_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
357 sbl_smp_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_smp_test.mk BOOTMODE=mmcsd
358 export sbl_smp_test_MAKEFILE
359 sbl_smp_test_BOARD_DEPENDENCY = no
360 sbl_smp_test_SOC_DEPENDENCY = no
361 sbl_smp_test_CORE_DEPENDENCY = no
362 export sbl_smp_test_COMP_LIST
363 export sbl_smp_test_BOARD_DEPENDENCY
364 export sbl_smp_test_SOC_DEPENDENCY
365 export sbl_smp_test_CORE_DEPENDENCY
366 sbl_smp_test_PKG_LIST = sbl_smp_test
367 sbl_smp_test_INCLUDE = $(sbl_smp_test_PATH)
368 sbl_smp_test_BOARDLIST = $(sbl_BOARDLIST)
369 export sbl_smp_test_BOARDLIST
370 sbl_smp_test_$(SOC)_CORELIST = $($(SOC)_smp_CORELIST)
371 export sbl_smp_test_$(SOC)_CORELIST
372 sbl_EXAMPLE_LIST += sbl_smp_test
373 sbl_smp_test_SBL_APPIMAGEGEN = yes
374 export sbl_smp_test_SBL_APPIMAGEGEN
376 # Multicore SMP Boot Test
377 sbl_multicore_smp_COMP_LIST = sbl_multicore_smp
378 sbl_multicore_smp_RELPATH = ti/boot/sbl/example/k3MulticoreApp
379 sbl_multicore_smp_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
380 sbl_multicore_smp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
381 sbl_multicore_smp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_smp.mk
382 export sbl_multicore_smp_MAKEFILE
383 sbl_multicore_smp_BOARD_DEPENDENCY = no
384 sbl_multicore_smp_SOC_DEPENDENCY = no
385 sbl_multicore_smp_CORE_DEPENDENCY = no
386 export sbl_multicore_smp_COMP_LIST
387 export sbl_multicore_smp_BOARD_DEPENDENCY
388 export sbl_multicore_smp_SOC_DEPENDENCY
389 export sbl_multicore_smp_CORE_DEPENDENCY
390 sbl_multicore_smp_PKG_LIST = sbl_multicore_smp
391 sbl_multicore_smp_INCLUDE = $(sbl_multicore_smp_PATH)
392 sbl_multicore_smp_BOARDLIST = $(sbl_BOARDLIST)
393 export sbl_multicore_smp_BOARDLIST
394 sbl_multicore_smp_$(SOC)_CORELIST := $($(SOC)_LASTCORE)
395 export sbl_multicore_smp_$(SOC)_CORELIST
396 sbl_EXAMPLE_LIST += sbl_multicore_smp
397 sbl_multicore_smp_SBL_APPIMAGEGEN = no
398 export sbl_multicore_smp_SBL_APPIMAGEGEN
400 # R5 boot XIP Test
401 sbl_boot_xip_test_COMP_LIST = sbl_boot_xip_test
402 sbl_boot_xip_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
403 sbl_boot_xip_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
404 sbl_boot_xip_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
405 sbl_boot_xip_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_mcu0_boot_xip_test.mk
406 export sbl_boot_xip_test_MAKEFILE
407 sbl_boot_xip_test_BOARD_DEPENDENCY = no
408 sbl_boot_xip_test_SOC_DEPENDENCY = no
409 sbl_boot_xip_test_CORE_DEPENDENCY = no
410 export sbl_boot_xip_test_COMP_LIST
411 export sbl_boot_xip_test_BOARD_DEPENDENCY
412 export sbl_boot_xip_test_SOC_DEPENDENCY
413 export sbl_boot_xip_test_CORE_DEPENDENCY
414 sbl_boot_xip_test_PKG_LIST = sbl_boot_xip_test
415 sbl_boot_xip_test_INCLUDE = $(sbl_boot_xip_test_PATH)
416 sbl_boot_xip_test_BOARDLIST = $(sbl_BOARDLIST)
417 export sbl_boot_xip_test_BOARDLIST
418 sbl_boot_xip_test_$(SOC)_CORELIST = mcu1_0
419 export sbl_boot_xip_test_$(SOC)_CORELIST
420 sbl_EXAMPLE_LIST += sbl_boot_xip_test
421 sbl_boot_xip_test_SBL_APPIMAGEGEN = yes
422 sbl_boot_xip_test_SBL_APP_BINIMAGEGEN = yes
423 sbl_boot_xip_test_SBL_APP_BIN_SECTIONS = --only-section .rstvectors --only-section .sbl_mcu_1_0_resetvector
424 export sbl_boot_xip_test_SBL_APPIMAGEGEN
425 export sbl_boot_xip_test_SBL_APP_BINIMAGEGEN
426 export sbl_boot_xip_test_SBL_APP_BIN_SECTIONS
428 # R5 boot XIP entry
429 sbl_boot_xip_entry_COMP_LIST = sbl_boot_xip_entry
430 sbl_boot_xip_entry_RELPATH = ti/boot/sbl/example/k3MulticoreApp
431 sbl_boot_xip_entry_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
432 sbl_boot_xip_entry_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
433 sbl_boot_xip_entry_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_mcu0_boot_xip_entry.mk
434 export sbl_boot_xip_entry_MAKEFILE
435 sbl_boot_xip_entry_BOARD_DEPENDENCY = no
436 sbl_boot_xip_entry_SOC_DEPENDENCY = no
437 sbl_boot_xip_entry_CORE_DEPENDENCY = no
438 export sbl_boot_xip_entry_COMP_LIST
439 export sbl_boot_xip_entry_BOARD_DEPENDENCY
440 export sbl_boot_xip_entry_SOC_DEPENDENCY
441 export sbl_boot_xip_entry_CORE_DEPENDENCY
442 sbl_boot_xip_entry_PKG_LIST = sbl_boot_xip_entry
443 sbl_boot_xip_entry_INCLUDE = $(sbl_boot_xip_entry_PATH)
444 sbl_boot_xip_entry_BOARDLIST = $(sbl_BOARDLIST)
445 export sbl_boot_xip_entry_BOARDLIST
446 sbl_boot_xip_entry_$(SOC)_CORELIST = mcu1_0
447 export sbl_boot_xip_entry_$(SOC)_CORELIST
448 sbl_EXAMPLE_LIST += sbl_boot_xip_entry
449 sbl_boot_xip_entry_SBL_APPIMAGEGEN = yes
450 export sbl_boot_xip_entry_SBL_APPIMAGEGEN
452 # Display profiling info before MCU1_0 boot
453 # increases delay time, between end of SBL
454 # and start of app, but useful for
455 # debugging and tuning performace knobs
456 #SBL_CFLAGS += -DSBL_DISPLAY_PROFILE_INFO
458 # 0 - use cpu for reads (slower, no $ coherency ops needed), smaller SBL
459 # 1 - use dma for data reads (faster, $ coherency ops needed), larger SBL
460 SBL_CFLAGS += -DSBL_USE_DMA=1
462 ###### Use boot_perf_benchmark example#######
463 ###### to fine tune the perf knobs  #########
465 ###########START BOOT PERF KNOBS#############
466 # SBL log level
467 # no logs = 0, only errors =1, normal logs = 2, all logs = 3
468 SBL_CFLAGS += -DSBL_LOG_LEVEL=2
470 SBL_CFLAGS += -DSBL_ENABLE_PLL
471 SBL_CFLAGS += -DSBL_ENABLE_CLOCKS
472 SBL_CFLAGS += -DSBL_ENABLE_DDR
474 ############################################
475 # DISABLING the options above this caption
476 # improves boot time at the cost of moving
477 # PLL, LPSC and DDR init to the app
479 # ENABLING the options below this caption
480 # improves boot time by skipping stuff SBL
481 # usually does.
482 ###########################################
483 # If enabled, the SBL will branch to the start
484 # of MCU_0 app without resetting the core
485 # if csl defaults are godd enough this enables
486 # app to skip redoing mcu initialization
487 #SBL_CFLAGS += -DSBL_SKIP_MCU_RESET
489 # If enabled, SBL will skip initializing
490 # sysfw. The SBL will only load it.
491 # No SCI Client APIs will work. Saves
492 # boot time. When this is enabled
493 # make sure that SBL_SKIP_MCU_RESET is also
494 # enabled, as resetting a core needs SYSFW
495 # to be running.
496 # SBL_CFLAGS += -DSBL_SKIP_SYSFW_INIT
498 # If enabled, SBL will skip calling
499 # Sciclient_boardCfg* API.  Enabling
500 # it saves boot time, can affect
501 # functionality. The app must call the
502 # Sciclient_boardCfg* APIs that the SBL
503 # skips. Like for eg, if SBL skips calling
504 # Sciclient_boardCfgPm, then Sciclient_boardCfgRm
505 # and Sciclient_boardCfgSec must also
506 # be skipped.
507 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_BOARD
508 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_RM
509 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_SEC
510 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_PM
512 # If enabled, SBL will not enable all the
513 # PLLs and Clocks, user can specify a
514 # subset of PLLs and clocks in board
515 # that is needed only for the application
516 # startup. The rest can be initialized by the
517 # app to save boot time or if the application
518 # usecase demands it.
519 #SBL_CFLAGS += -DSBL_ENABLE_CUST_PLLS
520 #SBL_CFLAGS += -DSBL_ENABLE_CUST_CLOCKS
521 ###########END BOOT PERF KNOBS#############
523 # Example - Building Custom SBL Images
524 # Build and SBl with custom flags to change
525 # different build configurations
526 CUST_SBL_TEST_SOCS = am65xx j721e
527 CUST_SBL_TEST_BOARDS = am65xx_evm j721e_evm
528 #CUST_SBL_TEST_FLAGS =" -DSBL_USE_DMA=1 -DSBL_LOG_LEVEL=0 -DSBL_SCRATCH_MEM_START=0x70100000 -DSBL_SCRATCH_MEM_SIZE=0xF0000 -DSBL_SKIP_MCU_RESET  -DBOOT_OSPI "
529 #CUST_SBL_TEST_FLAGS =" -DSBL_USE_DMA=1 -DSBL_LOG_LEVEL=0 -DSBL_SCRATCH_MEM_START=0x70100000 -DSBL_SKIP_MCU_RESET -DSBL_SKIP_BRD_CFG_PM -DBOOT_OSPI "
530 #CUST_SBL_TEST_FLAGS =" -DSBL_USE_DMA=0 -DSBL_LOG_LEVEL=0 -DSBL_SCRATCH_MEM_START=0x70100000 -DSBL_SCRATCH_MEM_SIZE=0xF0000 -DSBL_SKIP_SYSFW_INIT -DSBL_SKIP_MCU_RESET -DBOOT_OSPI"
531 #CUST_SBL_TEST_FLAGS =" -DSBL_USE_DMA=1 -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0xB8000000 -DSBL_SCRATCH_MEM_SIZE=0x4000000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_ENABLE_DDR -DSBL_SKIP_MCU_RESET -DBOOT_OSPI"
532 CUST_SBL_TEST_FLAGS =" -DSBL_USE_DMA=0 -DSBL_LOG_LEVEL=1 -DSBL_SCRATCH_MEM_START=0x70100000 -DSBL_SCRATCH_MEM_SIZE=0xF0000 -DSBL_ENABLE_PLL -DSBL_ENABLE_CLOCKS -DSBL_ENABLE_CUST_PLLS -DSBL_ENABLE_CUST_CLOCKS -DSBL_SKIP_MCU_RESET -DBOOT_OSPI"
534 # SBL Custom LIB
535 sbl_lib_cust_COMP_LIST = sbl_lib_cust
536 sbl_lib_cust_RELPATH = ti/boot/sbl
537 export sbl_lib_cust_OBJPATH = ti/boot/sbl/cust
538 sbl_lib_cust_PATH = $(PDK_SBL_COMP_PATH)
539 sbl_lib_cust_LIBNAME = sbl_lib_cust
540 sbl_lib_cust_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/cust
541 sbl_lib_cust_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=cust CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)
542 export sbl_lib_cust_MAKEFILE
543 export sbl_lib_cust_LIBNAME
544 export sbl_lib_cust_LIBPATH
545 sbl_lib_cust_BOARD_DEPENDENCY = yes
546 sbl_lib_cust_SOC_DEPENDENCY = yes
547 sbl_lib_cust_CORE_DEPENDENCY = no
548 export sbl_lib_cust_COMP_LIST
549 export sbl_lib_cust_BOARD_DEPENDENCY
550 export sbl_lib_cust_CORE_DEPENDENCY
551 sbl_lib_cust_PKG_LIST = sbl_lib_cust
552 sbl_lib_cust_INCLUDE = $(sbl_lib_cust_PATH)
553 sbl_lib_cust_SOCLIST = $(CUST_SBL_TEST_SOCS)
554 sbl_lib_cust_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
555 export sbl_lib_cust_SOCLIST
556 export sbl_lib_cust_BOARDLIST
557 sbl_lib_cust_$(SOC)_CORELIST = mcu1_0
558 export sbl_lib_cust_$(SOC)_CORELIST
560 # SBL custom image
561 sbl_cust_img_COMP_LIST = sbl_cust_img
562 sbl_cust_img_RELPATH = ti/boot/sbl/board/k3
563 sbl_cust_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/cust/bin
564 sbl_cust_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
565 sbl_cust_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=cust CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)
566 export sbl_cust_img_MAKEFILE
567 sbl_cust_img_BOARD_DEPENDENCY = yes
568 sbl_cust_img_SOC_DEPENDENCY = yes
569 sbl_cust_img_CORE_DEPENDENCY = no
570 export sbl_cust_img_COMP_LIST
571 export sbl_cust_img_BOARD_DEPENDENCY
572 export sbl_cust_img_SOC_DEPENDENCY
573 export sbl_cust_img_CORE_DEPENDENCY
574 sbl_cust_img_PKG_LIST = sbl
575 sbl_cust_img_INCLUDE = $(sbl_cust_img_PATH)
576 sbl_cust_img_SOCLIST = $(CUST_SBL_TEST_SOCS)
577 sbl_cust_img_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
578 export sbl_cust_img_SOCLIST
579 export sbl_cust_img_BOARDLIST
580 sbl_cust_img_$(SOC)_CORELIST = mcu1_0
581 export sbl_cust_img_$(SOC)_CORELIST
582 sbl_EXAMPLE_LIST += sbl_cust_img
583 sbl_cust_img_SBL_IMAGEGEN = yes
584 export sbl_cust_img_SBL_IMAGEGEN
586 # R5 boot performance Test - works only with custom SBL
587 sbl_boot_perf_test_COMP_LIST = sbl_boot_perf_test
588 sbl_boot_perf_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
589 sbl_boot_perf_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
590 sbl_boot_perf_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
591 sbl_boot_perf_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_mcu0_boot_perf_test.mk BOOTMODE=cust CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)
592 export sbl_boot_perf_test_MAKEFILE
593 sbl_boot_perf_test_BOARD_DEPENDENCY = no
594 sbl_boot_perf_test_SOC_DEPENDENCY = no
595 sbl_boot_perf_test_CORE_DEPENDENCY = no
596 export sbl_boot_perf_test_COMP_LIST
597 export sbl_boot_perf_test_BOARD_DEPENDENCY
598 export sbl_boot_perf_test_SOC_DEPENDENCY
599 export sbl_boot_perf_test_CORE_DEPENDENCY
600 sbl_boot_perf_test_PKG_LIST = sbl_boot_perf_test
601 sbl_boot_perf_test_INCLUDE = $(sbl_boot_perf_test_PATH)
602 sbl_boot_perf_test_SOCLIST = $(CUST_SBL_TEST_SOCS)
603 sbl_boot_perf_test_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
604 export sbl_boot_perf_test_SOCLIST
605 export sbl_boot_perf_test_BOARDLIST
606 sbl_boot_perf_test_$(SOC)_CORELIST = mcu1_0
607 export sbl_boot_perf_test_$(SOC)_CORELIST
608 sbl_EXAMPLE_LIST += sbl_boot_perf_test
609 sbl_boot_perf_test_SBL_APPIMAGEGEN = yes
610 export sbl_boot_perf_test_SBL_APPIMAGEGEN
612 # SBL not supported for any profile
613 # other than release
614 ifneq ($(BUILD_PROFILE), release)
615 sbl_LIB_LIST =
616 sbl_EXAMPLE_LIST =
617 SBL_CFLAGS =
618 endif # ifneq ($(BUILD_PROFILE), release)
620 export sbl_LIB_LIST
621 export sbl_EXAMPLE_LIST
622 export SBL_CFLAGS
624 sbl_component_make_include := 1
625 endif