soc: intel_adsp: Generalize bootloader
Move bootloader to soc/xtensa/intel_adsp making it available for other boards. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This commit is contained in:
parent
35c4838425
commit
d6a33ef467
12 changed files with 36 additions and 8 deletions
|
@ -7,3 +7,5 @@ zephyr_library_sources(soc.c)
|
||||||
zephyr_library_sources(main_entry.S)
|
zephyr_library_sources(main_entry.S)
|
||||||
|
|
||||||
zephyr_library_sources_ifdef(CONFIG_SMP soc_mp.c)
|
zephyr_library_sources_ifdef(CONFIG_SMP soc_mp.c)
|
||||||
|
|
||||||
|
add_subdirectory(common)
|
||||||
|
|
20
soc/xtensa/intel_apl_adsp/bootloader.cmake
Normal file
20
soc/xtensa/intel_apl_adsp/bootloader.cmake
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Copyright (c) 2019 Intel Corporation
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
add_subdirectory(${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/bootloader ${build_dir})
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
process_elf ALL
|
||||||
|
DEPENDS base_module
|
||||||
|
DEPENDS ${ZEPHYR_FINAL_EXECUTABLE}
|
||||||
|
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-apl.bin ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/libbase_module.a
|
||||||
|
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-apl.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf.mod
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
process_bootloader ALL
|
||||||
|
DEPENDS bootloader boot_module
|
||||||
|
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-boot.bin ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/libboot_module.a
|
||||||
|
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-boot.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/bootloader.elf ${CMAKE_BINARY_DIR}/zephyr/bootloader.elf.mod
|
||||||
|
)
|
6
soc/xtensa/intel_apl_adsp/common/CMakeLists.txt
Normal file
6
soc/xtensa/intel_apl_adsp/common/CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Intel CAVS SoC family CMake file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Intel Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
include(bootloader.cmake)
|
|
@ -2,29 +2,29 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
if(EXISTS ${BOARD_DIR}/bootloader/CMakeLists.txt)
|
set(SOC_FAMILY intel_apl_adsp)
|
||||||
|
|
||||||
|
if(EXISTS ${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/bootloader/CMakeLists.txt)
|
||||||
if(USING_OUT_OF_TREE_BOARD)
|
if(USING_OUT_OF_TREE_BOARD)
|
||||||
set(build_dir boards/${ARCH}/${BOARD}/bootloader)
|
set(build_dir boards/${ARCH}/${BOARD}/bootloader)
|
||||||
else()
|
else()
|
||||||
unset(build_dir)
|
unset(build_dir)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(${BOARD_DIR}/bootloader ${build_dir})
|
add_subdirectory(${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/bootloader ${build_dir})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(sof_module ${PROJECT_SOURCE_DIR}/../modules/audio/sof)
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
process_elf ALL
|
process_elf ALL
|
||||||
DEPENDS base_module
|
DEPENDS base_module
|
||||||
DEPENDS ${ZEPHYR_FINAL_EXECUTABLE}
|
DEPENDS ${ZEPHYR_FINAL_EXECUTABLE}
|
||||||
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-apl.bin ${CMAKE_BINARY_DIR}/zephyr/boards/xtensa/${BOARD}/bootloader/libbase_module.a
|
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-apl.bin ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/libbase_module.a
|
||||||
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-apl.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf.mod
|
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-apl.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf ${CMAKE_BINARY_DIR}/zephyr/zephyr.elf.mod
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
process_bootloader ALL
|
process_bootloader ALL
|
||||||
DEPENDS bootloader boot_module
|
DEPENDS bootloader boot_module
|
||||||
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-boot.bin ${CMAKE_BINARY_DIR}/zephyr/boards/xtensa/${BOARD}/bootloader/libboot_module.a
|
COMMAND ${CMAKE_OBJCOPY} --dump-section .data=mod-boot.bin ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/libboot_module.a
|
||||||
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-boot.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/boards/xtensa/${BOARD}/bootloader/bootloader.elf ${CMAKE_BINARY_DIR}/zephyr/bootloader.elf.mod
|
COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-boot.bin --set-section-flags .module=load,readonly ${CMAKE_BINARY_DIR}/zephyr/soc/xtensa/${SOC_FAMILY}/common/bootloader/bootloader.elf ${CMAKE_BINARY_DIR}/zephyr/bootloader.elf.mod
|
||||||
)
|
)
|
|
@ -40,7 +40,7 @@ target_compile_options(bootloader PUBLIC -fno-inline-functions -mlongcalls -mtex
|
||||||
|
|
||||||
target_link_libraries(bootloader PUBLIC -Wl,--no-check-sections -ucall_user_start -Wl,-static -nostdlib)
|
target_link_libraries(bootloader PUBLIC -Wl,--no-check-sections -ucall_user_start -Wl,-static -nostdlib)
|
||||||
target_link_libraries(bootloader PRIVATE -lhal -L${zephyr_sdk}/xtensa/intel_apl_adsp/xtensa-zephyr-elf/lib)
|
target_link_libraries(bootloader PRIVATE -lhal -L${zephyr_sdk}/xtensa/intel_apl_adsp/xtensa-zephyr-elf/lib)
|
||||||
target_link_libraries(bootloader PRIVATE -T${BOARD_DIR}/bootloader/boot_ldr.x)
|
target_link_libraries(bootloader PRIVATE -T${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/bootloader/boot_ldr.x)
|
||||||
|
|
||||||
if(CONFIG_XTENSA_HAL)
|
if(CONFIG_XTENSA_HAL)
|
||||||
target_link_libraries(bootloader PRIVATE XTENSA_HAL)
|
target_link_libraries(bootloader PRIVATE XTENSA_HAL)
|
Loading…
Add table
Add a link
Reference in a new issue