]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/cpu/arm926ejs/orion5x/dram.c
ARM: implement relocation for ARM926
[karo-tx-uboot.git] / arch / arm / cpu / arm926ejs / orion5x / dram.c
index c719798a6608d8f7d08c5f7942ec3cc71088fe3c..c5c8ab7e4d88f74e677f0eeb3d5d82c9016920fc 100644 (file)
@@ -49,7 +49,7 @@ u32 orion5x_sdram_bar(enum memory_bank bank)
        result = winregs[bank].base;
        return result;
 }
-
+#if defined(CONFIG_SYS_ARM_WITHOUT_RELOC)
 int dram_init(void)
 {
        int i;
@@ -62,3 +62,25 @@ int dram_init(void)
        }
        return 0;
 }
+#else
+int dram_init (void)
+{
+       /* dram_init must store complete ramsize in gd->ram_size */
+       gd->ram_size = get_ram_size(
+                       (volatile long *) orion5x_sdram_bar(0),
+                       CONFIG_MAX_RAM_BANK_SIZE);
+       return 0;
+}
+
+void dram_init_banksize (void)
+{
+       int i;
+
+       for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
+               gd->bd->bi_dram[i].start = orion5x_sdram_bar(i);
+               gd->bd->bi_dram[i].size = get_ram_size(
+                       (volatile long *) (gd->bd->bi_dram[i].start),
+                       CONFIG_MAX_RAM_BANK_SIZE);
+       }
+}
+#endif