summaryrefslogtreecommitdiff
path: root/platforms.config
blob: 3d501cf0aa55fc6cbbb1e2db39c966d73b049ac7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# 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_ARCH           String describing the architecture to build for.
#                      Currently the supported architecture is ARM.
# - 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 96board's forks of ATF, i.e.
# https://github.com/96boards-hikey/arm-trusted-firmware
# or
# https://github.com/96boards/arm-trusted-firmware
# please set TOS_BIN=tee.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-pager.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