diff options
author | Pali Rohár <pali@kernel.org> | 2020-10-29 16:50:19 +0100 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2020-11-19 10:17:28 +0000 |
commit | 91bc2da73c474ad285666c5461b48e0568db6ddc (patch) | |
tree | 5e312ba8dbcca42d6f53b193944cb825d51d6d41 /plat/marvell/armada | |
parent | c6a7ab7787ccc2d1c916918a0b8c470321d41448 (diff) | |
download | trusted-firmware-a-91bc2da73c474ad285666c5461b48e0568db6ddc.tar.gz |
plat: marvell: armada: Add new target mrvl_bootimage
This new target builds boot-image.bin binary as described in documentation.
This image does not contain WTMI image and therefore WTP repository is not
required for building.
Having ability to build just this boot-image.bin binary without full
flash-image.bin is useful for A3720 Turris MOX board which does not use
Marvell's WTP and a3700_utils.
To reduce duplicity between a8k and a3k code, define this new target and
also definitions for $(BUILD_PLAT)/$(BOOT_IMAGE) in common include file
marvell_common.mk.
For this purpose it is needed to include plat/marvell/marvell.mk file from
a3700_common.mk unconditionally (and not only when WTP is defined). Now
when common file plat/marvell/marvell.mk does not contain definition for
building $(DOIMAGETOOL), it is possible to move its inclusion at the top of
the a3700_common.mk file.
Signed-off-by: Pali Rohár <pali@kernel.org>
Change-Id: Ic58303b37a1601be9a06ff83b7a279cb7cfc8280
Diffstat (limited to 'plat/marvell/armada')
-rw-r--r-- | plat/marvell/armada/a3k/common/a3700_common.mk | 9 | ||||
-rw-r--r-- | plat/marvell/armada/a8k/common/a8k_common.mk | 4 | ||||
-rw-r--r-- | plat/marvell/armada/common/marvell_common.mk | 9 |
3 files changed, 13 insertions, 9 deletions
diff --git a/plat/marvell/armada/a3k/common/a3700_common.mk b/plat/marvell/armada/a3k/common/a3700_common.mk index 001443c6f6..5e2f8e299b 100644 --- a/plat/marvell/armada/a3k/common/a3700_common.mk +++ b/plat/marvell/armada/a3k/common/a3700_common.mk @@ -15,6 +15,8 @@ MARVELL_DRV_BASE := drivers/marvell MARVELL_COMMON_BASE := $(MARVELL_PLAT_BASE)/common HANDLE_EA_EL3_FIRST := 1 +include plat/marvell/marvell.mk + #*********** A3700 ************* # GICV3 @@ -67,8 +69,6 @@ ifneq (${WTP},) DOIMAGEPATH := $(WTP) DOIMAGETOOL := $(DOIMAGEPATH)/wtptp/src/TBB_Linux/release/TBB_linux -include plat/marvell/marvell.mk - ifeq ($(MARVELL_SECURE_BOOT),1) DOIMAGE_CFG := $(DOIMAGEPATH)/atf-tim.txt IMAGESPATH := $(DOIMAGEPATH)/tim/trusted @@ -125,10 +125,7 @@ $(DOIMAGETOOL): $(Q)$(MAKE) --no-print-directory -C $(CRYPTOPP_PATH) -f GNUmakefile $(Q)$(MAKE) --no-print-directory -C $(DOIMAGEPATH)/wtptp/src/TBB_Linux -f TBB_linux.mak LIBDIR=$(CRYPTOPP_PATH) -mrvl_flash: ${BUILD_PLAT}/${FIP_NAME} ${DOIMAGETOOL} - $(shell truncate -s %128K ${BUILD_PLAT}/bl1.bin) - $(shell cat ${BUILD_PLAT}/bl1.bin ${BUILD_PLAT}/${FIP_NAME} > ${BUILD_PLAT}/${BOOT_IMAGE}) - $(shell truncate -s %4 ${BUILD_PLAT}/${BOOT_IMAGE}) +mrvl_flash: ${BUILD_PLAT}/${BOOT_IMAGE} ${DOIMAGETOOL} $(if $(value MV_DDR_PATH),,$(error "Platform '${PLAT}' for target '$@' requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) ${Q}${MAKE} --no-print-directory -C ${DOIMAGEPATH} WTMI_IMG=$(WTMI_IMG) MV_DDR_PATH=$(MV_DDR_PATH) $(shell truncate -s %4 $(WTMI_IMG)) diff --git a/plat/marvell/armada/a8k/common/a8k_common.mk b/plat/marvell/armada/a8k/common/a8k_common.mk index c8273265e8..58394a46f1 100644 --- a/plat/marvell/armada/a8k/common/a8k_common.mk +++ b/plat/marvell/armada/a8k/common/a8k_common.mk @@ -160,8 +160,6 @@ ${DOIMAGETOOL}: mrvl_clean @$(DOIMAGE_LIBS_CHECK) ${Q}${MAKE} --no-print-directory -C ${DOIMAGEPATH} -mrvl_flash: ${BUILD_PLAT}/${FIP_NAME} ${DOIMAGETOOL} ${BUILD_PLAT}/ble.bin - $(shell truncate -s %128K ${BUILD_PLAT}/bl1.bin) - $(shell cat ${BUILD_PLAT}/bl1.bin ${BUILD_PLAT}/${FIP_NAME} > ${BUILD_PLAT}/${BOOT_IMAGE}) +mrvl_flash: ${BUILD_PLAT}/${BOOT_IMAGE} ${DOIMAGETOOL} ${DOIMAGETOOL} ${DOIMAGE_FLAGS} ${BUILD_PLAT}/${BOOT_IMAGE} ${BUILD_PLAT}/${FLASH_IMAGE} diff --git a/plat/marvell/armada/common/marvell_common.mk b/plat/marvell/armada/common/marvell_common.mk index af149fa08e..7f8dffa00d 100644 --- a/plat/marvell/armada/common/marvell_common.mk +++ b/plat/marvell/armada/common/marvell_common.mk @@ -85,3 +85,12 @@ endif ifeq (${MSS_SUPPORT}, 1) include $(MARVELL_PLAT_BASE)/common/mss/mss_common.mk endif + +$(BUILD_PLAT)/$(BOOT_IMAGE): $(BUILD_PLAT)/bl1.bin $(BUILD_PLAT)/$(FIP_NAME) + @cp $(BUILD_PLAT)/bl1.bin $(BUILD_PLAT)/$(BOOT_IMAGE) || { rm -f $(BUILD_PLAT)/$(BOOT_IMAGE); false; } + @truncate -s %128K $(BUILD_PLAT)/$(BOOT_IMAGE) || { rm -f $(BUILD_PLAT)/$(BOOT_IMAGE); false; } + @cat $(BUILD_PLAT)/$(FIP_NAME) >> $(BUILD_PLAT)/$(BOOT_IMAGE) || { rm -f $(BUILD_PLAT)/$(BOOT_IMAGE); false; } + @truncate -s %4 $(BUILD_PLAT)/$(BOOT_IMAGE) || { rm -f $(BUILD_PLAT)/$(BOOT_IMAGE); false; } + @echo "Built $@ successfully" + +mrvl_bootimage: $(BUILD_PLAT)/$(BOOT_IMAGE) |