devicetree.bbclass: don't pad DT overlays

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>
(From OE-Core rev: 678fe8c66b19f141f6869859cf365aec037e89d9)

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Luca Ceresoli
2018-09-11 13:13:59 +02:00
committed by Richard Purdie
parent 9ba2b4ab7d
commit bb05e37d57

View 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")]