1# Platform build configurations for Linaro EDK2 builds 2# ==================================================== 3# The configuration file format is extremely simplistic: 4# - Each platform has a short name. 5# - A platform entry starts by the short name held in square brackets, '[]' 6# - Within each entry, all options are described in a NAME=VALUE scheme, 7# with the name being whatever comes before the first '=' on the line, 8# and the value being everything that comes after it. 9# 10# Mandatory options: 11# - LONGNAME A more descriptive name of the platform. 12# - DSC Pointer to the EDK2 build description file. (The 13# pandaboard is excused, all other ports must have this.) 14# - ARCH String describing the architecture to build for. 15# Currently supported are AARCH32 and AARCH64. 16# - UEFI_BIN Name of executable image produced. 17# - UEFI_IMAGE_DIR Build output directory name, relative to 'Build'. 18# 19# Options for Trusted OS 20# Note that OP-TEE (https://github.com/OP-TEE/optee_os) is the only currently 21# supported Trusted OS 22# - BUILD_TOS Set to "yes" if the build should automatically build 23# Trusted OS, mainly for ARM Trusted Firmware. 24# If this is set, you must also set ATF_SPD! 25# Else we will not know which specific Trusted OS to 26# build. 27# Set to "debug" to create a debug build. 28# - TOS_PLATFORM Platform name for Trusted OS build, if 29# different from ARM Trusted Firmware platform 30# or UEFI platform name. 31# - TOS_PLATFORM_FLAVOR If a core platform has multiple flavors, specify which 32# flavor here. 33# 34# Options for ARM Trusted Firmware platforms 35# - BUILD_ATF Set to "yes" if the build should automatically build 36# ARM Trusted Firmware and a fip containing UEFI image. 37# Set to "debug" to create a debug build. 38# - ATF_PLATFORM Platform name for ARM Trusted Firmware build, if 39# different from UEFI platform name. 40# - SCP_BIN SCP image to pass to ARM Trusted Firmware. 41# - TOS_BIN Trusted OS image to pass to ARM Trusted Firmware. 42# The path is relative to 43# $EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/. 44# To actually build the Trusted OS, you must also set 45# ATF_SPD. 46# - ATF_SPD Name of Secure Payload Dispatcher 47# To actually build the Trusted OS, you must also set 48# TOS_BIN. 49# - SPM_BIN Prebuilt Secure Partition image to pass to ARM Trusted Firmware. 50# The path is relative to 51# $EDK2_DIR/Build/StandaloneSmmPkg/$BUILD_PROFILE/FV/. 52# 53# Optional options: 54# - BUILDFLAGS Any special flags you want to pass to the build command. 55# - ATF_BUILDFLAGS Any special flags you want to pass to the ARM Trusted 56# Firmware build command. 57# - TOS_BUILDFLAGS Any special flags you want to pass to the Trusted OS 58# build command. 59# - EXTRA_FILES Any additional files to be copied to output dir. 60# - PREBUILD_CMDS Any commands you want to execute before the build step. 61# - POSTBUILD_CMDS Any commands you want to execute after the build step. 62# - PACKAGES_PATH Additional directories to search for packages under. 63# - INF Point to a .inf (in addition to a .dsc) in order to 64# build a single component (standalone driver/app). 65# 66 67[juno] 68LONGNAME=aarch64 Juno 69DSC=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc 70BUILDFLAGS= 71ARCH=AARCH64 72BUILD_ATF=yes 73UEFI_BIN=BL33_AP_UEFI.fd 74UEFI_IMAGE_DIR=ArmJuno 75SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin 76EXTRA_FILES=../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl0.bin ../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/Copying.txt 77 78# ARM FVP BASE AEMv8-A model 79[fvp_full] 80LONGNAME=aarch64 FVP RTSM with full perhiperhal set 81DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 82BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1 83ARCH=AARCH64 84UEFI_BIN=FVP_AARCH64_EFI.fd 85UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full 86 87[fvp] 88LONGNAME=aarch64 FVP RTSM 89DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 90BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1 91ARCH=AARCH64 92BUILD_ATF=yes 93UEFI_BIN=FVP_AARCH64_EFI.fd 94UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64 95 96# ARM FVP BASE AEMv8-A model 97[fvp_mm_standalone] 98LONGNAME=FVP Base for MM Standalone image in secure world 99DSC=StandaloneSmmPkg/StandaloneSmmPkg.dsc 100ARCH=AARCH64 101UEFI_BIN=FVP_AARCH64_EFI_MM_STANDALONE.fd 102UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Standalone 103 104[fvp_mm_normal] 105LONGNAME=FVP Base for UEFI image with MM support in normal world 106DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 107BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-MM-Normal -D ARM_STANDALONE_MM_ENABLE=TRUE 108ARCH=AARCH64 109BUILD_ATF=debug 110UEFI_BIN=FVP_AARCH64_EFI.fd 111UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Normal 112ATF_PLATFORM=fvp 113SPM_BIN=STANDALONESMM.fd 114ATF_BUILDFLAGS=ARM_BL31_IN_DRAM=1 115 116[tc2] 117LONGNAME=Versatile Express TC2 118BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1 119DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc 120ARCH=ARM 121UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd 122UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7 123 124[beagle] 125LONGNAME=BeagleBoard 126BUILDFLAGS= 127DSC=BeagleBoardPkg/BeagleBoardPkg.dsc 128ARCH=ARM 129 130[d01] 131LONGNAME=HiSilicon D01 Cortex-A15 16-cores 132BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 133DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc 134ARCH=ARM 135UEFI_BIN=D01.fd 136UEFI_IMAGE_DIR=D01 137 138[d01-intelbds] 139LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds 140BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds 141DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc 142ARCH=ARM 143UEFI_BIN=D01.fd 144UEFI_IMAGE_DIR=D01 145 146[qemu] 147LONGNAME=QEMU ARM Emulator 148BUILDFLAGS=-D INTEL_BDS 149DSC=ArmVirtPkg/ArmVirtQemu.dsc 150ARCH=ARM 151UEFI_BIN=QEMU_EFI.fd 152UEFI_IMAGE_DIR=ArmVirtQemu-ARM 153 154[qemu64] 155LONGNAME=QEMU AArch64 Emulator 156BUILDFLAGS=-D INTEL_BDS 157DSC=ArmVirtPkg/ArmVirtQemu.dsc 158ARCH=AARCH64 159UEFI_BIN=QEMU_EFI.fd 160UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64 161 162[mustang] 163LONGNAME=APM XGene Mustang 164BUILDFLAGS= 165DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc 166ARCH=AARCH64 167UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd 168UEFI_IMAGE_DIR=APMXGene-Mustang 169 170[overdrive] 171LONGNAME=AMD Overdrive 172BUILDFLAGS=-D INTEL_BDS 173DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc 174ARCH=AARCH64 175PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 176UEFI_BIN=STYX_ROM.fd 177UEFI_IMAGE_DIR=Overdrive 178 179[overdrive1000] 180LONGNAME=SoftIron Overdrive 1000 181BUILDFLAGS=-D INTEL_BDS 182DSC=OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc 183ARCH=AARCH64 184PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 185UEFI_BIN=OVERDRIVE1000_ROM.fd 186UEFI_IMAGE_DIR=Overdrive1000Board 187 188[cello] 189LONGNAME=LeMaker Cello 190BUILDFLAGS=-D INTEL_BDS 191DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc 192ARCH=AARCH64 193PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 194UEFI_BIN=STYX_ROM.fd 195UEFI_IMAGE_DIR=Cello 196 197# NOTE: If using upstream ATF, i.e. 198# https://github.com/ARM-software/arm-trusted-firmware 199# please set TOS_BIN=tee-pager.bin 200[hikey] 201LONGNAME=CircuitCo HiKey 202DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc 203ARCH=AARCH64 204UEFI_BIN=BL33_AP_UEFI.fd 205UEFI_IMAGE_DIR=HiKey 206BUILD_ATF=yes 207ATF_SPD=opteed 208TOS_BIN=tee.bin 209TOS_PLATFORM_FLAVOR=hikey 210BUILD_TOS=yes 211SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey/Binary/mcuimage.bin 212# Uncomment this to use UART0 as the EDK2 console 213#BUILDFLAGS=-DSERIAL_BASE=0xF8015000 214# Uncomment this to use UART0 as the ARM Trusted Firmware console 215#ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE 216# Uncomment this to use UART0 as the OP-TEE Trusted OS console 217#TOS_BUILDFLAGS=CFG_CONSOLE_UART=0 218 219[hikey960] 220LONGNAME=Hikey960 221DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.dsc 222ARCH=AARCH64 223UEFI_BIN=BL33_AP_UEFI.fd 224UEFI_IMAGE_DIR=HiKey960 225BUILD_ATF=yes 226ATF_SPD=opteed 227TOS_BIN=tee-pager.bin 228TOS_PLATFORM=hikey 229TOS_PLATFORM_FLAVOR=hikey960 230BUILD_TOS=yes 231SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Binary/lpm3.img 232# Uncomment this to use UART5 as the EDK2 console for v1 hardware 233#BUILDFLAGS=-DSERIAL_BASE=0xFDF05000 234 235[xen64] 236LONGNAME=AArch64 Xen guest 237BUILDFLAGS= 238DSC=ArmVirtPkg/ArmVirtXen.dsc 239ARCH=AARCH64 240UEFI_BIN=XEN_EFI.fd 241UEFI_IMAGE_DIR=ArmVirtXen-AARCH64 242 243[aarch64-shell] 244LONGNAME=AArch64 EFI Shell 245BUILDFLAGS=-D INCLUDE_TFTP_COMMAND 246DSC=ShellPkg/ShellPkg.dsc 247ARCH=AARCH64 248 249[aarch64-shell-minimal] 250LONGNAME=AArch64 EFI Shell (Minimal) 251BUILDFLAGS=-D NO_SHELL_PROFILES 252DSC=ShellPkg/ShellPkg.dsc 253ARCH=AARCH64 254 255[arm-shell] 256LONGNAME=ARM EFI Shell 257BUILDFLAGS=-D INCLUDE_TFTP_COMMAND 258DSC=ShellPkg/ShellPkg.dsc 259ARCH=ARM 260 261[arm-shell-minimal] 262LONGNAME=ARM EFI Shell (Minimal) 263BUILDFLAGS=-D NO_SHELL_PROFILES 264DSC=ShellPkg/ShellPkg.dsc 265ARCH=ARM 266 267[d02] 268LONGNAME=Hisilicon D02 269DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc 270ARCH=AARCH64 271UEFI_BIN=PV660D02.fd 272UEFI_IMAGE_DIR=Pv660D02 273 274[d03] 275LONGNAME=Hisilicon D03 276DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc 277ARCH=AARCH64 278UEFI_BIN=D03.fd 279UEFI_IMAGE_DIR=D03 280 281[d05] 282LONGNAME=HiSilicon D05 283DSC=OpenPlatformPkg/Platforms/Hisilicon/D05/D05.dsc 284ARCH=AARCH64 285UEFI_BIN=D05.fd 286UEFI_IMAGE_DIR=D05 287 288[armada70x0] 289LONGNAME=Marvell Armada 70x0 290DSC=OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.dsc 291ARCH=AARCH64 292 293[ovmfx64] 294LONGNAME=OVMF Qemu X64 295DSC=OvmfPkg/OvmfPkgX64.dsc 296ARCH=X64 297 298[hello] 299LONGNAME=EDK2 Hello World Example 300DSC=MdeModulePkg/MdeModulePkg.dsc 301INF=MdeModulePkg/Application/HelloWorld/HelloWorld.inf 302 303[chaoskey] 304LONGNAME=Altus Metrum ChaosKey Driver 305DSC=OptionRomPkg/OptionRomPkg.dsc 306INF=OpenPlatformPkg/Drivers/Usb/Misc/ChaosKeyDxe/ChaosKeyDxe.inf 307