[U-Boot] [PATCH] mmc/dw_mmc: Fix clock divider calculation error for bypass mode
Pantelis Antoniou
panto at antoniou-consulting.com
Fri Aug 1 18:45:48 CEST 2014
Hi Chin,
On Jun 10, 2014, at 9:26 AM, Chin Liang See wrote:
> To fix the clock divider calculation error when the controller
> clock same as the operating frequency. This is known as bypass
> mode. In this mode, the divider should be 0.
>
> Signed-off-by: Chin Liang See <clsee at altera.com>
> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
> Cc: Rajeshwari Shinde <rajeshwari.s at samsung.com>
> Cc: Jaehoon Chung <jh80.chung at samsung.com>
> Cc: Mischa Jonker <mjonker at synopsys.com>
> ---
> drivers/mmc/dw_mmc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
> index 5bf36a0..0df30bc 100644
> --- a/drivers/mmc/dw_mmc.c
> +++ b/drivers/mmc/dw_mmc.c
> @@ -245,7 +245,10 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
> return -EINVAL;
> }
>
> - div = DIV_ROUND_UP(sclk, 2 * freq);
> + if (sclk == freq)
> + div = 0; /* bypass mode */
> + else
> + div = DIV_ROUND_UP(sclk, 2 * freq);
>
> dwmci_writel(host, DWMCI_CLKENA, 0);
> dwmci_writel(host, DWMCI_CLKSRC, 0);
> --
> 1.7.9.5
>
Applied, thanks.
-- Pantelis
More information about the U-Boot
mailing list