summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>2019-03-06 20:52:53 +0530
committerThomas Abraham <thomas.abraham@arm.com>2019-07-22 11:47:12 +0530
commit601c2f96b8d4a73088c2cfe4903c1daa90622509 (patch)
tree2a1f2add2fa166a9aebc707ad32f871a947fcac3
parent4286eb22f4aec33b90574b998a31f8bd34dd4f47 (diff)
ArmPlatformPkg: allow platforms to optionally disable HDLCD initializationrefinfra-daniel
Add a new PCD PcdArmHdlcdEnable to enable or disable the HDLCD library initilization. By default, it is set to TRUE. If set to false in the platform dsc file, the initilization of HDLCD library will be skipped. Change-Id: Ia77fe53019fdf7c60764e6814dfead3b5cceb323 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
-rw-r--r--ArmPlatformPkg/ArmPlatformPkg.dec5
-rw-r--r--ArmPlatformPkg/Library/HdLcd/HdLcd.c3
-rw-r--r--ArmPlatformPkg/Library/HdLcd/HdLcd.inf3
3 files changed, 8 insertions, 3 deletions
diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec
index c8ea183313..c13dbc4dc5 100644
--- a/ArmPlatformPkg/ArmPlatformPkg.dec
+++ b/ArmPlatformPkg/ArmPlatformPkg.dec
@@ -1,6 +1,6 @@
#/** @file
#
-# Copyright (c) 2011-2018, ARM Limited. All rights reserved.
+# Copyright (c) 2011-2019, ARM Limited. All rights reserved.
# Copyright (c) 2015, Intel Corporation. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -108,6 +108,9 @@
## If set, this will swap settings for HDLCD RED_SELECT and BLUE_SELECT registers
gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect|FALSE|BOOLEAN|0x00000045
+ ## If set to false by the platform, this will disable the HDLCD intialization
+ gArmPlatformTokenSpaceGuid.PcdArmHdLcdEnable|TRUE|BOOLEAN|0x00000046
+
[PcdsFixedAtBuild.common,PcdsDynamic.common]
## PL031 RealTimeClock
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
diff --git a/ArmPlatformPkg/Library/HdLcd/HdLcd.c b/ArmPlatformPkg/Library/HdLcd/HdLcd.c
index 0247057e68..7c10a921cc 100644
--- a/ArmPlatformPkg/Library/HdLcd/HdLcd.c
+++ b/ArmPlatformPkg/Library/HdLcd/HdLcd.c
@@ -166,7 +166,8 @@ LcdIdentify (
VOID
)
{
- if ((MmioRead32 (HDLCD_REG_VERSION) >> 16) == HDLCD_PRODUCT_ID) {
+ if (FixedPcdGetBool (PcdArmHdLcdEnable) &&
+ (MmioRead32 (HDLCD_REG_VERSION) >> 16) == HDLCD_PRODUCT_ID) {
return EFI_SUCCESS;
}
diff --git a/ArmPlatformPkg/Library/HdLcd/HdLcd.inf b/ArmPlatformPkg/Library/HdLcd/HdLcd.inf
index c14f387b57..07a7c11f04 100644
--- a/ArmPlatformPkg/Library/HdLcd/HdLcd.inf
+++ b/ArmPlatformPkg/Library/HdLcd/HdLcd.inf
@@ -2,7 +2,7 @@
#
# Component description file for HDLCD module
#
-# Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>
+# Copyright (c) 2011-2019, ARM Ltd. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -35,4 +35,5 @@
[FixedPcd]
gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect
+ gArmPlatformTokenSpaceGuid.PcdArmHdLcdEnable