From patchwork Thu Jan 16 14:34:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Meenakshi Aggarwal X-Patchwork-Id: 239649 List-Id: U-Boot discussion From: meenakshi.aggarwal at nxp.com (Meenakshi Aggarwal) Date: Thu, 16 Jan 2020 20:04:10 +0530 Subject: [PATCH v2] lx2160a: Add support of emmc boot In-Reply-To: <1579112396-3544-1-git-send-email-meenakshi.aggarwal@nxp.com> References: <1579112396-3544-1-git-send-email-meenakshi.aggarwal@nxp.com> Message-ID: <1579185250-11651-1-git-send-email-meenakshi.aggarwal@nxp.com> Add support of "qixis_reset emmc" command for lx2160a based platforms Signed-off-by: Meenakshi Aggarwal --- 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 * * 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 - 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 */