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] 30 BaseAddress = 0x80008000|gArmTokenSpaceGuid.PcdFdBaseAddress #The base address of the FLASH Device. 31 Size = 0x000B0000|gArmTokenSpaceGuid.PcdFdSize #The size in bytes of the FLASH Device 32 ErasePolarity = 1 33 BlockSize = 0x1 34 NumBlocks = 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 ################################################################################ 51 0x00000000|0x000B0000 52 gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize 53 FV = 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] 67 BlockSize = 0x1 68 NumBlocks = 0 # This FV gets compressed so make it just big enough 69 FvAlignment = 8 # FV alignment and FV attributes setting. 70 ERASE_POLARITY = 1 71 MEMORY_MAPPED = TRUE 72 STICKY_WRITE = TRUE 73 LOCK_CAP = TRUE 74 LOCK_STATUS = TRUE 75 WRITE_DISABLED_CAP = TRUE 76 WRITE_ENABLED_CAP = TRUE 77 WRITE_STATUS = TRUE 78 WRITE_LOCK_CAP = TRUE 79 WRITE_LOCK_STATUS = TRUE 80 READ_DISABLED_CAP = TRUE 81 READ_ENABLED_CAP = TRUE 82 READ_STATUS = TRUE 83 READ_LOCK_CAP = TRUE 84 READ_LOCK_STATUS = TRUE 85 FvNameGuid = 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] 182 FvAlignment = 8 183 ERASE_POLARITY = 1 184 MEMORY_MAPPED = TRUE 185 STICKY_WRITE = TRUE 186 LOCK_CAP = TRUE 187 LOCK_STATUS = TRUE 188 WRITE_DISABLED_CAP = TRUE 189 WRITE_ENABLED_CAP = TRUE 190 WRITE_STATUS = TRUE 191 WRITE_LOCK_CAP = TRUE 192 WRITE_LOCK_STATUS = TRUE 193 READ_DISABLED_CAP = TRUE 194 READ_ENABLED_CAP = TRUE 195 READ_STATUS = TRUE 196 READ_LOCK_CAP = TRUE 197 READ_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