From 4cad7d27bac546be51e92b0cb9ed58c9326d70ea Mon Sep 17 00:00:00 2001 From: Jeremy Linton Date: Thu, 8 Apr 2021 00:58:42 -0500 Subject: 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 Reviewed-by: Pete Batard Reviewed-by: Andrei Warkentin --- 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 00720194..810307ae 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 + } } }; -- cgit v1.2.3