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
|
@ -54,6 +54,10 @@
|
||||||
|
|
||||||
gArmPlatformTokenSpaceGuid.PcdNorFlashCheckBlockLocked|FALSE|BOOLEAN|0x0000003C
|
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]
|
[PcdsFixedAtBuild.common]
|
||||||
gArmPlatformTokenSpaceGuid.PcdCoreCount|1|UINT32|0x00000039
|
gArmPlatformTokenSpaceGuid.PcdCoreCount|1|UINT32|0x00000039
|
||||||
gArmPlatformTokenSpaceGuid.PcdClusterCount|1|UINT32|0x00000038
|
gArmPlatformTokenSpaceGuid.PcdClusterCount|1|UINT32|0x00000038
|
||||||
|
|
|
@ -120,6 +120,6 @@ LcdShutdown (
|
||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Nothing to do in terms of hardware.
|
// Disable the controller
|
||||||
// We could switch off the monitor display if required
|
MmioWrite32 (HDLCD_REG_COMMAND, HDLCD_DISABLE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,5 +56,8 @@
|
||||||
[FixedPcd]
|
[FixedPcd]
|
||||||
gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
|
gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
|
||||||
|
|
||||||
|
[FeaturePcd]
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
gEfiCpuArchProtocolGuid
|
gEfiCpuArchProtocolGuid
|
||||||
|
|
|
@ -225,7 +225,13 @@ LcdGraphicsExitBootServicesEvent (
|
||||||
IN VOID *Context
|
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
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Nothing to do in terms of hardware.
|
// Disable the controller
|
||||||
// We could switch off the monitor display if required
|
MmioAnd32 (PL111_REG_LCD_CONTROL, ~PL111_CTRL_LCD_EN);
|
||||||
|
|
||||||
//TODO: ImplementMe
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,5 +52,8 @@
|
||||||
[FixedPcd]
|
[FixedPcd]
|
||||||
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase
|
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase
|
||||||
|
|
||||||
|
[FeaturePcd]
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
gEfiCpuArchProtocolGuid
|
gEfiCpuArchProtocolGuid
|
||||||
|
|
Loading…
Reference in New Issue