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 <[email protected]>
---
 board/freescale/common/qixis.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

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);
-- 
2.7.4

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to