[U-Boot] [PATCH 1/2] fsl: common :qixis: Add ifc and emmc switching via qixis

Ashish Kumar Ashish.Kumar at nxp.com
Wed Jan 17 06:46:36 UTC 2018


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 at nxp.com>
---
 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



More information about the U-Boot mailing list