On Tue, Dec 08, 2009 at 05:34:41, Kevin Hilman wrote:
> Sekhar Nori <[email protected]> writes:
>

[...]

> > diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c 
> > b/arch/arm/mach-davinci/board-dm646x-evm.c
> > index 6ff3411..5d9283f 100644
> > --- a/arch/arm/mach-davinci/board-dm646x-evm.c
> > +++ b/arch/arm/mach-davinci/board-dm646x-evm.c
> > @@ -40,6 +40,8 @@

[...]

> >
> > +#define CDCE949_XIN_RATE   27000000
> > +
> > +/* CDCE949 support - "lpsc" field is overridden to work as clock number */
> > +static struct clk cdce_clk_in = {
> > +   .name   = "cdce_xin",
> > +   .flags  = ALWAYS_ENABLED,
>
> Why do you need ALWAYS_ENABLED here.  I'd rather see
> clk_get()/clk_enable() used when this clock is required.
>

This particular clock is just the crystal which feeds
into the CDCE949. It cannot be enabled/disabled per se.
This crystal is different from the OSC_IN crystal which
feeds into the SoC.

However, I do see that none of the reference clocks in
<soc>.c files are marked as always enabled. So, I will
remove this.

> To do this, we'll need to add enable/disable functionaltiy for non-PSC
> clocks.  Probably the best way to do this is to add add an 'enable' hook
> to 'struct clk' and clk_enable() can use that.

CDCE949 does have functionality to disable particular clock
output (Y1, Y2 etc..), but that's not supported right now.
I guess that can be an enhancement patch done as and when it
is required.

Thanks,
Sekhar

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to