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

2018-08-03 Thread Patrice CHOTARD
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 
>> Signed-off-by: Patrice Chotard 
>> Cc: Mark Olsson 
> 
> Reviewed-by: Vikas Manocha 
> 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(_base, _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(_base, _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;
>>   }
>>
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2018-08-02 Thread Vikas Manocha
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 
> Signed-off-by: Patrice Chotard 
> Cc: Mark Olsson 

Reviewed-by: Vikas Manocha 
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.

Cheers,
Vikas

>  
>  #ifndef CONFIG_SUPPORT_SPL
>   struct udevice *dev;
> @@ -48,24 +34,15 @@ int dram_init(void)
>   }
>  
>  #endif
> - rv = get_memory_base_size(_base, _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(_base, _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;
>  }
> 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2018-08-02 Thread Patrice Chotard
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 
Signed-off-by: Patrice Chotard 
Cc: Mark Olsson 
---

 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;
 
 #ifndef CONFIG_SUPPORT_SPL
struct udevice *dev;
@@ -48,24 +34,15 @@ int dram_init(void)
}
 
 #endif
-   rv = get_memory_base_size(_base, _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(_base, _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;
 }
-- 
1.9.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot