Dove clock support

Simon Baatz gmbnomis at gmail.com
Tue Jun 19 16:42:10 EDT 2012


On Tue, Jun 19, 2012 at 09:32:51PM +0200, Andrew Lunn wrote:
> On Tue, Jun 19, 2012 at 12:10:16AM +0200, Sebastian Hesselbarh wrote:
> > On 06/18/2012 11:41 PM, Simon Baatz wrote:
> > >This is not potentially a problem, this is definitively a problem (on kirkwood):
> > >
> > >[   12.280783] sata_mv sata_mv.0: cannot get optional clkdev
> > >[   12.286314] sata_mv sata_mv.0: slots 32 ports 2
> > >...
> > >[   12.665882] ata1: SATA link down (SStatus 0 SControl F300)
> > >[   13.015881] ata2: SATA link down (SStatus 0 SControl F300)
> > 
> > Is this because of some bug in kirkwood soc or missing code in
> > sata_mv.c?
> > 
> > According to the functional specification of kirkwood there is a
> > PhyShutdown bit in it's registers. Dove also has this register bit.
> > 
> > Up to now it looks like the SATA PHY can only be disabled in code,
> > but there should be an phy_enable, too.
> 
> Correct.
> 
> When moving from kirkwoods old clock management to the generic clock
> framework, i kept the functionality the same. The old code would turn
> the PHYs off, but have no way to turn them back on again. The new code
> is the same.

No, not exactly the same. In the old code, it was sufficient to call
the respective kirkwood_..._init function to keep the clock and the
PHY alive. Now, the respective driver needs to enable the clock in
order to prevent that the clock and the PHY are shut down. 

If the driver is loaded as a module, the clock and the PHY are
already shut down at init of the module, which normally would not
happen previously.

Should we make this symmetric and add an enable function to gate_fn?

- Simon




More information about the linux-arm-kernel mailing list