## @file
#
#  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution.  The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Head]
NumOfUpdate = 6
NumOfRecovery = 1
Update0 = Vlv2FvMicrocode
Update1 = Vlv2FvBinary
Update2 = Vlv2FvMain
Update3 = Vlv2FvRecovery2
Update4 = Vlv2FvRecovery
Update5 = Vlv2FvNvRam
Recovery0 = Vlv2FvMain

[Vlv2FvMicrocode]
FirmwareType = 0            # SystemFirmware
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x00000000    # Base address offset on flash
Length      = 0x00040000    # Length
ImageOffset = 0x00000000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

[Vlv2FvNvRam]
FirmwareType = 1            # NvRam
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x00040000    # Base address offset on flash
Length      = 0x00080000    # Length
ImageOffset = 0x00040000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

[Vlv2FvBinary]
FirmwareType = 0            # SystemFirmware
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x000C0000    # Base address offset on flash
Length      = 0x00050000    # Length
ImageOffset = 0x000C0000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

[Vlv2FvMain]
FirmwareType = 0            # SystemFirmware
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x00110000    # Base address offset on flash
Length      = 0x00215000    # Length
ImageOffset = 0x00110000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

[Vlv2FvRecovery2]
FirmwareType = 0            # SystemFirmware
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x00325000    # Base address offset on flash
Length      = 0x0006B000    # Length
ImageOffset = 0x00325000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

[Vlv2FvRecovery]
FirmwareType = 0            # SystemFirmware
AddressType = 0             # 0 - relative address, 1 - absolute address.
BaseAddress = 0x00390000    # Base address offset on flash
Length      = 0x00070000    # Length
ImageOffset = 0x00390000    # Image offset of this SystemFirmware image
FileGuid    = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215  # PcdEdkiiSystemFirmwareFileGuid

