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