[Linaro-uefi,5/6] Platforms/TC2: move to new DtPlatformDxe driver

Message ID 20170329134908.13038-6-ard.biesheuvel@linaro.org
State New
Headers show
Series
  • EDK2 spring cleaning -- OpenPlatformPkg edition
Related show

Commit Message

Ard Biesheuvel March 29, 2017, 1:49 p.m.
Replace the slightly overengineered FdtPlatformDxe driver with the new
and simple DtPlatformDxe driver, which simply exposes a single builtin
device tree binary to the OS.

Note that this driver is configurable, i.e., it allows ACPI to be
selected instead of device tree, in which case AcpiPlatformDxe is
allowed to run.

Note that this means we have to move the reference to FdtPlatformDxe.inf
from the shared .DSC to the individual .DSCs for Juno and FVP that will
keep using it for now.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb | Bin 0 -> 19070 bytes
 Platforms/ARM/Juno/ArmJuno.dsc                           |   8 ++++++++
 Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc          |  10 +++++++++-
 Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf          |  13 +++++--------
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc       |   8 ++++++++
 Platforms/ARM/VExpress/ArmVExpress.dsc.inc               |   8 --------
 6 files changed, 30 insertions(+), 17 deletions(-)

Patch hide | download patch | download mbox

diff --git a/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb b/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb
new file mode 100644
index 0000000000000000000000000000000000000000..fe655a05cc6e48d2a9d4247c85c04472e1a146ab
GIT binary patch
literal 19070
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
GB>x`}bAiYJ

literal 0
HcmV?d00001

diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc
index 1f56643ae996..71dc5463a84f 100644
--- a/Platforms/ARM/Juno/ArmJuno.dsc
+++ b/Platforms/ARM/Juno/ArmJuno.dsc
@@ -336,6 +336,14 @@ 
       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
   }
 
+  #
+  # FDT installation
+  #
+  EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
+    <LibraryClasses>
+      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
+  }
+
 [Components.AARCH64]
   #
   # EBC
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc
index 55640837ba7c..0a109da4a029 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc
+++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc
@@ -269,7 +269,15 @@ 
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
 
-  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
+    <LibraryClasses>
+      NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
+  }
+
+  #
+  # FDT installation
+  #
+  EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
 
   #
   # Bds
diff --git a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf
index 1903389c8edd..e88ec329d689 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf
+++ b/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf
@@ -181,14 +181,11 @@  FvNameGuid         = 73dcb643-3862-4904-9076-a94af1890243
   #
   # FDT installation
   #
-  # The UEFI driver is at the end of the list of the driver to be dispatched
-  # after the device drivers (eg: Ethernet) to ensure we have support for them.
-  INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
-
-  # Example to add a Device Tree to the Firmware Volume
-  #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressHwA15x2A7x3) {
-  #  SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/vexpress-v2p-ca15_a7.dtb
-  #}
+  INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
+
+  FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 {
+    SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/vexpress-v2p-ca15_a7.dtb
+  }
 
 [FV.FVMAIN_COMPACT]
 FvBaseAddress      = 0xB0000000
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
index 1b3c770da03f..e6778aafe8c6 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
+++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
@@ -315,3 +315,11 @@ 
       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
   }
+
+  #
+  # FDT installation
+  #
+  EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
+    <LibraryClasses>
+      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
+  }
diff --git a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
index 9dfe2ac9e440..8c4de54c8875 100644
--- a/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
+++ b/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
@@ -491,14 +491,6 @@ 
   MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
 
   #
-  # FDT installation
-  #
-  EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
-    <LibraryClasses>
-      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
-  }
-
-  #
   # UEFI application (Shell Embedded Boot Loader)
   #
   ShellPkg/Application/Shell/Shell.inf {