[U-Boot] [PATCH] Revert "Revert "fdt_support: Use CONFIG_NR_DRAM_BANKS if defined""

Vagrant Cascadian vagrant at debian.org
Wed Aug 15 20:02:05 UTC 2018


This reverts commit 2a1f4f1758b55589395f90f583aacb07ae6fcafe.

Maybe there's a better way to fix this, but reverting this got
odroid-xu4 booting agian:

U-Boot 2018.09-rc2+dfsg-1~20180814~1 (Aug 14 2018 - 18:33:28 +0000)
for ODROID-XU3/XU4/HC1

CPU:   Exynos5422 @ 800 MHz
Model: Odroid XU3 based on EXYNOS5422
Board: Odroid XU3 based on EXYNOS5422
Type:  xu4
DRAM:  2 GiB
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 2
Loading Environment from MMC... *** Warning - No block device, using
default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
MMC Device 1 not found
no mmc device at slot 1
switch to partitions #0, OK
mmc2 is current device
Scanning mmc 2:2...
Found U-Boot script /boot.scr
2445 bytes read in 3 ms (795.9 KiB/s)
3819744 bytes read in 364 ms (10 MiB/s)
54655 bytes read in 12 ms (4.3 MiB/s)
17611313 bytes read in 1676 ms (10 MiB/s)
Booting Debian 4.9.0-7-armmp-lpae from mmc 2:2...
Kernel image @ 0x42000000 [ 0x000000 - 0x3a48e0 ]
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 4ef34000, end 4ffffa31 ... OK
   Loading Device Tree to 4ef23000, end 4ef3357e ... OK
fdt_fixup_memory_banks: num banks 8 exceeds hardcoded limit
4. Recompile with higher MEMORY_BANKS_MAX?
ERROR: arch-specific fdt fixup failed
 - must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

Signed-off-by: Vagrant Cascadian <vagrant at debian.org>
---

 common/fdt_support.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/common/fdt_support.c b/common/fdt_support.c
index 34d2bd59c4..be8cdfbeb3 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -409,7 +409,11 @@ static int fdt_pack_reg(const void *fdt, void *buf, u64 *address, u64 *size,
 	return p - (char *)buf;
 }
 
+#ifdef CONFIG_NR_DRAM_BANKS
+#define MEMORY_BANKS_MAX CONFIG_NR_DRAM_BANKS
+#else
 #define MEMORY_BANKS_MAX 4
+#endif
 int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks)
 {
 	int err, nodeoffset;
-- 
2.11.0



More information about the U-Boot mailing list