mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
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>
This commit is contained in:
@@ -1340,7 +1340,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>;
|
||||
};
|
||||
|
||||
@@ -1707,7 +1707,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1786,7 +1786,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1720,7 +1720,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1720,7 +1720,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1636,7 +1636,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1937,7 +1937,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>;
|
||||
};
|
||||
|
||||
@@ -1935,7 +1935,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>;
|
||||
};
|
||||
|
||||
@@ -1984,7 +1984,8 @@
|
||||
"MMC_CAP_HW_RESET",
|
||||
"MMC_CAP_ERASE",
|
||||
"MMC_CAP_CMD23";
|
||||
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
|
||||
caps2 = "MMC_CAP2_HS200";
|
||||
/*MMC_CAP2_HS400"*/
|
||||
f_min = <400000>;
|
||||
f_max = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1991,7 +1991,8 @@
|
||||
"MMC_CAP_HW_RESET",
|
||||
"MMC_CAP_ERASE",
|
||||
"MMC_CAP_CMD23";
|
||||
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
|
||||
caps2 = "MMC_CAP2_HS200";
|
||||
/*MMC_CAP2_HS400"*/
|
||||
f_min = <400000>;
|
||||
f_max = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1341,7 +1341,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>;
|
||||
};
|
||||
|
||||
@@ -1694,7 +1694,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1773,7 +1773,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1706,7 +1706,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1707,7 +1707,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1699,7 +1699,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 = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1933,7 +1933,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>;
|
||||
};
|
||||
|
||||
@@ -1927,7 +1927,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>;
|
||||
};
|
||||
|
||||
@@ -1981,7 +1981,8 @@
|
||||
"MMC_CAP_HW_RESET",
|
||||
"MMC_CAP_ERASE",
|
||||
"MMC_CAP_CMD23";
|
||||
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
|
||||
caps2 = "MMC_CAP2_HS200";
|
||||
/*MMC_CAP2_HS400"*/
|
||||
f_min = <400000>;
|
||||
f_max = <200000000>;
|
||||
};
|
||||
|
||||
@@ -1987,7 +1987,8 @@
|
||||
"MMC_CAP_HW_RESET",
|
||||
"MMC_CAP_ERASE",
|
||||
"MMC_CAP_CMD23";
|
||||
caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400";
|
||||
caps2 = "MMC_CAP2_HS200";
|
||||
/*MMC_CAP2_HS400"*/
|
||||
f_min = <400000>;
|
||||
f_max = <200000000>;
|
||||
};
|
||||
|
||||
@@ -241,7 +241,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");
|
||||
@@ -263,6 +263,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");
|
||||
@@ -512,7 +513,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;
|
||||
|
||||
Reference in New Issue
Block a user