Commit 76cde263 authored by Hector Martin's avatar Hector Martin
Browse files

irqchip/apple-aic: Add support for the Apple Interrupt Controller



This is the root interrupt controller used on Apple ARM SoCs such as the
M1. This irqchip driver performs multiple functions:

* Handles both IRQs and FIQs

* Drives the AIC peripheral itself (which handles IRQs)

* Dispatches FIQs to downstream hard-wired clients (currently the ARM
  timer).

* Implements a virtual IPI multiplexer to funnel multiple Linux IPIs
  into a single hardware IPI

Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
Acked-by: default avatarWill Deacon <will@kernel.org>
Signed-off-by: default avatarHector Martin <marcan@marcan.st>
parent f531d25b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1647,6 +1647,8 @@ C: irc://chat.freenode.net/asahi-dev
T:	git https://github.com/AsahiLinux/linux.git
F:	Documentation/devicetree/bindings/arm/apple.yaml
F:	Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
F:	drivers/irqchip/irq-apple-aic.c
F:	include/dt-bindings/interrupt-controller/apple-aic.h
ARM/ARTPEC MACHINE SUPPORT
M:	Jesper Nilsson <jesper.nilsson@axis.com>
+8 −0
Original line number Diff line number Diff line
@@ -577,4 +577,12 @@ config MST_IRQ
	help
	  Support MStar Interrupt Controller.

config APPLE_AIC
	bool "Apple Interrupt Controller (AIC)"
	depends on ARM64
	default ARCH_APPLE
	help
	  Support for the Apple Interrupt Controller found on Apple Silicon SoCs,
	  such as the M1.

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -113,3 +113,4 @@ obj-$(CONFIG_LOONGSON_PCH_MSI) += irq-loongson-pch-msi.o
obj-$(CONFIG_MST_IRQ)			+= irq-mst-intc.o
obj-$(CONFIG_SL28CPLD_INTC)		+= irq-sl28cpld.o
obj-$(CONFIG_MACH_REALTEK_RTL)		+= irq-realtek-rtl.o
obj-$(CONFIG_APPLE_AIC)			+= irq-apple-aic.o
+852 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −0

File changed.

Preview size limit exceeded, changes collapsed.