Use UBOOT_DTB_LOADADDRESS and UBOOT_DTB_ENTRYPOINT variables to instruct
U-Boot where to place the selected DTB file when booting the system.
Without these settings U-Boot uses the relative offset where DTB resides
inside the loading address of the FIT image.

Signed-off-by: Mihai Serban <[email protected]>
---
 meta/classes/kernel-fitimage.bbclass | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/classes/kernel-fitimage.bbclass 
b/meta/classes/kernel-fitimage.bbclass
index 50a91e199069..981d11f19f8d 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -134,6 +134,15 @@ EOF
 fitimage_emit_section_dtb() {
 
        dtb_csum="sha1"
+       dtb_loadline=""
+       dtb_entryline=""
+
+       if [ -n "${UBOOT_DTB_LOADADDRESS}" ]; then
+               dtb_loadline="load = <${UBOOT_DTB_LOADADDRESS}>;"
+       fi
+       if [ -n "${UBOOT_DTB_ENTRYPOINT}" ]; then
+               dtb_entryline="entry = <${UBOOT_DTB_ENTRYPOINT}>;"
+       fi
 
        cat << EOF >> ${1}
                 fdt@${2} {
@@ -142,6 +151,8 @@ fitimage_emit_section_dtb() {
                         type = "flat_dt";
                         arch = "${UBOOT_ARCH}";
                         compression = "none";
+                        ${dtb_loadline}
+                        ${dtb_entryline}
                         hash@1 {
                                 algo = "${dtb_csum}";
                         };
-- 
2.17.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to