[U-Boot] [PATCH 2/4] MMC: EXYNOS: Added call back function for clock get

Minkyu Kang
2013-03-27T05:14:59Z

Dear Amar,

On 05/12/12 22:31, Amar wrote:
> This patch defines the call back required by dw mmc driver to get the
> clock value. It also adds function to set the dw mmc clock divider ratio.
>
> Signed-off-by: Amarendra Reddy <amarendra.xt@samsung.com>
> ---
> drivers/mmc/exynos_dw_mmc.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
> index 72a31b7..7cc8aba 100644
> --- a/drivers/mmc/exynos_dw_mmc.c
> +++ b/drivers/mmc/exynos_dw_mmc.c
> @@ -30,25 +30,37 @@ static void exynos_dwmci_clksel(struct dwmci_host *host)
> {
> u32 val;
> val = DWMCI_SET_SAMPLE_CLK(DWMCI_SHIFT_0) |
> - DWMCI_SET_DRV_CLK(DWMCI_SHIFT_0) | DWMCI_SET_DIV_RATIO(0);
> + DWMCI_SET_DRV_CLK(DWMCI_SHIFT_0) |
> + DWMCI_SET_DIV_RATIO(DWMCI_SHIFT_0);
>
> dwmci_writel(host, DWMCI_CLKSEL, val);
> }
>
> +unsigned int exynos_dwmci_get_clk(int dev_index)
> +{
> + return get_mmc_clk(dev_index);
> +}
> +
> int exynos_dwmci_init(u32 regbase, int bus_width, int index)
> {
> struct dwmci_host *host = NULL;
> + int div = 0;

please add a blank line here.

> host = malloc(sizeof(struct dwmci_host));
> if (!host) {
> printf("dwmci_host malloc fail!\n");
> return 1;
> }
>
> + div = 1;

ditto.

> + /* Set the mmc clock divider ratio & pre-ratio */
> + set_mmc_clk(index, div);

If the div is constant value, then just put 1.
I think.. it's better.
set_mmc_clk(index, 1);

> +
> host->name = EXYNOS_NAME;
> host->ioaddr = (void *)regbase;
> host->buswidth = bus_width;
> host->clksel = exynos_dwmci_clksel;
> host->dev_index = index;
> + host->mmc_clk = exynos_dwmci_get_clk;
>
> add_dwmci(host, 52000000, 400000);
>
>

Thanks,
Minkyu Kang.