Home | History | Annotate | Download | only in BeagleBoard
      1 #/** @file
      2 # Beagle board package.
      3 #
      4 # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
      5 #
      6 #    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                  = BeagleBoardPkg
     23   PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31
     24   PLATFORM_VERSION               = 0.1
     25   DSC_SPECIFICATION              = 0x00010005
     26   OUTPUT_DIRECTORY               = Build/BeagleBoard
     27   SUPPORTED_ARCHITECTURES        = ARM
     28   BUILD_TARGETS                  = DEBUG|RELEASE
     29   SKUID_IDENTIFIER               = DEFAULT
     30   FLASH_DEFINITION               = OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
     31 
     32 
     33 [LibraryClasses.common]
     34   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
     35   ArmPlatformLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
     36   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
     37   ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
     38   ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
     39 
     40   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     41   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     42 
     43 !if $(TARGET) == RELEASE
     44   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
     45   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
     46 !else
     47   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
     48   UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
     49 #  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
     50 !endif
     51   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
     52 
     53   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
     54 
     55   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     56   BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
     57 
     58   EfiResetSystemLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
     59 
     60   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
     61   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
     62   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     63 
     64   EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
     65 
     66   # These libraries are used by the dynamic EFI Shell commands
     67   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
     68   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
     69   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
     70 
     71   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     72 
     73   #
     74   # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
     75   # in the debugger will show load and unload commands for symbols. You can cut and paste this
     76   # into the command window to load symbols. We should be able to use a script to do this, but
     77   # the version of RVD I have does not support scipts accessing system memory.
     78   #
     79 #  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
     80   PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
     81 #  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
     82 
     83 
     84   CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
     85   DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
     86   CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
     87   PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
     88 
     89   SerialPortLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
     90   SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
     91 
     92   RealTimeClockLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
     93 
     94   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
     95 
     96   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
     97   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     98   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
     99   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
    100   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
    101   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
    102 
    103   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
    104   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
    105   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
    106 
    107 #
    108 # Assume everything is fixed at build
    109 #
    110   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    111 
    112   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
    113 
    114   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
    115 
    116   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
    117 
    118   TimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
    119   OmapLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
    120   OmapDmaLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
    121   DebugAgentTimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
    122 
    123   GdbSerialLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
    124   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
    125   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
    126   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
    127 
    128   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
    129   BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
    130   FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
    131 
    132 [LibraryClasses.common.SEC]
    133   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
    134 
    135   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    136   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
    137   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    138   ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
    139   LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    140 
    141   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
    142 
    143   HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
    144   PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
    145   MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
    146   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
    147   PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
    148   MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
    149 
    150   # 1/123 faster than Stm or Vstm version
    151   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
    152 
    153   # Uncomment to turn on GDB stub in SEC.
    154   #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
    155 
    156 [LibraryClasses.common.PEI_CORE]
    157   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    158   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
    159 
    160 [LibraryClasses.common.DXE_CORE]
    161   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
    162   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
    163   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    164   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    165   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    166   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
    167   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    168 #  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
    169   PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
    170 
    171   PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
    172 
    173 
    174 [LibraryClasses.common.DXE_DRIVER]
    175   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    176   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    177   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
    178   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    179 
    180 [LibraryClasses.common.UEFI_APPLICATION]
    181   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    182   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    183   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    184   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
    185 
    186 [LibraryClasses.common.UEFI_DRIVER]
    187   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    188   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
    189   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    190   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
    191   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
    192 
    193 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
    194   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    195   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    196   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
    197   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
    198 #  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
    199   PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
    200 
    201 
    202 [LibraryClasses.ARM]
    203   #
    204   # It is not possible to prevent the ARM compiler for generic intrinsic functions.
    205   # This library provides the instrinsic functions generate by a given compiler.
    206   # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
    207   #
    208   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
    209 
    210   # Add support for GCC stack protector
    211   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
    212 
    213 [BuildOptions]
    214   XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7
    215 
    216   GCC:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a
    217 
    218   RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8
    219 
    220 ################################################################################
    221 #
    222 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
    223 #
    224 ################################################################################
    225 
    226 [PcdsFeatureFlag.common]
    227   gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
    228   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
    229   gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
    230   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
    231 
    232   #
    233   # Control what commands are supported from the UI
    234   # Turn these on and off to add features or save size
    235   #
    236   gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
    237   gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
    238   gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
    239   gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
    240   gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
    241   gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
    242   gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
    243 
    244   gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
    245 
    246   # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
    247   gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
    248 
    249   gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
    250   gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
    251 
    252   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
    253 
    254   ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
    255   #  It could be set FALSE to save size.
    256   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
    257 
    258 [PcdsFixedAtBuild.common]
    259   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Beagle Board"
    260 
    261   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"
    262   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
    263   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
    264   gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
    265   gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
    266   gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
    267   gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
    268   gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
    269   gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
    270 
    271 # DEBUG_ASSERT_ENABLED       0x01
    272 # DEBUG_PRINT_ENABLED        0x02
    273 # DEBUG_CODE_ENABLED         0x04
    274 # CLEAR_MEMORY_ENABLED       0x08
    275 # ASSERT_BREAKPOINT_ENABLED  0x10
    276 # ASSERT_DEADLOOP_ENABLED    0x20
    277 !if $(TARGET) == RELEASE
    278   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
    279 !else
    280   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
    281 !endif
    282 
    283 #  DEBUG_INIT      0x00000001  // Initialization
    284 #  DEBUG_WARN      0x00000002  // Warnings
    285 #  DEBUG_LOAD      0x00000004  // Load events
    286 #  DEBUG_FS        0x00000008  // EFI File system
    287 #  DEBUG_POOL      0x00000010  // Alloc & Free's
    288 #  DEBUG_PAGE      0x00000020  // Alloc & Free's
    289 #  DEBUG_INFO      0x00000040  // Verbose
    290 #  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
    291 #  DEBUG_VARIABLE  0x00000100  // Variable
    292 #  DEBUG_BM        0x00000400  // Boot Manager
    293 #  DEBUG_BLKIO     0x00001000  // BlkIo Driver
    294 #  DEBUG_NET       0x00004000  // SNI Driver
    295 #  DEBUG_UNDI      0x00010000  // UNDI Driver
    296 #  DEBUG_LOADFILE  0x00020000  // UNDI Driver
    297 #  DEBUG_EVENT     0x00080000  // Event messages
    298 #  DEBUG_ERROR     0x80000000  // Error
    299   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
    300 
    301   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
    302 
    303   gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
    304   gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
    305   gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
    306 
    307 #
    308 # Optional feature to help prevent EFI memory map fragments
    309 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
    310 # Values are in EFI Pages (4K). DXE Core will make sure that
    311 # at least this much of each type of memory can be allocated
    312 # from a single memory range. This way you only end up with
    313 # maximum of two fragements for each type in the memory map
    314 # (the memory used, and the free memory that was prereserved
    315 # but not used).
    316 #
    317   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
    318   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
    319   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
    320   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
    321   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
    322   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
    323   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
    324   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
    325   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
    326 
    327 
    328 #
    329 # Beagle board Specific PCDs
    330 #
    331   gArmTokenSpaceGuid.PcdVFPEnabled|1
    332 
    333   gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
    334   gArmTokenSpaceGuid.PcdSystemMemorySize|0x08000000
    335 
    336   # Size of the region used by UEFI in permanent memory (Reserved 16MB)
    337   gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000
    338 
    339   # Size of the region reserved for fixed address allocations (Reserved 32MB)
    340   gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x02000000
    341 
    342   gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000
    343   gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
    344 
    345   gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
    346   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
    347   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
    348 
    349   # We want to use the Shell Libraries but don't want it to initialise
    350   # automatically. We initialise the libraries when the command is called by the
    351   # Shell.
    352   gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    353 
    354   #
    355   # ARM Pcds
    356   #
    357   gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
    358 
    359   gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"
    360   gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/Image"
    361   gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"console=tty0 console=ttyS2,115200n8 root=UUID=a4af765b-c2b5-48f4-9564-7a4e9104c4f6 rootwait ro earlyprintk"
    362   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
    363 
    364   gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(E68088EF-D1A4-4336-C1DB-4D3A204730A6)"
    365   gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
    366 
    367 ################################################################################
    368 #
    369 # Components Section - list of all EDK II Modules needed by this Platform
    370 #
    371 ################################################################################
    372 [Components.common]
    373 
    374   #
    375   # SEC
    376   #
    377   ArmPlatformPkg/PrePi/PeiUniCore.inf
    378 
    379   #
    380   # DXE
    381   #
    382   MdeModulePkg/Core/Dxe/DxeMain.inf {
    383     <LibraryClasses>
    384       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    385       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
    386       NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
    387   }
    388 
    389   ArmPkg/Drivers/CpuDxe/CpuDxe.inf
    390 
    391   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    392   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    393   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    394   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    395   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
    396   EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
    397 
    398   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    399   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    400   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
    401   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
    402   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    403 #
    404 # This version uses semi-hosting console
    405 #  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {
    406 #    <LibraryClasses>
    407 #      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
    408 #  }
    409 
    410   EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
    411   EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
    412   EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
    413 
    414   #
    415   # Semi-hosting filesystem
    416   #
    417   ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
    418 
    419   #
    420   # FAT filesystem + GPT/MBR partitioning
    421   #
    422   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    423   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    424   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    425 
    426   #
    427   # USB
    428   #
    429   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
    430 
    431   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {
    432     <PcdsFixedAtBuild>
    433       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
    434   }
    435 
    436   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    437   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    438 
    439   #
    440   # Nand Flash
    441   #
    442   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
    443 
    444   #
    445   # MMC/SD
    446   #
    447   EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
    448   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
    449 
    450   #
    451   # I2C
    452   #
    453   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
    454 
    455   #
    456   # SoC Drivers
    457   #
    458   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
    459   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
    460   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
    461   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
    462 
    463   #
    464   # Power IC
    465   #
    466   OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
    467 
    468   #
    469   # Bds
    470   #
    471   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    472   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    473   ArmPlatformPkg/Bds/Bds.inf
    474 
    475   # Legacy Linux Loader
    476   ArmPkg/Application/LinuxLoader/LinuxLoader.inf
    477 
    478   #
    479   # Example Application
    480   #
    481   MdeModulePkg/Application/HelloWorld/HelloWorld.inf
    482 
    483