Re: [uClinux-dev] ARM external IRQ

From: Matthias Welwarsky (matze@stud.fbi.fh-darmstadt.de)
Date: Tue Jul 23 2002 - 09:07:01 EDT


On Tuesday 23 July 2002 05:46, vincent_kuo@sercomm.com wrote:
> Dear all,
>      I am using the TI-TMS320DSC21 EVM board (it's ARM7 CPU). I meet some
> problems and needs help.
>      I know that we could use "request_irq", "enable_irq"... function calls
> to let the interrrupt run into our interrupt routine. But for this special
> CPU, it could set its GIO [0-7] as an external interrupt. The CPU has 32
> GIO [0-31], they are all simply memory I/O, except the first 8 GIO could
> declare both I/O mode and Interrupt mode (GIO[0-7]).

I'm using the same board btw. You need to enable the EXTBUS interrupt and map 
it to some interrupt handler via request_irq. In this interrupt handler, you 
need to figure which of the GIOs is responsible for the request, and branch 
into the appropriate handler yourself.

This task is the easier one, because no hassle with assembler code in 
entry-armv.S involved.

Alternatively, look into include/asm/arch/irq.h, there's a function called 
irq_init_irq(), where you can specify mask/ack functions for all interrupt 
lines. It should be fairly easy to increase NR_IRQS and to map the external 
interrupts to irq number 33-40 if you provide the proper mask/unmask/ack 
functions.

regards,
	matze

-- 
Matthias Welwarsky
Fachschaft Informatik FH Darmstadt
Email: matze@stud.fbi.fh-darmstadt.de

"all software sucks equally, but some software is more equal"


This message resent by the uclinux-dev@uclinux.org list server http://www.uClinux.org/

This archive was generated by hypermail 2.1.4 : Thu Sep 19 2002 - 13:21:35 EDT