aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Jacques Hiblot2017-11-30 17:43:54 +0100
committerJaehoon Chung2018-01-12 18:11:04 +0900
commit52d241dfba7c3903a3a7d97fe6cb815c9ed379d6 (patch)
tree7d7154d958ac7bf164a8b9dd28ece7032c375c7e
parentef1614acf8f39637c798125deea06aaa83b5f986 (diff)
mmc: dump card and host capabilities if debug is enabled
This is a useful information while debugging the initialization process or performance issues. Also dump this information with the other mmc info if the verbose option is selected Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
-rw-r--r--cmd/mmc.c4
-rw-r--r--drivers/mmc/mmc.c9
2 files changed, 13 insertions, 0 deletions
diff --git a/cmd/mmc.c b/cmd/mmc.c
index 6d48ecbe0b7..25795e03250 100644
--- a/cmd/mmc.c
+++ b/cmd/mmc.c
@@ -24,7 +24,11 @@ static void print_mmcinfo(struct mmc *mmc)
(mmc->cid[1] >> 8) & 0xff, mmc->cid[1] & 0xff);
printf("Bus Speed: %d\n", mmc->clock);
+#if CONFIG_IS_ENABLED(MMC_VERBOSE)
printf("Mode : %s\n", mmc_mode_name(mmc->selected_mode));
+ mmc_dump_capabilities("card capabilities", mmc->card_caps);
+ mmc_dump_capabilities("host capabilities", mmc->host_caps);
+#endif
printf("Rd Block Len: %d\n", mmc->read_bl_len);
printf("%s version %d.%d", IS_SD(mmc) ? "SD" : "MMC",
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index ab2483e9dba..9b5c982578c 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1582,6 +1582,10 @@ static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps)
bool uhs_en = (mmc->ocr & OCR_S18R) ? true : false;
uint caps;
+#ifdef DEBUG
+ mmc_dump_capabilities("sd card", card_caps);
+ mmc_dump_capabilities("host", mmc->host_caps | MMC_MODE_1BIT);
+#endif
/* Restrict card's capabilities by what the host can do */
caps = card_caps & (mmc->host_caps | MMC_MODE_1BIT);
@@ -1764,6 +1768,11 @@ static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps)
const struct mode_width_tuning *mwt;
const struct ext_csd_bus_width *ecbw;
+#ifdef DEBUG
+ mmc_dump_capabilities("mmc", card_caps);
+ mmc_dump_capabilities("host", mmc->host_caps | MMC_MODE_1BIT);
+#endif
+
/* Restrict card's capabilities by what the host can do */
card_caps &= (mmc->host_caps | MMC_MODE_1BIT);