[PATCH] env: ti: boot: Fix Android boot on AM57x EVM
Sam Protsenko
joe.skb7 at gmail.com
Wed Feb 19 19:27:52 CET 2020
When applying DTBO on top of DTB (with "fdt apply" command) on AM57x EVM
board, there is not enough memory reserved in RAM for DTB blob. Hence,
DTBO can't be merged in DTB. It leads to inability to boot Android with
next error message:
failed on fdt_overlay_apply(): FDT_ERR_NOSPACE
To overcome that issue let's provide 1 MiB of space to keep DTB and all
merged DTBO blobs. To do so, "length" parameter should be specified for
"fdt addr" command:
=> fdt addr $fdtaddr 0x100000
Also add size variables to 'adtimg' command invocations, to avoid
cluttering the console with DTBO blob sizes.
Signed-off-by: Sam Protsenko <joe.skb7 at gmail.com>
---
include/environment/ti/boot.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h
index 523c8fc4fe..298c972cd0 100644
--- a/include/environment/ti/boot.h
+++ b/include/environment/ti/boot.h
@@ -103,18 +103,18 @@
"echo \" Reading DTB for AM57x EVM RevA3...\"; " \
"abootimg get dtb --index=0 dtb_start dtb_size; " \
"cp.b $dtb_start $fdtaddr $dtb_size; " \
- "fdt addr $fdtaddr; " \
+ "fdt addr $fdtaddr 0x100000; " \
"echo \" Applying DTBOs for AM57x EVM RevA3...\"; " \
"adtimg addr $dtboaddr; " \
- "adtimg get dt --index=0 dtbo0_addr; " \
+ "adtimg get dt --index=0 dtbo0_addr dtbo0_size; " \
"fdt apply $dtbo0_addr; " \
- "adtimg get dt --index=1 dtbo1_addr; " \
+ "adtimg get dt --index=1 dtbo1_addr dtbo1_size; " \
"fdt apply $dtbo1_addr; " \
"elif test $board_name = beagle_x15_revc; then " \
"echo \" Reading DTB for Beagle X15 RevC...\"; " \
"abootimg get dtb --index=0 dtb_start dtb_size; " \
"cp.b $dtb_start $fdtaddr $dtb_size; " \
- "fdt addr $fdtaddr; " \
+ "fdt addr $fdtaddr 0x100000; " \
"else " \
"echo Error: Android boot is not supported for $board_name; " \
"exit; " \
--
2.24.1
More information about the U-Boot
mailing list