[PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components


Jeremy Linton
 

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/Raspberry=
Pi/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 {=0D
EFI_ACPI_6_0_IO_REMAPPING_TABLE Iort;=0D
RPI4_NC_NODE NamedCompNode;=0D
+ RPI4_NC_NODE NamedCompNode2;=0D
+ RPI4_NC_NODE NamedCompNode3;=0D
} RPI4_IO_REMAPPING_STRUCTURE;=0D
=0D
STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {=0D
@@ -27,7 +29,7 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {
ACPI_HEADER (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE,=0D
RPI4_IO_REMAPPING_STRUCTURE,=0D
EFI_ACPI_IO_REMAPPING_TABLE_REVISION),=0D
- 1, // NumNodes=0D
+ 3, // NumNodes=0D
sizeof (EFI_ACPI_6_0_IO_REMAPPING_TABLE), // NodeOffset=0D
0 // Reserved=0D
}, {=0D
@@ -50,6 +52,46 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort =3D {
}, {=0D
"\\_SB_.SCB0.XHC0" // ObjectName=0D
}=0D
+ }, {=0D
+ // gpu/dwc usb named component node=0D
+ {=0D
+ {=0D
+ EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type=0D
+ sizeof (RPI4_NC_NODE), // Length=0D
+ 0x0, // Revision=0D
+ 0x0, // Reserved=0D
+ 0x0, // NumIdMappings=0D
+ 0x0, // IdReference=0D
+ },=0D
+ 0x0, // Flags=0D
+ 0x0, // CacheCoherent=0D
+ 0x0, // AllocationHints=0D
+ 0x0, // Reserved=0D
+ 0x0, // MemoryAccessFlags=0D
+ 30, // AddressSizeLimit=0D
+ }, {=0D
+ "\\_SB_.GDV0.USB0" // ObjectName=0D
+ }=0D
+ }, {=0D
+ // emmc2 named component node=0D
+ {=0D
+ {=0D
+ EFI_ACPI_IORT_TYPE_NAMED_COMP, // Type=0D
+ sizeof (RPI4_NC_NODE), // Length=0D
+ 0x0, // Revision=0D
+ 0x0, // Reserved=0D
+ 0x0, // NumIdMappings=0D
+ 0x0, // IdReference=0D
+ },=0D
+ 0x0, // Flags=0D
+ 0x0, // CacheCoherent=0D
+ 0x0, // AllocationHints=0D
+ 0x0, // Reserved=0D
+ 0x0, // MemoryAccessFlags=0D
+ 30, // AddressSizeLimit=0D
+ }, {=0D
+ "\\_SB_.GDV1.SDC3" // ObjectName=0D
+ }=0D
}=0D
};=0D
=0D
--=20
2.13.7

Join devel@edk2.groups.io to automatically receive all group messages.