[U-Boot] [PATCH] board/ls2080ardb: Update board env based on SoC

Priyanka Jain priyanka.jain at nxp.com
Fri Aug 25 04:52:44 UTC 2017



> -----Original Message-----
> From: York Sun
> Sent: Thursday, August 24, 2017 8:26 PM
> To: Priyanka Jain <priyanka.jain at nxp.com>; u-boot at lists.denx.de
> Subject: Re: [PATCH] board/ls2080ardb: Update board env based on SoC
> 
> 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.
Please refer to file end part in "ENV_SETTINGS" section in file "include/configs/ls2080ardb.h", 
Linux boot commands like "nor_bootcmd" uses command "bootm $loadr_addr#$board"
Depending upon board value, kernel dtb is chosen.
> 
> >
> > 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
Thanks, I will change "setenv" to "env_set"

Priyanka


More information about the U-Boot mailing list