[U-Boot] [PATCH 2/2] integratorap: fixup SDRAM memory size detection

This fixes up the SDRAM memory detection code to work with the latest relocation code, moves it all into dram_init() and activates memory size detection for the Integrator AP.
Signed-off-by: Linus Walleij linus.walleij@linaro.org --- board/armltd/integrator/integrator.c | 17 +++++++---------- include/configs/integratorap.h | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/board/armltd/integrator/integrator.c b/board/armltd/integrator/integrator.c index a0d8de7..931a916 100644 --- a/board/armltd/integrator/integrator.c +++ b/board/armltd/integrator/integrator.c @@ -86,17 +86,9 @@ int misc_init_r (void) return (0); }
-void dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = PHYS_SDRAM_1; - gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; -} - int dram_init (void) { - gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, - PHYS_SDRAM_1_SIZE); - + gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; #ifdef CONFIG_CM_SPD_DETECT { extern void dram_query(void); @@ -120,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; diff --git a/include/configs/integratorap.h b/include/configs/integratorap.h index acdb37c..d724c91 100644 --- a/include/configs/integratorap.h +++ b/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 #define CONFIG_SYS_DCACHE_OFF
/*

Dear Linus Walleij,
In message 1310598276-9741-1-git-send-email-linus.walleij@linaro.org you wrote:
This fixes up the SDRAM memory detection code to work with the latest relocation code, moves it all into dram_init() and activates memory size detection for the Integrator AP.
Signed-off-by: Linus Walleij linus.walleij@linaro.org
board/armltd/integrator/integrator.c | 17 +++++++---------- include/configs/integratorap.h | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-)
...
@@ -120,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);
Indentation by TAB only, please.
diff --git a/include/configs/integratorap.h b/include/configs/integratorap.h index acdb37c..d724c91 100644 --- a/include/configs/integratorap.h +++ b/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 #define CONFIG_SYS_DCACHE_OFF
Are you sure this works for all affected boards?
Please also put the board maintainer on Cc: for all patches that affedt specific boards like here.
Best regards,
Wolfgang Denk

Hello.
On 14-07-2011 3:04, Linus Walleij wrote:
This fixes up the SDRAM memory detection code to work with the latest relocation code, moves it all into dram_init() and activates memory size detection for the Integrator AP.
Signed-off-by: Linus Walleijlinus.walleij@linaro.org
board/armltd/integrator/integrator.c | 17 +++++++---------- include/configs/integratorap.h | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/board/armltd/integrator/integrator.c b/board/armltd/integrator/integrator.c index a0d8de7..931a916 100644 --- a/board/armltd/integrator/integrator.c +++ b/board/armltd/integrator/integrator.c @@ -86,17 +86,9 @@ int misc_init_r (void) return (0); }
-void dram_init_banksize(void) -{
- gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-}
- int dram_init (void) {
- gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
PHYS_SDRAM_1_SIZE);
- gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; #ifdef CONFIG_CM_SPD_DETECT { extern void dram_query(void);
@@ -120,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;
How about fixing the indentation here to use tab?
gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
PHYS_SDRAM_1_SIZE);
#endif /* CM_SPD_DETECT */
return 0;
WBR, Sergei
participants (3)
-
Linus Walleij
-
Sergei Shtylyov
-
Wolfgang Denk