/** @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 - 2008, Intel Corporation. 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
+\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
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
**/\r
\r
#ifndef _SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_H_\r
///\r
/// SPCR Revision (defined in spec)\r
///\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x01\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x02\r
\r
///\r
/// Serial Port Console Redirection Table Format\r
EFI_ACPI_DESCRIPTION_HEADER Header;\r
UINT8 InterfaceType;\r
UINT8 Reserved1[3];\r
- EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE BaseAddress;\r
+ EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE BaseAddress;\r
UINT8 InterruptType;\r
UINT8 Irq;\r
UINT32 GlobalSystemInterrupt;\r
UINT8 StopBits;\r
UINT8 FlowControl;\r
UINT8 TerminalType;\r
- UINT8 Language;\r
+ UINT8 Reserved2;\r
UINT16 PciDeviceId;\r
UINT16 PciVendorId;\r
UINT8 PciBusNumber;\r
UINT8 PciFunctionNumber;\r
UINT32 PciFlags;\r
UINT8 PciSegment;\r
- UINT32 Reserved2;\r
+ UINT32 Reserved3;\r
} EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE;\r
\r
#pragma pack()\r
///\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
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16450 1\r
+\r
+\r
+//\r
+// The Serial Port Subtypes for ARM are documented in Table 3 of the DBG2 Specification\r
+//\r
+\r
+///\r
+/// ARM PL011 UART\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_PL011_UART 0x03\r
+\r
+///\r
+/// ARM SBSA Generic UART (2.x) supporting 32-bit only accesses [deprecated]\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_SBSA_GENERIC_UART_2X 0x0d\r
+\r
+///\r
+/// ARM SBSA Generic UART\r
+///\r
+#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_SBSA_GENERIC_UART 0x0e\r
\r
//\r
// Interrupt Type\r
/// I/O SAPIC interrupt (Global System Interrupt)\r
///\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
\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 5\r
-#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200 6\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