• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2 
3   Serial Port Console Redirection Table
4   © 2000 - 2014 Microsoft Corporation. All rights reserved.
5   http://go.microsoft.com/fwlink/?linkid=403368
6 
7   Copyright (c) 2014 - 2016, AMD Inc. All rights reserved.
8 
9   This program and the accompanying materials
10   are licensed and made available under the terms and conditions of the BSD License
11   which accompanies this distribution.  The full text of the license may be found at
12   http://opensource.org/licenses/bsd-license.php
13 
14   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 
17 **/
18 
19 #include <AmdStyxAcpiLib.h>
20 #include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
21 
22 #pragma pack(push, 1)
23 
24 #define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_PL011   3
25 
26 STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE AcpiSpcr = {
27   //
28   // Header
29   //
30   AMD_ACPI_HEADER (EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
31                    EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE,
32                    2), /* New MS definition for PL011 support */
33   //
34   // InterfaceType
35   //
36   EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_PL011,
37   //
38   // Reserved[3]
39   //
40   {EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE},
41   //
42   // BaseAddress
43   //
44   AMD_GASN(FixedPcdGet64(PcdSerialRegisterBase)),
45   //
46   // InterruptType
47   //
48   0,
49   //
50   // Irq
51   //
52   0,
53   //
54   // GlobalSystemInterrupt
55   //
56   0x148,
57   //
58   // BaudRate
59   //
60   EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200,
61   //
62   // Parity
63   //
64   EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY,
65   //
66   // StopBits
67   //
68   EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1,
69   //
70   // FlowControl
71   //
72   0,
73   //
74   // TerminalType
75   //
76   EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI,
77   //
78   // Language
79   //
80   EFI_ACPI_RESERVED_BYTE,
81   //
82   // PciDeviceId
83   //
84   0xFFFF,
85   //
86   // PciVendorId
87   //
88   0xFFFF,
89   //
90   // PciBusNumber
91   //
92   0x00,
93   //
94   // PciDeviceNumber
95   //
96   0x00,
97   //
98   // PciFunctionNumber
99   //
100   0x00,
101   //
102   // PciFlags
103   //
104   0,
105   //
106   // PciSegment
107   //
108   0,
109   //
110   // Reserved2
111   //
112   EFI_ACPI_RESERVED_DWORD
113 };
114 
115 #pragma pack(pop)
116 
117 EFI_ACPI_DESCRIPTION_HEADER *
SpcrHeader(VOID)118 SpcrHeader (
119   VOID
120   )
121 {
122   return &AcpiSpcr.Header;
123 }
124 
125