.: major reconstruction

Signed-off-by: Ivaylo Ivanov <ivo.ivanov@null.net>
This commit is contained in:
Ivaylo Ivanov 2021-09-01 21:45:09 +03:00
parent 5727f201f3
commit 54b15f1712
40 changed files with 87 additions and 78 deletions

View File

@ -16,7 +16,7 @@
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = Pixel3XLAcpiTables
BASE_NAME = MSM8916PkgAcpiTables
FILE_GUID = 7E374E25-8E01-4FEE-87F2-390C23C606CD # Must be this
MODULE_TYPE = USER_DEFINED
VERSION_STRING = 1.0
@ -36,7 +36,7 @@
EmbeddedPkg/EmbeddedPkg.dec
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
Pixel3XL/Pixel3XL.dec
MSM8916Pkg/MSM8916Pkg.dec
[FixedPcd]
gArmPlatformTokenSpaceGuid.PcdCoreCount

View File

@ -0,0 +1,24 @@
[Defines]
PLATFORM_NAME = MSM8916Pkg
PLATFORM_GUID = 28f1a3bf-193a-47e3-a7b9-5a435eaab2ee
PLATFORM_VERSION = 0.1
DSC_SPECIFICATION = 0x00010019
OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
SUPPORTED_ARCHITECTURES = AARCH64
BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT
FLASH_DEFINITION = MSM8916Pkg/MSM8916Pkg.fdf
!include MSM8916Pkg/MSM8916Pkg.dsc
[PcdsFixedAtBuild.common]
# System Memory (1.5GB)
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
gArmTokenSpaceGuid.PcdSystemMemorySize|0x60000000
# Framebuffer (720x1280)
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferAddress|0x8e000000
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferWidth|720
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferHeight|1280
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth|720
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight|1280

View File

@ -37,7 +37,7 @@
ArmPlatformPkg/ArmPlatformPkg.dec
MdeModulePkg/MdeModulePkg.dec
MdePkg/MdePkg.dec
Pixel3XL/Pixel3XL.dec
MSM8916Pkg/MSM8916Pkg.dec
[LibraryClasses]
ArmLib

View File

@ -11,7 +11,7 @@
[Packages]
MdePkg/MdePkg.dec
ArmPkg/ArmPkg.dec
Pixel3XL/Pixel3XL.dec
MSM8916Pkg/MSM8916Pkg.dec
[LibraryClasses]
ArmLib
@ -22,9 +22,9 @@
CacheMaintenanceLib
[Pcd]
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferAddress
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferWidth
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferHeight
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferPixelBpp
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferAddress
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferWidth
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferHeight
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferPixelBpp
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight

View File

@ -12,7 +12,7 @@
[Defines]
INF_VERSION = 0x00010019
BASE_NAME = Pixel3XLLib
BASE_NAME = MSM8916PkgLib
FILE_GUID = 61620091-45BA-4EFF-8F58-F7ABF228CEBC
MODULE_TYPE = BASE
VERSION_STRING = 1.0
@ -33,9 +33,9 @@
SerialPortLib
[Sources.common]
Pixel3XL.c
Pixel3XLHelper.S
Pixel3XLMem.c
MSM8916Pkg.c
MSM8916PkgHelper.S
MSM8916PkgMem.c
[FixedPcd]
gArmTokenSpaceGuid.PcdArmPrimaryCore

View File

@ -31,10 +31,10 @@
#define HIKEY960_MEMORY_SIZE 0x0000000100000000
STATIC struct Pixel3XLReservedMemory {
STATIC struct MSM8916PkgReservedMemory {
EFI_PHYSICAL_ADDRESS Offset;
EFI_PHYSICAL_ADDRESS Size;
} Pixel3XLReservedMemoryBuffer [] = {
} MSM8916PkgReservedMemoryBuffer [] = {
/** { 0x86000000, 0x00300000 }, // tz_apps_region
{ 0x86300000, 0x00100000 }, // smem_region
{ 0x86400000, 0x00280000 }, // tz/hyp_region
@ -89,30 +89,30 @@ ArmPlatformGetVirtualMemoryMap (
);
NextHob.Raw = GetHobList ();
Count = sizeof (Pixel3XLReservedMemoryBuffer) / sizeof (struct Pixel3XLReservedMemory);
Count = sizeof (MSM8916PkgReservedMemoryBuffer) / sizeof (struct MSM8916PkgReservedMemory);
while ((NextHob.Raw = GetNextHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, NextHob.Raw)) != NULL)
{
if (Index >= Count)
break;
if ((NextHob.ResourceDescriptor->ResourceType == EFI_RESOURCE_SYSTEM_MEMORY) &&
(Pixel3XLReservedMemoryBuffer[Index].Offset >= NextHob.ResourceDescriptor->PhysicalStart) &&
((Pixel3XLReservedMemoryBuffer[Index].Offset + Pixel3XLReservedMemoryBuffer[Index].Size) <=
(MSM8916PkgReservedMemoryBuffer[Index].Offset >= NextHob.ResourceDescriptor->PhysicalStart) &&
((MSM8916PkgReservedMemoryBuffer[Index].Offset + MSM8916PkgReservedMemoryBuffer[Index].Size) <=
NextHob.ResourceDescriptor->PhysicalStart + NextHob.ResourceDescriptor->ResourceLength))
{
ResourceAttributes = NextHob.ResourceDescriptor->ResourceAttribute;
ResourceLength = NextHob.ResourceDescriptor->ResourceLength;
ResourceTop = NextHob.ResourceDescriptor->PhysicalStart + ResourceLength;
ReservedTop = Pixel3XLReservedMemoryBuffer[Index].Offset + Pixel3XLReservedMemoryBuffer[Index].Size;
ReservedTop = MSM8916PkgReservedMemoryBuffer[Index].Offset + MSM8916PkgReservedMemoryBuffer[Index].Size;
// Create the System Memory HOB for the reserved buffer
BuildResourceDescriptorHob (
EFI_RESOURCE_MEMORY_RESERVED,
EFI_RESOURCE_ATTRIBUTE_PRESENT,
Pixel3XLReservedMemoryBuffer[Index].Offset,
Pixel3XLReservedMemoryBuffer[Index].Size
MSM8916PkgReservedMemoryBuffer[Index].Offset,
MSM8916PkgReservedMemoryBuffer[Index].Size
);
// Update the HOB
NextHob.ResourceDescriptor->ResourceLength = Pixel3XLReservedMemoryBuffer[Index].Offset -
NextHob.ResourceDescriptor->ResourceLength = MSM8916PkgReservedMemoryBuffer[Index].Offset -
NextHob.ResourceDescriptor->PhysicalStart;
// If there is some memory available on the top of the reserved memory then create a HOB

View File

@ -12,7 +12,7 @@
[Defines]
DEC_SPECIFICATION = 0x0001001a
PACKAGE_NAME = Pixel3XL
PACKAGE_NAME = MSM8916Pkg
PACKAGE_GUID = 7eb1de03-3910-4d1d-84ce-c17b53636b9a
PACKAGE_VERSION = 0.1
@ -29,13 +29,13 @@
Include # Root include for the package
[Guids.common]
gPixel3XLTokenSpaceGuid = { 0x99a14446, 0xaad7, 0xe460, {0xb4, 0xe5, 0x1f, 0x79, 0xaa, 0xa4, 0x93, 0xfd } }
gMSM8916PkgTokenSpaceGuid = { 0x99a14446, 0xaad7, 0xe460, {0xb4, 0xe5, 0x1f, 0x79, 0xaa, 0xa4, 0x93, 0xfd } }
[PcdsFixedAtBuild.common]
# Simple FrameBuffer
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferAddress|0x00400000|UINT32|0x0000a400 # 0x7C400000
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferWidth|1080|UINT32|0x0000a401
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferHeight|1920|UINT32|0x0000a402
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferPixelBpp|24|UINT32|0x0000a403
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth|1080|UINT32|0x0000a404
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight|1920|UINT32|0x0000a405
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferAddress|0x00400000|UINT32|0x0000a400 # 0x7C400000
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferWidth|1080|UINT32|0x0000a401
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferHeight|1920|UINT32|0x0000a402
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferPixelBpp|24|UINT32|0x0000a403
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth|1080|UINT32|0x0000a404
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight|1920|UINT32|0x0000a405

View File

@ -16,7 +16,7 @@
#
################################################################################
[Defines]
PLATFORM_NAME = Pixel3XL
PLATFORM_NAME = MSM8916Pkg
PLATFORM_GUID = 28f1a3bf-193a-47e3-a7b9-5a435eaab2ee
PLATFORM_VERSION = 0.1
DSC_SPECIFICATION = 0x00010019
@ -24,13 +24,13 @@
SUPPORTED_ARCHITECTURES = AARCH64
BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT
FLASH_DEFINITION = Pixel3XL/Pixel3XL.fdf
FLASH_DEFINITION = MSM8916Pkg/MSM8916Pkg.fdf
!include Pixel3XL/CommonDsc.dsc.inc
!include MSM8916Pkg/CommonDsc.dsc.inc
[LibraryClasses.common]
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
ArmPlatformLib|Pixel3XL/Library/Pixel3XLLib/Pixel3XLLib.inf
ArmPlatformLib|MSM8916Pkg/Library/MSM8916PkgLib/MSM8916PkgLib.inf
CompilerIntrinsicsLib|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
@ -44,7 +44,7 @@
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
SerialPortLib|Pixel3XL/Library/InMemorySerialPortLib/InMemorySerialPortLib.inf
SerialPortLib|MSM8916Pkg/Library/InMemorySerialPortLib/InMemorySerialPortLib.inf
RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
@ -65,9 +65,9 @@
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
# SimpleFbDxe
FrameBufferBltLib|Pixel3XL/Library/FrameBufferBltLib/FrameBufferBltLib.inf
FrameBufferBltLib|MSM8916Pkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
SerialPortLib|Pixel3XL/Library/FrameBufferSerialPortLib/FrameBufferSerialPortLib.inf
SerialPortLib|MSM8916Pkg/Library/FrameBufferSerialPortLib/FrameBufferSerialPortLib.inf
[LibraryClasses.common.SEC]
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
@ -90,24 +90,15 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
[PcdsFixedAtBuild.common]
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"Alpha"
# System Memory (1.5GB)
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
gArmTokenSpaceGuid.PcdSystemMemorySize|0x60000000
# We only boot one processor here!
gArmPlatformTokenSpaceGuid.PcdCoreCount|1
gArmPlatformTokenSpaceGuid.PcdClusterCount|1
#
# ARM PrimeCell
#
#
# ARM General Interrupt Controller
#
@ -136,12 +127,6 @@
#
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferAddress|0x8e000000
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferWidth|720
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferHeight|1280
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleWidth|720
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferVisibleHeight|1280
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
################################################################################
@ -200,8 +185,8 @@
#
EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
Pixel3XL/Pixel3XLDxe/Pixel3XLDxe.inf
Pixel3XL/SimpleFbDxe/SimpleFbDxe.inf
MSM8916Pkg/MSM8916PkgDxe/MSM8916PkgDxe.inf
MSM8916Pkg/SimpleFbDxe/SimpleFbDxe.inf
#
# USB Host Support
@ -238,12 +223,12 @@
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
Pixel3XL/AcpiTables/AcpiTables.inf
MSM8916Pkg/AcpiTables/AcpiTables.inf
#
# SMBIOS Support
#
Pixel3XL/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
MSM8916Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
#

View File

@ -24,7 +24,7 @@
#
################################################################################
[FD.PIXEL3XL_UEFI]
[FD.MSM8916PKG_UEFI]
BaseAddress = 0x80080000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.
Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device
ErasePolarity = 1
@ -147,8 +147,8 @@ READ_LOCK_STATUS = TRUE
#
INF EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
INF Pixel3XL/Pixel3XLDxe/Pixel3XLDxe.inf
INF Pixel3XL/SimpleFbDxe/SimpleFbDxe.inf
INF MSM8916Pkg/MSM8916PkgDxe/MSM8916PkgDxe.inf
INF MSM8916Pkg/SimpleFbDxe/SimpleFbDxe.inf
#
@ -189,12 +189,12 @@ READ_LOCK_STATUS = TRUE
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
INF RuleOverride = ACPITABLE Pixel3XL/AcpiTables/AcpiTables.inf
INF RuleOverride = ACPITABLE MSM8916Pkg/AcpiTables/AcpiTables.inf
#
# SMBIOS Support
#
INF Pixel3XL/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
INF MSM8916Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
#
@ -240,4 +240,4 @@ READ_LOCK_STATUS = TRUE
}
}
!include Pixel3XL/CommonFdf.fdf.inc
!include MSM8916Pkg/CommonFdf.fdf.inc

View File

@ -34,7 +34,7 @@
#include <Protocol/LoadedImage.h>
#include <Protocol/PlatformBootManager.h>
#include "Pixel3XLDxe.h"
#include "MSM8916PkgDxe.h"
EFI_CPU_ARCH_PROTOCOL *gCpu;
@ -81,7 +81,7 @@ OnEndOfDxe (
EFI_STATUS
EFIAPI
Pixel3XLEntryPoint (
MSM8916PkgEntryPoint (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)

View File

@ -12,7 +12,7 @@
*
**/
#ifndef __PIXEL3XLDXE_H__
#define __PIXEL3XLDXE_H__
#ifndef __MSM8916PKGDXE_H__
#define __MSM8916PKGDXE_H__
#endif /* __PIXEL3XLDXE_H__ */
#endif /* __MSM8916PKGDXE_H__ */

View File

@ -12,14 +12,14 @@
[Defines]
INF_VERSION = 0x0001001a
BASE_NAME = Pixel3XLDxe
BASE_NAME = MSM8916PkgDxe
FILE_GUID = 422BB380-0FFB-41EC-B86E-AE70F8A02DA3
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = Pixel3XLEntryPoint
ENTRY_POINT = MSM8916PkgEntryPoint
[Sources.common]
Pixel3XLDxe.c
MSM8916PkgDxe.c
[Packages]
EmbeddedPkg/EmbeddedPkg.dec

View File

@ -16,7 +16,7 @@
MdeModulePkg/MdeModulePkg.dec
EmbeddedPkg/EmbeddedPkg.dec
ArmPkg/ArmPkg.dec
Pixel3XL/Pixel3XL.dec
MSM8916Pkg/MSM8916Pkg.dec
[LibraryClasses]
BaseLib
@ -35,9 +35,9 @@
gEfiCpuArchProtocolGuid
[FixedPcd]
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferAddress
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferWidth
gPixel3XLTokenSpaceGuid.PcdMipiFrameBufferHeight
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferAddress
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferWidth
gMSM8916PkgTokenSpaceGuid.PcdMipiFrameBufferHeight
[Guids]
gEfiMdeModulePkgTokenSpaceGuid

View File

@ -3,6 +3,6 @@
set -e
. build_common.sh
# not actually GCC5; it's GCC7 on Ubuntu 18.04.
GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -s -n 0 -a AARCH64 -t GCC5 -p Pixel3XL/Pixel3XL.dsc
gzip -c < workspace/Build/Pixel3XL/DEBUG_GCC5/FV/PIXEL3XL_UEFI.fd >uefi.img
cat j5.dtb >>uefi.img
GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -s -n 0 -a AARCH64 -t GCC5 -p MSM8916Pkg/Devices/j5lte.dsc
gzip -c < workspace/Build/MSM8916Pkg/DEBUG_GCC5/FV/MSM8916PKG_UEFI.fd >uefi.img
cat device_specific/j5lte.dtb >>uefi.img