Subject: Re: FPGA IRQ design question

From: Wolfgang Grandegger <[email-masked]>
Date: Wed, 22 Apr 2009 20:07:24 +0200

Eddie Dawydiuk wrote:
> Grant,
> 
>> However, if you're writing one-off custom drivers and there is no
>> common coded needed for acking irqs, then I would probably just use
>> the external IRQ.
> 
> Thanks for the suggestions I think going to just use the external IRQ.
> As a result I've been reading through a few different dts files to try
> to understand how/where to specify this in the dts file. I see in the
> Yosemite dts file the PCI bus device node has an interrupt-map-mask and
> an interrupt-map.
> 
> e.g.
> 
> PCI0: pci@ec000000 {
>       device_type = "pci";
> ...
>       /* Bamboo has all 4 IRQ pins tied together per slot */
>       interrupt-map-mask = <0xf800 0x0 0x0 0x0>;
>       interrupt-map = <
>            /* IDSEL 1 */
>            0x800 0x0 0x0 0x0 &UIC0 0x1c 0x8
> ...
> };
> 
> As far as I can tell this appears to be the proper location to specify
> that the PCI device(FPGA) connects an the IRQ to an external IRQ on the
> AMCC 440EP. I see where the interrupt controller(e.g. &UIC0), the
> interrupt number(0x1C), and the sense(0x8) of the external interrupt is
> specified. But I'm a bit puzzled by some of the other information.
> 
> Is this the proper place in the dts file to specify that the FPGA
> connects and external interrupt to the SoC? Can you point me to a
> document explaining the interrupt-map-mask and interrupt-map arguments?

Yes, have a look to
http://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf.

Wolfgang.