1 /** @file 2 ACPI debug port 2 table definition, defined at 3 Microsoft DebugPort2Specification. 4 5 Copyright (c) 2012, Intel Corporation. All rights reserved.<BR> 6 Copyright (c) 2012 - 2016, ARM Limited. All rights reserved.<BR> 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 **/ 16 17 18 #ifndef _DEBUG_PORT_2_TABLE_H_ 19 #define _DEBUG_PORT_2_TABLE_H_ 20 21 #include <IndustryStandard/Acpi.h> 22 23 // 24 // Ensure proper structure formats 25 // 26 #pragma pack(1) 27 28 // 29 // Debug Device Information structure. 30 // 31 typedef struct { 32 UINT8 Revision; 33 UINT16 Length; 34 UINT8 NumberofGenericAddressRegisters; 35 UINT16 NameSpaceStringLength; 36 UINT16 NameSpaceStringOffset; 37 UINT16 OemDataLength; 38 UINT16 OemDataOffset; 39 UINT16 PortType; 40 UINT16 PortSubtype; 41 UINT8 Reserved[2]; 42 UINT16 BaseAddressRegisterOffset; 43 UINT16 AddressSizeOffset; 44 } EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT; 45 46 #define EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION 0x00 47 48 #define EFI_ACPI_DBG2_PORT_TYPE_SERIAL 0x8000 49 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_FULL_16550 0x0000 50 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_SUBSET_COMPATIBLE_WITH_MS_DBGP_SPEC 0x0001 51 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_PL011_UART 0x0003 52 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART_2X 0x000d 53 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_SBSA_GENERIC_UART 0x000e 54 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_DCC 0x000f 55 #define EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_BCM2835_UART 0x0010 56 #define EFI_ACPI_DBG2_PORT_TYPE_1394 0x8001 57 #define EFI_ACPI_DBG2_PORT_SUBTYPE_1394_STANDARD 0x0000 58 #define EFI_ACPI_DBG2_PORT_TYPE_USB 0x8002 59 #define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_XHCI 0x0000 60 #define EFI_ACPI_DBG2_PORT_SUBTYPE_USB_EHCI 0x0001 61 #define EFI_ACPI_DBG2_PORT_TYPE_NET 0x8003 62 63 // 64 // Debug Port 2 Table definition. 65 // 66 typedef struct { 67 EFI_ACPI_DESCRIPTION_HEADER Header; 68 UINT32 OffsetDbgDeviceInfo; 69 UINT32 NumberDbgDeviceInfo; 70 } EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE; 71 72 #pragma pack() 73 74 // 75 // DBG2 Revision (defined in spec) 76 // 77 #define EFI_ACPI_DEBUG_PORT_2_TABLE_REVISION 0x00 78 79 #endif 80