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