Commit 0ce82d2a authored by ckkim's avatar ckkim Committed by Mauro Ribeiro

ODROID-XU3/4:Modified to emmc/microSD R/W stability

Change-Id: I70228a97e857f41e0ac24d39b00b83bf4e0db763
parent 4e4628aa
......@@ -77,6 +77,8 @@
dwmmc2@12220000 {
status = "okay";
num-slots = <1>;
extra_tuning;
use-fine-tuning;
supports-highspeed;
cd-type = <1>;
sw_data_timeout;
......@@ -91,7 +93,7 @@
clk_pin = "gpc2-0";
clk_addr = "13410000.pinctrl";
clk_val = <0x3>;
clk_str_num = <4>;
clk_str_num = <3>;
num-ref-clks = <8>;
ciu_clkin = <20812500 41625000 41625000 83250000 166500000 83250000 166500000 333000000>;
pinctrl-names = "default";
......@@ -198,11 +200,11 @@
buck10_reg: BUCK10 {
regulator-name = "vddf_2v85";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-ramp-delay = <24000>;
regulator-initial-mode = <1>;
};
......@@ -258,6 +260,7 @@
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <24000>;
regulator-initial-mode = <1>;
};
......@@ -284,7 +287,7 @@
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-ramp-delay = <24000>;
regulator-initial-mode = <1>;
};
......@@ -306,19 +309,20 @@
ldo18_reg: LDO18 {
regulator-name = "vdd_ldo18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1850000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <24000>;
regulator-initial-mode = <1>;
};
ldo19_reg: LDO19 {
regulator-name = "vdd_ldo19";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-ramp-delay = <24000>;
regulator-initial-mode = <1>;
};
......
......@@ -363,7 +363,7 @@ static void dw_mci_exynos_set_ios(struct dw_mci *host, unsigned int tuning, stru
if (timing > MMC_TIMING_MMC_HS200_DDR) {
pr_err("%s: timing(%d): not suppored\n", __func__, timing);
return;
timing = MMC_TIMING_MMC_HS200_DDR;
}
cclkin = clk_tbl[timing];
......@@ -384,6 +384,8 @@ static void dw_mci_exynos_set_ios(struct dw_mci *host, unsigned int tuning, stru
if (timing == MMC_TIMING_MMC_HS200_DDR) {
clksel = ((priv->ddr200_timing & 0xfffffff8) | pdata->clk_smpl);
if (pdata->is_fine_tuned)
clksel |= BIT(6);
if (!tuning) {
rddqs |= (DWMCI_RDDQS_EN | DWMCI_AXI_NON_BLOCKING_WRITE);
......
......@@ -1600,7 +1600,7 @@ out:
mci_send_cmd(slot, SDMMC_CMD_UPD_CLK | SDMMC_CMD_PRV_DAT_WAIT, 0);
if (host->vqmmc) {
ret = regulator_set_voltage(host->vqmmc, 1800000, 1800000);
ret = regulator_set_voltage(host->vqmmc, 2000000, 2000000);
if (ret) {
dev_warn(host->dev, "Switching to 1.8V signalling "
"voltage failed\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment