blob: 904586ec6067a6fab8afc267ba5616f005a779ef [file] [log] [blame]
Ronak Kanabar1ae366f2023-06-07 01:21:56 +05301/** @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#ifndef _DEBUG_PORT_2_TABLE_H_
12#define _DEBUG_PORT_2_TABLE_H_
13
14#include <IndustryStandard/Acpi.h>
15
16//
17// Ensure proper structure formats
18//
19#pragma pack(1)
20
21//
22// Debug Device Information structure.
23//
24typedef struct {
25 UINT8 Revision;
26 UINT16 Length;
27 UINT8 NumberofGenericAddressRegisters;
28 UINT16 NameSpaceStringLength;
29 UINT16 NameSpaceStringOffset;
30 UINT16 OemDataLength;
31 UINT16 OemDataOffset;
32 UINT16 PortType;
33 UINT16 PortSubtype;
34 UINT8 Reserved[2];
35 UINT16 BaseAddressRegisterOffset;
36 UINT16 AddressSizeOffset;
37} EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT;
38
39#define EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION 0x00
40
41#define EFI_ACPI_DBG2_PORT_TYPE_SERIAL 0x8000
42#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_FULL_16550 0x0000
43#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_SUBSET_COMPATIBLE_WITH_MS_DBGP_SPEC 0x0001
44#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_PL011_UART 0x0003
45#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_NVIDIA_16550_UART 0x0005
46#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART_2X 0x000d
47#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART 0x000e
48#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_DCC 0x000f
49#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_BCM2835_UART 0x0010
50#define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_WITH_GAS 0x0012
51#define EFI_ACPI_DBG2_PORT_TYPE_1394 0x8001
52#define EFI_ACPI_DBG2_PORT_SUBTYPE_1394_STANDARD 0x0000
53#define EFI_ACPI_DBG2_PORT_TYPE_USB 0x8002
54#define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_XHCI 0x0000
55#define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_EHCI 0x0001
56#define EFI_ACPI_DBG2_PORT_TYPE_NET 0x8003
57
58//
59// Debug Port 2 Table definition.
60//
61typedef struct {
62 EFI_ACPI_DESCRIPTION_HEADER Header;
63 UINT32 OffsetDbgDeviceInfo;
64 UINT32 NumberDbgDeviceInfo;
65} EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE;
66
67#pragma pack()
68
69//
70// DBG2 Revision (defined in spec)
71//
72#define EFI_ACPI_DEBUG_PORT_2_TABLE_REVISION 0x00
73
74#endif