diff options
Diffstat (limited to 'tools/fiptool')
-rw-r--r-- | tools/fiptool/Makefile | 7 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c | 61 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk | 12 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c | 90 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk | 32 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c | 18 | ||||
-rw-r--r-- | tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk | 25 | ||||
-rw-r--r-- | tools/fiptool/win_posix.h | 2 |
8 files changed, 244 insertions, 3 deletions
diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile index ac262cdff..2ebee3393 100644 --- a/tools/fiptool/Makefile +++ b/tools/fiptool/Makefile @@ -54,10 +54,13 @@ HOSTCC ?= gcc ifneq (${PLAT},) TF_PLATFORM_ROOT := ../../plat/ include ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk -PLAT_FIPTOOL_HELPER_MK := ${PLAT_DIR}/plat_fiptool.mk +COMBINED_PATH_FRAG := plat_fiptool/ +PLAT_FIPTOOL_HELPER_MK := $(foreach path_frag,$(subst /, ,$(patsubst ../../plat/%/,%,${PLAT_DIR})),\ + $(eval COMBINED_PATH_FRAG := ${COMBINED_PATH_FRAG}/${path_frag})\ + $(wildcard ${COMBINED_PATH_FRAG}/plat_fiptool.mk)) endif -ifneq (,$(wildcard ${PLAT_FIPTOOL_HELPER_MK})) +ifneq (,$(wildcard $(lastword ${PLAT_FIPTOOL_HELPER_MK}))) include ${PLAT_FIPTOOL_HELPER_MK} endif diff --git a/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c b/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c new file mode 100644 index 000000000..903310b21 --- /dev/null +++ b/tools/fiptool/plat_fiptool/arm/board/tc/plat_def_uuid_config.c @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2022, Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + * + */ + +#include <stddef.h> + +#include <firmware_image_package.h> + +#include "tbbr_config.h" + +toc_entry_t plat_def_toc_entries[] = { + { + .name = "RSS Firmware BL1_2 image", + .uuid = UUID_RSS_FIRMWARE_BL1_2, + .cmdline_name = "rss-bl1_2" + }, + { + .name = "RSS Firmware BL2 image", + .uuid = UUID_RSS_FIRMWARE_BL2, + .cmdline_name = "rss-bl2" + }, + { + .name = "RSS Firmware SCP BL1 image", + .uuid = UUID_RSS_FIRMWARE_SCP_BL1, + .cmdline_name = "rss-scp-bl1" + }, + { + .name = "RSS Firmware AP BL1 image", + .uuid = UUID_RSS_FIRMWARE_AP_BL1, + .cmdline_name = "rss-ap-bl1" + }, + { + .name = "RSS Firmware non-secure image", + .uuid = UUID_RSS_FIRMWARE_NS, + .cmdline_name = "rss-ns" + }, + { + .name = "RSS Firmware secure image", + .uuid = UUID_RSS_FIRMWARE_S, + .cmdline_name = "rss-s" + }, + { + .name = "RSS Firmware non-secure SIC tables", + .uuid = UUID_RSS_SIC_TABLES_NS, + .cmdline_name = "rss-sic-tables-ns" + }, + { + .name = "RSS Firmware secure SIC tables", + .uuid = UUID_RSS_SIC_TABLES_S, + .cmdline_name = "rss-sic-tables-s" + }, + + { + .name = NULL, + .uuid = { {0} }, + .cmdline_name = NULL, + } +}; diff --git a/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk b/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk new file mode 100644 index 000000000..70ccfc528 --- /dev/null +++ b/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk @@ -0,0 +1,12 @@ +# +# Copyright (c) 2021, NXP. All rights reserved. +# Copyright (c) 2022-2023, Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# + +INCLUDE_PATHS += -I./ \ + -I../../plat/arm/board/tc + +HOSTCCFLAGS += -DPLAT_DEF_FIP_UUID +OBJECTS += plat_fiptool/arm/board/tc/plat_def_uuid_config.o diff --git a/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c b/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c new file mode 100644 index 000000000..fdb4b938e --- /dev/null +++ b/tools/fiptool/plat_fiptool/nxp/plat_def_uuid_config.c @@ -0,0 +1,90 @@ +/* + * Copyright 2021 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <stddef.h> + +#include <firmware_image_package.h> + +#include "tbbr_config.h" + +toc_entry_t plat_def_toc_entries[] = { + /* DDR PHY firmwares */ + { + .name = "DDR UDIMM PHY IMEM 1d FW", + .uuid = UUID_DDR_IMEM_UDIMM_1D, + .cmdline_name = "ddr-immem-udimm-1d" + }, + { + .name = "DDR UDIMM PHY IMEM 2d FW", + .uuid = UUID_DDR_IMEM_UDIMM_2D, + .cmdline_name = "ddr-immem-udimm-2d" + }, + { + .name = "DDR UDIMM PHY DMEM 1d FW", + .uuid = UUID_DDR_DMEM_UDIMM_1D, + .cmdline_name = "ddr-dmmem-udimm-1d" + }, + { + .name = "DDR UDIMM PHY DMEM 2d FW", + .uuid = UUID_DDR_DMEM_UDIMM_2D, + .cmdline_name = "ddr-dmmem-udimm-2d" + }, + { + .name = "DDR RDIMM PHY IMEM 1d FW", + .uuid = UUID_DDR_IMEM_RDIMM_1D, + .cmdline_name = "ddr-immem-rdimm-1d" + }, + { + .name = "DDR RDIMM PHY IMEM 2d FW", + .uuid = UUID_DDR_IMEM_RDIMM_2D, + .cmdline_name = "ddr-immem-rdimm-2d" + }, + { + .name = "DDR RDIMM PHY DMEM 1d FW", + .uuid = UUID_DDR_DMEM_RDIMM_1D, + .cmdline_name = "ddr-dmmem-rdimm-1d" + }, + { + .name = "DDR RDIMM PHY DMEM 2d FW", + .uuid = UUID_DDR_DMEM_RDIMM_2D, + .cmdline_name = "ddr-dmmem-rdimm-2d" + }, + { + .name = "FUSE PROV FW", + .uuid = UUID_FUSE_PROV, + .cmdline_name = "fuse-prov" + }, + { + .name = "FUSE UPGRADE FW", + .uuid = UUID_FUSE_UP, + .cmdline_name = "fuse-upgrade" + }, + + /* Key Certificates */ + { + .name = "DDR Firmware key certificate", + .uuid = UUID_DDR_FW_KEY_CERT, + .cmdline_name = "ddr-fw-key-cert" + }, + + /* Content certificates */ + { + .name = "DDR UDIMM Firmware content certificate", + .uuid = UUID_DDR_UDIMM_FW_CONTENT_CERT, + .cmdline_name = "ddr-udimm-fw-cert" + }, + { + .name = "DDR RDIMM Firmware content certificate", + .uuid = UUID_DDR_RDIMM_FW_CONTENT_CERT, + .cmdline_name = "ddr-rdimm-fw-cert" + }, + + { + .name = NULL, + .uuid = { {0} }, + .cmdline_name = NULL, + } +}; diff --git a/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk b/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk new file mode 100644 index 000000000..6d7b07be7 --- /dev/null +++ b/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk @@ -0,0 +1,32 @@ +# +# Copyright (c) 2021, NXP. All rights reserved. +# Copyright (c) 2023, Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# + +# Name of the platform defined source file name, +# which contains platform defined UUID entries populated +# in the plat_def_toc_entries[]. +PLAT_DEF_UUID_CONFIG_FILE_NAME := plat_def_uuid_config + +PLAT_DEF_UUID_CONFIG_FILE_PATH := plat_fiptool/nxp/ + +PLAT_DEF_OID := yes +PLAT_DEF_UUID := yes +PLAT_DEF_UUID_OID_CONFIG_PATH := ../../plat/nxp/common/fip_handler/common + + +INCLUDE_PATHS += -I${PLAT_DEF_UUID_OID_CONFIG_PATH} \ + -I./ + +ifeq (${PLAT_DEF_OID},yes) +HOSTCCFLAGS += -DPLAT_DEF_OID +endif + +ifeq (${PLAT_DEF_UUID},yes) +HOSTCCFLAGS += -DPLAT_DEF_FIP_UUID +PLAT_OBJECTS += ${PLAT_DEF_UUID_CONFIG_FILE_PATH}/${PLAT_DEF_UUID_CONFIG_FILE_NAME}.o +endif + +OBJECTS += ${PLAT_OBJECTS} diff --git a/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c b/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c new file mode 100644 index 000000000..efaf56701 --- /dev/null +++ b/tools/fiptool/plat_fiptool/st/stm32mp1/plat_def_uuid_config.c @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2022, STMicroelectronics - All Rights Reserved + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <firmware_image_package.h> + +#include "tbbr_config.h" + +toc_entry_t plat_def_toc_entries[] = { + { + .name = "STM32MP CONFIG CERT", + .uuid = UUID_STM32MP_CONFIG_CERT, + .cmdline_name = "stm32mp-cfg-cert" + } +}; + diff --git a/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk b/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk new file mode 100644 index 000000000..1ba47c1fe --- /dev/null +++ b/tools/fiptool/plat_fiptool/st/stm32mp1/plat_fiptool.mk @@ -0,0 +1,25 @@ +# +# Copyright (c) 2021-2022, STMicroelectronics - All Rights Reserved +# +# SPDX-License-Identifier: BSD-3-Clause +# + +# Name of the platform defined source file name, +# which contains platform defined UUID entries populated +# in the plat_def_toc_entries[]. +PLAT_DEF_UUID_FILE_NAME := plat_def_uuid_config + +INCLUDE_PATHS += -I${PLAT_DIR}/include -I./ + +PLAT_DEF_UUID := yes + +ifeq (${PLAT_DEF_UUID},yes) +HOSTCCFLAGS += -DPLAT_DEF_FIP_UUID + +${PLAT_DEF_UUID_FILE_NAME}.o: plat_fiptool/st/stm32mp1/${PLAT_DEF_UUID_FILE_NAME}.c + ${HOSTCC} -c ${CPPFLAGS} ${HOSTCCFLAGS} ${INCLUDE_PATHS} $< -o $@ + +PLAT_OBJECTS += ${PLAT_DEF_UUID_FILE_NAME}.o +endif + +OBJECTS += ${PLAT_OBJECTS} diff --git a/tools/fiptool/win_posix.h b/tools/fiptool/win_posix.h index 6f0d8e6b6..13406408d 100644 --- a/tools/fiptool/win_posix.h +++ b/tools/fiptool/win_posix.h @@ -149,7 +149,7 @@ inline char *strdup(const char *s) * Windows does not have the getopt family of functions, as it normally * uses '/' instead of '-' as the command line option delimiter. * These functions provide a Windows version that uses '-', which precludes - * using '-' as the intial letter of a program argument. + * using '-' as the initial letter of a program argument. * This is not seen as a problem in the specific instance of fiptool, * and enables existing makefiles to work on a Windows build environment. */ |