Re: [PATCH v2 1/2] dt-bindings: interrupt-controller: apple,aic2: Add AICv3
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2026-02-05 12:50:42
Also in:
asahi, linux-devicetree, lkml
On Wed, Jan 28, 2026 at 09:57:08AM +0100, Janne Grunau wrote:
quoted hunk ↗ jump to hunk
AIC version 3 as found on the Apple M3 (t8122) is very similar to AICv2 in its base functionality. It can use the same device tree bindings as AICv2 so add it to the AICv2 bindings. This interrupt controller is used on all Apple SoCs starting with M3 up to at least M5. The only apparent difference is the increased IRQ config offset. Apple's device tree codes this new offset as property of the "aic" node but the value stayed constant for all SoCs with "aic,3". Since the SoC specific compatible "apple,t8122-aic3" will be used in the driver this offset can remain a driver implementation detail. Signed-off-by: Janne Grunau <j@jannau.net> --- .../bindings/interrupt-controller/apple,aic2.yaml | 45 +++++++++++++++++----- 1 file changed, 36 insertions(+), 9 deletions(-)diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml index ee5a0dfff437816056bda0de5523bf38be4f49ba..a6e2251fcc111340c0a27ab6912452f6b1255be2 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml@@ -4,10 +4,10 @@ $id: http://devicetree.org/schemas/interrupt-controller/apple,aic2.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple Interrupt Controller 2 +title: Apple Interrupt Controller 2 and 3 maintainers: - - Hector Martin <marcan@marcan.st> + - Janne Grunau <j@jannau.net> description: | The Apple Interrupt Controller 2 is a simple interrupt controller present on@@ -28,14 +28,24 @@ description: | which do not go through a discrete interrupt controller. It also handles FIQ-based Fast IPIs. + The Apple Interrupt Controller 3 is in its base functionality very similar to + the Apple Interrupt Controller 2 and uses the same device tree bindings. It is + found on Apple ARM SoCs platforms starting with t8122 (M3). + properties: compatible: - items: - - enum: - - apple,t8112-aic - - apple,t6000-aic - - apple,t6020-aic - - const: apple,aic2 + oneOf: + - items: + - enum: + - apple,t8112-aic + - apple,t6000-aic + - apple,t6020-aic
If you are re-shuffling these, you can as well sort alphanumerically.
+ - const: apple,aic2 + - items: + - enum: + - apple,t6030-aic3 + - const: apple,t8122-aic3 + - const: apple,t8122-aic3
Hm? How so this is not aic or aic2? We asked not to use generic compatibles for aic/aic2 - for all your early upstreamings. Our advice and request was in general rejected, although I could make a long term bet that we will be right. And here we are. Does this patch mean you finally agree with DT maintainers and abandon the generic compatible fiasko?
quoted hunk ↗ jump to hunk
interrupt-controller: true@@ -117,7 +127,9 @@ allOf: properties: compatible: contains: - const: apple,t8112-aic + enum: + - apple,t8112-aic + - apple,t8122-aic3 then: properties: '#interrupt-cells':@@ -141,4 +153,19 @@ examples: <0x2 0x8e10c000 0x0 0x4>; reg-names = "core", "event"; }; + + }; + - | + soc { + #address-cells = <2>; + #size-cells = <2>; + + aic_t8122: interrupt-controller@2d1000000 { + compatible = "apple,t8122-aic3";
No need for new example which has no differences from other ones. Drop. Best regards, Krzysztof