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   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