3 Copyright (c) 2017, Linaro, Ltd. All rights reserved.
4 Copyright (c) 2018, Arm Limited. All rights reserved.
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #include <Uefi/UefiBaseType.h>
18 #include <Library/DebugLib.h>
19 #include <Library/LcdPlatformLib.h>
21 /** Platform related initialization function.
23 @param[in] Handle Handle to the LCD device instance.
25 @retval EFI_UNSUPPORTED Interface is not supported.
28 LcdPlatformInitializeDisplay (
33 return EFI_UNSUPPORTED
;
36 /** Allocate VRAM memory in DRAM for the framebuffer
37 (unless it is reserved already).
39 The allocated address can be used to set the framebuffer.
41 @param[out] VramBaseAddress A pointer to the framebuffer address.
42 @param[out] VramSize A pointer to the size of the frame
45 @retval EFI_UNSUPPORTED Interface is not supported.
49 OUT EFI_PHYSICAL_ADDRESS
* VramBaseAddress
,
54 return EFI_UNSUPPORTED
;
57 /** Return total number of modes supported.
59 Note: Valid mode numbers are 0 to MaxMode - 1
60 See Section 12.9 of the UEFI Specification 2.7
62 @retval UINT32 Zero number of modes supported
63 in a NULL library implementation.
66 LcdPlatformGetMaxMode (
74 /** Set the requested display mode.
76 @param[in] ModeNumber Mode Number.
78 @retval EFI_UNSUPPORTED Interface is not supported.
86 return EFI_UNSUPPORTED
;
89 /** Return information for the requested mode number.
91 @param[in] ModeNumber Mode Number.
92 @param[out] Info Pointer for returned mode information
95 @retval EFI_UNSUPPORTED Interface is not supported.
99 LcdPlatformQueryMode (
100 IN UINT32 ModeNumber
,
101 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
*Info
105 return EFI_UNSUPPORTED
;
108 /** Return display timing information for the requested mode number.
110 @param[in] ModeNumber Mode Number.
112 @param[out] HRes Pointer to horizontal resolution.
113 @param[out] HSync Pointer to horizontal sync width.
114 @param[out] HBackPorch Pointer to horizontal back porch.
115 @param[out] HFrontPorch Pointer to horizontal front porch.
116 @param[out] VRes Pointer to vertical resolution.
117 @param[out] VSync Pointer to vertical sync width.
118 @param[out] VBackPorch Pointer to vertical back porch.
119 @param[out] VFrontPorch Pointer to vertical front porch.
121 @retval EFI_UNSUPPORTED Interface is not supported.
124 LcdPlatformGetTimings (
125 IN UINT32 ModeNumber
,
126 OUT SCAN_TIMINGS
**Horizontal
,
127 OUT SCAN_TIMINGS
**Vertical
131 return EFI_UNSUPPORTED
;
134 /** Return bits per pixel information for a mode number.
136 @param[in] ModeNumber Mode Number.
138 @param[out] Bpp Pointer to value bits per pixel information.
140 @retval EFI_UNSUPPORTED Interface is not supported.
145 IN UINT32 ModeNumber
,
150 return EFI_UNSUPPORTED
;