]> git.proxmox.com Git - mirror_edk2.git/blob - BeagleBoardPkg/AppleBeagleBoardPkg.dsc
Updating ArmLib.h to add functions needed to turn on paging in CpuDxe. Also added...
[mirror_edk2.git] / BeagleBoardPkg / AppleBeagleBoardPkg.dsc
1 #/** @file
2 # Beagle board package.
3 #
4 # Copyright (c) 2009, Apple Inc. All rights reserved.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
10 #
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #
14 #**/
15
16 ################################################################################
17 #
18 # Defines Section - statements that will be processed to create a Makefile.
19 #
20 ################################################################################
21 [Defines]
22 PLATFORM_NAME = AppleBeagleBoardPkg
23 PLATFORM_GUID = 1C1D4FD7-703A-4DD5-A97B-FB794921859E
24 PLATFORM_VERSION = 0.1
25 DSC_SPECIFICATION = 0x00010005
26 OUTPUT_DIRECTORY = Build/AppleBeagleBoard
27 SUPPORTED_ARCHITECTURES = ARM
28 BUILD_TARGETS = DEBUG|RELEASE
29 SKUID_IDENTIFIER = DEFAULT
30 FLASH_DEFINITION = BeagleBoardPkg/AppleBeagleBoardPkg.fdf
31
32
33 [LibraryClasses.common]
34 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
35
36
37 ArmLib|ArmPkg/Library/ArmLib/ArmCortexA/ArmCortexArmLib.inf
38
39 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
40 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
41
42 BeagleBoardSystemLib|BeagleBoardPkg/Library/BeagleBoardSystemLib/BeagleBoardSystemLib.inf
43 EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf
44
45 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
46 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
47 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
48
49 EblCmdLib|BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.inf
50
51 EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
52
53
54 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
55 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
56 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
57 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
58 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
59
60 SerialPortLib|BeagleBoardPkg/Library/SerialPortLib/SerialPortLib.inf
61 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
62
63 RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
64
65 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
66
67 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
68 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
69 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
70 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
71 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
72 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
73
74 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
75 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
76 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
77
78 #
79 # Assume everything is fixed at build
80 #
81 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
82
83 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
84
85 UsbLib|AppleCommonPkg/Library/AppleUsbLib/AppleUsbDxeLib.inf
86 EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
87
88 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
89
90 TimerLib|BeagleBoardPkg/Library/BeagleBoardTimerLib/BeagleBoardTimerLib.inf
91 OmapLib|BeagleBoardPkg/Library/OmapLib/OmapLib.inf
92 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
93
94 GdbSerialLib|BeagleBoardPkg/Library/GdbSerialLib/GdbSerialLib.inf
95 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
96
97 [LibraryClasses.common.SEC]
98 ArmLib|ArmPkg/Library/ArmLib/ArmCortexA/ArmCortexArmLibPrePi.inf
99 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
100 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
101 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
102 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
103 LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
104
105 [LibraryClasses.common.PEI_CORE]
106 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
107 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
108
109 [LibraryClasses.common.DXE_CORE]
110 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
111 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
112 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
113 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
114 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
115 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
116 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
117
118 [LibraryClasses.common.DXE_DRIVER]
119 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
120 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
121
122
123 [LibraryClasses.common.UEFI_APPLICATION]
124 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
125 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
126
127 [LibraryClasses.common.UEFI_DRIVER]
128 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
129 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
130 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
131
132 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
133 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
134 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
135 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
136 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
137
138 [BuildOptions]
139 XCODE:*_*_ARM_ARCHCC_FLAGS == -arch armv6 -march=armv6
140 XCODE:*_*_ARM_ARCHASM_FLAGS == -arch armv6
141 XCODE:*_*_ARM_ARCHDLINK_FLAGS == -arch armv6
142
143 RVCT:*_*_ARM_ARCHCC_FLAGS == --cpu Cortex-A8
144 RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8
145
146
147 ################################################################################
148 #
149 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
150 #
151 ################################################################################
152
153 [PcdsFeatureFlag.common]
154 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
155 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
156 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
157 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
158
159 #
160 # Control what commands are supported from the UI
161 # Turn these on and off to add features or save size
162 #
163 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
164 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
165 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
166 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
167 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
168 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
169 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
170
171 gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
172
173 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
174 gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
175
176 #
177 # Beagle board Specific PCDs
178 #
179
180 [PcdsFixedAtBuild.common]
181 gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"AppleEFI"
182 gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32
183 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0
184 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
185 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
186 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
187 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
188 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
189 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
190 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
191 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
192
193 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
194 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000004
195 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
196
197 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
198 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
199 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
200
201 gEmbeddedTokenSpaceGuid.PcdPrePiTempMemorySize|0
202 gEmbeddedTokenSpaceGuid.PcdPrePiBfvBaseAddress|0
203 gEmbeddedTokenSpaceGuid.PcdPrePiBfvSize|0
204 gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0
205 gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0
206
207 #
208 # Optional feature to help prevent EFI memory map fragments
209 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
210 # Values are in EFI Pages (4K). DXE Core will make sure that
211 # at least this much of each type of memory can be allocated
212 # from a single memory range. This way you only end up with
213 # maximum of two fragements for each type in the memory map
214 # (the memory used, and the free memory that was prereserved
215 # but not used).
216 #
217 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
218 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
219 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
220 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
221 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
222 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
223 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
224 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
225 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
226
227
228 #
229 # Beagle board Specific PCDs
230 #
231 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
232 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
233 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000 # 128K stack
234 gBeagleBoardTokenSpaceGuid.PcdBeagleBoardIRAMFullSize|0x00000000
235 gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
236 gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
237
238 gBeagleBoardTokenSpaceGuid.PcdBeagleGpmcOffset|0x6E000000
239 gBeagleBoardTokenSpaceGuid.PcdBeagleMMCHS1Base|0x4809C000
240
241 # Console
242 gBeagleBoardTokenSpaceGuid.PcdBeagleConsoleUart|3
243
244 # Timers
245 # gBeagleBoardTokenSpaceGuid.PcdBeagleArchTimer|OMAP3530_GPTIMER3
246 gBeagleBoardTokenSpaceGuid.PcdBeagleArchTimer|3
247 # gBeagleBoardTokenSpaceGuid.PcdBeagleFreeTimer|OMAP3530_GPTIMER4
248 gBeagleBoardTokenSpaceGuid.PcdBeagleFreeTimer|4
249 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
250 gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds|77
251 gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterFrequencyInHz|13000000
252
253 #
254 # ARM Pcds
255 #
256 gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
257
258 ################################################################################
259 #
260 # Components Section - list of all EDK II Modules needed by this Platform
261 #
262 ################################################################################
263 [Components.common]
264
265 #
266 # SEC
267 #
268 BeagleBoardPkg/Sec/Sec.inf
269
270 #
271 # DXE
272 #
273 MdeModulePkg/Core/Dxe/DxeMain.inf {
274 <LibraryClasses>
275 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
276 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
277 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
278 }
279
280 ArmPkg/Drivers/CpuDxe/CpuDxe.inf
281
282 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
283 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
284 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
285 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
286 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
287 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
288 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
289
290 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
291 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
292 EmbeddedPkg/TemplateMetronomeDxe/TemplateMetronomeDxe.inf
293
294 #
295 # Semi-hosting filesystem
296 #
297 ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
298
299 #
300 # FAT filesystem + GPT/MBR partitioning
301 #
302 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
303 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
304 EnhancedFat/FatDxe/FatDxe.inf
305 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
306
307 #
308 # USB
309 #
310 BeagleBoardPkg/PciEmulation/PciEmulation.inf
311 AppleCommonPkg/Bus/Pci/EhciDxe/Ehci.inf
312 AppleCommonPkg/Bus/Usb/UsbBotDxe/UsbBot.inf
313 AppleCommonPkg/Bus/Usb/UsbCbiDxe/Cbi0/UsbCbi0.inf
314 AppleCommonPkg/Bus/Usb/UsbCbiDxe/Cbi1/UsbCbi1.inf
315 AppleCommonPkg/Bus/Usb/UsbBusDxe/UsbBus.inf
316 AppleCommonPkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorage.inf
317
318 #NOTE: Open source EHCI stack doesn't work on Beagleboard.
319 #NOTE: UsbBus and UsbMassStorage don't work using iPhond SDK tool chain.
320 #MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
321 #MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
322 #MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
323
324 #
325 # Nand Flash
326 #
327 BeagleBoardPkg/Flash/Flash.inf
328
329 #
330 # MMC/SD
331 #
332 BeagleBoardPkg/MMCHSDxe/MMCHS.inf
333
334 #
335 # I2C
336 #
337 BeagleBoardPkg/SmbusDxe/Smbus.inf
338
339 #
340 # SoC Drivers
341 #
342 BeagleBoardPkg/Gpio/Gpio.inf
343 BeagleBoardPkg/InterruptDxe/InterruptDxe.inf
344 BeagleBoardPkg/TimerDxe/TimerDxe.inf
345
346 #
347 # Power IC
348 #
349 BeagleBoardPkg/TPS65950Dxe/TPS65950.inf
350
351 #
352 # Application
353 #
354 EmbeddedPkg/Ebl/Ebl.inf
355
356 #
357 # Bds
358 #
359 BeagleBoardPkg/Bds/Bds.inf
360
361 #
362 # Gdb Stub
363 #
364 EmbeddedPkg/GdbStub/GdbStub.inf
365 ArmPkg/Drivers/DebugSupportDxe/DebugSupportDxe.inf
366