]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/SerialPortConsoleRedirectionTable.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SerialPortConsoleRedirectionTable.h
index 47030a442836fc16d64223242d372d7539dedae1..eb5ae2839007c43ed50e666299012430214e603d 100644 (file)
@@ -1,23 +1,16 @@
 /** @file\r
   ACPI Serial Port Console Redirection Table as defined by Microsoft in\r
   http://www.microsoft.com/whdc/system/platform/server/spcr.mspx\r
-    \r
-  Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
+\r
+  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
   (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
   Copyright (c) 2014 - 2016, ARM Limited. All rights reserved.<BR>\r
-  This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 **/\r
 \r
 #ifndef _SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_H_\r
 #define _SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_H_\r
 \r
-\r
 #include <IndustryStandard/Acpi.h>\r
 \r
 //\r
 ///\r
 /// SPCR Revision (defined in spec)\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x02\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION  0x02\r
 \r
 ///\r
 /// Serial Port Console Redirection Table Format\r
 ///\r
 typedef struct {\r
-  EFI_ACPI_DESCRIPTION_HEADER             Header;\r
-  UINT8                                   InterfaceType;\r
-  UINT8                                   Reserved1[3];\r
-  EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE  BaseAddress;\r
-  UINT8                                   InterruptType;\r
-  UINT8                                   Irq;\r
-  UINT32                                  GlobalSystemInterrupt;\r
-  UINT8                                   BaudRate;\r
-  UINT8                                   Parity;\r
-  UINT8                                   StopBits;\r
-  UINT8                                   FlowControl;\r
-  UINT8                                   TerminalType;\r
-  UINT8                                   Reserved2;\r
-  UINT16                                  PciDeviceId;\r
-  UINT16                                  PciVendorId;\r
-  UINT8                                   PciBusNumber;\r
-  UINT8                                   PciDeviceNumber;\r
-  UINT8                                   PciFunctionNumber;\r
-  UINT32                                  PciFlags;\r
-  UINT8                                   PciSegment;\r
-  UINT32                                  Reserved3;\r
+  EFI_ACPI_DESCRIPTION_HEADER               Header;\r
+  UINT8                                     InterfaceType;\r
+  UINT8                                     Reserved1[3];\r
+  EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE    BaseAddress;\r
+  UINT8                                     InterruptType;\r
+  UINT8                                     Irq;\r
+  UINT32                                    GlobalSystemInterrupt;\r
+  UINT8                                     BaudRate;\r
+  UINT8                                     Parity;\r
+  UINT8                                     StopBits;\r
+  UINT8                                     FlowControl;\r
+  UINT8                                     TerminalType;\r
+  UINT8                                     Reserved2;\r
+  UINT16                                    PciDeviceId;\r
+  UINT16                                    PciVendorId;\r
+  UINT8                                     PciBusNumber;\r
+  UINT8                                     PciDeviceNumber;\r
+  UINT8                                     PciFunctionNumber;\r
+  UINT32                                    PciFlags;\r
+  UINT8                                     PciSegment;\r
+  UINT32                                    Reserved3;\r
 } EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE;\r
 \r
 #pragma pack()\r
@@ -70,12 +63,11 @@ typedef struct {
 ///\r
 /// Full 16550 interface\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16550                     0\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16550  0\r
 ///\r
 /// Full 16450 interface\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16450                     1\r
-\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16450  1\r
 \r
 //\r
 // The Serial Port Subtypes for ARM are documented in Table 3 of the DBG2 Specification\r
@@ -84,7 +76,12 @@ typedef struct {
 ///\r
 /// ARM PL011 UART\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_PL011_UART            0x03\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_PL011_UART  0x03\r
+\r
+///\r
+/// NVIDIA 16550 UART\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_NVIDIA_16550_UART  0x05\r
 \r
 ///\r
 /// ARM SBSA Generic UART (2.x) supporting 32-bit only accesses [deprecated]\r
@@ -94,7 +91,22 @@ typedef struct {
 ///\r
 /// ARM SBSA Generic UART\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_SBSA_GENERIC_UART     0x0e\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_SBSA_GENERIC_UART  0x0e\r
+\r
+///\r
+/// ARM DCC\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_DCC  0x0f\r
+\r
+///\r
+/// BCM2835 UART\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_BCM2835_UART  0x10\r
+\r
+///\r
+/// 16550-compatible with parameters defined in Generic Address Structure\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16550_WITH_GAS  0x12\r
 \r
 //\r
 // Interrupt Type\r
@@ -103,37 +115,37 @@ typedef struct {
 ///\r
 /// PC-AT-compatible dual-8259 IRQ interrupt\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_8259    0x1\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_8259  0x1\r
 ///\r
 /// I/O APIC interrupt (Global System Interrupt)\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_APIC    0x2\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_APIC  0x2\r
 ///\r
 /// I/O SAPIC interrupt (Global System Interrupt)\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_SAPIC   0x4\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_SAPIC  0x4\r
 ///\r
 /// ARMH GIC interrupt (Global System Interrupt)\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC     0x8\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC  0x8\r
 \r
 //\r
 // Baud Rate\r
 //\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_9600         3\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_19200        4\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_57600        6\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200       7\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_9600    3\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_19200   4\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_57600   6\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200  7\r
 \r
 //\r
 // Parity\r
 //\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY       0\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY  0\r
 \r
 //\r
 // Stop Bits\r
 //\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1            1\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1  1\r
 \r
 //\r
 // Flow Control\r
@@ -142,11 +154,11 @@ typedef struct {
 ///\r
 /// DCD required for transmit\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_FLOW_CONTROL_DCD       0x1\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_FLOW_CONTROL_DCD  0x1\r
 ///\r
 /// RTS/CTS hardware flow control\r
 ///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_FLOW_CONTROL_RTS_CTS   0x2\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_FLOW_CONTROL_RTS_CTS  0x2\r
 ///\r
 ///  XON/XOFF software control\r
 ///\r
@@ -155,9 +167,9 @@ typedef struct {
 //\r
 // Terminal Type\r
 //\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT100      0\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT100_PLUS 1\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT_UTF8    2\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI       3\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT100       0\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT100_PLUS  1\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_VT_UTF8     2\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI        3\r
 \r
 #endif\r