MPC5200 PCI interrupt routing

Jon Smirl jonsmirl at gmail.com
Thu Sep 25 07:34:25 EST 2008


On Wed, Sep 24, 2008 at 5:22 PM, Benjamin Herrenschmidt
<benh at kernel.crashing.org> wrote:
> 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 ?

There's a nice skeleton in arch/powerpc/kernel/clock.c for tracking
who is using a clock and disabling it when not in use. Nobody is using
it on PowerPC. It is used all over the place on ARM.

-- 
Jon Smirl
jonsmirl at gmail.com



More information about the Linuxppc-dev mailing list