[edk2,edk2-platforms,v2,1/4] Platform/OverdriveBoard: move device tree compilation into build

Message ID 20170831130830.12833-2-ard.biesheuvel@linaro.org
State New
Headers show
Series
  • Platform/OverdriveBoard: move device tree compilation into build
Related show

Commit Message

Ard Biesheuvel Aug. 31, 2017, 1:08 p.m.
Use the proposed BaseTools support for device tree compilation to
build the device tree binary from source at build time. Give it its
own .inf and a build rule so the tools take care of everything.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb                                                            | Bin 9357 -> 0 bytes
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc                                                                    |   1 +
 Platform/AMD/OverdriveBoard/OverdriveBoard.fdf                                                                    |   9 ++++---
 Platform/AMD/OverdriveBoard/{FdtBlob/styx-overdrive.dts => OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.dts} |   0
 Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf                                 |  28 ++++++++++++++++++++
 5 files changed, 34 insertions(+), 4 deletions(-)

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Patch

diff --git a/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb b/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
deleted file mode 100644
index c8e5fd980bce305186214aab10a7d399faa22500..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9357
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

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index bc69c586e929..081a4f3cd002 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -600,6 +600,7 @@  DEFINE DO_FLASHER   = FALSE
   #
   # FDT support
   #
+  Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf
   EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf {
     <LibraryClasses>
       FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
index 23e57befcdd9..aa2a1a6fa053 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf
@@ -145,10 +145,7 @@  READ_LOCK_STATUS   = TRUE
   # FDT support
   #
   INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
-
-  FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 {
-    SECTION RAW = Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dtb
-  }
+  INF RuleOverride = DTB Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf
 
   #
   # PCI support
@@ -413,3 +410,7 @@  READ_LOCK_STATUS   = TRUE
     RAW ASL                |.aml
   }
 
+[Rule.Common.USER_DEFINED.DTB]
+  FILE FREEFORM = $(NAMED_GUID) {
+    RAW BIN                |.dtb
+  }
diff --git a/Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dts b/Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.dts
similarity index 100%
rename from Platform/AMD/OverdriveBoard/FdtBlob/styx-overdrive.dts
rename to Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.dts
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf b/Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf
new file mode 100644
index 000000000000..9ecf993cafac
--- /dev/null
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoardDeviceTree/OverdriveBoardDeviceTree.inf
@@ -0,0 +1,28 @@ 
+## @file
+#
+#  Device tree description of the AMD Seattle Overdrive platform
+#
+#  Copyright (c) 2017, Linaro Ltd. All rights reserved.
+#
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD License
+#  which accompanies this distribution.  The full text of the license may be found at
+#  http://opensource.org/licenses/bsd-license.php
+#
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+##
+
+[Defines]
+  INF_VERSION             = 0x00010019
+  BASE_NAME               = OverdriveBoardDeviceTree
+  FILE_GUID               = 25462CDA-221F-47DF-AC1D-259CFAA4E326 # gDtPlatformDefaultDtbFileGuid
+  MODULE_TYPE             = USER_DEFINED
+  VERSION_STRING          = 1.0
+
+[Sources]
+  OverdriveBoardDeviceTree.dts
+
+[Packages]
+  MdePkg/MdePkg.dec