# Platform build configurations for Linaro EDK2 builds
# ====================================================
# The configuration file format is extremely simplistic:
# - Each platform has a short name.
# - A platform entry starts by the short name held in square brackets, '[]'
# - Within each entry, all options are described in a NAME=VALUE scheme,
#   with the name being whatever comes before the first '=' on the line,
#   and the value being everything that comes after it.
#
# Mandatory options:
# - LONGNAME		A more descriptive name of the platform.
# - DSC			Pointer to the EDK2 build description file. (The
#			pandaboard is excused, all other ports must have this.)
# - ARCH		String describing the architecture to build for.
#			Currently supported are AARCH32 and AARCH64.
# - UEFI_BIN		Name of executable image produced.
# - UEFI_IMAGE_DIR	Build output directory name, relative to 'Build'.
#
# Options for Trusted OS
# Note that OP-TEE (https://github.com/OP-TEE/optee_os) is the only currently
# supported Trusted OS
# - BUILD_TOS		Set to "yes" if the build should automatically build
#   			Trusted OS, mainly for ARM Trusted Firmware.
#			If this is set, you must also set ATF_SPD!
#			Else we will not know which specific Trusted OS to
#			build.
#			Set to "debug" to create a debug build.
# - TOS_PLATFORM	Platform name for Trusted OS build, if
#   			different from ARM Trusted Firmware platform
#			or UEFI platform name.
# - TOS_PLATFORM_FLAVOR	If a core platform has multiple flavors, specify which
#			flavor here.
#
# Options for ARM Trusted Firmware platforms
# - BUILD_ATF		Set to "yes" if the build should automatically build
#   			ARM Trusted Firmware and a fip containing UEFI image.
#			Set to "debug" to create a debug build.
# - ATF_PLATFORM	Platform name for ARM Trusted Firmware build, if
#   			different from UEFI platform name.
# - SCP_BIN		SCP image to pass to ARM Trusted Firmware.
# - TOS_BIN		Trusted OS image to pass to ARM Trusted Firmware.
#			The path is relative to
#			$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/.
#			To actually build the Trusted OS, you must also set
#			ATF_SPD.
# - ATF_SPD		Name of Secure Payload Dispatcher
#			To actually build the Trusted OS, you must also set
#			TOS_BIN.
#
# Optional options:
# - BUILDFLAGS		Any special flags you want to pass to the build command.
# - ATF_BUILDFLAGS	Any special flags you want to pass to the ARM Trusted
#			Firmware build command.
# - TOS_BUILDFLAGS	Any special flags you want to pass to the Trusted OS
#			build command.
# - EXTRA_FILES		Any additional files to be copied to output dir.
# - PREBUILD_CMDS	Any commands you want to execute before the build step.
# - POSTBUILD_CMDS	Any commands you want to execute after the build step.
# - PACKAGES_PATH	Additional directories to search for packages under.
# - INF                 Point to a .inf (in addition to a .dsc) in order to
#                       build a single component (standalone driver/app).
#

[juno]
LONGNAME=aarch64 Juno
DSC=Platform/ARM/JunoPkg/ArmJuno.dsc
BUILDFLAGS=
ARCH=AARCH64
BUILD_ATF=yes
SCP_BIN=Platform/ARM/Juno/bl30.bin
UEFI_BIN=BL33_AP_UEFI.fd
UEFI_IMAGE_DIR=ArmJuno

# ARM FVP BASE AEMv8-A model
[fvp]
LONGNAME=aarch64 FVP RTSM
DSC=Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1
ARCH=AARCH64
BUILD_ATF=yes
UEFI_BIN=FVP_AARCH64_EFI.fd
UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64

[tc2]
LONGNAME=Versatile Express TC2
BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1
DSC=Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc
ARCH=ARM

[overdrive]
LONGNAME=AMD Overdrive
DSC=Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
ARCH=AARCH64

[overdrive1000]
LONGNAME=SoftIron Overdrive 1000
DSC=Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
ARCH=AARCH64

[cello]
LONGNAME=LeMaker Cello
DSC=Platform/LeMaker/CelloBoard/CelloBoard.dsc
ARCH=AARCH64

[hikey]
LONGNAME=HiKey
DSC=Platform/Hisilicon/HiKey/HiKey.dsc
ARCH=AARCH64

[d02]
LONGNAME=Hisilicon D02
DSC=Platform/Hisilicon/D02/Pv660D02.dsc
ARCH=AARCH64

[d03]
LONGNAME=Hisilicon D03
DSC=Platform/Hisilicon/D03/D03.dsc
ARCH=AARCH64

[d05]
LONGNAME=HiSilicon D05
DSC=Platform/Hisilicon/D05/D05.dsc
ARCH=AARCH64

[armada70x0]
LONGNAME=Marvell Armada 70x0
DSC=Platform/Marvell/Armada/Armada70x0.dsc
ARCH=AARCH64

[chaoskey]
LONGNAME=Altus Metrum ChaosKey RNG
DSC=Silicon/Openmoko/Openmoko.dsc
ARCH=AARCH64

[beagle]
LONGNAME=Beagleboard (original)
DSC=BeagleBoardPkg/BeagleBoardPkg.dsc
ARCH=ARM