Date
1 - 3 of 3
[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
|
|
On 2021.04.08 06:58, Jeremy Linton wrote:
Add some additional IORT nodes for the USB & EMMC devices, realisticallyReviewed-by: Pete Batard <pete@akeo.ie>
|
|
Andrei Warkentin
Reviewed-by: Andrei Warkentin <awarkentin@...>
From: Jeremy Linton <jeremy.linton@...>
Sent: Thursday, April 8, 2021 12:58 AM To: devel@edk2.groups.io <devel@edk2.groups.io> Cc: ard.biesheuvel@... <ard.biesheuvel@...>; leif@... <leif@...>; pete@... <pete@...>; samer.el-haj-mahmoud@... <samer.el-haj-mahmoud@...>; Andrei Warkentin <awarkentin@...>; Jeremy Linton <jeremy.linton@...> 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@...> --- 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
|
|