Ronak Kanabar | 1ae366f | 2023-06-07 01:21:56 +0530 | [diff] [blame^] | 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 | #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 | // |
| 24 | typedef 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 | // |
| 61 | typedef 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 |