/** @file | |
* Serial Port Console Redirection Table (SPCR) | |
* | |
* Copyright (c) 2012 - 2015, Linaro Limited. All rights reserved. | |
* | |
* This program and the accompanying materials | |
* are licensed and made available under the terms and conditions of the BSD License | |
* which accompanies this distribution. The full text of the license may be found at | |
* http://opensource.org/licenses/bsd-license.php | |
* | |
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
* | |
* Based on the files under ArmPlatformPkg/ArmJunoPkg/AcpiTables/ | |
* | |
**/ | |
#include <Library/AcpiLib.h> | |
#include <Library/PcdLib.h> | |
#include <IndustryStandard/Acpi.h> | |
#include <IndustryStandard/SerialPortConsoleRedirectionTable.h> | |
#include "Pv660Platform.h" | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { | |
//Header; | |
ARM_ACPI_HEADER( | |
EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE, | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE, | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION | |
), | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_16550, //InterfaceType; | |
{EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE}, //Reserved1[3]; | |
//BaseAddress; | |
{ | |
EFI_ACPI_6_0_SYSTEM_MEMORY, | |
32, | |
0, | |
EFI_ACPI_6_0_BYTE, | |
FixedPcdGet64(PcdSerialRegisterBase) | |
}, | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC, //InterruptType; | |
0, //Irq; | |
349, //GlobalSystemInterrupt; | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200, //BaudRate; | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY, //Parity; | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1, //StopBits; | |
0, //FlowControl; | |
EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI, //TerminalType; | |
EFI_ACPI_RESERVED_BYTE, //Language; | |
0xFFFF, //PciDeviceId; | |
0xFFFF, //PciVendorId; | |
0, //PciBusNumber; | |
0, //PciDeviceNumber; | |
0, //PciFunctionNumber; | |
0, //PciFlags; | |
0, //PciSegment; | |
EFI_ACPI_RESERVED_DWORD //Reserved2; | |
}; | |
// | |
// Reference the table being generated to prevent the optimizer from removing the | |
// data structure from the executable | |
// | |
VOID* CONST ReferenceAcpiTable = &Spcr; |