Support for universal asynchronous receiver-transmitter (UART) port
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
231938766c
commit
66e0f0cba4
@ -191,6 +191,26 @@ typedef enum EFI_GRAPHICS_OUTPUT_BLT_OPERATION
|
||||
EfiGraphicsOutputBltOperationMax
|
||||
} EFI_GRAPHICS_OUTPUT_BLT_OPERATION, *PEFI_GRAPHICS_OUTPUT_BLT_OPERATION;
|
||||
|
||||
/* Enumeration of UART parity types */
|
||||
typedef enum _EFI_UART_PARITY_TYPE
|
||||
{
|
||||
DefaultParity,
|
||||
NoParity,
|
||||
EvenParity,
|
||||
OddParity,
|
||||
MarkParity,
|
||||
SpaceParity
|
||||
} EFI_UART_PARITY_TYPE, *PEFI_UART_PARITY_TYPE;
|
||||
|
||||
/* Enumeration of UART stop bit types */
|
||||
typedef enum _EFI_UART_STOP_BITS_TYPE
|
||||
{
|
||||
DefaultStopBits,
|
||||
OneStopBit,
|
||||
OneFiveStopBits,
|
||||
TwoStopBits
|
||||
} EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_BITS_TYPE;
|
||||
|
||||
/* EFI structures forward references */
|
||||
typedef struct _EFI_CAPSULE_HEADER EFI_CAPSULE_HEADER, *PEFI_CAPSULE_HEADER;
|
||||
typedef struct _EFI_GUID EFI_GUID, *PEFI_GUID;
|
||||
@ -298,6 +318,8 @@ typedef struct _EFI_MBR_PARTITION_RECORD EFI_MBR_PARTITION_RECORD, *PEFI_MBR_PAR
|
||||
typedef struct _EFI_MASTER_BOOT_RECORD EFI_MASTER_BOOT_RECORD, *PEFI_MASTER_BOOT_RECORD;
|
||||
typedef struct _EFI_GPT_PARTITION_TABLE_HEADER EFI_GPT_PARTITION_TABLE_HEADER, *PEFI_GPT_PARTITION_TABLE_HEADER;
|
||||
typedef struct _EFI_GPT_PARTITION_ENTRY EFI_GPT_PARTITION_ENTRY, *PEFI_GPT_PARTITION_ENTRY;
|
||||
typedef struct _EFI_UART_IO_MODE EFI_UART_IO_MODE, *PEFI_UART_IO_MODE;
|
||||
typedef struct _EFI_UART_IO_PROTOCOL EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
||||
|
||||
/* EFI unions forward references */
|
||||
typedef union _EFI_DEV_PATH EFI_DEV_PATH, *PEFI_DEV_PATH;
|
||||
@ -487,6 +509,12 @@ typedef EFI_STATUS (*PEFI_EBC_UNLOAD_IMAGE)(IN PEFI_EBC_PROTOCOL This, IN EFI_HA
|
||||
typedef EFI_STATUS (*PEFI_EBC_ICACHE_FLUSH)(IN EFI_PHYSICAL_ADDRESS Start, IN UINT64 Length);
|
||||
typedef EFI_STATUS (*PEFI_EBC_REGISTER_ICACHE_FLUSH)(IN PEFI_EBC_PROTOCOL This, IN PEFI_EBC_ICACHE_FLUSH Flush);
|
||||
typedef EFI_STATUS (*PEFI_EBC_GET_VERSION)(IN PEFI_EBC_PROTOCOL This, IN OUT PUINT64 Version);
|
||||
typedef EFI_STATUS (*PEFI_UART_RESET)(IN PEFI_UART_IO_PROTOCOL This);
|
||||
typedef EFI_STATUS (*PEFI_UART_SET_ATTRIBUTES)(IN PEFI_UART_IO_PROTOCOL This, IN UINT64 BaudRate, IN UINT32 ReceiveFifoDepth, IN UINT32 Timeout, IN EFI_UART_PARITY_TYPE Parity, IN UINT8 DataBits, IN EFI_UART_STOP_BITS_TYPE StopBits);
|
||||
typedef EFI_STATUS (*PEFI_UART_SET_CONTROL_BITS)(IN PEFI_UART_IO_PROTOCOL This, IN UINT32 Control);
|
||||
typedef EFI_STATUS (*PEFI_UART_GET_CONTROL_BITS)(IN PEFI_UART_IO_PROTOCOL This, OUT PUINT32 Control);
|
||||
typedef EFI_STATUS (*PEFI_UART_WRITE)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, IN PVOID Buffer);
|
||||
typedef EFI_STATUS (*PEFI_UART_READ)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, OUT PVOID Buffer);
|
||||
|
||||
/* 128-bit buffer containing a unique identifier value */
|
||||
typedef struct _EFI_GUID
|
||||
@ -1648,4 +1676,28 @@ typedef struct _EFI_GPT_PARTITION_ENTRY
|
||||
UINT16 PartitionName[36];
|
||||
} EFI_GPT_PARTITION_ENTRY, *PEFI_GPT_PARTITION_ENTRY;
|
||||
|
||||
/* EFI UART I/O mode */
|
||||
typedef struct _EFI_UART_IO_MODE
|
||||
{
|
||||
UINT32 ControlMask;
|
||||
UINT32 Timeout;
|
||||
UINT64 BaudRate;
|
||||
UINT32 ReceiveFifoDepth;
|
||||
UINT32 DataBits;
|
||||
UINT32 Parity;
|
||||
UINT32 StopBits;
|
||||
} EFI_UART_IO_MODE, *PEFI_UART_IO_MODE;
|
||||
|
||||
/* EFI UART I/O protocol */
|
||||
typedef struct _EFI_UART_IO_PROTOCOL {
|
||||
UINT32 Revision;
|
||||
PEFI_UART_RESET Reset;
|
||||
PEFI_UART_SET_ATTRIBUTES SetAttributes;
|
||||
PEFI_UART_SET_CONTROL_BITS SetControl;
|
||||
PEFI_UART_GET_CONTROL_BITS GetControl;
|
||||
PEFI_UART_WRITE Write;
|
||||
PEFI_UART_READ Read;
|
||||
PEFI_UART_IO_MODE Mode;
|
||||
} EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
||||
|
||||
#endif /* __XTDK_XTUEFI_H */
|
||||
|
Loading…
Reference in New Issue
Block a user