All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eugeniu Rosca <erosca@de.adit-jv.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 5/5] fdt: boot_get_fdt: android: use ENV 'fdtaddr' as fallback
Date: Mon, 1 Apr 2019 12:52:52 +0200	[thread overview]
Message-ID: <20190401105252.30002-1-erosca@de.adit-jv.com> (raw)
In-Reply-To: <20190401104537.29801-1-erosca@de.adit-jv.com>

Our platform doesn't store the DTB into the Android image second area,
but rather copies the DTB to RAM from a dedicated dtb.img partition [0],
prior to booting the Android image by calling bootm.

Similar to [1], we find it useful to just call 'bootm' and have the
right DTB being passed to OS (assuming its address has been previously
stored in 'fdtaddr' by calling `fdt addr <dtb-addr>`).

Booting Android with DTB from 'fdtaddr' will only occur if:
 - No DTB is embedded in the second area of Android image
 - 'fdtaddr' points to a valid DTB in RAM

[0] https://source.android.com/devices/architecture/dto/partitions
[1] https://patchwork.ozlabs.org/patch/1046652/
    ("Support boot Android image without address on bootm command")

Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
---
Changes in v2:
 - Removed fdt_totalsize() computation, since FDT size verification is
   only relevant for blobs embedded in U-Boot-supported images
 - Link v1: https://patchwork.ozlabs.org/patch/1071591/
---
 common/image-fdt.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/common/image-fdt.c b/common/image-fdt.c
index a5d8b41d0209..3aa5ffff0f69 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -469,7 +469,15 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 
 			debug("## Using FDT in Android image second area\n");
 		} else {
-			goto no_fdt;
+			fdt_addr = env_get_hex("fdtaddr", 0);
+			if (!fdt_addr)
+				goto no_fdt;
+
+			fdt_blob = map_sysmem(fdt_addr, 0);
+			if (fdt_check_header(fdt_blob))
+				goto no_fdt;
+
+			debug("## Using FDT at ${fdtaddr}=Ox%lx\n", fdt_addr);
 		}
 #endif
 	} else {
-- 
2.21.0

  parent reply	other threads:[~2019-04-01 10:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01 10:45 [U-Boot] [PATCH v2 0/5] boot_get_fdt: clean up and use 'fdtaddr' as fallback for Android Eugeniu Rosca
2019-04-01 10:45 ` [U-Boot] [PATCH v2 1/5] fdt: boot_get_fdt: remove redundant zeroing out Eugeniu Rosca
2019-04-18  4:33   ` Simon Glass
2019-04-18 10:18     ` Eugeniu Rosca
2019-04-20  1:36       ` Simon Glass
2019-04-22  2:38       ` sjg at google.com
2019-04-25 17:00     ` Eugeniu Rosca
2019-04-01 10:45 ` [U-Boot] [PATCH v2 2/5] fdt: boot_get_fdt: really boot w/o FDT when "goto no_fdt" Eugeniu Rosca
2019-04-21 19:26   ` Simon Glass
2019-04-22  2:38   ` sjg at google.com
2019-04-25 17:04     ` Eugeniu Rosca
2019-04-01 10:45 ` [U-Boot] [PATCH v2 3/5] fdt: boot_get_fdt: simplify no_fdt handling (non-functional) Eugeniu Rosca
2019-04-21 19:26   ` Simon Glass
2019-04-22  2:38   ` sjg at google.com
2019-04-01 10:45 ` [U-Boot] [PATCH v2 4/5] fdt: boot_get_fdt: android: compress " Eugeniu Rosca
2019-04-21 19:26   ` Simon Glass
2019-04-22  2:38   ` sjg at google.com
2019-04-01 10:52 ` Eugeniu Rosca [this message]
2019-04-01 15:26   ` [U-Boot] [PATCH v2 5/5] fdt: boot_get_fdt: android: use ENV 'fdtaddr' as fallback Eugeniu Rosca
2019-04-21 19:26   ` Simon Glass
2019-04-22  2:38   ` sjg at google.com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190401105252.30002-1-erosca@de.adit-jv.com \
    --to=erosca@de.adit-jv.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.