Commit cfe1506e authored by Aditya Angadi's avatar Aditya Angadi
Browse files

feat(plat/sgi): introduce platform variant build option



A Neoverse reference design platform can have two or more variants that
differ in core count, cluster count or other peripherals. To allow reuse
of platform code across all the variants of a platform, introduce build
option CSS_SGI_PLATFORM_VARIANT for Arm Neoverse reference design
platforms. The range of allowed values for the build option is platform
specific. The recommended range is an interval of non negative integers.

An example usage of the build option is
make PLAT=rdn2 CSS_SGI_PLATFORM_VARIANT=1

Change-Id: Iaae79c0b4d0dc700521bf6e9b4979339eafe0359
Signed-off-by: default avatarAditya Angadi <aditya.angadi@arm.com>
parent 303f543e
......@@ -132,6 +132,12 @@ Arm CSS Platform-Specific Build Options
valid value greater than 1, the platform code performs required configuration
to support multi-chip operation.
- ``CSS_SGI_PLATFORM_VARIANT``: Selects the variant of a SGI/RD platform. A
particular SGI/RD platform may have multiple variants which may differ in
core count, cluster count or other peripherals. This build option is used
to select the appropriate platform variant for the build. The range of
valid values is platform specific.
--------------
*Copyright (c) 2019-2021, Arm Limited. All rights reserved.*
......@@ -58,4 +58,9 @@ ifneq ($(CSS_SGI_CHIP_COUNT),1)
${CSS_SGI_CHIP_COUNT}.")
endif
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for RD-E1-Edge should always be 0, \
currently set to ${CSS_SGI_PLATFORM_VARIANT}.")
endif
override CTX_INCLUDE_AARCH32_REGS := 0
......@@ -65,4 +65,9 @@ ifneq ($(CSS_SGI_CHIP_COUNT),$(filter $(CSS_SGI_CHIP_COUNT),$(SEQ)))
set to ${CSS_SGI_CHIP_COUNT}.")
endif
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for RD-N1-Edge should always be 0, \
currently set to ${CSS_SGI_PLATFORM_VARIANT}.")
endif
override CTX_INCLUDE_AARCH32_REGS := 0
......@@ -58,3 +58,8 @@ $(eval $(call TOOL_ADD_PAYLOAD,${NT_FW_CONFIG},--nt-fw-config))
override CTX_INCLUDE_AARCH32_REGS := 0
override ENABLE_AMU := 1
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for RD-N2 should be 0, currently set to \
${CSS_SGI_PLATFORM_VARIANT}.")
endif
......@@ -58,3 +58,8 @@ $(eval $(call TOOL_ADD_PAYLOAD,${NT_FW_CONFIG},--nt-fw-config,${NT_FW_CONFIG}))
override CTX_INCLUDE_AARCH32_REGS := 0
override ENABLE_AMU := 1
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for RD-V1 should always be 0, \
currently set to ${CSS_SGI_PLATFORM_VARIANT}.")
endif
......@@ -68,3 +68,8 @@ NT_FW_CONFIG := ${BUILD_PLAT}/fdts/${PLAT}_nt_fw_config.dtb
$(eval $(call TOOL_ADD_PAYLOAD,${NT_FW_CONFIG},--nt-fw-config,${NT_FW_CONFIG}))
override CTX_INCLUDE_AARCH32_REGS := 0
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for RD-V1-MC should always be 0, \
currently set to ${CSS_SGI_PLATFORM_VARIANT}.")
endif
......@@ -58,3 +58,8 @@ ifneq ($(CSS_SGI_CHIP_COUNT),1)
$(error "Chip count for SGI575 should be 1, currently set to \
${CSS_SGI_CHIP_COUNT}.")
endif
ifneq ($(CSS_SGI_PLATFORM_VARIANT),0)
$(error "CSS_SGI_PLATFORM_VARIANT for SGI575 should always be 0,\
currently set to ${CSS_SGI_PLATFORM_VARIANT}.")
endif
......@@ -18,6 +18,8 @@ HANDLE_EA_EL3_FIRST := 0
CSS_SGI_CHIP_COUNT := 1
CSS_SGI_PLATFORM_VARIANT := 0
INTERCONNECT_SOURCES := ${CSS_ENT_BASE}/sgi_interconnect.c
PLAT_INCLUDES += -I${CSS_ENT_BASE}/include
......@@ -57,6 +59,8 @@ $(eval $(call add_define,SGI_PLAT))
$(eval $(call add_define,CSS_SGI_CHIP_COUNT))
$(eval $(call add_define,CSS_SGI_PLATFORM_VARIANT))
override CSS_LOAD_SCP_IMAGES := 0
override NEED_BL2U := no
override ARM_BL31_IN_DRAM := 1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment