]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
devicetree.bbclass: don't pad DT overlays
authorLuca Ceresoli <luca@lucaceresoli.net>
Tue, 11 Sep 2018 11:13:59 +0000 (13:13 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 12 Sep 2018 07:17:27 +0000 (08:17 +0100)
By default the devicetree class adds padding to the generated .dtb
files, which can be needed by the bootloader. However it also pads
.dtbo files, which is not useful.

Don't apply padding to the overlay devicetrees.

To achieve this:

 * move "-p ${DT_PADDING_SIZE}" to a new variable, DTB_BFLAGS (B for
   "base")
 * add "-p 0" to DTC_OFLAGS to disable padding for overlays

Cc: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/devicetree.bbclass

index dbc83f2a1d98addb6dc4e9d082b09756a3be7550..8fe5a5ed795c88f837e788c2cea514fb1e7fda5b 100644 (file)
@@ -55,9 +55,10 @@ DT_RESERVED_MAP ??= "8"
 DT_BOOT_CPU[doc] = "The boot cpu, defaults to 0"
 DT_BOOT_CPU ??= "0"
 
-DTC_FLAGS ?= "-R ${DT_RESERVED_MAP} -p ${DT_PADDING_SIZE} -b ${DT_BOOT_CPU}"
+DTC_FLAGS ?= "-R ${DT_RESERVED_MAP} -b ${DT_BOOT_CPU}"
 DTC_PPFLAGS ?= "-nostdinc -undef -D__DTS__ -x assembler-with-cpp"
-DTC_OFLAGS ?= "-@ -H epapr"
+DTC_BFLAGS ?= "-p ${DT_PADDING_SIZE}"
+DTC_OFLAGS ?= "-p 0 -@ -H epapr"
 
 python () {
     if d.getVar("KERNEL_INCLUDE"):
@@ -106,6 +107,8 @@ def devicetree_compile(dtspath, includes, d):
     dtcargs = ["dtc"] + (d.getVar("DTC_FLAGS") or "").split()
     if isoverlay:
         dtcargs += (d.getVar("DTC_OFLAGS") or "").split()
+    else:
+        dtcargs += (d.getVar("DTC_BFLAGS") or "").split()
     for i in includes:
         dtcargs += ["-i", i]
     dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")]