OrangePi_CM5/include/linux/irqchip
Linus Walleij 5b978c1066 irqchip: Add driver for IXP4xx
The IXP4xx (arch/arm/mach-ixp4xx) is an old Intel XScale
platform that has very wide deployment and use.

As part of modernizing the platform, we need to implement a
proper irqchip in the irqchip subsystem.

The IXP4xx irqchip is tightly jotted together with the GPIO
controller, and whereas in the past we would deal with this
complex logic by adding necessarily different code, we can
nowadays modernize it using a hierarchical irqchip.

The actual IXP4 irqchip is a simple active low level IRQ
controller, whereas the GPIO functionality resides in a
different memory area and adds edge trigger support for
the interrupts.

The interrupts from GPIO lines 0..12 are 1:1 mapped to
a fixed set of hardware IRQs on this IRQchip, so we
expect the child GPIO interrupt controller to go in and
allocate descriptors for these interrupts.

For the other interrupts, as we do not yet have DT
support for this platform, we create a linear irqdomain
and then go in and allocate the IRQs that the legacy
boards use. This code will be removed on the DT probe
path when we add DT support to the platform.

We add some translation code for supporting DT
translations for the fwnodes, but we leave most of that
for later.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-04-19 20:37:50 +02:00
..
arm-gic-common.h irqchip/gic: Unify GIC priority definitions 2018-10-03 11:30:14 +01:00
arm-gic-v3.h irqchip/gic-v3-its: Fix ITT_entry_size accessor 2019-01-31 12:51:33 +00:00
arm-gic-v4.h irqchip/gic-v4: Add forward definition of struct irq_domain_ops 2017-11-13 16:21:33 +00:00
arm-gic.h irqchip/gic: Unify GIC priority definitions 2018-10-03 11:30:14 +01:00
arm-vic.h irqchip: support cascaded VICs 2014-02-13 11:21:21 +01:00
chained_irq.h
…
ingenic.h MIPS/IRQCHIP: Move Ingenic SoC intc driver to drivers/irqchip 2015-06-21 21:53:10 +02:00
irq-bcm2836.h irqchip: bcm2836: Move SMP startup code to arch/arm (v2) 2017-09-25 11:52:26 -07:00
irq-davinci-aintc.h ARM: davinci: aintc: use the new config structure 2019-02-19 19:55:17 +05:30
irq-davinci-cp-intc.h ARM: davinci: cp-intc: use the new-style config structure 2019-02-19 20:03:34 +05:30
irq-ixp4xx.h irqchip: Add driver for IXP4xx 2019-04-19 20:37:50 +02:00
irq-madera.h irqchip: Add driver for Cirrus Logic Madera codecs 2018-12-18 14:06:56 +00:00
irq-omap-intc.h irqchip/irq-omap-intc: Remove omap3_init_irq() 2017-10-16 21:05:14 +02:00
irq-partition-percpu.h irqchip: Add per-cpu interrupt partitioning library 2016-05-02 13:42:51 +02:00
irq-sa11x0.h ARM: 8367/1: sa1100: prepare for moving irq driver to drivers/irqchip 2015-05-28 14:40:03 +01:00
mmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mxs.h
…
versatile-fpga.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xtensa-mx.h
…
xtensa-pic.h
…