diff mbox series

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

Message ID 20171201113255.23581-2-ard.biesheuvel@linaro.org
State New
Headers show
Series ArmPlatformPkg: refactor LcdGraphicsOutputDxe driver | expand

Commit Message

Ard Biesheuvel Dec. 1, 2017, 11:32 a.m. UTC
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(+)

-- 
2.11.0

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

Patch

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