]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
plat: marvell: armada: Add new target mrvl_bootimage
authorPali Rohár <pali@kernel.org>
Thu, 29 Oct 2020 15:50:19 +0000 (16:50 +0100)
committerManish Pandey <manish.pandey2@arm.com>
Thu, 19 Nov 2020 10:17:28 +0000 (10:17 +0000)
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

plat/marvell/armada/a3k/common/a3700_common.mk
plat/marvell/armada/a8k/common/a8k_common.mk
plat/marvell/armada/common/marvell_common.mk

index 001443c6f6d1a7b88c54926dfa8afaa4980799df..5e2f8e299bcdb90724c79499d2898c7e1fa3473c 100644 (file)
@@ -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))
index c8273265e8f2c62307402fa01de6c0039f033621..58394a46f1f5d6aecfa8309f423830ed767a0743 100644 (file)
@@ -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}
 
index af149fa08e7f5fc547fac58212858a368d5f3074..7f8dffa00d4b38fff389a328e639ed572de253be 100644 (file)
@@ -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)