From b5e3d54017b3f48033960d392aa98ba053adfd97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pali=20Roh=C3=A1r?= Date: Wed, 21 Oct 2020 11:50:40 +0200 Subject: [PATCH] plat: marvell: armada: Building ${DOIMAGETOOL} is only for a8k MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently a3k target is misusing ${DOIMAGETOOL} target for building flash and UART images. It is not used for building image tool. So move ${DOIMAGETOOL} target from common marvell include file into a8k include file and add correct invocation of ${MAKE} into a3k for building flash and UART images. Part of this change is also checks that MV_DDR_PATH for a3k was specified by user as this option is required for building a3k flash and UART images. Signed-off-by: Pali Rohár Change-Id: I5ae9d08b8505460933f17836c9b6435fd6e51bb6 --- .../marvell/armada/a3k/common/a3700_common.mk | 2 + plat/marvell/armada/a8k/common/a8k_common.mk | 38 ++++++++++++++++++- plat/marvell/marvell.mk | 37 ------------------ 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/plat/marvell/armada/a3k/common/a3700_common.mk b/plat/marvell/armada/a3k/common/a3700_common.mk index 8f65e92b3..2050d59b6 100644 --- a/plat/marvell/armada/a3k/common/a3700_common.mk +++ b/plat/marvell/armada/a3k/common/a3700_common.mk @@ -124,6 +124,8 @@ 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}) + $(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)) @echo @echo "Building uart images" diff --git a/plat/marvell/armada/a8k/common/a8k_common.mk b/plat/marvell/armada/a8k/common/a8k_common.mk index a807891e5..c8273265e 100644 --- a/plat/marvell/armada/a8k/common/a8k_common.mk +++ b/plat/marvell/armada/a8k/common/a8k_common.mk @@ -4,8 +4,6 @@ # SPDX-License-Identifier: BSD-3-Clause # https://spdx.org/licenses -include tools/marvell/doimage/doimage.mk - PLAT_FAMILY := a8k PLAT_INCLUDE_BASE := include/plat/marvell/armada/$(PLAT_FAMILY) PLAT_COMMON_BASE := plat/marvell/armada/a8k/common @@ -34,6 +32,34 @@ DOIMAGEPATH ?= tools/marvell/doimage DOIMAGETOOL ?= ${DOIMAGEPATH}/doimage include plat/marvell/marvell.mk +include tools/marvell/doimage/doimage.mk + +ifeq (${MARVELL_SECURE_BOOT},1) +DOIMAGE_SEC_FLAGS := -c $(DOIMAGE_SEC) +DOIMAGE_LIBS_CHECK = \ + if ! [ -d "/usr/include/mbedtls" ]; then \ + echo "****************************************" >&2; \ + echo "Missing mbedTLS installation! " >&2; \ + echo "Please download it from \"tls.mbed.org\"" >&2; \ + echo "Alternatively on Debian/Ubuntu system install" >&2; \ + echo "\"libmbedtls-dev\" package" >&2; \ + echo "Make sure to use version 2.1.0 or later" >&2; \ + echo "****************************************" >&2; \ + exit 1; \ + else if ! [ -f "/usr/include/libconfig.h" ]; then \ + echo "********************************************************" >&2; \ + echo "Missing Libconfig installation!" >&2; \ + echo "Please download it from \"www.hyperrealm.com/libconfig/\"" >&2; \ + echo "Alternatively on Debian/Ubuntu system install packages" >&2; \ + echo "\"libconfig8\" and \"libconfig8-dev\"" >&2; \ + echo "********************************************************" >&2; \ + exit 1; \ + fi \ + fi +else #MARVELL_SECURE_BOOT +DOIMAGE_LIBS_CHECK = +DOIMAGE_SEC_FLAGS = +endif #MARVELL_SECURE_BOOT ROM_BIN_EXT ?= $(BUILD_PLAT)/ble.bin DOIMAGE_FLAGS += -b $(ROM_BIN_EXT) $(NAND_DOIMAGE_FLAGS) $(DOIMAGE_SEC_FLAGS) @@ -126,6 +152,14 @@ BLE_PATH ?= $(PLAT_COMMON_BASE)/ble include ${BLE_PATH}/ble.mk $(eval $(call MAKE_BL,e)) +mrvl_clean: + @echo " Doimage CLEAN" + ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${DOIMAGEPATH} clean + +${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}) diff --git a/plat/marvell/marvell.mk b/plat/marvell/marvell.mk index 82457536d..b6a2b9995 100644 --- a/plat/marvell/marvell.mk +++ b/plat/marvell/marvell.mk @@ -19,40 +19,3 @@ $(eval $(call add_define,PALLADIUM)) # Set board to work with DDR 32bit DDR32 := 0 $(eval $(call add_define,DDR32)) - -ifeq (${MARVELL_SECURE_BOOT},1) -DOIMAGE_SEC_FLAGS := -c $(DOIMAGE_SEC) -DOIMAGE_LIBS_CHECK = \ - if ! [ -d "/usr/include/mbedtls" ]; then \ - echo "****************************************" >&2; \ - echo "Missing mbedTLS installation! " >&2; \ - echo "Please download it from \"tls.mbed.org\"" >&2; \ - echo "Alternatively on Debian/Ubuntu system install" >&2; \ - echo "\"libmbedtls-dev\" package" >&2; \ - echo "Make sure to use version 2.1.0 or later" >&2; \ - echo "****************************************" >&2; \ - exit 1; \ - else if ! [ -f "/usr/include/libconfig.h" ]; then \ - echo "********************************************************" >&2; \ - echo "Missing Libconfig installation!" >&2; \ - echo "Please download it from \"www.hyperrealm.com/libconfig/\"" >&2; \ - echo "Alternatively on Debian/Ubuntu system install packages" >&2; \ - echo "\"libconfig8\" and \"libconfig8-dev\"" >&2; \ - echo "********************************************************" >&2; \ - exit 1; \ - fi \ - fi -else #MARVELL_SECURE_BOOT -DOIMAGE_LIBS_CHECK = -DOIMAGE_SEC_FLAGS = -endif #MARVELL_SECURE_BOOT - -mrvl_clean: - @echo " Doimage CLEAN" - ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${DOIMAGEPATH} clean - -${DOIMAGETOOL}: mrvl_clean - @$(DOIMAGE_LIBS_CHECK) - ${Q}${MAKE} --no-print-directory -C ${DOIMAGEPATH} VERSION=$(SUBVERSION) WTMI_IMG=$(WTMI_IMG) - -