summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish Kumar <Ashish.Kumar@nxp.com>2018-01-17 05:19:08 (GMT)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2018-01-29 06:55:45 (GMT)
commit71fed5f6b9b5c55ffa09658087920dd96548f702 (patch)
treec44bcfd7d242f1257790fb94ab4e8c7d94335f4a
parent27057614fe4a2d66a22ccc224bbbf193d09a5a98 (diff)
downloadu-boot-71fed5f6b9b5c55ffa09658087920dd96548f702.tar.xz
fsl: common :qixis: Add ifc and emmc switch support in qixis
Previously only SD, NAND etc were secondary boot source and had IFC-NOR as primary booting target. But for SoC like LS1088 IFC-NOR can be secondary boot source, while QSPI-NOR is primary booting target, So add options in qixis to switch to other targets using new commands. E.g. '=> qixis_reset ifc' : switch to ifc '=> qixis_reset emmc' : switch to emmc Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
-rw-r--r--board/freescale/common/qixis.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c
index 0db0ed6..3029fcf 100644
--- a/board/freescale/common/qixis.c
+++ b/board/freescale/common/qixis.c
@@ -236,6 +236,28 @@ int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#else
printf("Not implemented\n");
#endif
+ } else if (strcmp(argv[1], "ifc") == 0) {
+#ifdef QIXIS_LBMAP_IFC
+ QIXIS_WRITE(rst_ctl, 0x30);
+ QIXIS_WRITE(rcfg_ctl, 0);
+ set_lbmap(QIXIS_LBMAP_IFC);
+ set_rcw_src(QIXIS_RCW_SRC_IFC);
+ QIXIS_WRITE(rcfg_ctl, 0x20);
+ QIXIS_WRITE(rcfg_ctl, 0x21);
+#else
+ printf("Not implemented\n");
+#endif
+ } else if (strcmp(argv[1], "emmc") == 0) {
+#ifdef QIXIS_LBMAP_EMMC
+ QIXIS_WRITE(rst_ctl, 0x30);
+ QIXIS_WRITE(rcfg_ctl, 0);
+ set_lbmap(QIXIS_LBMAP_EMMC);
+ set_rcw_src(QIXIS_RCW_SRC_EMMC);
+ QIXIS_WRITE(rcfg_ctl, 0x20);
+ QIXIS_WRITE(rcfg_ctl, 0x21);
+#else
+ printf("Not implemented\n");
+#endif
} else if (strcmp(argv[1], "sd_qspi") == 0) {
#ifdef QIXIS_LBMAP_SD_QSPI
QIXIS_WRITE(rst_ctl, 0x30);