[PATCH] lx2160: Add support of emmc boot

Add support of "qixis_reset emmc" command for lx2160
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com --- board/freescale/common/qixis.c | 6 ++++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 12 insertions(+)
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b..1899fd5 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2011 Freescale Semiconductor + * Copyright 2020 NXP * Author: Shengzhou Liu Shengzhou.Liu@freescale.com * * This file provides support for the QIXIS of some Freescale reference boards. @@ -287,8 +288,12 @@ static int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar #ifdef QIXIS_LBMAP_EMMC QIXIS_WRITE(rst_ctl, 0x30); QIXIS_WRITE(rcfg_ctl, 0); +#ifdef NON_EXTENDED_DUTCFG + QIXIS_WRITE(dutcfg[0], QIXIS_RCW_SRC_EMMC); +#else set_lbmap(QIXIS_LBMAP_EMMC); set_rcw_src(QIXIS_RCW_SRC_EMMC); +#endif QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START); #else @@ -365,6 +370,7 @@ U_BOOT_CMD( "qixis watchdog <watchdog_period> - set the watchdog period\n" " period: 1s 2s 4s 8s 16s 32s 1min 2min 4min 8min\n" "qixis_reset dump - display the QIXIS registers\n" + "qixis_reset emmc - reset to emmc\n" "qixis_reset switch - display switch\n" ); #endif diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index dd3cd45..79abcd8 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -325,6 +325,8 @@ int checkboard(void)
if (src == BOOT_SOURCE_SD_MMC) { puts("SD\n"); + } else if (src == BOOT_SOURCE_SD_MMC2) { + puts("eMMC\n"); } else { sw = QIXIS_READ(brdcfg[0]); sw = (sw >> QIXIS_XMAP_SHIFT) & QIXIS_XMAP_MASK; diff --git a/include/configs/lx2160aqds.h b/include/configs/lx2160aqds.h index f523b37..56a50d3 100644 --- a/include/configs/lx2160aqds.h +++ b/include/configs/lx2160aqds.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG #define QIXIS_SDID_MASK 0x07 #define QIXIS_ESDHC_NO_ADAPTER 0x7 diff --git a/include/configs/lx2160ardb.h b/include/configs/lx2160ardb.h index 6ff1c24..5b530f0 100644 --- a/include/configs/lx2160ardb.h +++ b/include/configs/lx2160ardb.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG
/* VID */

Add support of "qixis_reset emmc" command for lx2160a based platforms
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
--- Changes:
v2: - Update in commit message - using set_rcw_src() in place of QIXIS_WRITE() --- board/freescale/common/qixis.c | 6 ++++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 12 insertions(+)
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b..ab229b9 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2011 Freescale Semiconductor + * Copyright 2020 NXP * Author: Shengzhou Liu Shengzhou.Liu@freescale.com * * This file provides support for the QIXIS of some Freescale reference boards. @@ -287,8 +288,12 @@ static int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar #ifdef QIXIS_LBMAP_EMMC QIXIS_WRITE(rst_ctl, 0x30); QIXIS_WRITE(rcfg_ctl, 0); +#ifdef NON_EXTENDED_DUTCFG + set_rcw_src(QIXIS_RCW_SRC_EMMC); +#else set_lbmap(QIXIS_LBMAP_EMMC); set_rcw_src(QIXIS_RCW_SRC_EMMC); +#endif QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START); #else @@ -365,6 +370,7 @@ U_BOOT_CMD( "qixis watchdog <watchdog_period> - set the watchdog period\n" " period: 1s 2s 4s 8s 16s 32s 1min 2min 4min 8min\n" "qixis_reset dump - display the QIXIS registers\n" + "qixis_reset emmc - reset to emmc\n" "qixis_reset switch - display switch\n" ); #endif diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index dd3cd45..79abcd8 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -325,6 +325,8 @@ int checkboard(void)
if (src == BOOT_SOURCE_SD_MMC) { puts("SD\n"); + } else if (src == BOOT_SOURCE_SD_MMC2) { + puts("eMMC\n"); } else { sw = QIXIS_READ(brdcfg[0]); sw = (sw >> QIXIS_XMAP_SHIFT) & QIXIS_XMAP_MASK; diff --git a/include/configs/lx2160aqds.h b/include/configs/lx2160aqds.h index f523b37..56a50d3 100644 --- a/include/configs/lx2160aqds.h +++ b/include/configs/lx2160aqds.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG #define QIXIS_SDID_MASK 0x07 #define QIXIS_ESDHC_NO_ADAPTER 0x7 diff --git a/include/configs/lx2160ardb.h b/include/configs/lx2160ardb.h index 6ff1c24..5b530f0 100644 --- a/include/configs/lx2160ardb.h +++ b/include/configs/lx2160ardb.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG
/* VID */

Add support of "qixis_reset emmc" command for lx2160a based platforms
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
--- Changes:
v2: - Update in commit message - using set_rcw_src() in place of QIXIS_WRITE()
v3: - update in commit message
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com --- board/freescale/common/qixis.c | 6 ++++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 12 insertions(+)
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b..ab229b9 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2011 Freescale Semiconductor + * Copyright 2020 NXP * Author: Shengzhou Liu Shengzhou.Liu@freescale.com * * This file provides support for the QIXIS of some Freescale reference boards. @@ -287,8 +288,12 @@ static int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar #ifdef QIXIS_LBMAP_EMMC QIXIS_WRITE(rst_ctl, 0x30); QIXIS_WRITE(rcfg_ctl, 0); +#ifdef NON_EXTENDED_DUTCFG + set_rcw_src(QIXIS_RCW_SRC_EMMC); +#else set_lbmap(QIXIS_LBMAP_EMMC); set_rcw_src(QIXIS_RCW_SRC_EMMC); +#endif QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START); #else @@ -365,6 +370,7 @@ U_BOOT_CMD( "qixis watchdog <watchdog_period> - set the watchdog period\n" " period: 1s 2s 4s 8s 16s 32s 1min 2min 4min 8min\n" "qixis_reset dump - display the QIXIS registers\n" + "qixis_reset emmc - reset to emmc\n" "qixis_reset switch - display switch\n" ); #endif diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index dd3cd45..79abcd8 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -325,6 +325,8 @@ int checkboard(void)
if (src == BOOT_SOURCE_SD_MMC) { puts("SD\n"); + } else if (src == BOOT_SOURCE_SD_MMC2) { + puts("eMMC\n"); } else { sw = QIXIS_READ(brdcfg[0]); sw = (sw >> QIXIS_XMAP_SHIFT) & QIXIS_XMAP_MASK; diff --git a/include/configs/lx2160aqds.h b/include/configs/lx2160aqds.h index f523b37..56a50d3 100644 --- a/include/configs/lx2160aqds.h +++ b/include/configs/lx2160aqds.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG #define QIXIS_SDID_MASK 0x07 #define QIXIS_ESDHC_NO_ADAPTER 0x7 diff --git a/include/configs/lx2160ardb.h b/include/configs/lx2160ardb.h index 6ff1c24..5b530f0 100644 --- a/include/configs/lx2160ardb.h +++ b/include/configs/lx2160ardb.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG
/* VID */

-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Meenakshi Aggarwal Sent: Thursday, January 16, 2020 9:13 PM To: u-boot@lists.denx.de; Priyanka Jain priyanka.jain@nxp.com Subject: [PATCH v3] board: fsl: lx2160a: Add support to reset to eMMC
Add support of "qixis_reset emmc" command for lx2160a based platforms
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
Changes:
v2:
- Update in commit message
- using set_rcw_src() in place of QIXIS_WRITE()
v3:
- update in commit message
Whenever you send a next version , please mark previous version as superseded. It is sometimes difficult to isolate specially if subject is different.
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
board/freescale/common/qixis.c | 6 ++++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 12 insertions(+)
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b..ab229b9 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /*
- Copyright 2011 Freescale Semiconductor
- Copyright 2020 NXP
- Author: Shengzhou Liu Shengzhou.Liu@freescale.com
- This file provides support for the QIXIS of some Freescale reference boards.
@@ -287,8 +288,12 @@ static int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar #ifdef QIXIS_LBMAP_EMMC QIXIS_WRITE(rst_ctl, 0x30); QIXIS_WRITE(rcfg_ctl, 0); +#ifdef NON_EXTENDED_DUTCFG
set_rcw_src(QIXIS_RCW_SRC_EMMC);
+#else set_lbmap(QIXIS_LBMAP_EMMC);
It would be better to just enclosed above in #ifndef
set_rcw_src(QIXIS_RCW_SRC_EMMC);
+#endif QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START); #else @@ -365,6 +370,7 @@ U_BOOT_CMD( "qixis watchdog <watchdog_period> - set the watchdog period\n" " period: 1s 2s 4s 8s 16s 32s 1min 2min 4min 8min\n" "qixis_reset dump - display the QIXIS registers\n"
- "qixis_reset emmc - reset to emmc\n" "qixis_reset switch - display switch\n" );
#endif diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index dd3cd45..79abcd8 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -325,6 +325,8 @@ int checkboard(void)
if (src == BOOT_SOURCE_SD_MMC) { puts("SD\n");
- } else if (src == BOOT_SOURCE_SD_MMC2) {
} else { sw = QIXIS_READ(brdcfg[0]); sw = (sw >> QIXIS_XMAP_SHIFT) & QIXIS_XMAP_MASK; diff --gitputs("eMMC\n");
a/include/configs/lx2160aqds.h b/include/configs/lx2160aqds.h index f523b37..56a50d3 100644 --- a/include/configs/lx2160aqds.h +++ b/include/configs/lx2160aqds.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG #define QIXIS_SDID_MASK 0x07 #define QIXIS_ESDHC_NO_ADAPTER 0x7 diff --git a/include/configs/lx2160ardb.h b/include/configs/lx2160ardb.h index 6ff1c24..5b530f0 100644 --- a/include/configs/lx2160ardb.h +++ b/include/configs/lx2160ardb.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG
/* VID */
1.9.1
-Priyanka

-----Original Message----- From: Priyanka Jain (OSS) priyanka.jain@oss.nxp.com Sent: Wednesday, January 22, 2020 4:34 PM To: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com; u- boot@lists.denx.de Subject: RE: [PATCH v3] board: fsl: lx2160a: Add support to reset to eMMC
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Meenakshi Aggarwal Sent: Thursday, January 16, 2020 9:13 PM To: u-boot@lists.denx.de; Priyanka Jain priyanka.jain@nxp.com Subject: [PATCH v3] board: fsl: lx2160a: Add support to reset to eMMC
Add support of "qixis_reset emmc" command for lx2160a based platforms
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
Changes:
v2:
- Update in commit message
- using set_rcw_src() in place of QIXIS_WRITE()
v3:
- update in commit message
Whenever you send a next version , please mark previous version as superseded. It is sometimes difficult to isolate specially if subject is different.
Ok, will take care of same in future.
Signed-off-by: Meenakshi Aggarwal meenakshi.aggarwal@nxp.com
board/freescale/common/qixis.c | 6 ++++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 12 insertions(+)
diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b..ab229b9 100644 --- a/board/freescale/common/qixis.c +++ b/board/freescale/common/qixis.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /*
- Copyright 2011 Freescale Semiconductor
- Copyright 2020 NXP
- Author: Shengzhou Liu Shengzhou.Liu@freescale.com
- This file provides support for the QIXIS of some Freescale reference boards.
@@ -287,8 +288,12 @@ static int qixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar #ifdef QIXIS_LBMAP_EMMC QIXIS_WRITE(rst_ctl, 0x30); QIXIS_WRITE(rcfg_ctl, 0); +#ifdef NON_EXTENDED_DUTCFG
set_rcw_src(QIXIS_RCW_SRC_EMMC);
+#else set_lbmap(QIXIS_LBMAP_EMMC);
It would be better to just enclosed above in #ifndef
Ok
set_rcw_src(QIXIS_RCW_SRC_EMMC);
+#endif QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START);
#else @@
-365,6 +370,7 @@ U_BOOT_CMD( "qixis watchdog <watchdog_period> - set the watchdog period\n" " period: 1s 2s 4s 8s 16s 32s 1min 2min 4min 8min\n" "qixis_reset dump - display the QIXIS registers\n"
- "qixis_reset emmc - reset to emmc\n" "qixis_reset switch - display switch\n" );
#endif diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index dd3cd45..79abcd8 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -325,6 +325,8 @@ int checkboard(void)
if (src == BOOT_SOURCE_SD_MMC) { puts("SD\n");
- } else if (src == BOOT_SOURCE_SD_MMC2) {
} else { sw = QIXIS_READ(brdcfg[0]); sw = (sw >> QIXIS_XMAP_SHIFT) & QIXIS_XMAP_MASK; diff --gitputs("eMMC\n");
a/include/configs/lx2160aqds.h b/include/configs/lx2160aqds.h index f523b37..56a50d3 100644 --- a/include/configs/lx2160aqds.h +++ b/include/configs/lx2160aqds.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG #define QIXIS_SDID_MASK 0x07 #define QIXIS_ESDHC_NO_ADAPTER 0x7 diff --git a/include/configs/lx2160ardb.h b/include/configs/lx2160ardb.h index 6ff1c24..5b530f0 100644 --- a/include/configs/lx2160ardb.h +++ b/include/configs/lx2160ardb.h @@ -22,7 +22,9 @@ #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 #define QIXIS_LBMAP_MASK 0x0f #define QIXIS_LBMAP_SD +#define QIXIS_LBMAP_EMMC #define QIXIS_RCW_SRC_SD 0x08 +#define QIXIS_RCW_SRC_EMMC 0x09 #define NON_EXTENDED_DUTCFG
/* VID */
1.9.1
-Priyanka
participants (2)
-
Meenakshi Aggarwal
-
Priyanka Jain (OSS)