You've already forked edk2-platforms
mirror of
https://github.com/Dasharo/edk2-platforms.git
synced 2026-03-06 14:51:43 -08:00
In preparation for adding Raspberry Pi 4 support, the Pi 3 platform is restructured by factorizing all the drivers and libraries that are going to be commonly used by the two platforms. Because much of the Pi 4 SoC is an extension of the Pi 3 one this means that almost everything, except the ACPI tables, is moved up into a new common RaspberryPi/ subdirectory that will serve both platforms. The .dec is also moved to this directory, under a new RaspberryPi.dec name, and existing references to it are updated. This commit requires the edk2-non-osi in use to contain commit 243e55f622ea in order to build. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
94 lines
1.9 KiB
C
94 lines
1.9 KiB
C
/** @file
|
|
*
|
|
* Copyright (c) 2014-2016, Linaro Limited. All rights reserved.
|
|
* Copyright (c) 2014, Red Hat, Inc.
|
|
* Copyright (c) 2011-2013, ARM Limited. All rights reserved.
|
|
*
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
*
|
|
**/
|
|
|
|
#include <Library/IoLib.h>
|
|
#include <Library/ArmPlatformLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Pi/PiBootMode.h>
|
|
|
|
#include <Ppi/ArmMpCoreInfo.h>
|
|
|
|
/**
|
|
Return the current Boot Mode
|
|
|
|
This function returns the boot reason on the platform
|
|
|
|
@return Return the current Boot Mode of the platform
|
|
|
|
**/
|
|
EFI_BOOT_MODE
|
|
ArmPlatformGetBootMode (
|
|
VOID
|
|
)
|
|
{
|
|
return BOOT_WITH_FULL_CONFIGURATION;
|
|
}
|
|
|
|
/**
|
|
This function is called by PrePeiCore, in the SEC phase.
|
|
**/
|
|
RETURN_STATUS
|
|
ArmPlatformInitialize (
|
|
IN UINTN MpId
|
|
)
|
|
{
|
|
return RETURN_SUCCESS;
|
|
}
|
|
|
|
VOID
|
|
ArmPlatformInitializeSystemMemory (
|
|
VOID
|
|
)
|
|
{
|
|
}
|
|
|
|
STATIC ARM_CORE_INFO mRpi3InfoTable[] = {
|
|
{ 0x0, 0x0, }, // Cluster 0, Core 0
|
|
{ 0x0, 0x1, }, // Cluster 0, Core 1
|
|
{ 0x0, 0x2, }, // Cluster 0, Core 2
|
|
{ 0x0, 0x3, }, // Cluster 0, Core 3
|
|
};
|
|
|
|
STATIC
|
|
EFI_STATUS
|
|
PrePeiCoreGetMpCoreInfo (
|
|
OUT UINTN *CoreCount,
|
|
OUT ARM_CORE_INFO **ArmCoreTable
|
|
)
|
|
{
|
|
// Only support one cluster
|
|
*CoreCount = sizeof (mRpi3InfoTable) / sizeof (ARM_CORE_INFO);
|
|
*ArmCoreTable = mRpi3InfoTable;
|
|
|
|
return EFI_SUCCESS;
|
|
}
|
|
|
|
STATIC ARM_MP_CORE_INFO_PPI mMpCoreInfoPpi = {
|
|
PrePeiCoreGetMpCoreInfo
|
|
};
|
|
STATIC EFI_PEI_PPI_DESCRIPTOR mPlatformPpiTable[] = {
|
|
{
|
|
EFI_PEI_PPI_DESCRIPTOR_PPI,
|
|
&gArmMpCoreInfoPpiGuid,
|
|
&mMpCoreInfoPpi
|
|
}
|
|
};
|
|
|
|
VOID
|
|
ArmPlatformGetPlatformPpiList (
|
|
OUT UINTN *PpiListSize,
|
|
OUT EFI_PEI_PPI_DESCRIPTOR **PpiList
|
|
)
|
|
{
|
|
*PpiListSize = sizeof (mPlatformPpiTable);
|
|
*PpiList = mPlatformPpiTable;
|
|
}
|