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-10-08 10:21:09 +0530
commit266f790c60045ad8798d16a5d8a28459addda878 (patch)
tree779afdb80e387ed59e72d5afc56b9808bcb9daec
parentc1fe89625f1c0c1eb358a5cba72cbcfb9dba6880 (diff)
ArmPlatformPkg: allow platforms to optionally disable HDLCD initialization
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 bc80e1adea..621a4bc14f 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
#
@@ -36,4 +36,5 @@
[FixedPcd]
gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect
+ gArmPlatformTokenSpaceGuid.PcdArmHdLcdEnable