Subject: Re: FPGA IRQ design question

From: Eddie Dawydiuk <[email-masked]>
Date: Wed, 22 Apr 2009 11:05:01 -0700

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?

Thanks for any pointers.

-- 
Best Regards,
________________________________________________________________
  Eddie Dawydiuk, Technologic Systems | voice:  (480) 837-5200
  16525 East Laser Drive 	     | fax:    (480) 837-5300
  Fountain Hills, AZ 85268            | web: www.embeddedARM.com