Home | History | Annotate | Download | only in BeagleBoard
      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