summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPriyanka Jain <priyanka.jain@nxp.com>2017-08-24 06:38:55 (GMT)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2017-08-25 07:19:55 (GMT)
commitb227009bdb01566e2fbddbf0df61dd563d8332fc (patch)
tree4c3c8fc1f3d3a741a4a2dbc1d2303b602dd49d6f
parent5608c0d38387a087ea926eea178ed6d5068bb676 (diff)
downloadu-boot-b227009bdb01566e2fbddbf0df61dd563d8332fc.tar.xz
board/ls2080ardb: Update board env based on SoC
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 Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--board/freescale/ls2080ardb/ls2080ardb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index 681d40f..f770ef5 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -239,6 +239,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);
@@ -266,6 +268,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;
}