fixup! mach-snapdragon: generalise board support
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 9bd9bca..2aac250 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -38,16 +38,13 @@
int dram_init_banksize(void)
{
- int ret;
+ int ret, i;
phys_addr_t start, size;
ret = fdtdec_setup_memory_banksize();
if (ret < 0)
return ret;
- if (WARN(CONFIG_NR_DRAM_BANKS < 2, "CONFIG_NR_DRAM_BANKS should be at least 2"))
- return 0;
-
/* Some bootloaders populate the RAM banks in the wrong order -_- */
start = gd->bd->bi_dram[1].start;
size = gd->bd->bi_dram[1].size;
@@ -59,6 +56,17 @@
gd->bd->bi_dram[0].size = size;
}
+ for (i = 0; gd->bd->bi_dram[i].size; i++) {
+ size = ALIGN(gd->bd->bi_dram[i].size, SZ_4K);
+ /*
+ * If you're filling out the /memory node manually, the size value should
+ * end in 3 zeros. Better yet, let ABL populate it for you.
+ */
+ WARN_ONCE(gd->bd->bi_dram[i].size != size,
+ "\nDRAM bank %d size not aligned to 4K! Patching things up...\n", i);
+ gd->bd->bi_dram[i].size = size;
+ }
+
return 0;
}