[PATCH v3 0/2] Add Apple interrupt controller 3 support
From: Janne Grunau <j@jannau.net>
Date: 2026-02-23 20:43:05
Also in:
asahi, linux-devicetree, lkml
Add yet another variant of Apple's interrupt controller. This one might to stick for more SoC variants than their predecessors. According to Apple's device trees it is used on all SoCs since the M3 (t8122) up to M5 (t8142). This information is not 100% reliable since macOS uses different kernel builds for each SoC variant. As far as the functionality implemented in the Linux driver it is almost identical to AICv2. The only noticeable difference is an increased IRQ_CFG offset. AICv3 uses the same device tree bindings as AICv2 so add its compatible to the existing apple,aic2.yaml. Apple's device tree added many MMIO offsets as properties for the "aic,3" node. The offsets are the same for all released SoCs with AICv3 so the Linux driver continues to use hard coded offsets. Compatible strings for AICv3 will be SoC specific like "apple,t8122-aic3" so a potential future SoC with different offsets would use a new base compatible string for which the driver uses different MMIO offsets. While the offsets are the same on M4 and later SoCs access to implementation defined system registers will require different compatible strings. Signed-off-by: Janne Grunau <j@jannau.net> --- Changes in v3: - sort aic v2 compatible list alphabetically in dt-bindings - drop mostly duplicate t8122-aic3 example from dt-bindings - rebase onto v7.0-rc1 - Link to v2: https://lore.kernel.org/r/20260128-irq-apple-aic3-v2-0-b4bc8e16c997@jannau.net (local) Changes in v2: - allow single "apple,t8122-aic3" compatible in the bindings - drop leftover #include <linux/of.h> as it's not justified by the contents - comment and white space style fixes - sort cases by version in switch statement - Add Sven's Rb: - Link to v1: https://lore.kernel.org/r/20260125-irq-apple-aic3-v1-0-a2afe66a6ab9@jannau.net (local) --- Janne Grunau (2): dt-bindings: interrupt-controller: apple,aic2: Add AICv3 irqchip/apple-aic: Add support for "apple,t8122-aic3" .../bindings/interrupt-controller/apple,aic2.yaml | 30 +++++++++++++++------- drivers/irqchip/irq-apple-aic.c | 24 ++++++++++++++--- 2 files changed, 42 insertions(+), 12 deletions(-) --- base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f change-id: 20260119-irq-apple-aic3-0314f6aa2a2a Best regards, -- Janne Grunau [off-list ref]