emmc: change emmc busmode from hs400 to hs200 [1/1]

PD#SWPL-9326

Problem:
hs400 200M not stable on some platform

Solution:
modify dts to hs200 mode

Verify:
passed on g12b_revb tl1 sm1 tm2

Change-Id: I45670c979b62a2caeed1e7ebc35b035bbbf8968c
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>

Conflicts:
	arch/arm/boot/dts/amlogic/sm1_s905d3_ac200.dts
	arch/arm/boot/dts/amlogic/sm1_s905d3_ac200_buildroot.dts
	arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts
	arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts
	arch/arm/boot/dts/amlogic/sm1_s905x3_ac213.dts
	arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts
	arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts
	arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200.dts
	arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200_buildroot.dts
	arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts
	arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts
	arch/arm64/boot/dts/amlogic/sm1_s905x3_ac213.dts
	arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts
	arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts
This commit is contained in:
Ruixuan Li
2019-06-03 19:19:03 +08:00
committed by Luke Go
parent 2dfb3f09d3
commit 7c7d0d6e08
7 changed files with 14 additions and 8 deletions

View File

@@ -1286,7 +1286,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_A";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <200000000>;
};

View File

@@ -1751,7 +1751,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_D";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <166666666>;
};

View File

@@ -1929,7 +1929,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_D";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <198000000>;
};

View File

@@ -1286,7 +1286,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_A";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <200000000>;
};

View File

@@ -1702,7 +1702,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_D";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <198000000>;
};

View File

@@ -1697,7 +1697,8 @@
"MMC_CAP_ERASE",
"MMC_CAP_CMD23",
"MMC_CAP_DRIVER_TYPE_D";
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
caps2 = "MMC_CAP2_HS200";
/*MMC_CAP2_HS400"*/
f_min = <400000>;
f_max = <198000000>;
};

View File

@@ -247,7 +247,7 @@ static int meson_mmc_clk_set_rate_v3(struct mmc_host *mmc,
host->mux_parent[0]);
if (ret)
pr_warn("set comp0 as mux_clk parent error\n");
} else if (((host->data->chip_type >= MMC_CHIP_TL1)
/* } else if (((host->data->chip_type >= MMC_CHIP_TL1)
|| (host->data->chip_type == MMC_CHIP_G12B))
&& (clk_ios >= 166000000)) {
src0_clk = devm_clk_get(host->dev, "clkin2");
@@ -269,6 +269,7 @@ static int meson_mmc_clk_set_rate_v3(struct mmc_host *mmc,
host->mux_parent[0]);
if (ret)
pr_warn("set comp0 as mux_clk parent error\n");
*/
} else if (clk_get_rate(host->mux_parent[0]) > 200000000) {
pr_info("%s %d\n", __func__, __LINE__);
src0_clk = devm_clk_get(host->dev, "xtal");
@@ -524,7 +525,6 @@ void meson_mmc_set_ios_v3(struct mmc_host *mmc,
complete(&host->drv_completion);
}
irqreturn_t meson_mmc_irq_thread_v3(int irq, void *dev_id)
{
struct amlsd_host *host = dev_id;