On Tue, 8 Sep 2009, Paul Walmsley wrote:
>
> Hi Anand,
>
> looks like a good approach, just a few minor comments.
>
> On Fri, 4 Sep 2009, Anand Gadiyar wrote:
>
> > From: Rajendra Nayak <[email protected]>
> >
> > OMAP3: Enable and autoidle DPLL5 at boot
> >
> > Enable DPLL5 at bootup and put it into auto-idle.
> > This is required for the USBHOST 120MHz f-clock and USBTLL f-clock
> > to work.
> >
> > Signed-off-by: Rajendra Nayak <[email protected]>
> > Signed-off-by: Anand Gadiyar <[email protected]>
> > ---
> > arch/arm/mach-omap2/clock34xx.c | 25 +++++++++++++++++++++++++
> > 1 files changed, 25 insertions(+)
> >
> > Index: linux-omap-2.6/arch/arm/mach-omap2/clock34xx.c
> > ===================================================================
> > --- linux-omap-2.6.orig/arch/arm/mach-omap2/clock34xx.c
> > +++ linux-omap-2.6/arch/arm/mach-omap2/clock34xx.c
> > @@ -1056,6 +1056,25 @@ void omap2_clk_prepare_for_reboot(void)
> > #endif
> > }
> >
> > +static void omap3_lock_dpll5(void)
>
> Please put "clk" in this function name, like "omap3_clk_lock_dpll5" or
> something similar...
>
Okay.
> > +{
> > + struct clk *dpll5_clk;
> > + struct clk *dpll5_m2_clk;
> > +
> > + dpll5_clk = clk_get(NULL, "dpll5_ck");
> > + clk_set_rate(dpll5_clk, 120000000);
>
> Please move this constant up to a macro at the top of the file and add a
> brief descriptive comment answering the question: "why 120000000" -- e.g.,
> needed by USB, etc.
Okay.
>
> > + clk_enable(dpll5_clk);
> > +
> > + /* Enable autoidle to allow it to enter low power bypass */
> > + omap3_dpll_allow_idle(dpll5_clk);
> > +
> > + /* Program dpll5_m2_clk divider for no division */
> > + dpll5_m2_clk = clk_get(NULL, "dpll5_m2_ck");
> > + clk_enable(dpll5_m2_clk);
> > + clk_set_rate(dpll5_m2_clk, 120000000);
>
> Shouldn't we clk_disable() dpll5_clk and dpll5_m2_clk here? The rationale
> is that we should keep these disabled until some driver signals that it
> needs them with a clk_enable().
The idea behind enabling these upfront was:
- If done when the USB controller (the only user of this DPLL) needs the
USB clocks, there would be an additional delay required to lock this DPLL.
- Enabling and placing these DPLLs in bypass at init leaves no additional
power drain in the OMAP, and avoids the above delay at first clock-init.
What do you think?
- Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html