blob: deb02f407267d25fee762dae378cc6b671127c2e [file] [log] [blame]
# 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.
# - SPM_BIN Prebuilt Secure Partition image to pass to ARM Trusted Firmware.
# The path is relative to
# $EDK2_DIR/Build/StandaloneSmmPkg/$BUILD_PROFILE/FV/.
#
# 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=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc
BUILDFLAGS=
ARCH=AARCH64
BUILD_ATF=yes
UEFI_BIN=BL33_AP_UEFI.fd
UEFI_IMAGE_DIR=ArmJuno
SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin
EXTRA_FILES=../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl0.bin ../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/Copying.txt
# ARM FVP BASE AEMv8-A model
[fvp_full]
LONGNAME=aarch64 FVP RTSM with full perhiperhal set
DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1
ARCH=AARCH64
UEFI_BIN=FVP_AARCH64_EFI.fd
UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full
[fvp]
LONGNAME=aarch64 FVP RTSM
DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1
ARCH=AARCH64
BUILD_ATF=yes
UEFI_BIN=FVP_AARCH64_EFI.fd
UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64
# ARM FVP BASE AEMv8-A model
[fvp_mm_standalone]
LONGNAME=FVP Base for MM Standalone image in secure world
DSC=StandaloneSmmPkg/StandaloneSmmPkg.dsc
ARCH=AARCH64
UEFI_BIN=FVP_AARCH64_EFI_MM_STANDALONE.fd
UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Standalone
[fvp_mm_normal]
LONGNAME=FVP Base for UEFI image with MM support in normal world
DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-MM-Normal -D ARM_STANDALONE_MM_ENABLE=TRUE
ARCH=AARCH64
BUILD_ATF=debug
UEFI_BIN=FVP_AARCH64_EFI.fd
UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Normal
ATF_PLATFORM=fvp
SPM_BIN=STANDALONESMM.fd
ATF_BUILDFLAGS=ARM_BL31_IN_DRAM=1
[tc2]
LONGNAME=Versatile Express TC2
BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1
DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc
ARCH=ARM
UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd
UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7
[beagle]
LONGNAME=BeagleBoard
BUILDFLAGS=
DSC=BeagleBoardPkg/BeagleBoardPkg.dsc
ARCH=ARM
[d01]
LONGNAME=HiSilicon D01 Cortex-A15 16-cores
BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1
DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc
ARCH=ARM
UEFI_BIN=D01.fd
UEFI_IMAGE_DIR=D01
[d01-intelbds]
LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds
BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds
DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc
ARCH=ARM
UEFI_BIN=D01.fd
UEFI_IMAGE_DIR=D01
[qemu]
LONGNAME=QEMU ARM Emulator
BUILDFLAGS=-D INTEL_BDS
DSC=ArmVirtPkg/ArmVirtQemu.dsc
ARCH=ARM
UEFI_BIN=QEMU_EFI.fd
UEFI_IMAGE_DIR=ArmVirtQemu-ARM
[qemu64]
LONGNAME=QEMU AArch64 Emulator
BUILDFLAGS=-D INTEL_BDS
DSC=ArmVirtPkg/ArmVirtQemu.dsc
ARCH=AARCH64
UEFI_BIN=QEMU_EFI.fd
UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64
[mustang]
LONGNAME=APM XGene Mustang
BUILDFLAGS=
DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc
ARCH=AARCH64
UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd
UEFI_IMAGE_DIR=APMXGene-Mustang
[overdrive]
LONGNAME=AMD Overdrive
BUILDFLAGS=-D INTEL_BDS
DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc
ARCH=AARCH64
PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary
UEFI_BIN=STYX_ROM.fd
UEFI_IMAGE_DIR=Overdrive
[overdrive1000]
LONGNAME=SoftIron Overdrive 1000
BUILDFLAGS=-D INTEL_BDS
DSC=OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc
ARCH=AARCH64
PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary
UEFI_BIN=OVERDRIVE1000_ROM.fd
UEFI_IMAGE_DIR=Overdrive1000Board
[cello]
LONGNAME=LeMaker Cello
BUILDFLAGS=-D INTEL_BDS
DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc
ARCH=AARCH64
PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary
UEFI_BIN=STYX_ROM.fd
UEFI_IMAGE_DIR=Cello
# NOTE: If using upstream ATF, i.e.
# https://github.com/ARM-software/arm-trusted-firmware
# please set TOS_BIN=tee-pager.bin
[hikey]
LONGNAME=CircuitCo HiKey
DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc
ARCH=AARCH64
UEFI_BIN=BL33_AP_UEFI.fd
UEFI_IMAGE_DIR=HiKey
BUILD_ATF=yes
ATF_SPD=opteed
TOS_BIN=tee.bin
TOS_PLATFORM_FLAVOR=hikey
BUILD_TOS=yes
SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey/Binary/mcuimage.bin
# Uncomment this to use UART0 as the EDK2 console
#BUILDFLAGS=-DSERIAL_BASE=0xF8015000
# Uncomment this to use UART0 as the ARM Trusted Firmware console
#ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE
# Uncomment this to use UART0 as the OP-TEE Trusted OS console
#TOS_BUILDFLAGS=CFG_CONSOLE_UART=0
[hikey960]
LONGNAME=Hikey960
DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.dsc
ARCH=AARCH64
UEFI_BIN=BL33_AP_UEFI.fd
UEFI_IMAGE_DIR=HiKey960
BUILD_ATF=yes
ATF_SPD=opteed
TOS_BIN=tee-pager.bin
TOS_PLATFORM=hikey
TOS_PLATFORM_FLAVOR=hikey960
BUILD_TOS=yes
SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Binary/lpm3.img
# Uncomment this to use UART5 as the EDK2 console for v1 hardware
#BUILDFLAGS=-DSERIAL_BASE=0xFDF05000
[xen64]
LONGNAME=AArch64 Xen guest
BUILDFLAGS=
DSC=ArmVirtPkg/ArmVirtXen.dsc
ARCH=AARCH64
UEFI_BIN=XEN_EFI.fd
UEFI_IMAGE_DIR=ArmVirtXen-AARCH64
[aarch64-shell]
LONGNAME=AArch64 EFI Shell
BUILDFLAGS=-D INCLUDE_TFTP_COMMAND
DSC=ShellPkg/ShellPkg.dsc
ARCH=AARCH64
[aarch64-shell-minimal]
LONGNAME=AArch64 EFI Shell (Minimal)
BUILDFLAGS=-D NO_SHELL_PROFILES
DSC=ShellPkg/ShellPkg.dsc
ARCH=AARCH64
[arm-shell]
LONGNAME=ARM EFI Shell
BUILDFLAGS=-D INCLUDE_TFTP_COMMAND
DSC=ShellPkg/ShellPkg.dsc
ARCH=ARM
[arm-shell-minimal]
LONGNAME=ARM EFI Shell (Minimal)
BUILDFLAGS=-D NO_SHELL_PROFILES
DSC=ShellPkg/ShellPkg.dsc
ARCH=ARM
[d02]
LONGNAME=Hisilicon D02
DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc
ARCH=AARCH64
UEFI_BIN=PV660D02.fd
UEFI_IMAGE_DIR=Pv660D02
[d03]
LONGNAME=Hisilicon D03
DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc
ARCH=AARCH64
UEFI_BIN=D03.fd
UEFI_IMAGE_DIR=D03
[d05]
LONGNAME=HiSilicon D05
DSC=OpenPlatformPkg/Platforms/Hisilicon/D05/D05.dsc
ARCH=AARCH64
UEFI_BIN=D05.fd
UEFI_IMAGE_DIR=D05
[armada70x0]
LONGNAME=Marvell Armada 70x0
DSC=OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.dsc
ARCH=AARCH64
[ovmfx64]
LONGNAME=OVMF Qemu X64
DSC=OvmfPkg/OvmfPkgX64.dsc
ARCH=X64
[hello]
LONGNAME=EDK2 Hello World Example
DSC=MdeModulePkg/MdeModulePkg.dsc
INF=MdeModulePkg/Application/HelloWorld/HelloWorld.inf
[chaoskey]
LONGNAME=Altus Metrum ChaosKey Driver
DSC=OptionRomPkg/OptionRomPkg.dsc
INF=OpenPlatformPkg/Drivers/Usb/Misc/ChaosKeyDxe/ChaosKeyDxe.inf