Due to this, legacy.c was neither compiled nor linked into the binary
and thus booting legacy DS414 firmware failed. Missing atag setup led to
no console output (and probably stalled boot) after:
| Uncompressing Linux... done, booting the kernel.
Fixes: 9774462e34faa ("arm: Disable ATAGs support")
Signed-off-by: Phil Sutter <[email protected]>
---
board/Synology/common/Makefile | 2 +-
lib/fdtdec.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/board/Synology/common/Makefile b/board/Synology/common/Makefile
index f688b5490631c..87be53321ee64 100644
--- a/board/Synology/common/Makefile
+++ b/board/Synology/common/Makefile
@@ -2,4 +2,4 @@
#
# Copyright (C) 2021 Phil Sutter <[email protected]>
-obj-$(SUPPORT_PASSING_ATAGS) += legacy.o
+obj-$(CONFIG_SUPPORT_PASSING_ATAGS) += legacy.o
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index c38738b48c79f..89f4de6110bf1 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -624,6 +624,11 @@ int fdtdec_get_chosen_node(const void *blob, const char
*name)
*/
static int fdtdec_prepare_fdt(const void *blob)
{
+ printf("%s: blob at %p\n", __func__, blob);
+ if (blob) {
+ printf("%s: blob & 3 = %d\n", __func__, (uintptr_t)blob & 3);
+ printf("%s: fdt_check_header() returns %d\n", __func__,
fdt_check_header(blob));
+ }
if (!blob || ((uintptr_t)blob & 3) || fdt_check_header(blob)) {
if (xpl_phase() <= PHASE_SPL) {
puts("Missing DTB\n");
--
2.52.0