diff --git a/meta-arm-bsp/conf/machine/sgi575.conf b/meta-arm-bsp/conf/machine/sgi575.conf index 07d1e79c..6217ecc2 100644 --- a/meta-arm-bsp/conf/machine/sgi575.conf +++ b/meta-arm-bsp/conf/machine/sgi575.conf @@ -46,9 +46,9 @@ FVP_CONFIG[css.cmn600.mesh_config_file] = "SGI-575_cmn600.yml" FVP_CONFIG[css.cmn600.force_rnsam_internal] ?= "false" FVP_CONFIG[css.gic_distributor.ITS-device-bits] ?= "20" -FVP_DATA ?= "css.scp.armcortexm7ct=scp_ramfw.bin@0x0BD80000" -FVP_CONFIG[css.mcp.ROMloader.fname] ?= "mcp_romfw.bin" -FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp_romfw.bin" +FVP_DATA ?= "css.scp.armcortexm7ct=scp-firmware/scp_ramfw.bin@0x0BD80000" +FVP_CONFIG[css.mcp.ROMloader.fname] ?= "scp-firmware/mcp_romfw.bin" +FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp-firmware/scp_romfw.bin" FVP_CONFIG[css.trustedBootROMloader.fname] ?= "trusted-firmware-a/bl1.bin" FVP_CONFIG[board.flashloader0.fname] ?= "trusted-firmware-a/fip.bin" diff --git a/meta-arm-bsp/recipes-bsp/images/firmware-image-juno.bb b/meta-arm-bsp/recipes-bsp/images/firmware-image-juno.bb index 16e4e8db..48486d6e 100644 --- a/meta-arm-bsp/recipes-bsp/images/firmware-image-juno.bb +++ b/meta-arm-bsp/recipes-bsp/images/firmware-image-juno.bb @@ -41,7 +41,7 @@ do_install() { cp -f ${RECIPE_SYSROOT}/firmware/trusted-firmware-a/fip.bin \ ${D}/${FIRMWARE_DIR}/SOFTWARE/fip.bin - cp -f ${RECIPE_SYSROOT}/firmware/scp_romfw_bypass.bin \ + cp -f ${RECIPE_SYSROOT}/firmware/scp-firmware/scp_romfw_bypass.bin \ ${D}/${FIRMWARE_DIR}/SOFTWARE/scp_bl1.bin # u-boot environment file diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc index 1f02d8e5..1bdc78e0 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc @@ -8,8 +8,8 @@ FW_INSTALL:append = " romfw_bypass" do_install:append() { for TYPE in ${FW_INSTALL}; do if [ "$TYPE" = "romfw_bypass" ]; then - install -D "${B}/${TYPE}/${FW_TARGETS}/bin/${SCP_PLATFORM}-bl1-bypass.bin" "${D}/firmware/${FW}_${TYPE}.bin" - install -D "${B}/${TYPE}/${FW_TARGETS}/bin/${SCP_PLATFORM}-bl1-bypass.elf" "${D}/firmware/${FW}_${TYPE}.elf" + install -D "${B}/${TYPE}/${FW_TARGETS}/bin/${SCP_PLATFORM}-bl1-bypass.bin" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.bin" + install -D "${B}/${TYPE}/${FW_TARGETS}/bin/${SCP_PLATFORM}-bl1-bypass.elf" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.elf" fi done } diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc index 3ddd8cb5..a3a35ab4 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc @@ -10,4 +10,4 @@ TFA_BUILD_TARGET = "bl1 bl2 bl31 dtbs fip" # Juno needs the System Control Processor Firmware DEPENDS += "virtual/control-processor-firmware" -EXTRA_OEMAKE:append = " SCP_BL2=${RECIPE_SYSROOT}/firmware/scp_ramfw.bin" +EXTRA_OEMAKE:append = " SCP_BL2=${RECIPE_SYSROOT}${FIRMWARE_BASE_DIR}/scp-firmware/scp_ramfw.bin" diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb index d41a9892..6a32a734 100644 --- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb +++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.16.0.bb @@ -16,8 +16,9 @@ SRCREV = "190e938c2da3631b4834a90448516423099c79f7" PROVIDES += "virtual/control-processor-firmware" -CMAKE_BUILD_TYPE ?= "RelWithDebInfo" -SCP_PLATFORM ?= "${MACHINE}" +SCP_DEBUG ?= "${FIRMWARE_DEBUG_BUILD}" +CMAKE_BUILD_TYPE ?= "${@oe.utils.vartrue('SCP_DEBUG', 'Debug', 'RelWithDebInfo', d)}" +SCP_PLATFORM ?= "${FIRMWARE_PLATFORM}" SCP_PRODUCT_GROUP ?= "." SCP_LOG_LEVEL ?= "WARN" SCP_PLATFORM_FEATURE_SET ?= "0" @@ -31,7 +32,7 @@ DEPENDS = "gcc-arm-none-eabi-native \ # For now we only build with GCC, so stop meta-clang trying to get involved TOOLCHAIN = "gcc" -inherit deploy +inherit firmware B = "${WORKDIR}/build" @@ -39,7 +40,6 @@ B = "${WORKDIR}/build" FW_TARGETS ?= "scp mcp" FW_INSTALL ?= "ramfw romfw" -PACKAGE_ARCH = "${MACHINE_ARCH}" COMPATIBLE_MACHINE ?= "invalid" export CFLAGS = "${DEBUG_PREFIX_MAP}" @@ -75,41 +75,31 @@ do_compile() { } do_install() { - install -d ${D}/firmware + install -d ${D}${FIRMWARE_DIR} for TYPE in ${FW_INSTALL}; do for FW in ${FW_TARGETS}; do if [ "$TYPE" = "romfw" ]; then if [ "$FW" = "scp" ]; then - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl1.bin" "${D}/firmware/${FW}_${TYPE}.bin" - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl1.elf" "${D}/firmware/${FW}_${TYPE}.elf" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl1.bin" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.bin" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl1.elf" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.elf" else - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl1.bin" "${D}/firmware/${FW}_${TYPE}.bin" - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl1.elf" "${D}/firmware/${FW}_${TYPE}.elf" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl1.bin" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.bin" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl1.elf" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.elf" fi elif [ "$TYPE" = "ramfw" ]; then if [ "$FW" = "scp" ]; then - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl2.bin" "${D}/firmware/${FW}_${TYPE}.bin" - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl2.elf" "${D}/firmware/${FW}_${TYPE}.elf" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl2.bin" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.bin" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-bl2.elf" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.elf" else - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl2.bin" "${D}/firmware/${FW}_${TYPE}.bin" - install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl2.elf" "${D}/firmware/${FW}_${TYPE}.elf" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl2.bin" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.bin" + install -D "${B}/${TYPE}/${FW}/bin/${SCP_PLATFORM}-${FW}-bl2.elf" "${D}${FIRMWARE_DIR}/${FW}_${TYPE}.elf" fi fi done done } -FILES:${PN} = "/firmware" -SYSROOT_DIRS += "/firmware" - -FILES:${PN}-dbg += "/firmware/*.elf" # These binaries are specifically for 32-bit arm INSANE_SKIP:${PN}-dbg += "arch" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" INHIBIT_PACKAGE_STRIP = "1" - -do_deploy() { - # Copy the images to deploy directory - cp -rf ${D}/firmware/* ${DEPLOYDIR}/ -} -addtask deploy after do_install