From 468a601648d93a5b3257ddd4514cdb2fdbd0e56f Mon Sep 17 00:00:00 2001 From: Werner Lewis Date: Wed, 22 Mar 2023 10:20:53 +0000 Subject: refactor(morello): remove duplication of platform information struct morello_plat_info is defined identically in multiple files, definition is moved to a header file to avoid duplication. Signed-off-by: Werner Lewis Change-Id: I607354902c55f5c31f0732de9db60604b82aef97 --- plat/arm/board/morello/morello_bl2_setup.c | 36 ---------------------------- plat/arm/board/morello/morello_bl31_setup.c | 36 +--------------------------- plat/arm/board/morello/morello_def.h | 37 +++++++++++++++++++++++++++++ plat/arm/board/morello/morello_image_load.c | 32 ------------------------- 4 files changed, 38 insertions(+), 103 deletions(-) (limited to 'plat/arm/board') diff --git a/plat/arm/board/morello/morello_bl2_setup.c b/plat/arm/board/morello/morello_bl2_setup.c index ec87a8e3e..39020e236 100644 --- a/plat/arm/board/morello/morello_bl2_setup.c +++ b/plat/arm/board/morello/morello_bl2_setup.c @@ -13,42 +13,6 @@ #include "morello_def.h" #include -#ifdef TARGET_PLATFORM_FVP -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size - * - Local DDR size in bytes, DDR memory in main board - */ -struct morello_plat_info { - uint64_t local_ddr_size; -} __packed; -#else -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size which is an information about multichip setup - * - Local DDR size in bytes, DDR memory in main board - * - Remote DDR size in bytes, DDR memory in remote board - * - remote_chip_count - * - multichip mode - * - scc configuration - * - silicon revision - */ -struct morello_plat_info { - uint64_t local_ddr_size; - uint64_t remote_ddr_size; - uint8_t remote_chip_count; - bool multichip_mode; - uint32_t scc_config; - uint32_t silicon_revision; -} __packed; -#endif - -/* Compile time assertion to ensure the size of structure is 18 bytes */ -CASSERT(sizeof(struct morello_plat_info) == MORELLO_SDS_PLATFORM_INFO_SIZE, - assert_invalid_plat_info_size); - #ifdef TARGET_PLATFORM_SOC /* * Morello platform supports RDIMMs with ECC capability. To use the ECC diff --git a/plat/arm/board/morello/morello_bl31_setup.c b/plat/arm/board/morello/morello_bl31_setup.c index 8f0159239..cef42f46c 100644 --- a/plat/arm/board/morello/morello_bl31_setup.c +++ b/plat/arm/board/morello/morello_bl31_setup.c @@ -14,44 +14,10 @@ #include "morello_def.h" #include -#ifdef TARGET_PLATFORM_FVP -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size - * - Local DDR size in bytes, DDR memory in main board - */ -struct morello_plat_info { - uint64_t local_ddr_size; -} __packed; -#else -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size which is an information about multichip setup - * - Local DDR size in bytes, DDR memory in main board - * - Remote DDR size in bytes, DDR memory in remote board - * - remote_chip_count - * - multichip mode - * - scc configuration - * - silicon revision - */ -struct morello_plat_info { - uint64_t local_ddr_size; - uint64_t remote_ddr_size; - uint8_t remote_chip_count; - bool multichip_mode; - uint32_t scc_config; - uint32_t silicon_revision; -} __packed; - +#ifdef TARGET_PLATFORM_SOC struct morello_plat_info plat_info; #endif -/* Compile time assertion to ensure the size of structure is of the required bytes */ -CASSERT(sizeof(struct morello_plat_info) == MORELLO_SDS_PLATFORM_INFO_SIZE, - assert_invalid_plat_info_size); - static scmi_channel_plat_info_t morello_scmi_plat_info = { .scmi_mbx_mem = MORELLO_SCMI_PAYLOAD_BASE, .db_reg_addr = PLAT_CSS_MHU_BASE + CSS_SCMI_MHU_DB_REG_OFF, diff --git a/plat/arm/board/morello/morello_def.h b/plat/arm/board/morello/morello_def.h index 2898774c5..e42a03c36 100644 --- a/plat/arm/board/morello/morello_def.h +++ b/plat/arm/board/morello/morello_def.h @@ -89,4 +89,41 @@ #define MORELLO_DMC_MEMC_CMD_CONFIG U(0) #define MORELLO_DMC_MEMC_CMD_READY U(3) +/* SDS Platform information struct definition */ +#ifdef TARGET_PLATFORM_FVP +/* + * Platform information structure stored in SDS. + * This structure holds information about platform's DDR + * size + * - Local DDR size in bytes, DDR memory in main board + */ +struct morello_plat_info { + uint64_t local_ddr_size; +} __packed; +#else +/* + * Platform information structure stored in SDS. + * This structure holds information about platform's DDR + * size which is an information about multichip setup + * - Local DDR size in bytes, DDR memory in main board + * - Remote DDR size in bytes, DDR memory in remote board + * - remote_chip_count + * - multichip mode + * - scc configuration + * - silicon revision + */ +struct morello_plat_info { + uint64_t local_ddr_size; + uint64_t remote_ddr_size; + uint8_t remote_chip_count; + bool multichip_mode; + uint32_t scc_config; + uint32_t silicon_revision; +} __packed; +#endif + +/* Compile time assertion to ensure the size of structure is of the required bytes */ +CASSERT(sizeof(struct morello_plat_info) == MORELLO_SDS_PLATFORM_INFO_SIZE, + assert_invalid_plat_info_size); + #endif /* MORELLO_DEF_H */ diff --git a/plat/arm/board/morello/morello_image_load.c b/plat/arm/board/morello/morello_image_load.c index 5fc87a05d..b5d9bd54e 100644 --- a/plat/arm/board/morello/morello_image_load.c +++ b/plat/arm/board/morello/morello_image_load.c @@ -14,38 +14,6 @@ #include #include -#ifdef TARGET_PLATFORM_FVP -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size which is an information about multichip setup - * - Local DDR size in bytes, DDR memory in main board - */ -struct morello_plat_info { - uint64_t local_ddr_size; -} __packed; -#else -/* - * Platform information structure stored in SDS. - * This structure holds information about platform's DDR - * size which is an information about multichip setup - * - Local DDR size in bytes, DDR memory in main board - * - Remote DDR size in bytes, DDR memory in remote board - * - remote_chip_count - * - multichip mode - * - scc configuration - * - silicon revision - */ -struct morello_plat_info { - uint64_t local_ddr_size; - uint64_t remote_ddr_size; - uint8_t remote_chip_count; - bool multichip_mode; - uint32_t scc_config; - uint32_t silicon_revision; -} __packed; -#endif - /* In client mode, a part of the DDR memory is reserved for Tag bits. * Calculate the usable memory size after subtracting the Tag memory. */ -- cgit v1.2.1