Browse Source

integratorap: support relocation

The integrator board was apparently never converted over to support
relocation until now. After this the integrator u-boot both compiles
and boots on the Integrator AP.

This also fixes the SDRAM memory size detection.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Linus Walleij 13 years ago
parent
commit
26c82638c9
2 changed files with 8 additions and 9 deletions
  1. 7 8
      board/armltd/integrator/integrator.c
  2. 1 1
      include/configs/integratorap.h

+ 7 - 8
board/armltd/integrator/integrator.c

@@ -86,15 +86,9 @@ int misc_init_r (void)
 	return (0);
 }
 
-/******************************
- Routine:
- Description:
-******************************/
 int dram_init (void)
 {
-	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-	gd->bd->bi_dram[0].size	 = PHYS_SDRAM_1_SIZE;
-
+	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
 #ifdef CONFIG_CM_SPD_DETECT
 	{
 extern void dram_query(void);
@@ -118,8 +112,13 @@ extern void dram_query(void);
 	 */
 	sdram_shift		 = ((cm_reg_sdram & 0x0000001C)/4)%4;
 	gd->bd->bi_dram[0].size	 = 0x01000000 << sdram_shift;
-
+	gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
+				    0x01000000 << sdram_shift);
 	}
+#else
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+	gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
+				    PHYS_SDRAM_1_SIZE);
 #endif /* CM_SPD_DETECT */
 
 	return 0;

+ 1 - 1
include/configs/integratorap.h

@@ -47,7 +47,7 @@
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_CM_INIT		1
 #define CONFIG_CM_REMAP		1
-#undef CONFIG_CM_SPD_DETECT
+#define CONFIG_CM_SPD_DETECT
 
 /*
  * Size of malloc() pool