|
@@ -942,7 +942,7 @@ u32 mmc_select_voltage(struct mmc_host *host, u32 ocr)
|
|
|
return ocr;
|
|
|
}
|
|
|
|
|
|
-int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage)
|
|
|
+int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage, bool cmd11)
|
|
|
{
|
|
|
struct mmc_command cmd = {0};
|
|
|
int err = 0;
|
|
@@ -953,7 +953,7 @@ int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage)
|
|
|
* Send CMD11 only if the request is to switch the card to
|
|
|
* 1.8V signalling.
|
|
|
*/
|
|
|
- if (signal_voltage == MMC_SIGNAL_VOLTAGE_180) {
|
|
|
+ if ((signal_voltage != MMC_SIGNAL_VOLTAGE_330) && cmd11) {
|
|
|
cmd.opcode = SD_SWITCH_VOLTAGE;
|
|
|
cmd.arg = 0;
|
|
|
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
|