diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 632ddae7a2f78fb9d2a07a9041b1f83d06286556..4e28c9d7a4d6541f0c1633ee494b77e476b5e776 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -106,7 +106,11 @@ static void print_mmcinfo(struct mmc *mmc)
 		print_size(((u64)mmc->hc_wp_grp_size) << 9, "\n");
 
 		puts("User Capacity: ");
-		print_size(mmc->capacity_user, usr_enh ? " ENH\n" : "\n");
+		print_size(mmc->capacity_user, usr_enh ? " ENH" : "");
+		if (mmc->wr_rel_set & EXT_CSD_WR_DATA_REL_USR)
+			puts(" WRREL\n");
+		else
+			putc('\n');
 		if (usr_enh) {
 			puts("User Enhanced Start: ");
 			print_size(mmc->enh_user_start, "\n");
@@ -124,7 +128,11 @@ static void print_mmcinfo(struct mmc *mmc)
 			if (mmc->capacity_gp[i]) {
 				printf("GP%i Capacity: ", i+1);
 				print_size(mmc->capacity_gp[i],
-					   is_enh ? " ENH\n" : "\n");
+					   is_enh ? " ENH" : "");
+				if (mmc->wr_rel_set & EXT_CSD_WR_DATA_REL_GP(i))
+					puts(" WRREL\n");
+				else
+					putc('\n');
 			}
 		}
 	}
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 6fa5435000ef5ee7631288b5f0cfd7fa1cfc819a..19ac4c482fa5d72504513f651f92aae73ccd88a3 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1306,6 +1306,8 @@ static int mmc_startup(struct mmc *mmc)
 		mmc->hc_wp_grp_size = 1024
 			* ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]
 			* ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
+
+		mmc->wr_rel_set = ext_csd[EXT_CSD_WR_REL_SET];
 	}
 
 	err = mmc_set_capacity(mmc, mmc->part_num);
diff --git a/include/mmc.h b/include/mmc.h
index 8d41234e207599f269236f014dcff04e6d225946..09101e2c87a11cfa76c0412c92dd5e9b6eb5ab00 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -318,6 +318,7 @@ struct mmc {
 	ushort rca;
 	u8 part_support;
 	u8 part_attr;
+	u8 wr_rel_set;
 	char part_config;
 	char part_num;
 	uint tran_speed;