clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
authorTushar Behera <tushar.behera@linaro.org>
Tue, 23 Apr 2013 06:31:51 +0000 (12:01 +0530)
committerOlof Johansson <olof@lixom.net>
Wed, 24 Apr 2013 02:51:30 +0000 (19:51 -0700)
commit37746c9a2dd28d52790dd84267b848c087a63b2e
treee33f526e3ece67f5752b50875502cc28d281f7ca
parentdb60074b468c5935760bd1f33cd192fae3c28b2b
clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}

commit 688f7d8c9fef ("clk: exynos5250: Fix divider values for
sclk_mmc{0,1,2,3}") incorrectly sets the divider for sclk_mmc{0,1,2,3}
to fix the wrong clock value. Though this fixed issue with Arndale,
it created regressions for other boards like Snow.

On Exynos5250, sclk_mmc<n> is generated like below (as per the clock
names in drivers/clk/samsung/clk-exynos5250.c)

mout_group1_p ==> mout_mmc<n> ==>
div_mmc<n> ==> div_mmc_pre<n> => sclk_mmc<n>

Earlier div_mmc<n> was set as the parent for sclk_mmc<n>, hence
div_mmc_pre<n> was not getting referred in kernel code and depending
on its value set during preboot, sclk_mmc<n> value was different for
various boards.

Setting the correct clock generation path should fix the issues
reported in above referenced commit. The changes committed during the
earlier patch has also been reverted here.

Reported-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/clk/samsung/clk-exynos5250.c