irqchip: hip04: Enable Hisilicon HiP04 interrupt controller
authorHaojian Zhuang <haojian.zhuang@linaro.org>
Thu, 7 Aug 2014 10:51:34 +0000 (18:51 +0800)
committerJason Cooper <jason@lakedaemon.net>
Wed, 20 Aug 2014 12:25:49 +0000 (12:25 +0000)
commit8e4bebe0952af357e099147023af756baa466ede
tree137cb203602a18f8d2066cacf21b9a37d81fa01d
parent7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9
irqchip: hip04: Enable Hisilicon HiP04 interrupt controller

HiP04 GIC is the variate of ARM GICv2.

ARM GICv2 supports 8 cores. HiP04 GIC extends to support 16 cores. It
results that bit fields in GIC_DIST_TARGET & GIC_DIST_SOFTINT are
different from ARM GICv2. And the maximium IRQ is downgrade from 1020 to 510.

Since different register offset & bitfields definitation breaks
compartible with ARM GICv2, create a new hip04 irq driver.

And this driver is derived from irq-gic.c to support the Hisilicon HiP04
interrupt controller, which is similar to the GIC, but deviates at some
points. Support for power management, non-banked registers, cascaded
GICs (and multiple controllers in general) and bigLittle support has
been removed from the GIC driver.

Affinity related functions have been adjusted to match the Hisilicon
hardware implementation.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Link: https://lkml.kernel.org/r/1407408695-19626-9-git-send-email-haojian.zhuang@linaro.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/Makefile
drivers/irqchip/irq-hip04.c [new file with mode: 0644]