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

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@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;

On Thu, Aug 16, 2018 at 4:02 AM, Vagrant Cascadian vagrant@debian.org wrote:
This reverts commit 2a1f4f1758b55589395f90f583aacb07ae6fcafe.
Eh, this is a revert to a "revert" commit?
Maybe there's a better way to fix this, but reverting this got odroid-xu4 booting agian:
Have we found out the real root cause? There must be a reason in the original fix, then followed by another reasonable "revert", and now the "revert" will be reverted again?
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@debian.org
common/fdt_support.c | 4 ++++ 1 file changed, 4 insertions(+)
Regards, Bin

On 2018-08-15, Bin Meng wrote:
On Thu, Aug 16, 2018 at 4:02 AM, Vagrant Cascadian vagrant@debian.org wrote:
This reverts commit 2a1f4f1758b55589395f90f583aacb07ae6fcafe.
Eh, this is a revert to a "revert" commit?
Sure. I mostly was submitting it as a bug report targeting a specific fix...
Maybe there's a better way to fix this, but reverting this got odroid-xu4 booting agian:
Have we found out the real root cause? There must be a reason in the original fix, then followed by another reasonable "revert", and now the "revert" will be reverted again?
This has apparently been discussed in other threads:
https://lists.denx.de/pipermail/u-boot/2018-August/337979.html https://lists.denx.de/pipermail/u-boot/2018-August/338090.html
It seems the working best option so far is to switch CONFIG_NR_DRAM_BANKS to to Kconfig:
https://lists.denx.de/pipermail/u-boot/2018-August/338215.html https://lists.denx.de/pipermail/u-boot/2018-August/338227.html
live well, vagrant
participants (2)
-
Bin Meng
-
Vagrant Cascadian