Remove the option to update the "Fdt" UEFI variable in the ARM BDS as the "setfdt" EFI Shell command provides this service from now. Remove the use of this variable in the legacy kernel boot loader and use the FDT installed in the configuration table instead. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <Ronald.Cron@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16940 6f19259b-4bc3-4df7-8a09-765794883524
303 lines
12 KiB
Plaintext
303 lines
12 KiB
Plaintext
#
|
|
# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
|
|
#
|
|
# 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.
|
|
#
|
|
#
|
|
|
|
################################################################################
|
|
#
|
|
# Defines Section - statements that will be processed to create a Makefile.
|
|
#
|
|
################################################################################
|
|
[Defines]
|
|
PLATFORM_NAME = ArmVExpressPkg-RTSM-A15
|
|
PLATFORM_GUID = 1665b5b1-529d-4ba1-bd51-c3c9b29a2274
|
|
PLATFORM_VERSION = 0.1
|
|
DSC_SPECIFICATION = 0x00010005
|
|
OUTPUT_DIRECTORY = Build/ArmVExpress-RTSM-A15
|
|
SUPPORTED_ARCHITECTURES = ARM
|
|
BUILD_TARGETS = DEBUG|RELEASE
|
|
SKUID_IDENTIFIER = DEFAULT
|
|
FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
|
|
|
|
!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
|
|
|
|
[LibraryClasses.common]
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
|
|
ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf
|
|
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
|
|
|
|
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
|
|
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
|
|
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
|
|
|
|
#DebugAgentTimerLib|ArmPlatformPkg/ArmVExpressPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
|
|
|
|
TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
|
|
|
|
# Virtio Support
|
|
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
|
VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
|
|
|
|
[LibraryClasses.common.SEC]
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
|
|
ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf
|
|
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
|
|
[BuildOptions]
|
|
RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM
|
|
|
|
GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM
|
|
|
|
XCODE:*_*_ARM_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM
|
|
|
|
################################################################################
|
|
#
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
|
#
|
|
################################################################################
|
|
|
|
[PcdsFeatureFlag.common]
|
|
!ifdef EDK2_SKIP_PEICORE
|
|
gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE
|
|
gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE
|
|
!endif
|
|
|
|
## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
|
|
# It could be set FALSE to save size.
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
|
|
#
|
|
# FDT installation : enable the development specific features
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdOverridePlatformFdt|TRUE
|
|
|
|
[PcdsFixedAtBuild.common]
|
|
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"
|
|
|
|
#
|
|
# NV Storage PCDs. Use base of 0x0C000000 for NOR1
|
|
#
|
|
!if $(EDK2_ARMVE_SUPPORT_QEMU) == 1
|
|
# QEMU only models a single flash block size, so use larger blocks
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FF00000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00040000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FF40000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00040000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FF80000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00040000
|
|
!else
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000
|
|
!endif
|
|
|
|
gArmTokenSpaceGuid.PcdVFPEnabled|1
|
|
|
|
# Stacks for MPCores in Secure World
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x2E009000
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000
|
|
|
|
# Stacks for MPCores in Monitor Mode
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x2E008000
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x100
|
|
|
|
# Stacks for MPCores in Normal World
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
|
|
|
|
# System Memory (1GB)
|
|
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
|
|
gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000
|
|
|
|
# Size of the region used by UEFI in permanent memory (Reserved 64MB)
|
|
gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
|
|
|
|
#
|
|
# ARM Pcds
|
|
#
|
|
gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
|
|
|
|
#
|
|
# ARM PrimeCell
|
|
#
|
|
|
|
## SP805 Watchdog - Motherboard Watchdog
|
|
gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000
|
|
|
|
## PL011 - Serial Terminal
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
|
|
|
|
## PL031 RealTimeClock
|
|
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
|
|
|
|
## PL111 Versatile Express Motherboard controller
|
|
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000
|
|
|
|
## PL180 MMC/SD card controller
|
|
gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048
|
|
gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000
|
|
|
|
#
|
|
# ARM General Interrupt Controller
|
|
#
|
|
gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000
|
|
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000
|
|
|
|
#
|
|
# ARM OS Loader
|
|
#
|
|
# Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:
|
|
gArmTokenSpaceGuid.PcdArmMachineType|2272
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|2
|
|
|
|
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"
|
|
|
|
#
|
|
# ARM Architectural Timer Frequency
|
|
#
|
|
gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000
|
|
|
|
[PcdsDynamicDefault.common]
|
|
#
|
|
# The size of a dynamic PCD of the (VOID*) type can not be increased at run
|
|
# time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128
|
|
# character "empty" string, to allow to be able to set FDT text device paths
|
|
# up to 128 characters long.
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "
|
|
|
|
################################################################################
|
|
#
|
|
# Components Section - list of all EDK II Modules needed by this Platform
|
|
#
|
|
################################################################################
|
|
[Components.common]
|
|
|
|
#
|
|
# SEC
|
|
#
|
|
ArmPlatformPkg/Sec/Sec.inf {
|
|
<LibraryClasses>
|
|
# Use the implementation which set the Secure bits
|
|
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf
|
|
}
|
|
|
|
#
|
|
# PEI Phase modules
|
|
#
|
|
!ifdef EDK2_SKIP_PEICORE
|
|
ArmPlatformPkg/PrePi/PeiUniCore.inf {
|
|
<LibraryClasses>
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
|
|
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf
|
|
}
|
|
!else
|
|
ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf {
|
|
<LibraryClasses>
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf
|
|
}
|
|
MdeModulePkg/Core/Pei/PeiMain.inf
|
|
MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
|
<LibraryClasses>
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
}
|
|
ArmPlatformPkg/PlatformPei/PlatformPeim.inf
|
|
ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
|
|
ArmPkg/Drivers/CpuPei/CpuPei.inf
|
|
IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
|
|
Nt32Pkg/BootModePei/BootModePei.inf
|
|
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
|
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
|
|
<LibraryClasses>
|
|
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
}
|
|
!endif
|
|
|
|
#
|
|
# DXE
|
|
#
|
|
MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
<LibraryClasses>
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
|
|
}
|
|
|
|
#
|
|
# Architectural Protocols
|
|
#
|
|
ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
|
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
|
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
|
|
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
|
|
EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
|
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
EmbeddedPkg/SerialDxe/SerialDxe.inf
|
|
|
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
|
ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
|
|
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
|
|
ArmPkg/Drivers/TimerDxe/TimerDxe.inf
|
|
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
|
|
ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
|
|
|
|
#
|
|
# Semi-hosting filesystem
|
|
#
|
|
ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
|
|
|
|
#
|
|
# Multimedia Card Interface
|
|
#
|
|
EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
|
|
ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf
|
|
|
|
#
|
|
# Platform Driver
|
|
#
|
|
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf
|
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
|
|
#
|
|
# FAT filesystem + GPT/MBR partitioning
|
|
#
|
|
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
|
|
#
|
|
# Bds
|
|
#
|
|
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
|
ArmPlatformPkg/Bds/Bds.inf
|