mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg/LcdGraphicsOutputDxe: Call LcdShutdown() on ExitBootServices() if PcdGopDisableOnExitBootServices
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14702 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
64669acab3
commit
d8c4bb9afa
|
@ -53,7 +53,11 @@
|
|||
gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|FALSE|BOOLEAN|0x00000004
|
||||
|
||||
gArmPlatformTokenSpaceGuid.PcdNorFlashCheckBlockLocked|FALSE|BOOLEAN|0x0000003C
|
||||
|
||||
|
||||
# Disable the GOP controller on ExitBootServices(). By default the value is FALSE,
|
||||
# we assume the OS will handle the FrameBuffer from the UEFI GOP information.
|
||||
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices|FALSE|BOOLEAN|0x0000003D
|
||||
|
||||
[PcdsFixedAtBuild.common]
|
||||
gArmPlatformTokenSpaceGuid.PcdCoreCount|1|UINT32|0x00000039
|
||||
gArmPlatformTokenSpaceGuid.PcdClusterCount|1|UINT32|0x00000038
|
||||
|
|
|
@ -120,6 +120,6 @@ LcdShutdown (
|
|||
VOID
|
||||
)
|
||||
{
|
||||
// Nothing to do in terms of hardware.
|
||||
// We could switch off the monitor display if required
|
||||
// Disable the controller
|
||||
MmioWrite32 (HDLCD_REG_COMMAND, HDLCD_DISABLE);
|
||||
}
|
||||
|
|
|
@ -56,5 +56,8 @@
|
|||
[FixedPcd]
|
||||
gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
|
||||
|
||||
[FeaturePcd]
|
||||
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
|
||||
|
||||
[Depex]
|
||||
gEfiCpuArchProtocolGuid
|
||||
|
|
|
@ -225,7 +225,13 @@ LcdGraphicsExitBootServicesEvent (
|
|||
IN VOID *Context
|
||||
)
|
||||
{
|
||||
//TODO: Implement me
|
||||
// By default, this PCD is FALSE. But if a platform starts a predefined OS that
|
||||
// does not use a framebuffer then we might want to disable the display controller
|
||||
// to avoid to display corrupted information on the screen.
|
||||
if (FeaturePcdGet (PcdGopDisableOnExitBootServices)) {
|
||||
// Turn-off the Display controller
|
||||
LcdShutdown ();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************
|
||||
|
|
|
@ -99,8 +99,6 @@ LcdShutdown (
|
|||
VOID
|
||||
)
|
||||
{
|
||||
// Nothing to do in terms of hardware.
|
||||
// We could switch off the monitor display if required
|
||||
|
||||
//TODO: ImplementMe
|
||||
// Disable the controller
|
||||
MmioAnd32 (PL111_REG_LCD_CONTROL, ~PL111_CTRL_LCD_EN);
|
||||
}
|
||||
|
|
|
@ -52,5 +52,8 @@
|
|||
[FixedPcd]
|
||||
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase
|
||||
|
||||
[FeaturePcd]
|
||||
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
|
||||
|
||||
[Depex]
|
||||
gEfiCpuArchProtocolGuid
|
||||
|
|
Loading…
Reference in New Issue