host->ios.timing = MMC_TIMING_LEGACY;
        mmc_set_ios(host);
 
+       /* Set signal voltage to 3.3V */
+       mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, false);
+
        /*
         * This delay should be sufficient to allow the power supply
         * to reach the minimum voltage.
         */
        mmc_hw_reset_for_init(host);
 
-       /* Initialization should be done at 3.3 V I/O voltage. */
-       mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
-
        /*
         * sdio_reset sends CMD52 to reset card.  Since we do not know
         * if the card is being re-initialized, just send it.  CMD52
 
        if (!mmc_host_is_spi(host))
                mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);
 
-       /* Initialization should be done at 3.3 V I/O voltage. */
-       mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
-
        /*
         * Since we're changing the OCR value, we seem to
         * need to tell some cards to go back to the idle
 
        BUG_ON(!host);
        WARN_ON(!host->claimed);
 
-       /* The initialization should be done at 3.3 V I/O voltage. */
-       mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
-
        err = mmc_sd_get_cid(host, ocr, cid, &rocr);
        if (err)
                return err;
 
         * Inform the card of the voltage
         */
        if (!powered_resume) {
-               /* The initialization should be done at 3.3 V I/O voltage. */
-               mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
-
                err = mmc_send_io_op_cond(host, host->ocr, &ocr);
                if (err)
                        goto err;
         * restore the correct voltage setting of the card.
         */
 
-       /* The initialization should be done at 3.3 V I/O voltage. */
-       if (!mmc_card_keep_power(host))
-               mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
-
        sdio_reset(host);
        mmc_go_idle(host);
        mmc_send_if_cond(host, host->ocr_avail);