]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/DebugPort2Table.h
MdePkg: Update DBG2 and SPCR header with NVIDIA 16550 Subtype
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / DebugPort2Table.h
1 /** @file
2 ACPI debug port 2 table definition, defined at
3 Microsoft DebugPort2Specification.
4
5 Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
6 Copyright (c) 2012 - 2016, ARM Limited. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11
12 #ifndef _DEBUG_PORT_2_TABLE_H_
13 #define _DEBUG_PORT_2_TABLE_H_
14
15 #include <IndustryStandard/Acpi.h>
16
17 //
18 // Ensure proper structure formats
19 //
20 #pragma pack(1)
21
22 //
23 // Debug Device Information structure.
24 //
25 typedef struct {
26 UINT8 Revision;
27 UINT16 Length;
28 UINT8 NumberofGenericAddressRegisters;
29 UINT16 NameSpaceStringLength;
30 UINT16 NameSpaceStringOffset;
31 UINT16 OemDataLength;
32 UINT16 OemDataOffset;
33 UINT16 PortType;
34 UINT16 PortSubtype;
35 UINT8 Reserved[2];
36 UINT16 BaseAddressRegisterOffset;
37 UINT16 AddressSizeOffset;
38 } EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT;
39
40 #define EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION 0x00
41
42 #define EFI_ACPI_DBG2_PORT_TYPE_SERIAL 0x8000
43 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_FULL_16550 0x0000
44 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_SUBSET_COMPATIBLE_WITH_MS_DBGP_SPEC 0x0001
45 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_PL011_UART 0x0003
46 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_NVIDIA_16550_UART 0x0005
47 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART_2X 0x000d
48 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART 0x000e
49 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_DCC 0x000f
50 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_BCM2835_UART 0x0010
51 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_WITH_GAS 0x0012
52 #define EFI_ACPI_DBG2_PORT_TYPE_1394 0x8001
53 #define EFI_ACPI_DBG2_PORT_SUBTYPE_1394_STANDARD 0x0000
54 #define EFI_ACPI_DBG2_PORT_TYPE_USB 0x8002
55 #define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_XHCI 0x0000
56 #define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_EHCI 0x0001
57 #define EFI_ACPI_DBG2_PORT_TYPE_NET 0x8003
58
59 //
60 // Debug Port 2 Table definition.
61 //
62 typedef struct {
63 EFI_ACPI_DESCRIPTION_HEADER Header;
64 UINT32 OffsetDbgDeviceInfo;
65 UINT32 NumberDbgDeviceInfo;
66 } EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE;
67
68 #pragma pack()
69
70 //
71 // DBG2 Revision (defined in spec)
72 //
73 #define EFI_ACPI_DEBUG_PORT_2_TABLE_REVISION 0x00
74
75 #endif