mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
arm/scp-firmware: Use firmware.bbclass
Replace inherit deploy with firmware.
Initialize SCP_DEBUG using the FIRMWARE_DEBUG_BUILD variable. Initialize
SCP_PLATFORM using the FIRMWARE_PLATFORM variable.
Refactor do_install to use ${FIRMWARE_DIR} and remove now redundant
configuration.
Signed-off-by: Peter Hoyes <peter.hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user