summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/Library/HdLcd
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPlatformPkg/Library/HdLcd')
-rw-r--r--ArmPlatformPkg/Library/HdLcd/HdLcd.c8
-rw-r--r--ArmPlatformPkg/Library/HdLcd/HdLcd.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/ArmPlatformPkg/Library/HdLcd/HdLcd.c b/ArmPlatformPkg/Library/HdLcd/HdLcd.c
index 28306c530e..039048398c 100644
--- a/ArmPlatformPkg/Library/HdLcd/HdLcd.c
+++ b/ArmPlatformPkg/Library/HdLcd/HdLcd.c
@@ -175,11 +175,17 @@ LcdShutdown (
@retval EFI_SUCCESS Returns success if platform implements a HDLCD
controller.
+ @retval EFI_NOT_FOUND HDLCD display controller not found on the
+ platform.
**/
EFI_STATUS
LcdIdentify (
VOID
)
{
- return EFI_SUCCESS;
+ if ((MmioRead32 (HDLCD_REG_VERSION) >> 16) == HDLCD_PRODUCT_ID) {
+ return EFI_SUCCESS;
+ }
+
+ return EFI_NOT_FOUND;
}
diff --git a/ArmPlatformPkg/Library/HdLcd/HdLcd.h b/ArmPlatformPkg/Library/HdLcd/HdLcd.h
index cd2c0366c7..1efa78eedc 100644
--- a/ArmPlatformPkg/Library/HdLcd/HdLcd.h
+++ b/ArmPlatformPkg/Library/HdLcd/HdLcd.h
@@ -85,4 +85,6 @@
// Number of bytes per pixel
#define HDLCD_4BYTES_PER_PIXEL ((4 - 1) << 3)
+#define HDLCD_PRODUCT_ID 0x1CDC
+
#endif /* HDLCD_H_ */