]> git.ipfire.org Git - thirdparty/linux.git/commit
dt-bindings: interrupt-controller: econet: Add CPU interrupt mapping
authorCaleb James DeLisle <cjd@cjdns.fr>
Thu, 30 Apr 2026 16:41:56 +0000 (16:41 +0000)
committerThomas Gleixner <tglx@kernel.org>
Mon, 11 May 2026 13:29:30 +0000 (15:29 +0200)
commit02bea6ff684b62c14d5c6eafaee752d24fe62352
tree44805be952778c5edd2201013b58178158574f0e
parent5b9cb104594f0ea73c2eba83aa93c0cb7ac2238e
dt-bindings: interrupt-controller: econet: Add CPU interrupt mapping

In MIPS VEIC mode (Vectored External Interrupt Controller), the
hardware stops directly dispatching CPU interrupts such as IPIs or CPU
performance counters, and instead it communicates them to the external
interrupt controller (the hardware described here) which prioritizes,
renumbers, and integrates them with its own hardware interrupt pins.
Interrupts from the external controller are then dispatched through a
different method via a dispatch table. In effect, the external
controller subsumes the CPU controller and becomes the root.

34K Manual (MD00534) Section 6.3.1.3 rev 1.13 page 136

Since there are interrupts which ought to be controlled by the CPU
controller driver - particularly the IPI interrupts - we create a
reverse mapping where those interrupts may be sent back to the CPU
intc when they are received. This maintains the fiction that there is
still a hierarchy, and keeps the DT the same no matter whether the
processor is in VEIC mode or not. The econet,cpu-interrupt-map is
optional and if omitted, it's assumed that no interrupts need to be
mapped.

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260430164157.6026-2-cjd@cjdns.fr
Documentation/devicetree/bindings/interrupt-controller/econet,en751221-intc.yaml