@@ -557,22 +557,22 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)
else if (card->host->caps & MMC_CAP_MAX_CURRENT_200_180)
current_limit = SD_SET_CURRENT_LIMIT_200;
} else if (voltage & (MMC_VDD_29_30 | MMC_VDD_30_31)) {
- if (card->host->caps & MMC_CAP_MAX_CURRENT_800_300)
+ if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_800_300)
current_limit = SD_SET_CURRENT_LIMIT_800;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_600_300)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_600_300)
current_limit = SD_SET_CURRENT_LIMIT_600;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_400_300)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_400_300)
current_limit = SD_SET_CURRENT_LIMIT_400;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_200_300)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_200_300)
current_limit = SD_SET_CURRENT_LIMIT_200;
} else if (voltage & (MMC_VDD_32_33 | MMC_VDD_33_34)) {
- if (card->host->caps & MMC_CAP_MAX_CURRENT_800_330)
+ if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_800_330)
current_limit = SD_SET_CURRENT_LIMIT_800;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_600_330)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_600_330)
current_limit = SD_SET_CURRENT_LIMIT_600;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_400_330)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_400_330)
current_limit = SD_SET_CURRENT_LIMIT_400;
- else if (card->host->caps & MMC_CAP_MAX_CURRENT_200_330)
+ else if (card->host->caps2 & MMC_CAP2_MAX_CURRENT_200_330)
current_limit = SD_SET_CURRENT_LIMIT_200;
}
@@ -2920,13 +2920,13 @@ int sdhci_add_host(struct sdhci_host *host)
/* Maximum current capabilities of the host at 3.3V */
if (max_current_330 >= 800)
- mmc->caps |= MMC_CAP_MAX_CURRENT_800_330;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_800_330;
else if (max_current_330 >= 600)
- mmc->caps |= MMC_CAP_MAX_CURRENT_600_330;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_600_330;
else if (max_current_330 >= 400)
- mmc->caps |= MMC_CAP_MAX_CURRENT_400_330;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_400_330;
else if (max_current_330 >= 200)
- mmc->caps |= MMC_CAP_MAX_CURRENT_200_330;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_200_330;
}
if (caps[0] & SDHCI_CAN_VDD_300) {
int max_current_300;
@@ -2943,13 +2943,13 @@ int sdhci_add_host(struct sdhci_host *host)
/* Maximum current capabilities of the host at 3.0V */
if (max_current_300 >= 800)
- mmc->caps |= MMC_CAP_MAX_CURRENT_800_300;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_800_300;
else if (max_current_300 >= 600)
- mmc->caps |= MMC_CAP_MAX_CURRENT_600_300;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_600_300;
else if (max_current_300 >= 400)
- mmc->caps |= MMC_CAP_MAX_CURRENT_400_300;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_400_300;
else if (max_current_300 >= 200)
- mmc->caps |= MMC_CAP_MAX_CURRENT_200_300;
+ mmc->caps2 |= MMC_CAP2_MAX_CURRENT_200_300;
}
if (caps[0] & SDHCI_CAN_VDD_180) {
int max_current_180;
@@ -261,14 +261,14 @@ struct mmc_host {
#define MMC_CAP2_HC_ERASE_SZ (1 << 9) /* High-capacity erase size */
#define MMC_CAP2_CD_ACTIVE_HIGH (1 << 10) /* Card-detect signal active high */
#define MMC_CAP2_RO_ACTIVE_HIGH (1 << 11) /* Write-protect signal active high */
-#define MMC_CAP_MAX_CURRENT_200_300 (1 << 12) /* Host max current limit is 200mA at 3.0V */
-#define MMC_CAP_MAX_CURRENT_400_300 (1 << 13) /* Host max current limit is 400mA at 3.0V */
-#define MMC_CAP_MAX_CURRENT_600_300 (1 << 14) /* Host max current limit is 600mA at 3.0V */
-#define MMC_CAP_MAX_CURRENT_800_300 (1 << 15) /* Host max current limit is 800mA at 3.0V */
-#define MMC_CAP_MAX_CURRENT_200_330 (1 << 16) /* Host max current limit is 200mA at 3.3V */
-#define MMC_CAP_MAX_CURRENT_400_330 (1 << 17) /* Host max current limit is 400mA at 3.3V */
-#define MMC_CAP_MAX_CURRENT_600_330 (1 << 18) /* Host max current limit is 600mA at 3.3V */
-#define MMC_CAP_MAX_CURRENT_800_330 (1 << 19) /* Host max current limit is 800mA at 3.3V */
+#define MMC_CAP2_MAX_CURRENT_200_300 (1 << 12) /* Host max current limit is 200mA at 3.0V */
+#define MMC_CAP2_MAX_CURRENT_400_300 (1 << 13) /* Host max current limit is 400mA at 3.0V */
+#define MMC_CAP2_MAX_CURRENT_600_300 (1 << 14) /* Host max current limit is 600mA at 3.0V */
+#define MMC_CAP2_MAX_CURRENT_800_300 (1 << 15) /* Host max current limit is 800mA at 3.0V */
+#define MMC_CAP2_MAX_CURRENT_200_330 (1 << 16) /* Host max current limit is 200mA at 3.3V */
+#define MMC_CAP2_MAX_CURRENT_400_330 (1 << 17) /* Host max current limit is 400mA at 3.3V */
+#define MMC_CAP2_MAX_CURRENT_600_330 (1 << 18) /* Host max current limit is 600mA at 3.3V */
+#define MMC_CAP2_MAX_CURRENT_800_330 (1 << 19) /* Host max current limit is 800mA at 3.3V */
#define MMC_CAP2_PACKED_RD (1 << 20) /* Allow packed read */
#define MMC_CAP2_PACKED_WR (1 << 21) /* Allow packed write */
#define MMC_CAP2_PACKED_CMD (MMC_CAP2_PACKED_RD | \