public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add Apple interrupt controller 3 support
@ 2026-01-28  8:57 Janne Grunau
  2026-01-28  8:57 ` [PATCH v2 1/2] dt-bindings: interrupt-controller: apple,aic2: Add AICv3 Janne Grunau
  2026-01-28  8:57 ` [PATCH v2 2/2] irqchip/apple-aic: Add support for "apple,t8122-aic3" Janne Grunau
  0 siblings, 2 replies; 8+ messages in thread
From: Janne Grunau @ 2026-01-28  8:57 UTC (permalink / raw)
  To: Sven Peter, Neal Gompa, Thomas Gleixner, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: asahi, linux-arm-kernel, linux-kernel, devicetree, Janne Grunau

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 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

---
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  | 45 +++++++++++++++++-----
 drivers/irqchip/irq-apple-aic.c                    | 24 ++++++++++--
 2 files changed, 57 insertions(+), 12 deletions(-)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260119-irq-apple-aic3-0314f6aa2a2a

Best regards,
-- 
Janne Grunau <j@jannau.net>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-02-06 14:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-28  8:57 [PATCH v2 0/2] Add Apple interrupt controller 3 support Janne Grunau
2026-01-28  8:57 ` [PATCH v2 1/2] dt-bindings: interrupt-controller: apple,aic2: Add AICv3 Janne Grunau
2026-01-30  8:03   ` Thomas Gleixner
2026-02-05 12:50   ` Krzysztof Kozlowski
2026-02-05 18:01     ` Sven Peter
2026-02-05 22:19       ` Janne Grunau
2026-02-06 14:44         ` Sven Peter
2026-01-28  8:57 ` [PATCH v2 2/2] irqchip/apple-aic: Add support for "apple,t8122-aic3" Janne Grunau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox