From bddec1b0e60a47e0898d649c0bc68e9aa2bcab8f Mon Sep 17 00:00:00 2001 From: Meenakshi Aggarwal Date: Thu, 23 Jan 2020 17:55:10 +0530 Subject: [PATCH] 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 Reviewed-by: Priyanka Jain --- board/freescale/common/qixis.c | 4 ++++ board/freescale/lx2160a/lx2160a.c | 2 ++ include/configs/lx2160aqds.h | 2 ++ include/configs/lx2160ardb.h | 2 ++ 4 files changed, 10 insertions(+) diff --git a/board/freescale/common/qixis.c b/board/freescale/common/qixis.c index 716c93b2c2..dd1ee90b3c 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,7 +288,9 @@ 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); +#ifndef NON_EXTENDED_DUTCFG set_lbmap(QIXIS_LBMAP_EMMC); +#endif set_rcw_src(QIXIS_RCW_SRC_EMMC); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_IDLE); QIXIS_WRITE(rcfg_ctl, QIXIS_RCFG_CTL_RECONFIG_START); @@ -365,6 +368,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 6555b5ad3a..103b0cc659 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -306,6 +306,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 f25cab18ae..1eb63d826f 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 de385f82c8..82d49e53ab 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 */ -- 2.39.5