From: "Sami Mujawar" <sami.mujawar@arm.com>
To: <devel@edk2.groups.io>
Cc: Sami Mujawar <sami.mujawar@arm.com>, <ard.biesheuvel@arm.com>,
<leif@nuviainc.com>, <thomas.abraham@arm.com>,
<Matteo.Carlini@arm.com>, <Ben.Adderson@arm.com>, <nd@arm.com>
Subject: [PATCH edk2-platforms v1 3/6] Platform/ARM: FVP: Fix serial port usage
Date: Fri, 22 Jan 2021 13:29:32 +0000 [thread overview]
Message-ID: <20210122132935.22484-4-sami.mujawar@arm.com> (raw)
In-Reply-To: <20210122132935.22484-1-sami.mujawar@arm.com>
The serial ports on FVP are follows:
UART# Address Interrupt No.
----- ------- -------------
UART0 0x1c090000 0x25
UART1 0x1c0a0000 0x26
UART2 0x1c0b0000 0x27
UART3 0x1c0c0000 0x28
See Fast Model Reference Manual at:
https://developer.arm.com/documentation/100964/1113/
The FVP firmware configures the debug log output on UART1 and the
UEFI shell is configured to use UART0. The Serial Port Console
Redirector (SPCR) table is configured such that the UEFI shell is
migrated to the OS serial console.
When Dynamic Tables Framework is enabled, the FVP Configuration
Manager uses the PCDs PcdSerialRegisterBase and PL011UartInterrupt
to populate the SPCR table.
The current firmware implementation has two problems:
1. The PL011UartInterrupt was not set to the correct interrupt
number. Therefore, the OS serial console was not fully
functional (serial output was printed but input could not
be provided).
2. The OS serial console was setup on UART1, while it should
have been UART0.
Therefore, when Dynamic Tables Framework is enabled fix the UART
base address and interrupt number such that UART0 is configured
in the SPCR table. Also remove ConfigurationManager.dsc.inc as
this is now redundant.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 11 ++++++++---
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc | 19 -------------------
2 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
index a6f536a332281a624403dac2e4bf18aa9ba96d0b..f8c703c4b22b2a26028ba0562e0eae5948c3292d 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011-2018, ARM Limited. All rights reserved.
+# Copyright (c) 2011-2021, ARM Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -34,7 +34,6 @@ [Defines]
!include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
!ifdef DYNAMIC_TABLES_FRAMEWORK
!include DynamicTablesPkg/DynamicTables.dsc.inc
- !include Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
!endif
[LibraryClasses.common]
@@ -126,7 +125,7 @@ [PcdsFixedAtBuild.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c0a0000
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
- gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x25
+ gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x26
## PL011 Serial Debug UART (DBG2)
gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x1c0b0000
@@ -267,6 +266,12 @@ [Components.common]
!ifndef DYNAMIC_TABLES_FRAMEWORK
MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
+!else
+ Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf {
+ <PcdsFixedAtBuild>
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000
+ gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x25
+ }
!endif
ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
deleted file mode 100644
index 0915c154cce6b0686f67a383dc69231ed3ed6f36..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-## @file
-# dsc include file for Configuration Manager
-#
-# Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-[Defines]
-
-[BuildOptions]
-# Required for pre-processing ASL files that include ArmPlatform.h
- *_*_*_ASLPP_FLAGS = $(PLATFORM_FLAGS)
-
-[LibraryClasses.common]
-
-[Components.common]
- # Configuration Manager
- Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
next prev parent reply other threads:[~2021-01-22 13:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-22 13:29 [PATCH edk2-platforms v1 0/6] Fix platform support for dynamic tables framework Sami Mujawar
2021-01-22 13:29 ` [PATCH edk2-platforms v1 1/6] Platform/ARM: FVP: Remove usage of function macros Sami Mujawar
2021-01-22 13:29 ` [PATCH edk2-platforms v1 2/6] Platform/ARM: Juno: " Sami Mujawar
2021-01-22 13:29 ` Sami Mujawar [this message]
2021-01-22 13:29 ` [PATCH edk2-platforms v1 4/6] Platform/ARM: Juno: Remove PL050 KMI description from DSDT Sami Mujawar
2021-01-22 13:29 ` [PATCH edk2-platforms v1 5/6] Platform/ARM: Juno: Remove Serial port SSDT Sami Mujawar
2021-01-22 13:29 ` [PATCH edk2-platforms v1 6/6] Platform/ARM: FVP: Remove Serial port description from DSDT Sami Mujawar
2021-01-25 12:56 ` [PATCH edk2-platforms v1 0/6] Fix platform support for dynamic tables framework Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210122132935.22484-4-sami.mujawar@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox