summaryrefslogtreecommitdiff
path: root/board/freescale
diff options
context:
space:
mode:
authorPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2017-07-19 05:07:07 (GMT)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2017-07-19 05:46:37 (GMT)
commit0804ea95125d4999944bee0406224bf70d33f224 (patch)
treea5ba14ad90134860c668ba02981a4045311b3dcc /board/freescale
parent021030add2a9e23f118196fdc765fc4d4b521248 (diff)
downloadu-boot-0804ea95125d4999944bee0406224bf70d33f224.tar.xz
board:ls2080ardb: Update execution of config_board_mux
config_board_mux() is dependent on 'hwconfig' env read value. For some bootloaders like QSPI, env is ready only after relocation. So delay execution of config_board_mux() to misc_init_r(). Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Diffstat (limited to 'board/freescale')
-rw-r--r--board/freescale/ls2080ardb/ls2080ardb.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index 210142c..f332b6f 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -204,25 +204,12 @@ int config_board_mux(int ctrl_type)
int board_init(void)
{
- char *env_hwconfig;
- u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE;
#ifdef CONFIG_FSL_MC_ENET
u32 __iomem *irq_ccsr = (u32 __iomem *)ISC_BASE;
#endif
- u32 val;
init_final_memctl_regs();
- val = in_le32(dcfg_ccsr + DCFG_RCWSR13 / 4);
-
- env_hwconfig = getenv("hwconfig");
-
- if (hwconfig_f("dspi", env_hwconfig) &&
- DCFG_RCWSR13_DSPI == (val & (u32)(0xf << 8)))
- config_board_mux(MUX_TYPE_DSPI);
- else
- config_board_mux(MUX_TYPE_SDHC);
-
#ifdef CONFIG_ENV_IS_NOWHERE
gd->env_addr = (ulong)&default_environment[0];
#endif
@@ -257,6 +244,20 @@ int board_early_init_f(void)
int misc_init_r(void)
{
+ char *env_hwconfig;
+ u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE;
+ u32 val;
+
+ val = in_le32(dcfg_ccsr + DCFG_RCWSR13 / 4);
+
+ env_hwconfig = getenv("hwconfig");
+
+ if (hwconfig_f("dspi", env_hwconfig) &&
+ DCFG_RCWSR13_DSPI == (val & (u32)(0xf << 8)))
+ config_board_mux(MUX_TYPE_DSPI);
+ else
+ config_board_mux(MUX_TYPE_SDHC);
+
/*
* LS2081ARDB RevF board has smart voltage translator
* which needs to be programmed to enable high speed SD interface