1# 2# Arm SCP/MCP Software 3# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8# 9# Create the firmware target. 10# 11 12add_executable(rdn2-mcp-bl2) 13 14# Add SCP_PLATFORM_VARIANT compiler flag 15 16if(SCP_PLATFORM_VARIANT STREQUAL "0") 17 target_compile_definitions(rdn2-mcp-bl2 PUBLIC -DPLATFORM_VARIANT=0) 18elseif(SCP_PLATFORM_VARIANT STREQUAL "1") 19 target_compile_definitions(rdn2-mcp-bl2 PUBLIC -DPLATFORM_VARIANT=1) 20elseif(SCP_PLATFORM_VARIANT STREQUAL "2") 21 target_compile_definitions(rdn2-mcp-bl2 PUBLIC -DPLATFORM_VARIANT=2) 22elseif(SCP_PLATFORM_VARIANT STREQUAL "3") 23 target_compile_definitions(rdn2-mcp-bl2 PUBLIC -DPLATFORM_VARIANT=3) 24else() 25 message(FATAL_ERROR "Please set SCP_PLATFORM_VARIANT to \n" 26 "'0' for RD-N2 \n" 27 "'1' for RD-N2-Cfg1 \n" 28 "'2' for RD-N2-Cfg2 \n" 29 "'3' for RD-N2-Cfg3 \n") 30endif() 31 32target_include_directories( 33 rdn2-mcp-bl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../include" 34 "${CMAKE_CURRENT_SOURCE_DIR}") 35 36# cmake-lint: disable=E1122 37 38target_sources( 39 rdn2-mcp-bl2 40 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/config_armv7m_mpu.c" 41 "${CMAKE_CURRENT_SOURCE_DIR}/config_clock.c" 42 "${CMAKE_CURRENT_SOURCE_DIR}/config_pl011.c" 43 "${CMAKE_CURRENT_SOURCE_DIR}/config_timer.c" 44 "${CMAKE_CURRENT_SOURCE_DIR}/config_gtimer.c") 45 46if(SCP_ENABLE_DEBUGGER) 47 target_compile_definitions(rdn2-mcp-bl2 PRIVATE BUILD_HAS_DEBUGGER) 48 target_sources(rdn2-mcp-bl2 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/config_debugger_cli.c") 49endif() 50 51# 52# Some of our firmware includes require CMSIS. 53# 54 55target_link_libraries(rdn2-mcp-bl2 PUBLIC cmsis::core-m) 56 57# 58# We explicitly add the CMSIS include directories to our interfaceinclude 59# directories. Each module target adds these include directories totheir own, 60# allowing them to include any firmware includes we expose. 61# 62 63target_include_directories(rdn2-mcp-bl2 64 PUBLIC $<TARGET_PROPERTY:cmsis::core-m,INTERFACE_INCLUDE_DIRECTORIES>) 65