Commit ed164182 authored by Balaji T K's avatar Balaji T K Committed by Chris Ball

mmc: omap_hsmmc: correct max value of clkd

clock divisor can take a max value of 1023.  Update code so that card
init can be handled at f_min even at higher IP clock frequencies from
which clock to the card is derived.
Signed-off-by: default avatarBalaji T K <balajitk@ti.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent 1e881786
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
#define ICE 0x1 #define ICE 0x1
#define ICS 0x2 #define ICS 0x2
#define CEN (1 << 2) #define CEN (1 << 2)
#define CLKD_MAX 0x3FF /* max clock divisor: 1023 */
#define CLKD_MASK 0x0000FFC0 #define CLKD_MASK 0x0000FFC0
#define CLKD_SHIFT 6 #define CLKD_SHIFT 6
#define DTO_MASK 0x000F0000 #define DTO_MASK 0x000F0000
...@@ -497,8 +498,8 @@ static u16 calc_divisor(struct omap_hsmmc_host *host, struct mmc_ios *ios) ...@@ -497,8 +498,8 @@ static u16 calc_divisor(struct omap_hsmmc_host *host, struct mmc_ios *ios)
if (ios->clock) { if (ios->clock) {
dsor = DIV_ROUND_UP(clk_get_rate(host->fclk), ios->clock); dsor = DIV_ROUND_UP(clk_get_rate(host->fclk), ios->clock);
if (dsor > 250) if (dsor > CLKD_MAX)
dsor = 250; dsor = CLKD_MAX;
} }
return dsor; return dsor;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment