diff options
author | Stefano Babic <sbabic@denx.de> | 2014-01-26 12:11:54 +0100 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2014-01-26 12:11:54 +0100 |
commit | 707acd01ded3c60a4e277f7c5432d397897b4dfd (patch) | |
tree | 5730e1e1f0bac6c1aeddc261cb412fc3d5f220fd /common/cmd_mmc.c | |
parent | be2a3bb39adf1fdd274fc427e30ef62eb86441a1 (diff) | |
parent | c71b4dd2da0dcddabd7c29e6c3dc8a495d4bd928 (diff) | |
download | u-boot-imx-707acd01ded3c60a4e277f7c5432d397897b4dfd.zip u-boot-imx-707acd01ded3c60a4e277f7c5432d397897b4dfd.tar.gz u-boot-imx-707acd01ded3c60a4e277f7c5432d397897b4dfd.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'common/cmd_mmc.c')
-rw-r--r-- | common/cmd_mmc.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c index 67a94a7..da5fef9 100644 --- a/common/cmd_mmc.c +++ b/common/cmd_mmc.c @@ -340,6 +340,28 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } #endif /* CONFIG_SUPPORT_EMMC_BOOT */ } + + else if (argc == 3 && strcmp(argv[1], "setdsr") == 0) { + struct mmc *mmc = find_mmc_device(curr_device); + u32 val = simple_strtoul(argv[2], NULL, 16); + int ret; + + if (!mmc) { + printf("no mmc device at slot %x\n", curr_device); + return 1; + } + ret = mmc_set_dsr(mmc, val); + printf("set dsr %s\n", (!ret) ? "OK, force rescan" : "ERROR"); + if (!ret) { + mmc->has_init = 0; + if (mmc_init(mmc)) + return 1; + else + return 0; + } + return ret; + } + state = MMC_INVALID; if (argc == 5 && strcmp(argv[1], "read") == 0) state = MMC_READ; @@ -423,5 +445,6 @@ U_BOOT_CMD( "mmc bootpart <device num> <boot part size MB> <RPMB part size MB>\n" " - change sizes of boot and RPMB partitions of specified device\n" #endif + "mmc setdsr - set DSR register value\n" ); #endif /* !CONFIG_GENERIC_MMC */ |