[U-Boot] [PATCH] board/ls2080ardb: Update board env based on SoC
York Sun
york.sun at nxp.com
Thu Aug 24 14:55:46 UTC 2017
On 08/24/2017 12:07 AM, Priyanka Jain wrote:
> As per current implemenetation, 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 based on SoC type
Please point me to where environmental variable "board" is used for
distro boot. I only see it for PXE.
>
> Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
> ---
> 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 d7122b3..ca9c047 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");
Please double check this. I think "setenv" has been replaced by
"env_set" as of commit 382bee57f.
York
More information about the U-Boot
mailing list