Signed-off-by: Lei Wen <lei...@marvell.com>
---
V3: add additional space after <device num>

 common/cmd_mmc.c |   20 ++++++++++++++++++++
 disk/part.c      |    3 +++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index c0b30d8..45924e3 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
diff --git a/disk/part.c b/disk/part.c
index 3ba88c7..1806fe6 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -364,6 +364,9 @@ static void print_part_header (const char *type, 
block_dev_desc_t * dev_desc)
        case IF_TYPE_DOC:
                puts ("DOC");
                break;
+       case IF_TYPE_MMC:
+               puts ("MMC");
+               break;
        default:
                puts ("UNKNOWN");
                break;
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to