Thread (4 messages) flat view 4 messages, 3 authors, 2008-07-25

Re: DTS configuration of external interrupts on 8347

From: Sean MacLennan <hidden>
Date: 2008-07-23 17:13:35

On Wed, 23 Jul 2008 15:58:38 +0100
"Richard Whitlock" [off-list ref] wrote:
I have a small problem with a port of linux 2.6.26 to a custom board.
Our board is almost identical to the Analogue & Micro asp 8347 board,
so I'm using Kumar Gala's excellent fsl tree (thank you Kumar) as it 
already has a defconfig for the asp.
Thanks also to Bryan O'Donoghue for pointing us in the direction of
the asp port in the first place.

The problem we have is I am unable to request an external interrupt.
We have an FPGA which has an interrupt line - HW IRQ_0, so thats
linux IRQ 48. I have added the following to the dts file:

fpgaKFAF@0xF8000000 {
                interrupts = <48 8>;
                interrupt-parent = <&ipic>;
}

but whenever I call request_irq() it returns -ENOSYS.

The driver loads fine, and the open function does very little - a
call to ioremap() - which works, and a call to request_irq() which
does not. Is there anything else I have to do to configure this
interrupt?
I don't think you have enough information in the dts. We do the same
thing on the warp (you can look at the warp.dts):

fpga@2,0 {
	compatible = "pika,fpga";
	reg = <0x00000002 0x00000000 0x00001000>;
	interrupts = <0x18 0x8>;
	interrupt-parent = <&UIC0>;
};

You need the compatible, maybe "kfaf,fpga", and I believe the reg entry
although you could try without it.

You then can use:

	of_find_compatible_node
	irq_of_parse_and_map
	request_irq

platforms/44x/warp.c shows an example using the ad7414. Just change the
ad7414 string to your compatible string.

Cheers,
   Sean
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help