[U-Boot] [PATCH] arm: exynos: fix the div value for set_mmc_clk

The most exynos used the "Ratio + 1" as div value. And value at register is "Ratio". So if want to set exact value, it needs to subtract one.
Value at register ("Ratio") = div - 1
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- arch/arm/cpu/armv7/exynos/clock.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 4ecce44..6633ffe 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -1654,6 +1654,12 @@ unsigned long get_mmc_clk(int dev_index)
void set_mmc_clk(int dev_index, unsigned int div) { + /* + * If want to set correct value, it needs to substract one from div. + */ + if (div > 0) + div -= 1; + if (cpu_is_exynos5()) { if (proid_is_exynos5420() || proid_is_exynos5800()) exynos5420_set_mmc_clk(dev_index, div);

Hi,
On 20/11/14 17:17, Jaehoon Chung wrote:
The most exynos used the "Ratio + 1" as div value. And value at register is "Ratio". So if want to set exact value, it needs to subtract one.
Value at register ("Ratio") = div - 1
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com
arch/arm/cpu/armv7/exynos/clock.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 4ecce44..6633ffe 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -1654,6 +1654,12 @@ unsigned long get_mmc_clk(int dev_index)
void set_mmc_clk(int dev_index, unsigned int div) {
- /*
* If want to set correct value, it needs to substract one from div.
*/
wrong comment style
- if (div > 0)
div -= 1;
On trats2 and odroid dts file, div value is set to 0x3. Then should it modified to 0x4 after applied this patch?
- if (cpu_is_exynos5()) { if (proid_is_exynos5420() || proid_is_exynos5800()) exynos5420_set_mmc_clk(dev_index, div);
Thanks, Minkyu Kang.

Hi,
On 11/24/2014 05:33 PM, Minkyu Kang wrote:
Hi,
On 20/11/14 17:17, Jaehoon Chung wrote:
The most exynos used the "Ratio + 1" as div value. And value at register is "Ratio". So if want to set exact value, it needs to subtract one.
Value at register ("Ratio") = div - 1
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com
arch/arm/cpu/armv7/exynos/clock.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 4ecce44..6633ffe 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -1654,6 +1654,12 @@ unsigned long get_mmc_clk(int dev_index)
void set_mmc_clk(int dev_index, unsigned int div) {
- /*
* If want to set correct value, it needs to substract one from div.
*/
wrong comment style
Will fix.
- if (div > 0)
div -= 1;
On trats2 and odroid dts file, div value is set to 0x3. Then should it modified to 0x4 after applied this patch?
Those div values are not relevant to cmu.
Best Regards, Jaehoon Chung
- if (cpu_is_exynos5()) { if (proid_is_exynos5420() || proid_is_exynos5800()) exynos5420_set_mmc_clk(dev_index, div);
Thanks, Minkyu Kang.
participants (2)
-
Jaehoon Chung
-
Minkyu Kang