[U-Boot] [PATCH] stm32f7: board: Fix memory init

Patrice CHOTARD patrice.chotard at st.com
Fri Aug 3 09:51:06 UTC 2018


Hi Vikas

On 08/03/2018 02:48 AM, Vikas Manocha wrote:
> Hi Patrice,
> 
> On 08/02/2018 05:18 AM, Patrice Chotard wrote:
>> Commit 1473b12ad0b3 ("lib: fdtdec: Update ram_base to store ram start
>> adddress") brings regression on STM32F7 which can't boot.
>>
>> Use fdtdec_setup_mem_size_base() to setup memory base and size.
>> Use fdtdec_setup_memory_banksize() to setup memory bank base and size.
>>
>> Reported-by: Mark Olsson <mark at markolsson.se>
>> Signed-off-by: Patrice Chotard <patrice.chotard at st.com>
>> Cc: Mark Olsson <mark at markolsson.se>
> 
> Reviewed-by: Vikas Manocha <vikas.manocha at st.com>
> one minor comment below.
> 
>> ---
>>
>>   board/st/stm32f746-disco/stm32f746-disco.c | 31 ++++--------------------------
>>   1 file changed, 4 insertions(+), 27 deletions(-)
>>
>> diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c
>> index e21cfc6e4955..a997e1825abf 100644
>> --- a/board/st/stm32f746-disco/stm32f746-disco.c
>> +++ b/board/st/stm32f746-disco/stm32f746-disco.c
>> @@ -21,23 +21,9 @@
>>   
>>   DECLARE_GLOBAL_DATA_PTR;
>>   
>> -int get_memory_base_size(fdt_addr_t *mr_base, fdt_addr_t *mr_size)
>> -{
>> -	int mr_node;
>> -
>> -	mr_node = fdt_path_offset(gd->fdt_blob, "/memory");
>> -	if (mr_node < 0)
>> -		return mr_node;
>> -	*mr_base = fdtdec_get_addr_size_auto_noparent(gd->fdt_blob, mr_node,
>> -						      "reg", 0, mr_size, false);
>> -	debug("mr_base = %lx, mr_size= %lx\n", *mr_base, *mr_size);
>> -
>> -	return 0;
>> -}
>>   int dram_init(void)
>>   {
>> -	int rv;
>> -	fdt_addr_t mr_base, mr_size;
>> +	int rv = 0;
> this variable can be removed by returning 0 or error directly.

Exact, i will fix it in v2

Thanks

Patrice

> 
> Cheers,
> Vikas
> 
>>   
>>   #ifndef CONFIG_SUPPORT_SPL
>>   	struct udevice *dev;
>> @@ -48,24 +34,15 @@ int dram_init(void)
>>   	}
>>   
>>   #endif
>> -	rv = get_memory_base_size(&mr_base, &mr_size);
>> -	if (rv)
>> -		return rv;
>> -	gd->ram_size = mr_size;
>> -	gd->ram_top = mr_base;
>> +	if (fdtdec_setup_mem_size_base() != 0)
>> +		rv = -EINVAL;
>>   
>>   	return rv;
>>   }
>>   
>>   int dram_init_banksize(void)
>>   {
>> -	fdt_addr_t mr_base, mr_size;
>> -	get_memory_base_size(&mr_base, &mr_size);
>> -	/*
>> -	 * Fill in global info with description of SRAM configuration
>> -	 */
>> -	gd->bd->bi_dram[0].start = mr_base;
>> -	gd->bd->bi_dram[0].size  = mr_size;
>> +	fdtdec_setup_memory_banksize();
>>   
>>   	return 0;
>>   }
>>


More information about the U-Boot mailing list