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_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 UART LIB
154 sbl_lib_uart_COMP_LIST = sbl_lib_uart
155 sbl_lib_uart_RELPATH = ti/boot/sbl
156 export sbl_lib_uart_OBJPATH = ti/boot/sbl/uart
157 sbl_lib_uart_PATH = $(PDK_SBL_COMP_PATH)
158 sbl_lib_uart_LIBNAME = sbl_lib_uart
159 sbl_lib_uart_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/uart
160 sbl_lib_uart_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=uart
161 export sbl_lib_uart_MAKEFILE
162 export sbl_lib_uart_LIBNAME
163 export sbl_lib_uart_LIBPATH
164 sbl_lib_uart_BOARD_DEPENDENCY = yes
165 sbl_lib_uart_SOC_DEPENDENCY = yes
166 sbl_lib_uart_CORE_DEPENDENCY = no
167 export sbl_lib_uart_COMP_LIST
168 export sbl_lib_uart_BOARD_DEPENDENCY
169 export sbl_lib_uart_CORE_DEPENDENCY
170 sbl_lib_uart_PKG_LIST = sbl_lib_uart
171 sbl_lib_uart_INCLUDE = $(sbl_lib_uart_PATH)
172 sbl_lib_uart_SOCLIST = $(sbl_SOCLIST)
173 sbl_lib_uart_BOARDLIST = $(sbl_BOARDLIST)
174 export sbl_lib_uart_SOCLIST
175 export sbl_lib_uart_BOARDLIST
176 sbl_lib_uart_$(SOC)_CORELIST = mcu1_0
177 export sbl_lib_uart_$(SOC)_CORELIST
179 #
180 # SBL Examples
181 #
182 # SBL MMCSD Image
183 sbl_mmcsd_img_COMP_LIST = sbl_mmcsd_img
184 sbl_mmcsd_img_RELPATH = ti/boot/sbl/board/k3
185 sbl_mmcsd_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/mmcsd/bin
186 sbl_mmcsd_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
187 sbl_mmcsd_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=mmcsd
188 export sbl_mmcsd_img_MAKEFILE
189 sbl_mmcsd_img_BOARD_DEPENDENCY = yes
190 sbl_mmcsd_img_SOC_DEPENDENCY = yes
191 sbl_mmcsd_img_CORE_DEPENDENCY = no
192 export sbl_mmcsd_img_COMP_LIST
193 export sbl_mmcsd_img_BOARD_DEPENDENCY
194 export sbl_mmcsd_img_SOC_DEPENDENCY
195 export sbl_mmcsd_img_CORE_DEPENDENCY
196 sbl_mmcsd_img_PKG_LIST = sbl
197 sbl_mmcsd_img_INCLUDE = $(sbl_mmcsd_img_PATH)
198 sbl_mmcsd_img_BOARDLIST = $(sbl_BOARDLIST)
199 export sbl_mmcsd_img_BOARDLIST
200 sbl_mmcsd_img_$(SOC)_CORELIST = mcu1_0
201 export sbl_mmcsd_img_$(SOC)_CORELIST
202 sbl_EXAMPLE_LIST += sbl_mmcsd_img
203 sbl_mmcsd_img_SBL_IMAGEGEN = yes
204 export sbl_mmcsd_img_SBL_IMAGEGEN
206 # SBL OSPI Image
207 sbl_ospi_img_COMP_LIST = sbl_ospi_img
208 sbl_ospi_img_RELPATH = ti/boot/sbl/board/k3
209 sbl_ospi_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/ospi/bin
210 sbl_ospi_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
211 sbl_ospi_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=ospi
212 export sbl_ospi_img_MAKEFILE
213 sbl_ospi_img_BOARD_DEPENDENCY = yes
214 sbl_ospi_img_SOC_DEPENDENCY = yes
215 sbl_ospi_img_CORE_DEPENDENCY = no
216 export sbl_ospi_img_COMP_LIST
217 export sbl_ospi_img_BOARD_DEPENDENCY
218 export sbl_ospi_img_SOC_DEPENDENCY
219 export sbl_ospi_img_CORE_DEPENDENCY
220 sbl_ospi_img_PKG_LIST = sbl
221 sbl_ospi_img_INCLUDE = $(sbl_ospi_img_PATH)
222 sbl_ospi_img_BOARDLIST = $(sbl_BOARDLIST)
223 export sbl_ospi_img_BOARDLIST
224 sbl_ospi_img_$(SOC)_CORELIST = mcu1_0
225 export sbl_ospi_img_$(SOC)_CORELIST
226 sbl_EXAMPLE_LIST += sbl_ospi_img
227 sbl_ospi_img_SBL_IMAGEGEN = yes
228 export sbl_ospi_img_SBL_IMAGEGEN
230 # SBL UART Image
231 sbl_uart_img_COMP_LIST = sbl_uart_img
232 sbl_uart_img_RELPATH = ti/boot/sbl/board/k3
233 sbl_uart_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/uart/bin
234 sbl_uart_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
235 sbl_uart_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=uart
236 export sbl_uart_img_MAKEFILE
237 sbl_uart_img_BOARD_DEPENDENCY = yes
238 sbl_uart_img_SOC_DEPENDENCY = yes
239 sbl_uart_img_CORE_DEPENDENCY = no
240 export sbl_uart_img_COMP_LIST
241 export sbl_uart_img_BOARD_DEPENDENCY
242 export sbl_uart_img_SOC_DEPENDENCY
243 export sbl_uart_img_CORE_DEPENDENCY
244 sbl_uart_img_PKG_LIST = sbl
245 sbl_uart_img_INCLUDE = $(sbl_uart_img_PATH)
246 sbl_uart_img_BOARDLIST = $(sbl_BOARDLIST)
247 export sbl_uart_img_BOARDLIST
248 sbl_uart_img_$(SOC)_CORELIST = mcu1_0
249 export sbl_uart_img_$(SOC)_CORELIST
250 sbl_EXAMPLE_LIST += sbl_uart_img
251 sbl_uart_img_SBL_IMAGEGEN = yes
252 export sbl_uart_img_SBL_IMAGEGEN
254 # Individual Core Boot Test
255 sbl_boot_test_COMP_LIST = sbl_boot_test
256 sbl_boot_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
257 sbl_boot_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
258 sbl_boot_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
259 sbl_boot_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_boot_test.mk
260 export sbl_boot_test_MAKEFILE
261 sbl_boot_test_BOARD_DEPENDENCY = no
262 sbl_boot_test_SOC_DEPENDENCY = no
263 sbl_boot_test_CORE_DEPENDENCY = no
264 export sbl_boot_test_COMP_LIST
265 export sbl_boot_test_BOARD_DEPENDENCY
266 export sbl_boot_test_SOC_DEPENDENCY
267 export sbl_boot_test_CORE_DEPENDENCY
268 sbl_boot_test_PKG_LIST = sbl_boot_test
269 sbl_boot_test_INCLUDE = $(sbl_boot_test_PATH)
270 sbl_boot_test_BOARDLIST = $(sbl_BOARDLIST)
271 export sbl_boot_test_BOARDLIST
272 sbl_boot_test_$(SOC)_CORELIST = $(sbl_$(SOC)_CORELIST)
273 export sbl_boot_test_$(SOC)_CORELIST
274 sbl_EXAMPLE_LIST += sbl_boot_test
275 sbl_boot_test_SBL_APPIMAGEGEN = yes
276 export sbl_boot_test_SBL_APPIMAGEGEN
278 # Multicore AMP Boot Test
279 sbl_multicore_amp_COMP_LIST = sbl_multicore_amp
280 sbl_multicore_amp_RELPATH = ti/boot/sbl/example/k3MulticoreApp
281 sbl_multicore_amp_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
282 sbl_multicore_amp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
283 sbl_multicore_amp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_amp.mk
284 export sbl_multicore_amp_MAKEFILE
285 sbl_multicore_amp_BOARD_DEPENDENCY = no
286 sbl_multicore_amp_SOC_DEPENDENCY = no
287 sbl_multicore_amp_CORE_DEPENDENCY = no
288 export sbl_multicore_amp_COMP_LIST
289 export sbl_multicore_amp_BOARD_DEPENDENCY
290 export sbl_multicore_amp_SOC_DEPENDENCY
291 export sbl_multicore_amp_CORE_DEPENDENCY
292 sbl_multicore_amp_PKG_LIST = sbl_multicore_amp
293 sbl_multicore_amp_INCLUDE = $(sbl_multicore_amp_PATH)
294 sbl_multicore_amp_BOARDLIST = $(sbl_BOARDLIST)
295 export sbl_multicore_amp_BOARDLIST
296 sbl_multicore_amp_$(SOC)_CORELIST = $($(SOC)_LASTCORE)
297 export sbl_multicore_amp_$(SOC)_CORELIST
298 sbl_EXAMPLE_LIST += sbl_multicore_amp
299 sbl_multicore_amp_SBL_APPIMAGEGEN = no
300 export sbl_multicore_amp_SBL_APPIMAGEGEN
302 # R5 Lockstep and MPU SMP Boot Test
303 sbl_smp_test_COMP_LIST = sbl_smp_test
304 sbl_smp_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
305 sbl_smp_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
306 sbl_smp_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
307 sbl_smp_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_smp_test.mk BOOTMODE=mmcsd
308 export sbl_smp_test_MAKEFILE
309 sbl_smp_test_BOARD_DEPENDENCY = no
310 sbl_smp_test_SOC_DEPENDENCY = no
311 sbl_smp_test_CORE_DEPENDENCY = no
312 export sbl_smp_test_COMP_LIST
313 export sbl_smp_test_BOARD_DEPENDENCY
314 export sbl_smp_test_SOC_DEPENDENCY
315 export sbl_smp_test_CORE_DEPENDENCY
316 sbl_smp_test_PKG_LIST = sbl_smp_test
317 sbl_smp_test_INCLUDE = $(sbl_smp_test_PATH)
318 sbl_smp_test_BOARDLIST = $(sbl_BOARDLIST)
319 export sbl_smp_test_BOARDLIST
320 sbl_smp_test_$(SOC)_CORELIST = $($(SOC)_smp_CORELIST)
321 export sbl_smp_test_$(SOC)_CORELIST
322 sbl_EXAMPLE_LIST += sbl_smp_test
323 sbl_smp_test_SBL_APPIMAGEGEN = yes
324 export sbl_smp_test_SBL_APPIMAGEGEN
326 # Multicore SMP Boot Test
327 sbl_multicore_smp_COMP_LIST = sbl_multicore_smp
328 sbl_multicore_smp_RELPATH = ti/boot/sbl/example/k3MulticoreApp
329 sbl_multicore_smp_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
330 sbl_multicore_smp_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
331 sbl_multicore_smp_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_multicore_smp.mk
332 export sbl_multicore_smp_MAKEFILE
333 sbl_multicore_smp_BOARD_DEPENDENCY = no
334 sbl_multicore_smp_SOC_DEPENDENCY = no
335 sbl_multicore_smp_CORE_DEPENDENCY = no
336 export sbl_multicore_smp_COMP_LIST
337 export sbl_multicore_smp_BOARD_DEPENDENCY
338 export sbl_multicore_smp_SOC_DEPENDENCY
339 export sbl_multicore_smp_CORE_DEPENDENCY
340 sbl_multicore_smp_PKG_LIST = sbl_multicore_smp
341 sbl_multicore_smp_INCLUDE = $(sbl_multicore_smp_PATH)
342 sbl_multicore_smp_BOARDLIST = $(sbl_BOARDLIST)
343 export sbl_multicore_smp_BOARDLIST
344 sbl_multicore_smp_$(SOC)_CORELIST := $($(SOC)_LASTCORE)
345 export sbl_multicore_smp_$(SOC)_CORELIST
346 sbl_EXAMPLE_LIST += sbl_multicore_smp
347 sbl_multicore_smp_SBL_APPIMAGEGEN = no
348 export sbl_multicore_smp_SBL_APPIMAGEGEN
350 # 0 - use cpu for reads (slower, no $ coherency ops needed), smaller SBL
351 # 1 - use dma for data reads (faster, $ coherency ops needed), larger SBL
352 SBL_CFLAGS = -DSBL_USE_DMA=1
354 # R5 boot XIP Test
355 sbl_boot_xip_test_COMP_LIST = sbl_boot_xip_test
356 sbl_boot_xip_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
357 sbl_boot_xip_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
358 sbl_boot_xip_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
359 sbl_boot_xip_test_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_mcu0_boot_xip_test.mk
360 export sbl_boot_xip_test_MAKEFILE
361 sbl_boot_xip_test_BOARD_DEPENDENCY = no
362 sbl_boot_xip_test_SOC_DEPENDENCY = no
363 sbl_boot_xip_test_CORE_DEPENDENCY = no
364 export sbl_boot_xip_test_COMP_LIST
365 export sbl_boot_xip_test_BOARD_DEPENDENCY
366 export sbl_boot_xip_test_SOC_DEPENDENCY
367 export sbl_boot_xip_test_CORE_DEPENDENCY
368 sbl_boot_xip_test_PKG_LIST = sbl_boot_xip_test
369 sbl_boot_xip_test_INCLUDE = $(sbl_boot_xip_test_PATH)
370 sbl_boot_xip_test_BOARDLIST = $(sbl_BOARDLIST)
371 export sbl_boot_xip_test_BOARDLIST
372 sbl_boot_xip_test_$(SOC)_CORELIST = mcu1_0
373 export sbl_boot_xip_test_$(SOC)_CORELIST
374 sbl_EXAMPLE_LIST += sbl_boot_xip_test
375 sbl_boot_xip_test_SBL_APPIMAGEGEN = yes
376 sbl_boot_xip_test_SBL_APP_BINIMAGEGEN = yes
377 sbl_boot_xip_test_SBL_APP_BIN_SECTIONS = --only-section .rstvectors --only-section .sbl_mcu_1_0_resetvector
378 export sbl_boot_xip_test_SBL_APPIMAGEGEN
379 export sbl_boot_xip_test_SBL_APP_BINIMAGEGEN
380 export sbl_boot_xip_test_SBL_APP_BIN_SECTIONS
382 # R5 boot XIP entry
383 sbl_boot_xip_entry_COMP_LIST = sbl_boot_xip_entry
384 sbl_boot_xip_entry_RELPATH = ti/boot/sbl/example/k3MulticoreApp
385 sbl_boot_xip_entry_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
386 sbl_boot_xip_entry_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
387 sbl_boot_xip_entry_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_mcu0_boot_xip_entry.mk
388 export sbl_boot_xip_entry_MAKEFILE
389 sbl_boot_xip_entry_BOARD_DEPENDENCY = no
390 sbl_boot_xip_entry_SOC_DEPENDENCY = no
391 sbl_boot_xip_entry_CORE_DEPENDENCY = no
392 export sbl_boot_xip_entry_COMP_LIST
393 export sbl_boot_xip_entry_BOARD_DEPENDENCY
394 export sbl_boot_xip_entry_SOC_DEPENDENCY
395 export sbl_boot_xip_entry_CORE_DEPENDENCY
396 sbl_boot_xip_entry_PKG_LIST = sbl_boot_xip_entry
397 sbl_boot_xip_entry_INCLUDE = $(sbl_boot_xip_entry_PATH)
398 sbl_boot_xip_entry_BOARDLIST = $(sbl_BOARDLIST)
399 export sbl_boot_xip_entry_BOARDLIST
400 sbl_boot_xip_entry_$(SOC)_CORELIST = mcu1_0
401 export sbl_boot_xip_entry_$(SOC)_CORELIST
402 sbl_EXAMPLE_LIST += sbl_boot_xip_entry
403 sbl_boot_xip_entry_SBL_APPIMAGEGEN = yes
404 export sbl_boot_xip_entry_SBL_APPIMAGEGEN
406 # Display profiling info before MCU1_0 boot
407 # increases delay time, between end of SBL
408 # and start of app, but useful for
409 # debugging and tuning performace knobs
410 #SBL_CFLAGS += -DSBL_DISPLAY_PROFILE_INFO
412 ###### Use boot_perf_benchmark example#######
413 ###### to fine tune the perf knobs #########
415 ###########START BOOT PERF KNOBS#############
416 # SBL log level
417 # no logs = 0, only errors =1, normal logs = 2, all logs = 3
418 SBL_CFLAGS += -DSBL_LOG_LEVEL=2
420 SBL_CFLAGS += -DSBL_ENABLE_PLL
421 SBL_CFLAGS += -DSBL_ENABLE_CLOCKS
422 SBL_CFLAGS += -DSBL_ENABLE_DDR
424 ############################################
425 # DISABLING the options above this caption
426 # improves boot time at the cost of moving
427 # PLL, LPSC and DDR init to the app
428 #
429 # ENABLING the options below this caption
430 # improves boot time by skipping stuff SBL
431 # usually does.
432 ###########################################
433 # If enabled, the SBL will branch to the start
434 # of MCU_0 app without resetting the core
435 # if csl defaults are godd enough this enables
436 # app to skip redoing mcu initialization
437 #SBL_CFLAGS += -DSBL_SKIP_MCU_RESET
439 # If enabled, SBL will skip initializing
440 # sysfw. The SBL will only load it.
441 # No SCI Client APIs will work. Saves
442 # boot time. When this is enabled
443 # make sure that SBL_SKIP_MCU_RESET is also
444 # enabled, as resetting a core needs SYSFW
445 # to be running.
446 # SBL_CFLAGS += -DSBL_SKIP_SYSFW_INIT
448 # If enabled, SBL will skip calling
449 # Sciclient_boardCfg* API. Enabling
450 # it saves boot time, can affect
451 # functionality. The app must call the
452 # Sciclient_boardCfg* APIs that the SBL
453 # skips. Like for eg, if SBL skips calling
454 # Sciclient_boardCfgPm, then Sciclient_boardCfgRm
455 # and Sciclient_boardCfgSec must also
456 # be skipped.
457 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_BOARD
458 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_RM
459 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_SEC
460 #SBL_CFLAGS += -DSBL_SKIP_BRD_CFG_PM
462 ###########END BOOT PERF KNOBS#############
464 # Example - Building Custom SBL Images
465 # Build and SBl with custom flags to change
466 # different build configurations
467 CUST_SBL_TEST_SOCS = am65xx j721e
468 CUST_SBL_TEST_BOARDS = am65xx_evm j721e_evm
469 #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 "
470 #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"
471 #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"
472 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_SKIP_MCU_RESET -DBOOT_OSPI"
474 # SBL Custom LIB
475 sbl_lib_cust_COMP_LIST = sbl_lib_cust
476 sbl_lib_cust_RELPATH = ti/boot/sbl
477 export sbl_lib_cust_OBJPATH = ti/boot/sbl/cust
478 sbl_lib_cust_PATH = $(PDK_SBL_COMP_PATH)
479 sbl_lib_cust_LIBNAME = sbl_lib_cust
480 sbl_lib_cust_LIBPATH = $(PDK_SBL_COMP_PATH)/lib/cust
481 sbl_lib_cust_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=cust CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)
482 export sbl_lib_cust_MAKEFILE
483 export sbl_lib_cust_LIBNAME
484 export sbl_lib_cust_LIBPATH
485 sbl_lib_cust_BOARD_DEPENDENCY = yes
486 sbl_lib_cust_SOC_DEPENDENCY = yes
487 sbl_lib_cust_CORE_DEPENDENCY = no
488 export sbl_lib_cust_COMP_LIST
489 export sbl_lib_cust_BOARD_DEPENDENCY
490 export sbl_lib_cust_CORE_DEPENDENCY
491 sbl_lib_cust_PKG_LIST = sbl_lib_cust
492 sbl_lib_cust_INCLUDE = $(sbl_lib_cust_PATH)
493 sbl_lib_cust_SOCLIST = $(CUST_SBL_TEST_SOCS)
494 sbl_lib_cust_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
495 export sbl_lib_cust_SOCLIST
496 export sbl_lib_cust_BOARDLIST
497 sbl_lib_cust_$(SOC)_CORELIST = mcu1_0
498 export sbl_lib_cust_$(SOC)_CORELIST
500 # SBL custom image
501 sbl_cust_img_COMP_LIST = sbl_cust_img
502 sbl_cust_img_RELPATH = ti/boot/sbl/board/k3
503 sbl_cust_img_CUSTOM_BINPATH = $(PDK_SBL_COMP_PATH)/binary/$(BOARD)/cust/bin
504 sbl_cust_img_PATH = $(PDK_SBL_COMP_PATH)/board/k3
505 sbl_cust_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=cust CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)
506 export sbl_cust_img_MAKEFILE
507 sbl_cust_img_BOARD_DEPENDENCY = yes
508 sbl_cust_img_SOC_DEPENDENCY = yes
509 sbl_cust_img_CORE_DEPENDENCY = no
510 export sbl_cust_img_COMP_LIST
511 export sbl_cust_img_BOARD_DEPENDENCY
512 export sbl_cust_img_SOC_DEPENDENCY
513 export sbl_cust_img_CORE_DEPENDENCY
514 sbl_cust_img_PKG_LIST = sbl
515 sbl_cust_img_INCLUDE = $(sbl_cust_img_PATH)
516 sbl_cust_img_SOCLIST = $(CUST_SBL_TEST_SOCS)
517 sbl_cust_img_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
518 export sbl_cust_img_SOCLIST
519 export sbl_cust_img_BOARDLIST
520 sbl_cust_img_$(SOC)_CORELIST = mcu1_0
521 export sbl_cust_img_$(SOC)_CORELIST
522 sbl_EXAMPLE_LIST += sbl_cust_img
523 sbl_cust_img_SBL_IMAGEGEN = yes
524 export sbl_cust_img_SBL_IMAGEGEN
526 # R5 boot performance Test - works only with custom SBL
527 sbl_boot_perf_test_COMP_LIST = sbl_boot_perf_test
528 sbl_boot_perf_test_RELPATH = ti/boot/sbl/example/k3MulticoreApp
529 sbl_boot_perf_test_BINPATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp/binary
530 sbl_boot_perf_test_PATH = $(PDK_SBL_COMP_PATH)/example/k3MulticoreApp
531 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)
532 export sbl_boot_perf_test_MAKEFILE
533 sbl_boot_perf_test_BOARD_DEPENDENCY = no
534 sbl_boot_perf_test_SOC_DEPENDENCY = no
535 sbl_boot_perf_test_CORE_DEPENDENCY = no
536 export sbl_boot_perf_test_COMP_LIST
537 export sbl_boot_perf_test_BOARD_DEPENDENCY
538 export sbl_boot_perf_test_SOC_DEPENDENCY
539 export sbl_boot_perf_test_CORE_DEPENDENCY
540 sbl_boot_perf_test_PKG_LIST = sbl_boot_perf_test
541 sbl_boot_perf_test_INCLUDE = $(sbl_boot_perf_test_PATH)
542 sbl_boot_perf_test_SOCLIST = $(CUST_SBL_TEST_SOCS)
543 sbl_boot_perf_test_BOARDLIST = $(CUST_SBL_TEST_BOARDS)
544 export sbl_boot_perf_test_SOCLIST
545 export sbl_boot_perf_test_BOARDLIST
546 sbl_boot_perf_test_$(SOC)_CORELIST = mcu1_0
547 export sbl_boot_perf_test_$(SOC)_CORELIST
548 sbl_EXAMPLE_LIST += sbl_boot_perf_test
549 sbl_boot_perf_test_SBL_APPIMAGEGEN = yes
550 export sbl_boot_perf_test_SBL_APPIMAGEGEN
552 # SBL not supported for any profile
553 # other than release
554 ifneq ($(BUILD_PROFILE), release)
555 sbl_LIB_LIST =
556 sbl_EXAMPLE_LIST =
557 SBL_CFLAGS =
558 endif # ifneq ($(BUILD_PROFILE), release)
560 export sbl_LIB_LIST
561 export sbl_EXAMPLE_LIST
562 export SBL_CFLAGS
564 sbl_component_make_include := 1
565 endif