ArmPlatformPkg: Implement LcdIdentify function for HDLCD GOP

LcdIdentify function does not currently check presence of HDLCD
controller.

Implement this functionality by reading HDLCD_REG_VERSION and checking
against the PRODUCT_ID field to detect presence of HDLCD controller.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
Girish Pathak 2017-09-26 21:15:21 +01:00 committed by Leif Lindholm
parent b5daabdcd8
commit c18ef81e79
2 changed files with 9 additions and 1 deletions

View File

@ -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;
}

View File

@ -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_ */