<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
Reviewed-by: Andrei Warkentin <awarkentin@vmware.com></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Jeremy Linton <jeremy.linton@arm.com><br>
<b>Sent:</b> Thursday, April 8, 2021 12:58 AM<br>
<b>To:</b> devel@edk2.groups.io <devel@edk2.groups.io><br>
<b>Cc:</b> 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><br>
<b>Subject:</b> [PATCH 2/3] Platform/RaspberryPi/AcpiTables: Add further named components</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Add some additional IORT nodes for the USB & EMMC devices, realistically<br>
we probably only need to have a single node with the lowest AddressSizeLimit<br>
but this is conceptually "cleaner" should anyone actually try and use these<br>
values rather than the _DMA provided ones.<br>
<br>
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com><br>
---<br>
 Platform/RaspberryPi/AcpiTables/Iort.aslc | 44 ++++++++++++++++++++++++++++++-<br>
 1 file changed, 43 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/Platform/RaspberryPi/AcpiTables/Iort.aslc b/Platform/RaspberryPi/AcpiTables/Iort.aslc<br>
index 00720194bb..810307ae37 100644<br>
--- a/Platform/RaspberryPi/AcpiTables/Iort.aslc<br>
+++ b/Platform/RaspberryPi/AcpiTables/Iort.aslc<br>
@@ -20,6 +20,8 @@ typedef struct {<br>
 typedef struct {<br>
<br>
   EFI_ACPI_6_0_IO_REMAPPING_TABLE      Iort;<br>
<br>
   RPI4_NC_NODE                         NamedCompNode;<br>
<br>
+  RPI4_NC_NODE                         NamedCompNode2;<br>
<br>
+  RPI4_NC_NODE                         NamedCompNode3;<br>
<br>
 } RPI4_IO_REMAPPING_STRUCTURE;<br>
<br>
 <br>
<br>
 STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {<br>
<br>
@@ -27,7 +29,7 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {<br>
     ACPI_HEADER (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE,<br>
<br>
                  RPI4_IO_REMAPPING_STRUCTURE,<br>
<br>
                  EFI_ACPI_IO_REMAPPING_TABLE_REVISION),<br>
<br>
-    1,                                              // NumNodes<br>
<br>
+    3,                                              // NumNodes<br>
<br>
     sizeof (EFI_ACPI_6_0_IO_REMAPPING_TABLE),       // NodeOffset<br>
<br>
     0                                               // Reserved<br>
<br>
   }, {<br>
<br>
@@ -50,6 +52,46 @@ STATIC RPI4_IO_REMAPPING_STRUCTURE Iort = {<br>
     }, {<br>
<br>
       "\\_SB_.SCB0.XHC0"                            // ObjectName<br>
<br>
     }<br>
<br>
+  }, {<br>
<br>
+    // gpu/dwc usb named component node<br>
<br>
+    {<br>
<br>
+      {<br>
<br>
+        EFI_ACPI_IORT_TYPE_NAMED_COMP,              // Type<br>
<br>
+        sizeof (RPI4_NC_NODE),                      // Length<br>
<br>
+        0x0,                                        // Revision<br>
<br>
+        0x0,                                        // Reserved<br>
<br>
+        0x0,                                        // NumIdMappings<br>
<br>
+        0x0,                                        // IdReference<br>
<br>
+      },<br>
<br>
+      0x0,                                          // Flags<br>
<br>
+      0x0,                                          // CacheCoherent<br>
<br>
+      0x0,                                          // AllocationHints<br>
<br>
+      0x0,                                          // Reserved<br>
<br>
+      0x0,                                          // MemoryAccessFlags<br>
<br>
+      30,                                           // AddressSizeLimit<br>
<br>
+    }, {<br>
<br>
+      "\\_SB_.GDV0.USB0"                            // ObjectName<br>
<br>
+    }<br>
<br>
+  }, {<br>
<br>
+    // emmc2 named component node<br>
<br>
+    {<br>
<br>
+      {<br>
<br>
+        EFI_ACPI_IORT_TYPE_NAMED_COMP,              // Type<br>
<br>
+        sizeof (RPI4_NC_NODE),                      // Length<br>
<br>
+        0x0,                                        // Revision<br>
<br>
+        0x0,                                        // Reserved<br>
<br>
+        0x0,                                        // NumIdMappings<br>
<br>
+        0x0,                                        // IdReference<br>
<br>
+      },<br>
<br>
+      0x0,                                          // Flags<br>
<br>
+      0x0,                                          // CacheCoherent<br>
<br>
+      0x0,                                          // AllocationHints<br>
<br>
+      0x0,                                          // Reserved<br>
<br>
+      0x0,                                          // MemoryAccessFlags<br>
<br>
+      30,                                           // AddressSizeLimit<br>
<br>
+    }, {<br>
<br>
+      "\\_SB_.GDV1.SDC3"                            // ObjectName<br>
<br>
+    }<br>
<br>
   }<br>
<br>
 };<br>
<br>
 <br>
<br>
-- <br>
2.13.7<br>
<br>
</div>
</span></font></div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/73856">View/Reply Online (#73856)</a> |    |  <a target="_blank" href="https://groups.io/mt/81935644/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>