DynamicTablesPkg/SsdtSerialPortFixupLib: Add Interrupt node for SPIs only

Add interrupt node to the AML description of the serial-port only if the
IRQ ID from the Configuration Manager is a valid SPI (shared processor
interrupt) or an extended SPI. So, for DBG2 UART ports where interrupt
is not mandatory, adding of an interrupt node in the AML description
using Serial Port Fixup Library can be ignored if the UART is not
defined with a valid SPI, like in N1SDP.

This update generates the interrupt node for the valid SPI range using
the AML Codegen API instead of updating it using the AML Fixup API.

Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Himanshu Sharma <Himanshu.Sharma@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
This commit is contained in:
Himanshu Sharma
2024-01-04 13:32:57 +05:30
committed by mergify[bot]
parent 855f528199
commit 1ae5bee967
4 changed files with 69 additions and 30 deletions

View File

@ -1,6 +1,6 @@
/** @file
Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.<BR>
Copyright (c) 2017 - 2024, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@ -317,7 +317,10 @@ typedef struct CmArmSerialPortInfo {
/// The physical base address for the serial port
UINT64 BaseAddress;
/// The serial port interrupt
/** The serial port interrupt.
0 indicates that the serial port does not
have an interrupt wired.
*/
UINT32 Interrupt;
/// The serial port baud rate