OSDN Git Service

mmc: host: omap_hsmmc: Remove setting PBIAS voltage
authorKishon Vijay Abraham I <kishon@ti.com>
Thu, 31 Aug 2017 10:18:44 +0000 (15:48 +0530)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 22 Sep 2017 07:46:27 +0000 (09:46 +0200)
PBIAS voltage should be set along with setting vqmmc voltage and
these voltages should be set as part of start_signal_voltage_switch
callback. However since omap_hsmmc is about to be deprecated,
remove setting of PBIAS voltage leaving the PBIAS voltage to be
at the reset value of 3.3V (we'll never have to change this to 1.8V
since UHS mode support will not be added to omap_hsmmc). This will
let pbias regulator driver to be fixed to support a maximum voltage of
3.3V.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/omap_hsmmc.c

index 3b5e6d1..f2a1137 100644 (file)
 #define OMAP_MMC_MAX_CLOCK     52000000
 #define DRIVER_NAME            "omap_hsmmc"
 
-#define VDD_1V8                        1800000         /* 180000 uV */
-#define VDD_3V0                        3000000         /* 300000 uV */
-#define VDD_165_195            (ffs(MMC_VDD_165_195) - 1)
-
 /*
  * One controller can have multiple slots, like on some omap boards using
  * omap.c controller driver. Luckily this is not currently done on any known
@@ -308,8 +304,7 @@ err_set_ocr:
        return ret;
 }
 
-static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
-                               int vdd)
+static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on)
 {
        int ret;
 
@@ -317,17 +312,6 @@ static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
                return 0;
 
        if (power_on) {
-               if (vdd <= VDD_165_195)
-                       ret = regulator_set_voltage(host->pbias, VDD_1V8,
-                                                   VDD_1V8);
-               else
-                       ret = regulator_set_voltage(host->pbias, VDD_3V0,
-                                                   VDD_3V0);
-               if (ret < 0) {
-                       dev_err(host->dev, "pbias set voltage fail\n");
-                       return ret;
-               }
-
                if (host->pbias_enabled == 0) {
                        ret = regulator_enable(host->pbias);
                        if (ret) {
@@ -350,8 +334,7 @@ static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
        return 0;
 }
 
-static int omap_hsmmc_set_power(struct omap_hsmmc_host *host, int power_on,
-                               int vdd)
+static int omap_hsmmc_set_power(struct omap_hsmmc_host *host, int power_on)
 {
        struct mmc_host *mmc = host->mmc;
        int ret = 0;
@@ -363,7 +346,7 @@ static int omap_hsmmc_set_power(struct omap_hsmmc_host *host, int power_on,
        if (IS_ERR(mmc->supply.vmmc))
                return 0;
 
-       ret = omap_hsmmc_set_pbias(host, false, 0);
+       ret = omap_hsmmc_set_pbias(host, false);
        if (ret)
                return ret;
 
@@ -385,7 +368,7 @@ static int omap_hsmmc_set_power(struct omap_hsmmc_host *host, int power_on,
                if (ret)
                        return ret;
 
-               ret = omap_hsmmc_set_pbias(host, true, vdd);
+               ret = omap_hsmmc_set_pbias(host, true);
                if (ret)
                        goto err_set_voltage;
        } else {
@@ -1220,11 +1203,11 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd)
                clk_disable_unprepare(host->dbclk);
 
        /* Turn the power off */
-       ret = omap_hsmmc_set_power(host, 0, 0);
+       ret = omap_hsmmc_set_power(host, 0);
 
        /* Turn the power ON with given VDD 1.8 or 3.0v */
        if (!ret)
-               ret = omap_hsmmc_set_power(host, 1, vdd);
+               ret = omap_hsmmc_set_power(host, 1);
        if (host->dbclk)
                clk_prepare_enable(host->dbclk);
 
@@ -1621,10 +1604,10 @@ static void omap_hsmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
        if (ios->power_mode != host->power_mode) {
                switch (ios->power_mode) {
                case MMC_POWER_OFF:
-                       omap_hsmmc_set_power(host, 0, 0);
+                       omap_hsmmc_set_power(host, 0);
                        break;
                case MMC_POWER_UP:
-                       omap_hsmmc_set_power(host, 1, ios->vdd);
+                       omap_hsmmc_set_power(host, 1);
                        break;
                case MMC_POWER_ON:
                        do_send_init_stream = 1;