diff --git a/[refs] b/[refs] index b70299f6f272..8a716a166a05 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 648beaf5bd7072031bddd84bf7bb482ec459a603 +refs/heads/master: a6e92b49ae5ef48e1791e5df8368af1fe8b3bd9a diff --git a/trunk/arch/arm/mach-mx25/clock.c b/trunk/arch/arm/mach-mx25/clock.c index f44d65765b9a..84f0f1efea4b 100644 --- a/trunk/arch/arm/mach-mx25/clock.c +++ b/trunk/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)