On 09/05/2017 10:42 PM, Priyanka Jain wrote:
> As per current implementation, default value of board env is
> based on board filename i.e ls2080ardb.
> 
> With distro support changes, this env is used to decide upon
> kernel dtb which is different for other SoCs (ls2088a, ls2081a)
> combination supported with this board.
> 
> Add support to modify board env at runtime based on SoC type
> 
> Signed-off-by: Priyanka Jain <priyanka.j...@nxp.com>
> ---
> Changes for v2:
>    Replace setenv() with env_set()
> 
>   board/freescale/ls2080ardb/ls2080ardb.c |   12 ++++++++++++
>   1 files changed, 12 insertions(+), 0 deletions(-)
> 
> diff --git a/board/freescale/ls2080ardb/ls2080ardb.c 
> b/board/freescale/ls2080ardb/ls2080ardb.c
> index 07ba026..dba0988 100644
> --- a/board/freescale/ls2080ardb/ls2080ardb.c
> +++ b/board/freescale/ls2080ardb/ls2080ardb.c
> @@ -247,6 +247,8 @@ int misc_init_r(void)
>       char *env_hwconfig;
>       u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE;
>       u32 val;
> +     struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
> +     u32 svr = gur_in32(&gur->svr);
>   
>       val = in_le32(dcfg_ccsr + DCFG_RCWSR13 / 4);
>   
> @@ -274,6 +276,16 @@ int misc_init_r(void)
>   
>       if (adjust_vdd(0))
>               printf("Warning: Adjusting core voltage failed.\n");
> +     /*
> +      * Default value of board env is based on filename which is
> +      * ls2080ardb. Modify board env for other supported SoCs
> +      */
> +     if ((SVR_SOC_VER(svr) == SVR_LS2088A) ||
> +         (SVR_SOC_VER(svr) == SVR_LS2048A))
> +             setenv("board", "ls2088ardb");
> +     else if ((SVR_SOC_VER(svr) == SVR_LS2081A) ||
> +         (SVR_SOC_VER(svr) == SVR_LS2041A))
> +             setenv("board", "ls2081ardb");
>   
>       return 0;
>   }
> 

You are still using setenv().

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

Reply via email to