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] 68 LONGNAME=aarch64 Juno 69 DSC=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc 70 BUILDFLAGS= 71 ARCH=AARCH64 72 BUILD_ATF=yes 73 UEFI_BIN=BL33_AP_UEFI.fd 74 UEFI_IMAGE_DIR=ArmJuno 75 SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin 76 EXTRA_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] 80 LONGNAME=aarch64 FVP RTSM with full perhiperhal set 81 DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 82 BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1 83 ARCH=AARCH64 84 UEFI_BIN=FVP_AARCH64_EFI.fd 85 UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full 86 87 [fvp] 88 LONGNAME=aarch64 FVP RTSM 89 DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 90 BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1 91 ARCH=AARCH64 92 BUILD_ATF=yes 93 UEFI_BIN=FVP_AARCH64_EFI.fd 94 UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64 95 96 # ARM FVP BASE AEMv8-A model 97 [fvp_mm_standalone] 98 LONGNAME=FVP Base for MM Standalone image in secure world 99 DSC=StandaloneSmmPkg/StandaloneSmmPkg.dsc 100 ARCH=AARCH64 101 UEFI_BIN=FVP_AARCH64_EFI_MM_STANDALONE.fd 102 UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Standalone 103 104 [fvp_mm_normal] 105 LONGNAME=FVP Base for UEFI image with MM support in normal world 106 DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc 107 BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-MM-Normal -D ARM_STANDALONE_MM_ENABLE=TRUE 108 ARCH=AARCH64 109 BUILD_ATF=debug 110 UEFI_BIN=FVP_AARCH64_EFI.fd 111 UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Normal 112 ATF_PLATFORM=fvp 113 SPM_BIN=STANDALONESMM.fd 114 ATF_BUILDFLAGS=ARM_BL31_IN_DRAM=1 115 116 [tc2] 117 LONGNAME=Versatile Express TC2 118 BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1 119 DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc 120 ARCH=ARM 121 UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd 122 UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7 123 124 [beagle] 125 LONGNAME=BeagleBoard 126 BUILDFLAGS= 127 DSC=BeagleBoardPkg/BeagleBoardPkg.dsc 128 ARCH=ARM 129 130 [d01] 131 LONGNAME=HiSilicon D01 Cortex-A15 16-cores 132 BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 133 DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc 134 ARCH=ARM 135 UEFI_BIN=D01.fd 136 UEFI_IMAGE_DIR=D01 137 138 [d01-intelbds] 139 LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds 140 BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds 141 DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc 142 ARCH=ARM 143 UEFI_BIN=D01.fd 144 UEFI_IMAGE_DIR=D01 145 146 [qemu] 147 LONGNAME=QEMU ARM Emulator 148 BUILDFLAGS=-D INTEL_BDS 149 DSC=ArmVirtPkg/ArmVirtQemu.dsc 150 ARCH=ARM 151 UEFI_BIN=QEMU_EFI.fd 152 UEFI_IMAGE_DIR=ArmVirtQemu-ARM 153 154 [qemu64] 155 LONGNAME=QEMU AArch64 Emulator 156 BUILDFLAGS=-D INTEL_BDS 157 DSC=ArmVirtPkg/ArmVirtQemu.dsc 158 ARCH=AARCH64 159 UEFI_BIN=QEMU_EFI.fd 160 UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64 161 162 [mustang] 163 LONGNAME=APM XGene Mustang 164 BUILDFLAGS= 165 DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc 166 ARCH=AARCH64 167 UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd 168 UEFI_IMAGE_DIR=APMXGene-Mustang 169 170 [overdrive] 171 LONGNAME=AMD Overdrive 172 BUILDFLAGS=-D INTEL_BDS 173 DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc 174 ARCH=AARCH64 175 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 176 UEFI_BIN=STYX_ROM.fd 177 UEFI_IMAGE_DIR=Overdrive 178 179 [overdrive1000] 180 LONGNAME=SoftIron Overdrive 1000 181 BUILDFLAGS=-D INTEL_BDS 182 DSC=OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc 183 ARCH=AARCH64 184 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 185 UEFI_BIN=OVERDRIVE1000_ROM.fd 186 UEFI_IMAGE_DIR=Overdrive1000Board 187 188 [cello] 189 LONGNAME=LeMaker Cello 190 BUILDFLAGS=-D INTEL_BDS 191 DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc 192 ARCH=AARCH64 193 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary 194 UEFI_BIN=STYX_ROM.fd 195 UEFI_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] 201 LONGNAME=CircuitCo HiKey 202 DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc 203 ARCH=AARCH64 204 UEFI_BIN=BL33_AP_UEFI.fd 205 UEFI_IMAGE_DIR=HiKey 206 BUILD_ATF=yes 207 ATF_SPD=opteed 208 TOS_BIN=tee.bin 209 TOS_PLATFORM_FLAVOR=hikey 210 BUILD_TOS=yes 211 SCP_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] 220 LONGNAME=Hikey960 221 DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.dsc 222 ARCH=AARCH64 223 UEFI_BIN=BL33_AP_UEFI.fd 224 UEFI_IMAGE_DIR=HiKey960 225 BUILD_ATF=yes 226 ATF_SPD=opteed 227 TOS_BIN=tee-pager.bin 228 TOS_PLATFORM=hikey 229 TOS_PLATFORM_FLAVOR=hikey960 230 BUILD_TOS=yes 231 SCP_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] 236 LONGNAME=AArch64 Xen guest 237 BUILDFLAGS= 238 DSC=ArmVirtPkg/ArmVirtXen.dsc 239 ARCH=AARCH64 240 UEFI_BIN=XEN_EFI.fd 241 UEFI_IMAGE_DIR=ArmVirtXen-AARCH64 242 243 [aarch64-shell] 244 LONGNAME=AArch64 EFI Shell 245 BUILDFLAGS=-D INCLUDE_TFTP_COMMAND 246 DSC=ShellPkg/ShellPkg.dsc 247 ARCH=AARCH64 248 249 [aarch64-shell-minimal] 250 LONGNAME=AArch64 EFI Shell (Minimal) 251 BUILDFLAGS=-D NO_SHELL_PROFILES 252 DSC=ShellPkg/ShellPkg.dsc 253 ARCH=AARCH64 254 255 [arm-shell] 256 LONGNAME=ARM EFI Shell 257 BUILDFLAGS=-D INCLUDE_TFTP_COMMAND 258 DSC=ShellPkg/ShellPkg.dsc 259 ARCH=ARM 260 261 [arm-shell-minimal] 262 LONGNAME=ARM EFI Shell (Minimal) 263 BUILDFLAGS=-D NO_SHELL_PROFILES 264 DSC=ShellPkg/ShellPkg.dsc 265 ARCH=ARM 266 267 [d02] 268 LONGNAME=Hisilicon D02 269 DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc 270 ARCH=AARCH64 271 UEFI_BIN=PV660D02.fd 272 UEFI_IMAGE_DIR=Pv660D02 273 274 [d03] 275 LONGNAME=Hisilicon D03 276 DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc 277 ARCH=AARCH64 278 UEFI_BIN=D03.fd 279 UEFI_IMAGE_DIR=D03 280 281 [d05] 282 LONGNAME=HiSilicon D05 283 DSC=OpenPlatformPkg/Platforms/Hisilicon/D05/D05.dsc 284 ARCH=AARCH64 285 UEFI_BIN=D05.fd 286 UEFI_IMAGE_DIR=D05 287 288 [armada70x0] 289 LONGNAME=Marvell Armada 70x0 290 DSC=OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.dsc 291 ARCH=AARCH64 292 293 [ovmfx64] 294 LONGNAME=OVMF Qemu X64 295 DSC=OvmfPkg/OvmfPkgX64.dsc 296 ARCH=X64 297 298 [hello] 299 LONGNAME=EDK2 Hello World Example 300 DSC=MdeModulePkg/MdeModulePkg.dsc 301 INF=MdeModulePkg/Application/HelloWorld/HelloWorld.inf 302 303 [chaoskey] 304 LONGNAME=Altus Metrum ChaosKey Driver 305 DSC=OptionRomPkg/OptionRomPkg.dsc 306 INF=OpenPlatformPkg/Drivers/Usb/Misc/ChaosKeyDxe/ChaosKeyDxe.inf 307