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