
-----Original Message----- From: York Sun Sent: Thursday, August 24, 2017 8:26 PM To: Priyanka Jain priyanka.jain@nxp.com; u-boot@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@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