Subject: Re: SmartFirmware interrupts
To: Matt Sealey <matt@genesi-usa.com>
From: Frank Wille <frank@phoenix.owl.de>
List: port-ofppc
Date: 10/18/2007 23:40:21
Matt Sealey wrote:

>> Hm. Which information does SmartFirmware provide about it? The only thing
>> I found was "8259-IRQ at f1000cb4". This is for the ISA interrupts?
> 
> It's connected in a cascade to the Marvell chip.

This means that the Marvell chip is directly connected to the hardware
interrupt lines, maps them to specific 8259 interrupt inputs (IRQ1-15), and
the 8259 causes an interrupt at the CPU?

The Marvell contains some kind of 8259 emulation?

And usually there are two 8259 cascaded (otherwise there would be only 7
interrupts) ?


> You do not need to know
> how the Marvell PIC works. Just use the 8259 (as is present in every PC
> known to man..)

Great! That's easy. The code is already present!

So there is only one problem left: which interrupts do the devices use?

Oh, and the second PCI node on the Pegasos, /pci@c0000000, has no
property about an 8259-IRQ address. So I assume it is using the same address?


> However I am not talking about Pegasos.

You're not? But you were talking about the Marvell...?


> You guys can, and should, forget Pegasos for now :)

Er... why?


>> Or how about the interrupts of PCI devices? Other OF implementations have
>> properties like "interrupt-map", "#interrupt-cells", "AAPL,interrupts",
>> etc. But in SmartFirmware there is nothing. How do I know which interrupt
>> a device was assigned to?
> 
> I really thought these were present.

Interrupt properties are present for the devices below /pci@80000000/isa/.
But ISA-interrupts are fixed anyway.

The interesting PCI devices, like USB or VIA-RhineII ethernet have no such
information.


> At least, the interrupt-tree is
> implemented in a development firmware (properly!)

This doesn't help much. I have given up waiting for an official firmware
update for the Pegasos and PegasosII a long time ago... :|

And even if it happens, not everybody might dare to update. We have to live
with what we have, which means SmartFirmware 1.2 or even 1.1.


> but what is present on the Efika and Pegasos is enough to boot.

Really? But how do I determine a device's interrupt number then?


> On Efika, interrupts are *really fixed*, you cannot just assign an
> interrupt dynamically to some other peripheral. The MPC5200BUM tells you
> which ones..

Ok. The Efika is another story.


-- 
    _  Frank Wille (frank@phoenix.owl.de)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer