]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Include/Protocol/VgaMiniPort.h
IntelFrameworkModulePkg: Clean up source files
[mirror_edk2.git] / IntelFrameworkModulePkg / Include / Protocol / VgaMiniPort.h
CommitLineData
8ca67c46 1/** @file\r
49fd8a35 2 The VGA Mini Port Protocol used to set the text display mode of a VGA controller.\r
a9102619 3\r
0a6f4824
LG
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
5This program and the accompanying materials are licensed and made available under\r
6the terms and conditions of the BSD License that accompanies this distribution.\r
49fd8a35 7The full text of the license may be found at\r
0a6f4824
LG
8http://opensource.org/licenses/bsd-license.php.\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
49fd8a35 11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
a9102619 12\r
3db51098 13**/\r
a9102619 14\r
15#ifndef __VGA_MINI_PORT_H_\r
16#define __VGA_MINI_PORT_H_\r
17\r
099fae5d 18///\r
49fd8a35 19/// Global ID for the EFI_VGA_MINI_PORT_PROTOCOL.\r
099fae5d 20///\r
a9102619 21#define EFI_VGA_MINI_PORT_PROTOCOL_GUID \\r
22 { \\r
23 0xc7735a2f, 0x88f5, 0x4882, {0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 } \\r
24 }\r
25\r
099fae5d 26///\r
49fd8a35 27/// Forward declaration for the EFI_VGA_MINI_PORT_PROTOCOL.\r
099fae5d 28///\r
a9102619 29typedef struct _EFI_VGA_MINI_PORT_PROTOCOL EFI_VGA_MINI_PORT_PROTOCOL;\r
30\r
ed7752ec 31/**\r
099fae5d 32 Sets the text display mode of a VGA controller.\r
0a6f4824
LG
33\r
34 Sets the text display mode of the VGA controller to the mode specified by\r
35 ModeNumber. A ModeNumber of 0 is a request for an 80x25 text mode. A\r
099fae5d 36 ModeNumber of 1 is a request for an 80x50 text mode. If ModeNumber is greater\r
0a6f4824 37 than MaxModeNumber, then EFI_UNSUPPORTED is returned. If the VGA controller\r
099fae5d 38 is not functioning properly, then EFI_DEVICE_ERROR is returned. If the VGA\r
0a6f4824 39 controller is sucessfully set to the mode number specified by ModeNumber, then\r
099fae5d 40 EFI_SUCCESS is returned.\r
0a6f4824 41\r
099fae5d 42 @param[in] This A pointer to the EFI_VGA_MINI_PORT_PROTOCOL instance.\r
43 @param[in] ModeNumber The requested mode number. 0 for 80x25. 1 for 80x5.\r
ed7752ec 44\r
49fd8a35 45 @retval EFI_SUCCESS The mode number was set.\r
099fae5d 46 @retval EFI_UNSUPPORTED The mode number specified by ModeNumber is not supported.\r
47 @retval EFI_DEVICE_ERROR The device is not functioning properly.\r
0a6f4824 48\r
ed7752ec 49**/\r
a9102619 50typedef\r
51EFI_STATUS\r
099fae5d 52(EFIAPI *EFI_VGA_MINI_PORT_SET_MODE)(\r
53 IN EFI_VGA_MINI_PORT_PROTOCOL *This,\r
54 IN UINTN ModeNumber\r
a9102619 55 );\r
56\r
a9102619 57struct _EFI_VGA_MINI_PORT_PROTOCOL {\r
58 EFI_VGA_MINI_PORT_SET_MODE SetMode;\r
099fae5d 59 ///\r
60 /// MMIO base address of the VGA text mode framebuffer. Typically set to 0xB8000.\r
61 ///\r
a9102619 62 UINT64 VgaMemoryOffset;\r
099fae5d 63 ///\r
d0bd68b2 64 /// I/O Port address for the VGA CRTC address register. Typically set to 0x3D4.\r
099fae5d 65 ///\r
a9102619 66 UINT64 CrtcAddressRegisterOffset;\r
099fae5d 67 ///\r
68 /// I/O Port address for the VGA CRTC data register. Typically set to 0x3D5.\r
69 ///\r
a9102619 70 UINT64 CrtcDataRegisterOffset;\r
099fae5d 71 ///\r
0a6f4824 72 /// PCI Controller MMIO BAR index of the VGA text mode frame buffer. Typically\r
099fae5d 73 /// set to EFI_PCI_IO_PASS_THROUGH_BAR\r
74 ///\r
a9102619 75 UINT8 VgaMemoryBar;\r
099fae5d 76 ///\r
0a6f4824 77 /// PCI Controller I/O BAR index of the VGA CRTC address register. Typically\r
099fae5d 78 /// set to EFI_PCI_IO_PASS_THROUGH_BAR\r
79 ///\r
a9102619 80 UINT8 CrtcAddressRegisterBar;\r
099fae5d 81 ///\r
0a6f4824 82 /// PCI Controller I/O BAR index of the VGA CRTC data register. Typically set\r
099fae5d 83 /// to EFI_PCI_IO_PASS_THROUGH_BAR\r
84 ///\r
a9102619 85 UINT8 CrtcDataRegisterBar;\r
099fae5d 86 ///\r
87 /// The maximum number of text modes that this VGA controller supports.\r
88 ///\r
a9102619 89 UINT8 MaxMode;\r
90};\r
91\r
92extern EFI_GUID gEfiVgaMiniPortProtocolGuid;\r
93\r
94#endif\r