mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg: create hw-agnostic LcdGraphicsOutputDxe driver
Create a new LcdGraphicsOutputDxe driver from the existing sources that takes its hardware abstractions from a LcdHwLib library instance rather than from a .c file linked directly. All we need is a new .inf file, and a minimal tweak to LcdGraphicsOutputDxe.h to reuse the LcdHwlib prototypes rather than open code them. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Girish Pathak <girish.pathak@arm.com> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> [ardb: add it to ArmPlatformPkg.dsc so we can build test it standalone] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
parent
3e7105bb6c
commit
2671d89890
|
@ -53,6 +53,7 @@
|
||||||
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
||||||
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
||||||
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
||||||
|
LcdHwLib|ArmPlatformPkg/Library/LcdHwNullLib/LcdHwNullLib.inf
|
||||||
LcdPlatformLib|ArmPlatformPkg/Library/LcdPlatformNullLib/LcdPlatformNullLib.inf
|
LcdPlatformLib|ArmPlatformPkg/Library/LcdPlatformNullLib/LcdPlatformNullLib.inf
|
||||||
LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||||
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
||||||
|
@ -93,6 +94,7 @@
|
||||||
|
|
||||||
[Components.common]
|
[Components.common]
|
||||||
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
|
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/HdLcdGraphicsOutputDxe.inf
|
||||||
|
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
|
||||||
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
|
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
|
||||||
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
|
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
|
||||||
ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf
|
ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <Base.h>
|
#include <Base.h>
|
||||||
|
|
||||||
#include <Library/DebugLib.h>
|
#include <Library/DebugLib.h>
|
||||||
|
#include <Library/LcdHwLib.h>
|
||||||
#include <Library/LcdPlatformLib.h>
|
#include <Library/LcdPlatformLib.h>
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
#include <Library/UefiLib.h>
|
#include <Library/UefiLib.h>
|
||||||
|
@ -105,24 +106,4 @@ InitializeDisplay (
|
||||||
IN LCD_INSTANCE* Instance
|
IN LCD_INSTANCE* Instance
|
||||||
);
|
);
|
||||||
|
|
||||||
EFI_STATUS
|
|
||||||
LcdIdentify (
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
EFI_STATUS
|
|
||||||
LcdInitialize (
|
|
||||||
EFI_PHYSICAL_ADDRESS VramBaseAddress
|
|
||||||
);
|
|
||||||
|
|
||||||
EFI_STATUS
|
|
||||||
LcdSetMode (
|
|
||||||
IN UINT32 ModeNumber
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
LcdShutdown (
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif /* __ARM_VE_GRAPHICS_DXE_H__ */
|
#endif /* __ARM_VE_GRAPHICS_DXE_H__ */
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
#/** @file
|
||||||
|
#
|
||||||
|
# Component description file for LcdGraphicsOutputDxe module
|
||||||
|
#
|
||||||
|
# Copyright (c) 2011-2012, ARM Ltd. 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.
|
||||||
|
#
|
||||||
|
#**/
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 0x0001001A
|
||||||
|
BASE_NAME = LcdGraphicsOutputDxe
|
||||||
|
FILE_GUID = 89464DAE-8DAA-41FE-A4C8-40D2175AF1E9
|
||||||
|
MODULE_TYPE = DXE_DRIVER
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
ENTRY_POINT = LcdGraphicsOutputDxeInitialize
|
||||||
|
|
||||||
|
[Sources.common]
|
||||||
|
LcdGraphicsOutputDxe.c
|
||||||
|
LcdGraphicsOutputBlt.c
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
ArmPlatformPkg/ArmPlatformPkg.dec
|
||||||
|
ArmPkg/ArmPkg.dec
|
||||||
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
ArmLib
|
||||||
|
BaseLib
|
||||||
|
BaseMemoryLib
|
||||||
|
DebugLib
|
||||||
|
LcdHwLib
|
||||||
|
LcdPlatformLib
|
||||||
|
UefiBootServicesTableLib
|
||||||
|
UefiDriverEntryPoint
|
||||||
|
UefiLib
|
||||||
|
|
||||||
|
[Protocols]
|
||||||
|
gEfiDevicePathProtocolGuid
|
||||||
|
gEfiGraphicsOutputProtocolGuid
|
||||||
|
|
||||||
|
[FeaturePcd]
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
|
||||||
|
|
||||||
|
[Depex]
|
||||||
|
TRUE
|
Loading…
Reference in New Issue