The idea is to keep ArmPkg responsible for the ARM architectural modules and ArmPlatformPkg
the ARM development platform packages (with their respective drivers).
ArmPlatformPkg: Reduce driver dependency on ArmPlatform.h
- Move some driver definitions from C-Macro to PCD values
- Unify PCD driver namespace
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11956 6f19259b-4bc3-4df7-8a09-765794883524
This driver implements the interface for the PL111 Lcd controller.
The LcdPlatformLib allows to set the platform specific requirements
needed by the platform for setting the LCD (oscillators, etc).
ArmPlatformPkg/ArmVExpressPkg: Implement LcdPlatformLib
This library exports the supported resolutions. It also allocates the
memory for the framebuffer and send the correct settings to the VExpress
motherboard microcontroller.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11786 6f19259b-4bc3-4df7-8a09-765794883524
The purpose of this library is to create an interface to communicate
with the platform micro-controller.
It abstracts the communication protocol (eg: SPI, UART, etc) between
the application processor and the micro-controller.
ArmPlatformPkg/ArmVExpressPkg: Implement ArmPlaformSysConfigLib
This implementation allows to communicate with the microcontroller of the
Versatile Express motherboard.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11785 6f19259b-4bc3-4df7-8a09-765794883524
This NOR Flash driver can be reused for other platform (eg: ARM Realview EB).
To make this driver reusable on other platforms the NorFlashPlatformLib library
has been created to abstract the platform specific bits such as the pre-requirements
steps to the initialization and the geometry of the NOR Flash regions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11746 6f19259b-4bc3-4df7-8a09-765794883524
This library makes the interface with the PL011 UART controller.
This library can be linked to different types of driver (Serial Console,
debugger, etc) using PL011 UART controller.
ArmPlatformPkg/PL011SerialPortLib: Use Drivers/PL011Uart
Remove the direct accesses to the PL011 UART controller to use the PL011Uart
library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11743 6f19259b-4bc3-4df7-8a09-765794883524
Some platforms require some of their controllers to be initialized in Secure world.
This function make the difference between Secure and Normal world platform initialization.
ArmPlatformPkg/ArmPlatformLib: Introduce ArmPlatformNormalInitialize
Contain the code that initializes platform controllers that would be initialized in Normal World
by PlatformPei.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11591 6f19259b-4bc3-4df7-8a09-765794883524
Formerly, each platform was responsible to declare the location of its UEFI memory
region (used by PEI and DXE Foundations).
The ArmPlatformLib was also declaring every region of its partitionned system memory
with a System Resource HOB.
In this new model, the MemoryInit expects the system memory to be declared with the
PCDs gArmTokenSpaceGuid.PcdSystemMemoryBase/Size.
These PCDs declare the largest continuous DRAM region. Additional regions can be
declared with the ArmPLatformLib function ArmPlatformGetAdditionalSystemMemory().
Now, it is the PEIM that partitions the system memory for every platform. It installs
a region of the size PcdSystemMemoryUefiRegionSize (default 128MB) for the PEI permanent
memory at the top of the DRAM region.
And a region of gArmPlatformTokenSpaceGuid.PcdSystemMemoryFixRegionSize (default 128MB)
is declared at the base of the system memory. This region is used for the allocation that
requires fixed address or have some constraints on their locations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11481 6f19259b-4bc3-4df7-8a09-765794883524
This function is responsible to handle all the specific platform code that must
be run in secure world to initialize some controllers.
ArmPlatformPkg/Sec: Move the L2x0 initialization to ArmPlatformLib
The L2x0 controller must be initialized in secure world. Move its initialization
into the ArmPlatformInitialize() of the Cortex A9x4 Core Tile PlatformLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11476 6f19259b-4bc3-4df7-8a09-765794883524