2010-01-18 05:45:24     Interrupt 'multiplexing' in uClinux?

Document created by Aaronwu Employee on Aug 20, 2013
Version 1Show Document
  • View in full screen mode

2010-01-18 05:45:24     Interrupt 'multiplexing' in uClinux?

Jay Ku (UNITED STATES)

Message: 84712   

 

I have a working design based on a BF532/533 where I use PPI0:11 to drive 12-bit data to an LCD and I'm using PPI12:15 (PF7:4) as interrupt inputs.  I'd like to switch to 15-bit pixels and use only PPI15/PF4 as my interrupt input, while still supporting the same number of interrupt-generating devices.  I have an external logic device that I can use to implement a simple interrupt controller/multiplexer (I have some memory-mapped registers in this device that I can use to figure out which device raised the interrupt, etc.).  I've read through:

 

  docs.blackfin.uclinux.org/doku.php?id=linux-kernel:interrupts

 

but it's going to take some time to digest.  I did notice something in there about IRQF_SHARED, which sounds promising, but I'm not sure it's applicable to what I want to do.

 

Has something like this been done already?  If not, could someone give me some pointers on where to look/which file(s) I'll have to patch to make this work?

 

Thanks,

 

Jay

QuoteReplyEditDelete

 

 

2010-01-18 05:59:19     Re: Interrupt 'multiplexing' in uClinux?

Sonic Zhang (CHINA)

Message: 84714   

 

You need to append new logic IRQ numbers to arch/blackfin/mach-bf533/include/mach/irq.h, register your own irq_chip and demux the IRQ number in interupt handler do_irq().

 

 

 

Please refer to arch/blackfin/mach-common/ints-priority.c

Attachments

    Outcomes