summaryrefslogtreecommitdiff
path: root/common/cmd_mmc.c
diff options
context:
space:
mode:
authorLei Wen <leiwen@marvell.com>2010-09-13 22:07:28 +0800
committerWolfgang Denk <wd@denx.de>2010-09-18 23:47:28 +0200
commit8f3b96427aa573d5b300788e6ff5e989cff1e351 (patch)
tree3ea588c4b53e9b748aa91814b3b4110dd4b48446 /common/cmd_mmc.c
parentd2bf29e3994688ce730c8ab82bbafe6e39c229c1 (diff)
mmc: print out partition table
Signed-off-by: Lei Wen <leiwen@marvell.com>
Diffstat (limited to 'common/cmd_mmc.c')
-rw-r--r--common/cmd_mmc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 2b14a42dcb4..4e7bcdf82a5 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -154,6 +154,25 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
mmc_init(mmc);
return 0;
+ } else if (strncmp(argv[1], "part", 4) == 0) {
+ int dev = simple_strtoul(argv[2], NULL, 10);
+ block_dev_desc_t *mmc_dev;
+ struct mmc *mmc = find_mmc_device(dev);
+
+ if (!mmc) {
+ puts("no mmc devices available\n");
+ return 1;
+ }
+ mmc_init(mmc);
+ mmc_dev = mmc_get_dev(dev);
+ if (mmc_dev != NULL &&
+ mmc_dev->type != DEV_TYPE_UNKNOWN) {
+ print_part(mmc_dev);
+ return 0;
+ }
+
+ puts("get mmc type error!\n");
+ return 1;
}
case 0:
@@ -230,5 +249,6 @@ U_BOOT_CMD(
"read <device num> addr blk# cnt\n"
"mmc write <device num> addr blk# cnt\n"
"mmc rescan <device num>\n"
+ "mmc part <device num> - lists available partition on mmc\n"
"mmc list - lists available devices");
#endif