Subject: Re: MPC5200 PCI interrupt routing

From: Benjamin Herrenschmidt <[email-masked]>
Date: Thu, 25 Sep 2008 07:22:25 +1000

On Wed, 2008-09-24 at 12:15 -0600, Grant Likely wrote:
> On Wed, Sep 24, 2008 at 05:16:34PM +0200, Juergen Beisert wrote:
> > On Dienstag, 23. September 2008, Juergen Beisert wrote:
> > > What Kernel do you run on your target? On my hardware a 2.6.23 still work
> > > as expected, but a 2.6.26 fails all the time.
> > 
> > One should enable the internal USB clock. If done, it works... In 2.6.23 is 
> > was done in mpc52xx_common.c. It was removed in 2.6.24.
> 
> It was removed because some 5200 platform do not use USB and should not
> enable the internal clock.  In general, it is not the kernel's job to configure
> clocking and pin usage on the chip.  Instead, it should be set correctly
> at power up by U-Boot.

Or by the USB host driver :-)

> However, if firmware *cannot* be changed, there is a workaround.
> You can create a new platform specific board support file in
> arch/powerpc/platforms/52xx/ that matches against your specific board
> and performs the needed fixups.  An example of this is lite5200.c.  Many
> lite5200 boards have older versions of U-Boot installed which does not
> correctly configure clocks or port-config.  So, lite5200.c matches to
> the board instead of mpc5200_simple.c so that the board specific fixups
> can be performed easily.  You should do the same for your board.

I tend to thing that drivers should deal with their own clocks. In fact
it would be nice if one could stop the clocks while the host port is in
suspend no ?

Ben.