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#
50# Optional options:
51# - BUILDFLAGS		Any special flags you want to pass to the build command.
52# - ATF_BUILDFLAGS	Any special flags you want to pass to the ARM Trusted
53#			Firmware build command.
54# - TOS_BUILDFLAGS	Any special flags you want to pass to the Trusted OS
55#			build command.
56# - EXTRA_FILES		Any additional files to be copied to output dir.
57# - PREBUILD_CMDS	Any commands you want to execute before the build step.
58# - POSTBUILD_CMDS	Any commands you want to execute after the build step.
59# - PACKAGES_PATH	Additional directories to search for packages under.
60#
61# Special options:
62# - BUILDCMD		Command to call instead of the normal build command.
63#			Only for pandaboard, not to be used for new ports.
64#
65
66[juno]
67LONGNAME=aarch64 Juno
68DSC=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc
69BUILDFLAGS=
70ARCH=AARCH64
71BUILD_ATF=yes
72UEFI_BIN=BL33_AP_UEFI.fd
73UEFI_IMAGE_DIR=ArmJuno
74SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin
75EXTRA_FILES=../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl0.bin ../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/Copying.txt
76
77# ARM FVP BASE AEMv8-A model
78[fvp_full]
79LONGNAME=aarch64 FVP RTSM with full perhiperhal set
80DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
81BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1
82ARCH=AARCH64
83UEFI_BIN=FVP_AARCH64_EFI.fd
84UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full
85
86[fvp]
87LONGNAME=aarch64 FVP RTSM
88DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
89BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1
90ARCH=AARCH64
91BUILD_ATF=yes
92UEFI_BIN=FVP_AARCH64_EFI.fd
93UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64
94
95[tc2]
96LONGNAME=Versatile Express TC2
97BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1
98DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc
99ARCH=ARM
100UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd
101UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7
102
103[panda]
104LONGNAME=TI Pandaboard
105BUILDCMD=./PandaBoardPkg/build.sh
106BUILDFLAGS=
107ARCH=ARM
108UEFI_BIN=MLO
109UEFI_IMAGE_DIR=PandaBoard
110
111[beagle]
112LONGNAME=BeagleBoard
113BUILDFLAGS=
114DSC=BeagleBoardPkg/BeagleBoardPkg.dsc
115ARCH=ARM
116
117[d01]
118LONGNAME=HiSilicon D01 Cortex-A15 16-cores
119BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1
120DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc
121ARCH=ARM
122UEFI_BIN=D01.fd
123UEFI_IMAGE_DIR=D01
124
125[d01-intelbds]
126LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds
127BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds
128DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc
129ARCH=ARM
130UEFI_BIN=D01.fd
131UEFI_IMAGE_DIR=D01
132
133[bbb]
134LONGNAME=Texas Instruments BeagleBone Black
135BUILDFLAGS=
136DSC=TexasInstrumentsPkg/BeagleBoneBlackPkg/BeagleBoneBlackPkg.dsc
137ARCH=ARM
138UEFI_BIN=BEAGLEBONEBLACK_EFI.fd
139UEFI_IMAGE_DIR=BeagleBoneBlack
140
141[qemu]
142LONGNAME=QEMU ARM Emulator
143BUILDFLAGS=-D INTEL_BDS
144DSC=ArmVirtPkg/ArmVirtQemu.dsc
145ARCH=ARM
146UEFI_BIN=QEMU_EFI.fd
147UEFI_IMAGE_DIR=ArmVirtQemu-ARM
148
149[qemu64]
150LONGNAME=QEMU AArch64 Emulator
151BUILDFLAGS=-D INTEL_BDS
152DSC=ArmVirtPkg/ArmVirtQemu.dsc
153ARCH=AARCH64
154UEFI_BIN=QEMU_EFI.fd
155UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64
156
157[mustang]
158LONGNAME=APM XGene Mustang
159BUILDFLAGS=
160DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc
161ARCH=AARCH64
162UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd
163UEFI_IMAGE_DIR=APMXGene-Mustang
164
165[overdrive]
166LONGNAME=AMD Overdrive
167BUILDFLAGS=-D INTEL_BDS
168DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc
169ARCH=AARCH64
170PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary
171UEFI_BIN=STYX_ROM.fd
172UEFI_IMAGE_DIR=Overdrive
173
174[cello]
175LONGNAME=LeMaker Cello
176BUILDFLAGS=-D INTEL_BDS
177DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc
178ARCH=AARCH64
179PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary
180UEFI_BIN=STYX_ROM.fd
181UEFI_IMAGE_DIR=Cello
182
183[hikey]
184LONGNAME=CircuitCo HiKey
185DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc
186ARCH=AARCH64
187UEFI_BIN=BL33_AP_UEFI.fd
188UEFI_IMAGE_DIR=HiKey
189BUILD_ATF=yes
190ATF_SPD=opteed
191TOS_BIN=tee.bin
192BUILD_TOS=yes
193SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey/Binary/mcuimage.bin
194# Uncomment this to use UART0 as the EDK2 console
195#BUILDFLAGS=-DSERIAL_BASE=0xF8015000
196# Uncomment this to use UART0 as the ARM Trusted Firmware console
197#ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE
198# Uncomment this to use UART0 as the OP-TEE Trusted OS console
199#TOS_BUILDFLAGS=CFG_CONSOLE_UART=0
200
201[xen64]
202LONGNAME=AArch64 Xen guest
203BUILDFLAGS=
204DSC=ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.dsc
205ARCH=AARCH64
206UEFI_BIN=XEN_EFI.fd
207UEFI_IMAGE_DIR=ArmVirtualizationXen-AARCH64
208
209[aarch64-shell]
210LONGNAME=AArch64 EFI Shell
211BUILDFLAGS=-D INCLUDE_TFTP_COMMAND
212DSC=ShellPkg/ShellPkg.dsc
213ARCH=AARCH64
214
215[aarch64-shell-minimal]
216LONGNAME=AArch64 EFI Shell (Minimal)
217BUILDFLAGS=-D NO_SHELL_PROFILES
218DSC=ShellPkg/ShellPkg.dsc
219ARCH=AARCH64
220
221[arm-shell]
222LONGNAME=ARM EFI Shell
223BUILDFLAGS=-D INCLUDE_TFTP_COMMAND
224DSC=ShellPkg/ShellPkg.dsc
225ARCH=ARM
226
227[arm-shell-minimal]
228LONGNAME=ARM EFI Shell (Minimal)
229BUILDFLAGS=-D NO_SHELL_PROFILES
230DSC=ShellPkg/ShellPkg.dsc
231ARCH=ARM
232
233[d02]
234LONGNAME=Hisilicon D02
235DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc
236ARCH=AARCH64
237UEFI_BIN=PV660D02.fd
238UEFI_IMAGE_DIR=Pv660D02
239
240[d03]
241LONGNAME=Hisilicon D03
242DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc
243ARCH=AARCH64
244UEFI_BIN=D03.fd
245UEFI_IMAGE_DIR=D03
246