1# FLASH layout file for Beagle board. 2# 3# Copyright (c) 2009, Apple Inc. All rights reserved.<BR> 4# 5# This program and the accompanying materials 6# are licensed and made available under the terms and conditions of the BSD License 7# which accompanies this distribution. The full text of the license may be found at 8# http://opensource.org/licenses/bsd-license.php 9# 10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12# 13 14################################################################################ 15# 16# FD Section 17# The [FD] Section is made up of the definition statements and a 18# description of what goes into the Flash Device Image. Each FD section 19# defines one flash "device" image. A flash device image may be one of 20# the following: Removable media bootable image (like a boot floppy 21# image,) an Option ROM image (that would be "flashed" into an add-in 22# card,) a System "Flash" image (that would be burned into a system's 23# flash) or an Update ("Capsule") image that will be used to update and 24# existing system flash. 25# 26################################################################################ 27 28 29[FD.BeagleBoard_EFI] 30BaseAddress = 0x80008000|gArmTokenSpaceGuid.PcdFdBaseAddress #The base address of the FLASH Device. 31Size = 0x000B0000|gArmTokenSpaceGuid.PcdFdSize #The size in bytes of the FLASH Device 32ErasePolarity = 1 33BlockSize = 0x1 34NumBlocks = 0xB0000 35 36################################################################################ 37# 38# Following are lists of FD Region layout which correspond to the locations of different 39# images within the flash device. 40# 41# Regions must be defined in ascending order and may not overlap. 42# 43# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by 44# the pipe "|" character, followed by the size of the region, also in hex with the leading 45# "0x" characters. Like: 46# Offset|Size 47# PcdOffsetCName|PcdSizeCName 48# RegionType <FV, DATA, or FILE> 49# 50################################################################################ 510x00000000|0x000B0000 52gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize 53FV = FVMAIN_COMPACT 54 55################################################################################ 56# 57# FV Section 58# 59# [FV] section is used to define what components or modules are placed within a flash 60# device file. This section also defines order the components and modules are positioned 61# within the image. The [FV] section consists of define statements, set statements and 62# module statements. 63# 64################################################################################ 65 66[FV.FvMain] 67BlockSize = 0x1 68NumBlocks = 0 # This FV gets compressed so make it just big enough 69FvAlignment = 8 # FV alignment and FV attributes setting. 70ERASE_POLARITY = 1 71MEMORY_MAPPED = TRUE 72STICKY_WRITE = TRUE 73LOCK_CAP = TRUE 74LOCK_STATUS = TRUE 75WRITE_DISABLED_CAP = TRUE 76WRITE_ENABLED_CAP = TRUE 77WRITE_STATUS = TRUE 78WRITE_LOCK_CAP = TRUE 79WRITE_LOCK_STATUS = TRUE 80READ_DISABLED_CAP = TRUE 81READ_ENABLED_CAP = TRUE 82READ_STATUS = TRUE 83READ_LOCK_CAP = TRUE 84READ_LOCK_STATUS = TRUE 85FvNameGuid = d0dd3e90-343d-4cb3-8f69-772214989282 86 87 INF MdeModulePkg/Core/Dxe/DxeMain.inf 88 89 # 90 # PI DXE Drivers producing Architectural Protocols (EFI Services) 91 # 92 INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf 93 94 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 95 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 96 INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 97 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 98 INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf 99 INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf 100 101 INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 102 INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 103 INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 104 INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 105 INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 106 107 INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 108 INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 109 INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf 110 111!if $(TARGET) == RELEASE 112 # 113 # Semi-hosting filesystem 114 # 115 INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf 116!endif 117 118 # 119 # Nand Flash 120 # 121 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf 122 123 # 124 # MMC/SD 125 # 126 INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf 127 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf 128 129 # 130 # I2C 131 # 132 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf 133 134 # 135 # SoC Drivers 136 # 137 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf 138 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf 139 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf 140 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf 141 142 # 143 # Power IC 144 # 145 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf 146 147 # 148 # FAT filesystem + GPT/MBR partitioning 149 # 150 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 151 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 152 INF FatBinPkg/EnhancedFatDxe/Fat.inf 153 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 154 155 # 156 # USB Support 157 # 158 159 INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf 160 161 INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf 162 INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 163 INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 164 165 # 166 # UEFI application (Shell Embedded Boot Loader) 167 # 168 INF ShellBinPkg/UefiShell/UefiShell.inf 169 170 # 171 # Bds 172 # 173 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 174 INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 175 INF ArmPlatformPkg/Bds/Bds.inf 176 177 # Legacy Linux Loader 178 INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf 179 180 181[FV.FVMAIN_COMPACT] 182FvAlignment = 8 183ERASE_POLARITY = 1 184MEMORY_MAPPED = TRUE 185STICKY_WRITE = TRUE 186LOCK_CAP = TRUE 187LOCK_STATUS = TRUE 188WRITE_DISABLED_CAP = TRUE 189WRITE_ENABLED_CAP = TRUE 190WRITE_STATUS = TRUE 191WRITE_LOCK_CAP = TRUE 192WRITE_LOCK_STATUS = TRUE 193READ_DISABLED_CAP = TRUE 194READ_ENABLED_CAP = TRUE 195READ_STATUS = TRUE 196READ_LOCK_CAP = TRUE 197READ_LOCK_STATUS = TRUE 198 199 INF ArmPlatformPkg/PrePi/PeiUniCore.inf 200 201 FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { 202 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { 203 SECTION FV_IMAGE = FVMAIN 204 } 205 } 206 207 208################################################################################ 209# 210# Rules are use with the [FV] section's module INF type to define 211# how an FFS file is created for a given INF file. The following Rule are the default 212# rules for the different module type. User can add the customized rules to define the 213# content of the FFS file. 214# 215################################################################################ 216 217 218############################################################################ 219# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # 220############################################################################ 221# 222#[Rule.Common.DXE_DRIVER] 223# FILE DRIVER = $(NAMED_GUID) { 224# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 225# COMPRESS PI_STD { 226# GUIDED { 227# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 228# UI STRING="$(MODULE_NAME)" Optional 229# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 230# } 231# } 232# } 233# 234############################################################################ 235 236[Rule.Common.SEC] 237 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED { 238 TE TE Align = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi 239 } 240 241[Rule.Common.PEI_CORE] 242 FILE PEI_CORE = $(NAMED_GUID) { 243 TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi 244 UI STRING ="$(MODULE_NAME)" Optional 245 } 246 247[Rule.Common.PEIM] 248 FILE PEIM = $(NAMED_GUID) { 249 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 250 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 251 UI STRING="$(MODULE_NAME)" Optional 252 } 253 254[Rule.Common.PEIM.TIANOCOMPRESSED] 255 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 { 256 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 257 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE { 258 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 259 UI STRING="$(MODULE_NAME)" Optional 260 } 261 } 262 263[Rule.Common.DXE_CORE] 264 FILE DXE_CORE = $(NAMED_GUID) { 265 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 266 UI STRING="$(MODULE_NAME)" Optional 267 } 268 269 270[Rule.Common.UEFI_DRIVER] 271 FILE DRIVER = $(NAMED_GUID) { 272 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 273 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 274 UI STRING="$(MODULE_NAME)" Optional 275 } 276 277[Rule.Common.DXE_DRIVER] 278 FILE DRIVER = $(NAMED_GUID) { 279 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 280 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 281 UI STRING="$(MODULE_NAME)" Optional 282 } 283 284[Rule.Common.DXE_RUNTIME_DRIVER] 285 FILE DRIVER = $(NAMED_GUID) { 286 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 287 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 288 UI STRING="$(MODULE_NAME)" Optional 289 } 290 291[Rule.Common.UEFI_APPLICATION] 292 FILE APPLICATION = $(NAMED_GUID) { 293 UI STRING ="$(MODULE_NAME)" Optional 294 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 295 } 296 297[Rule.Common.UEFI_DRIVER.BINARY] 298 FILE DRIVER = $(NAMED_GUID) { 299 DXE_DEPEX DXE_DEPEX Optional |.depex 300 PE32 PE32 |.efi 301 UI STRING="$(MODULE_NAME)" Optional 302 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 303 } 304 305[Rule.Common.UEFI_APPLICATION.BINARY] 306 FILE APPLICATION = $(NAMED_GUID) { 307 PE32 PE32 |.efi 308 UI STRING="$(MODULE_NAME)" Optional 309 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 310 } 311