[PATCH 3/8] i.MX25: fix get_rate_otg to return the correct value
Eric Bénard
eric at eukrea.com
Tue Jun 8 05:02:57 EDT 2010
usb drivers need to get the right value for otg clock so
calculate and return it
Signed-off-by: Eric Bénard <eric at eukrea.com>
---
arch/arm/mach-mx25/clock.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mx25/clock.c b/arch/arm/mach-mx25/clock.c
index 1550149..d2835ff 100644
--- a/arch/arm/mach-mx25/clock.c
+++ b/arch/arm/mach-mx25/clock.c
@@ -131,7 +131,10 @@ static unsigned long get_rate_lcdc(struct clk *clk)
static unsigned long get_rate_otg(struct clk *clk)
{
- return 48000000; /* FIXME */
+ unsigned long cctl = readl(CRM_BASE + CCM_CCTL);
+ unsigned long rate = get_rate_upll();
+
+ return (cctl & (1 << 23)) ? 0 : rate / ((0x3F & (cctl >> 16)) + 1);
}
static int clk_cgcr_enable(struct clk *clk)
--
1.6.3.3
More information about the linux-arm-kernel
mailing list