+ Ard’s new e-mail address
From: Andrei Warkentin <awarkentin@vmware.com>
Sent: Thursday, April 8, 2021 10:17 AM
To: Jeremy Linton <Jeremy.Linton@arm.com>; devel@edk2.groups.io
Cc: Ard Biesheuvel <Ard.Biesheuvel@arm.com>; leif@nuviainc.com; pete@akeo.ie; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Subject: Re: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components
Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>
From: Jeremy Linton <jeremy.linton@arm.com>
Sent: Thursday, April 8, 2021 12:58 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: ard.biesheuvel@arm.com <ard.biesheuvel@arm.com>;
leif@nuviainc.com <leif@nuviainc.com>;
pete@akeo.ie <pete@akeo.ie>;
samer.el-haj-mahmoud@arm.com <samer.el-haj-mahmoud@arm.com>; Andrei Warkentin <awarkentin@vmware.com>; Jeremy Linton
<jeremy.linton@arm.com>
Subject: [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components
Add some additional IORT nodes for the USB & EMMC devices, realistically
we probably only need to have a single node with the lowest AddressSizeLimit
but this is conceptually "cleaner" should anyone actually try and use these
values rather than the _DMA provided ones.
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
Platform/RaspberryPi/AcpiTables/Iort.aslc | 44 ++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/Platform/RaspberryPi/AcpiTables/Iort.aslc b/Platform/RaspberryPi/AcpiTables/Iort.aslc
index 00720194bb..810307ae37 100644
--- a/Platform/RaspberryPi/AcpiTables/Iort.aslc
+++ b/Platform/RaspberryPi/AcpiTables/Iort.aslc
@@ -20,6 +20,8 @@ typedef struct {
typedef struct {
EFI_ACPI_6_0_IO_REMAPPING_TABLE Iort;
RPI4_NC_NODE NamedCompNode;
+ RPI4_NC_NODE NamedCompNode2;
+ RPI4_NC_NODE NamedCompNode3;
} RPI4_IO_REMAPPING_STRUCTURE;
STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {
@@ -27,7 +29,7 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {
ACPI_HEADER (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE,
RPI4_IO_REMAPPING_STRUCTURE,
EFI_ACPI_IO_REMAPPING_TABLE_REVISION),
- 1, // NumNodes
+ 3, // NumNodes
sizeof (EFI_ACPI_6_0_IO_REMAPPING_TABLE), // NodeOffset
0 // Reserved
}, {
@@ -50,6 +52,46 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {
}, {
"\\_SB_.SCB0.XHC0" // ObjectName
}
+ }, {
+ // gpu/dwc usb named component node
+ {
+ {
+ EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type
+ sizeof (RPI4_NC_NODE), // Length
+ 0x0, // Revision
+ 0x0, // Reserved
+ 0x0, // NumIdMappings
+ 0x0, // IdReference
+ },
+ 0x0, // Flags
+ 0x0, // CacheCoherent
+ 0x0, // AllocationHints
+ 0x0, // Reserved
+ 0x0, // MemoryAccessFlags
+ 30, // AddressSizeLimit
+ }, {
+ "\\_SB_.GDV0.USB0" // ObjectName
+ }
+ }, {
+ // emmc2 named component node
+ {
+ {
+ EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type
+ sizeof (RPI4_NC_NODE), // Length
+ 0x0, // Revision
+ 0x0, // Reserved
+ 0x0, // NumIdMappings
+ 0x0, // IdReference
+ },
+ 0x0, // Flags
+ 0x0, // CacheCoherent
+ 0x0, // AllocationHints
+ 0x0, // Reserved
+ 0x0, // MemoryAccessFlags
+ 30, // AddressSizeLimit
+ }, {
+ "\\_SB_.GDV1.SDC3" // ObjectName
+ }
}
};
--
2.13.7