External interrupt on 460EX
Felix Radensky
felix at embedded-sol.com
Thu Oct 16 20:22:17 EST 2008
Hi, Stefan
Stefan Roese wrote:
> Felix,
>
> On Wednesday 15 October 2008, Felix Radensky wrote:
>
>>>> The interrupt is connected to GPIO 45. U-Boot (1.3.4) configures this
>>>> pin as external interrupt 12 (interrupt 20 in UIC 3). I've added the
>>>> following
>>>> entry to board device tree (in opb section)
>>>>
>>>> cpld at 2,0 {
>>>> device_type = "cpld";
>>>> interrupts = <20 1>;
>>>>
>>> Is this interrupt active on rising edge? This is what you have configured
>>> here. When you need level, active low, then you need to write:
>>>
>>> interrupts = <20 8>;
>>>
>>> And be careful which dts version you are using. Is this 20 decimal or
>>> hex?
>>>
>> The interrupt is indeed level, active low. Where can I find information
>> on UIC
>> interrupt settings for device tree ?
>>
>
> Not sure if this is really documented. Those values are from
> include/asm-ppc/irq.h:
>
> #define IRQ_TYPE_NONE 0x00000000 /* Default, unspecified type
> */
> #define IRQ_TYPE_EDGE_RISING 0x00000001 /* Edge rising type */
> #define IRQ_TYPE_EDGE_FALLING 0x00000002 /* Edge falling type */
> #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
> #define IRQ_TYPE_LEVEL_HIGH 0x00000004 /* Level high type */
> #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */
>
>
Thanks for clarification. I was looking at booting-without-of.txt and
took my number
from there.
>> I'm using dtc 1.2.0, 20 is decimal.
>> Is it ok ?
>>
>
> This doesn't really depend on the dtc version but on the version of the dts
> file itself. Is your dts a v1 dts file? Do you have this in your dts:
>
> /dts-v1/;
>
> ?
>
> If yes, then you have a v1 dts file and all number without 0x are decimal
> numbers. Then the "20" is correct for ext IRQ 12. If not then this number is
> hex and you should write "14" instead.
>
>
Bingo !!! That was my problem. I've started getting interrupts after
changing the irq
number to 14.
Thanks a lot !!! Your answers are great as always.
Felix.
More information about the Linuxppc-embedded
mailing list