On 11 August 2015 at 04:53, Yangbo Lu <[email protected]> wrote:
> For eSDHC(version < 2.3), the pre divider only could divide base clock
> by 2 at least. Add workaround for this to avoid unexpected issue.
>
> Signed-off-by: Yangbo Lu <[email protected]>
Thanks, applied for next!
Kind regards
Uffe
> ---
> drivers/mmc/host/sdhci-of-esdhc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-of-esdhc.c
> b/drivers/mmc/host/sdhci-of-esdhc.c
> index 797be75..653f335 100644
> --- a/drivers/mmc/host/sdhci-of-esdhc.c
> +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> @@ -208,6 +208,12 @@ static void esdhc_of_set_clock(struct sdhci_host *host,
> unsigned int clock)
> if (clock == 0)
> return;
>
> + /* Workaround to start pre_div at 2 for VNN < VENDOR_V_23 */
> + temp = esdhc_readw(host, SDHCI_HOST_VERSION);
> + temp = (temp & SDHCI_VENDOR_VER_MASK) >> SDHCI_VENDOR_VER_SHIFT;
> + if (temp < VENDOR_V_23)
> + pre_div = 2;
> +
> /* Workaround to reduce the clock frequency for p1010 esdhc */
> if (of_find_compatible_node(NULL, NULL, "fsl,p1010-esdhc")) {
> if (clock > 20000000)
> --
> 2.1.0.27.g96db324
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html