diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index a322063..5842e85 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -195,7 +195,7 @@
 			return 1;
 		else
 			return 0;
-	} else if (strncmp(argv[1], "part", 4) == 0) {
+	} else if (strcmp(argv[1], "part") == 0) {
 		block_dev_desc_t *mmc_dev;
 		struct mmc *mmc;
 
@@ -311,7 +311,33 @@
 
 		/* acknowledge to be sent during boot operation */
 		return boot_part_access(mmc, 1, part_num, access);
+	} else if (strcmp(argv[1], "partconf") == 0) {
+		int dev;
+		struct mmc *mmc;
+		u8 ack, part_num, access;
 
+		if (argc == 6) {
+			dev = simple_strtoul(argv[2], NULL, 10);
+			ack = simple_strtoul(argv[3], NULL, 10);
+			part_num = simple_strtoul(argv[4], NULL, 10);
+			access = simple_strtoul(argv[5], NULL, 10);
+		} else {
+			return CMD_RET_USAGE;
+		}
+
+		mmc = find_mmc_device(dev);
+		if (!mmc) {
+			printf("no mmc device at slot %x\n", dev);
+			return 1;
+		}
+
+		if (IS_SD(mmc)) {
+			puts("PARTITION_CONFIG only exists on eMMC\n");
+			return 1;
+		}
+
+		/* acknowledge to be sent during boot operation */
+		return mmc_set_part_conf(mmc, ack, part_num, access);
 	} else if (strcmp(argv[1], "bootpart-resize") == 0) {
 		int dev;
 		struct mmc *mmc;
@@ -451,6 +477,8 @@
 	" - Enable boot_part for booting and disable access to boot_part\n"
 	"mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
 	" - Change sizes of boot and RPMB partitions of specified device\n"
+	"mmc partconf dev boot_ack boot_partition partition_access\n"
+	" - Change the bits of the PARTITION_CONFIG field of the specified device\n"
 #endif
 	"mmc setdsr - set DSR register value\n"
 	);
