[edk2] [PATCH 1/5] ArmPlatformPkg: introduce LcdhwLib library class

Ard Biesheuvel posted 5 patches 7 years ago
There is a newer version of this series
[edk2] [PATCH 1/5] ArmPlatformPkg: introduce LcdhwLib library class
Posted by Ard Biesheuvel 7 years ago
Add the declaration and include file for the new LcdHwLib library class,
which will allow us to abstract away from platform  variations in the
LCD graphics output driver.

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>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 ArmPlatformPkg/ArmPlatformPkg.dec         |  1 +
 ArmPlatformPkg/Include/Library/LcdHwLib.h | 65 ++++++++++++++++++++
 2 files changed, 66 insertions(+)

diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec
index 9d47e459eadc..9ccf540e5b80 100644
--- a/ArmPlatformPkg/ArmPlatformPkg.dec
+++ b/ArmPlatformPkg/ArmPlatformPkg.dec
@@ -32,6 +32,7 @@ [Includes.common]
   Include                        # Root include for the package
 
 [LibraryClasses]
+  LcdHwLib|Include/Library/LcdHwLib.h
   PL011UartLib|Include/Library/PL011UartLib.h
 
 [Guids.common]
diff --git a/ArmPlatformPkg/Include/Library/LcdHwLib.h b/ArmPlatformPkg/Include/Library/LcdHwLib.h
new file mode 100644
index 000000000000..a426cd392357
--- /dev/null
+++ b/ArmPlatformPkg/Include/Library/LcdHwLib.h
@@ -0,0 +1,65 @@
+/** @file LcdHwLib.h
+
+  This file contains interface functions for LcdHwLib of ArmPlatformPkg
+
+  Copyright (c) 2017, ARM Ltd. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef LCD_HW_LIB_H_
+#define LCD_HW_LIB_H_
+
+#include <Uefi/UefiBaseType.h>
+
+/** Check for presence of display
+ *
+ *  @retval EFI_SUCCESS            Platform implements display.
+ *  @retval EFI_NOT_FOUND          Display not found on the platform.
+ */
+EFI_STATUS
+LcdIdentify (
+  VOID
+);
+
+/** Initialize display.
+ *
+ *  @param  FrameBaseAddress       Address of the frame buffer.
+ *  @retval EFI_SUCCESS            Display initialization success.
+ *  @retval !(EFI_SUCCESS)         Display initialization failure.
+ *
+**/
+EFI_STATUS
+LcdInitialize (
+  EFI_PHYSICAL_ADDRESS  FrameBaseAddress
+);
+
+/** Set requested mode of the display.
+ *
+ *  @param  ModeNumber             Display mode number.
+ *  @retval EFI_SUCCESS            Display set mode success.
+ *  @retval EFI_DEVICE_ERROR       If mode not found/supported.
+ *
+**/
+EFI_STATUS
+LcdSetMode (
+  IN UINT32  ModeNumber
+);
+
+
+/** De-initializes the display.
+ *
+**/
+VOID
+LcdShutdown (
+  VOID
+);
+
+#endif /* LCD_HW_LIB_H_ */
-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel