irqchip/jcore-aic: Add J-Core AIC driver
authorRich Felker <dalias@libc.org>
Thu, 4 Aug 2016 04:30:37 +0000 (04:30 +0000)
committerJason Cooper <jason@lakedaemon.net>
Mon, 8 Aug 2016 20:28:11 +0000 (20:28 +0000)
commit981b58f66cfcd32dc4ebbaeef8451daf393b6c94
tree073e7c0a2ba02297158d60e817b0b4fbb9a272e8
parenta9da291f25f014c8ee999f498305949332d58cd6
irqchip/jcore-aic: Add J-Core AIC driver

There are two versions of the J-Core interrupt controller in use, aic1
which generates interrupts with programmable priorities, but only
supports 8 irq lines and maps them to cpu traps in the range 17 to 24,
and aic2 which uses traps in the range 64-127 and supports up to 128
irqs, with priorities dependent on the interrupt number. The Linux
driver does not make use of priorities anyway.

For simplicity, there is no aic1-specific logic in the driver beyond
setting the priority register, which is necessary for interrupts to
work at all. Eventually aic1 will likely be phased out, but it's
currently in use in deployments and all released bitstream binaries.

Signed-off-by: Rich Felker <dalias@libc.org>
Link: https://lkml.kernel.org/r/c3b89ef74aaa6477575dbe2d410eb1d182503243.147018b6529.git.dalias@libc.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-jcore-aic.c [new file with mode: 0644]