[U-Boot] [RFC] colibri_imx7: Do not hardcode the memory size

Marcel Ziswiler marcel.ziswiler at toradex.com
Tue Sep 18 12:28:17 UTC 2018


Hi Fabio

Stefan is currently at Linaro Connect and may not have access to
hardware.

On Mon, 2018-09-17 at 14:09 -0300, Fabio Estevam wrote:
> Instead of hardcoding the memory size, use the generic 
> imx_ddr_size() function, which extracts the memory size
> in runtime by reading the DDR controller registers.

In theory that sounds fine. However, in practise that function seems to
return zero on our modules which leads to it freezing during boot.

I am currently looking more closely into it and will keep you posted.

> This helps in supporting 512MB and 1GB modules.
>
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> ---
> Hi Stefan,
> 
> I don't have the hardware to test, but I think we
> should be good by using imx_ddr_size() here.
> 
>  board/toradex/colibri_imx7/colibri_imx7.c | 2 +-
>  include/configs/colibri_imx7.h            | 1 -
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/board/toradex/colibri_imx7/colibri_imx7.c
> b/board/toradex/colibri_imx7/colibri_imx7.c
> index 2b7591e..9029c0b 100644
> --- a/board/toradex/colibri_imx7/colibri_imx7.c
> +++ b/board/toradex/colibri_imx7/colibri_imx7.c
> @@ -52,7 +52,7 @@ DECLARE_GLOBAL_DATA_PTR;
>  
>  int dram_init(void)
>  {
> -	gd->ram_size = get_ram_size((void *)PHYS_SDRAM,
> PHYS_SDRAM_SIZE);

BTW: Notice the generic get_ram_size() function which actually already
did/does figure out the RAM size across all our modules regardless of
being NXP/imx based or not. The size given there is just some kind of
upper bound maxsize:

https://git.denx.de/?p=u-boot.git;a=blob;f=common/memsize.c#l21

> +	gd->ram_size = imx_ddr_size();
>  
>  	return 0;
>  }
> diff --git a/include/configs/colibri_imx7.h
> b/include/configs/colibri_imx7.h
> index ff6bd67..02849ba 100644
> --- a/include/configs/colibri_imx7.h
> +++ b/include/configs/colibri_imx7.h
> @@ -14,7 +14,6 @@
>  #include "mx7_common.h"
>  
>  /*#define CONFIG_DBG_MONITOR*/
> -#define PHYS_SDRAM_SIZE			SZ_1G
>  
>  /* Size of malloc() pool */
>  #define CONFIG_SYS_MALLOC_LEN		(32 * SZ_1M)

Cheers

Marcel


More information about the U-Boot mailing list