From: Fabio G. <fg...@ti...> - 2002-04-11 06:35:35
|
Thanks, yesterday I was thinking about end I reached the same result about to implement the demux mechanism. Thanks again On Wednesday 10 April 2002 20:19, Stuart Menefy wrote: > Several of your options dropped off the end of the email I got here, but > if I understand you correctly, you have exactly the same problem as people > using companion chips such as the HD64465. > > Have a look for the macro irq_demux. This is defined differently for > different systems, but in all cases it is used to demux a single interrupt > comming into the CPU into a number of 'soft' interrupts, based on an > external status register. These soft interrupts appear as interrupt > numbers immediatly above the normal interrupts, so you'll also need to > change the defintion of OFFCHIP_NR_IRQS, and register your device > drivers to respond to these soft interrupt numbers. > > Stuart > > > > On Wed, 10 Apr 2002 10:25:33 +0200 > > fg...@ti... wrote: > > Hi, Sirs > > > > This is my hamletic question. > > > > My board has a companion chip (CC) with its own interrupt enabel > > registers and its own interrutp status register. When someting wired to > > my CC generates an interupt request the CC generate an interrupt on IQR0 > > on my sh7709a. So I have to handle the IQR0 request choosing the rigth > > handler according to the exact source (keyboad, mouse, timer etc). > > In linux Sh if I understand good there are two ways to solve this > > problem: 1) using the IRQ0 handler writing an > > static struct irqaction irq0 = { CC_interrupt, SA_INTERRUPT, 0, "CC", > > NULL, NULL}; |