]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
ArmPlatformPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPlatformPkg / Drivers / LcdGraphicsOutputDxe / LcdGraphicsOutputDxe.h
CommitLineData
7d0f2f23 1/** @file\r
2\r
b1b69d26 3 Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>\r
f4dfad05 4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7d0f2f23 5\r
6**/\r
7\r
b1b69d26
GP
8#ifndef LCD_GRAPHICS_OUTPUT_DXE_H_\r
9#define LCD_GRAPHICS_OUTPUT_DXE_H_\r
7d0f2f23 10\r
11#include <Base.h>\r
3723a71a 12\r
13#include <Library/DebugLib.h>\r
2671d898 14#include <Library/LcdHwLib.h>\r
3723a71a 15#include <Library/LcdPlatformLib.h>\r
16#include <Library/PcdLib.h>\r
7d0f2f23 17#include <Library/UefiLib.h>\r
3723a71a 18\r
7d0f2f23 19#include <Protocol/DevicePath.h>\r
20\r
7d0f2f23 21//\r
22// Device structures\r
23//\r
24typedef struct {\r
25 VENDOR_DEVICE_PATH Guid;\r
26 EFI_DEVICE_PATH_PROTOCOL End;\r
27} LCD_GRAPHICS_DEVICE_PATH;\r
28\r
29typedef struct {\r
4d83284a 30 UINT32 Signature;\r
7d0f2f23 31 EFI_HANDLE Handle;\r
32 EFI_GRAPHICS_OUTPUT_MODE_INFORMATION ModeInfo;\r
33 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE Mode;\r
34 EFI_GRAPHICS_OUTPUT_PROTOCOL Gop;\r
35 LCD_GRAPHICS_DEVICE_PATH DevicePath;\r
36 EFI_EVENT ExitBootServicesEvent;\r
37} LCD_INSTANCE;\r
38\r
39#define LCD_INSTANCE_SIGNATURE SIGNATURE_32('l', 'c', 'd', '0')\r
40\r
41#define LCD_INSTANCE_FROM_GOP_THIS(a) CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)\r
42\r
43//\r
44// Function Prototypes\r
45//\r
46\r
47VOID\r
48LcdGraphicsExitBootServicesEvent (\r
49 IN EFI_EVENT Event,\r
50 IN VOID *Context\r
51);\r
52\r
53EFI_STATUS\r
54EFIAPI\r
55LcdGraphicsQueryMode (\r
56 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
57 IN UINT32 ModeNumber,\r
58 OUT UINTN *SizeOfInfo,\r
59 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info\r
60);\r
61\r
62EFI_STATUS\r
63EFIAPI\r
64LcdGraphicsSetMode (\r
65 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
66 IN UINT32 ModeNumber\r
67);\r
68\r
69EFI_STATUS\r
70EFIAPI\r
71LcdGraphicsBlt (\r
72 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
73 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL\r
74 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,\r
75 IN UINTN SourceX,\r
76 IN UINTN SourceY,\r
77 IN UINTN DestinationX,\r
78 IN UINTN DestinationY,\r
79 IN UINTN Width,\r
80 IN UINTN Height,\r
81 IN UINTN Delta OPTIONAL\r
82);\r
83\r
84UINTN\r
85GetBytesPerPixel (\r
86 IN LCD_BPP Bpp\r
87 );\r
88\r
89EFI_STATUS\r
90EFIAPI\r
91GraphicsOutputDxeInitialize (\r
92 IN EFI_HANDLE ImageHandle,\r
93 IN EFI_SYSTEM_TABLE *SystemTable\r
94);\r
95\r
96EFI_STATUS\r
97InitializeDisplay (\r
98 IN LCD_INSTANCE* Instance\r
99);\r
100\r
b1b69d26 101#endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */\r