Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp761306pxp; Fri, 11 Mar 2022 14:25:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0Gnrm/nscHdcSuYUv1XCi8oJ0y/F00328Wk7tM6Sw1FBAT11smBgHTX8HjSxlTw9xztgP X-Received: by 2002:a17:90a:8987:b0:1be:dde1:c672 with SMTP id v7-20020a17090a898700b001bedde1c672mr13085509pjn.208.1647037540608; Fri, 11 Mar 2022 14:25:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1647037540; cv=none; d=google.com; s=arc-20160816; b=FJnFREIEFWnFiQVzQjmKOlzR/8ElRgrAFdE/45xztdQ1TH7HbdhAFwXGOH2BNPOG4J NHqCUPg374BgKGLsPoUs5cw4Vofo/f64rpIp+9ZHX8pBhQUvLsb8I0llIleB/kQ1I2U3 i14bL36E3JYi5KkagSuq0uaJxMGBhRbtY4brkUlh/x53yjJku/fNSJ36W8E1OxiTILZe isvyUEQoa8Dr/nL3CySNKt0m5/Gq4rpQDdoFJrqWFbreYWlORJGqlm8LXK2Q9FsjsZ3h 9PjUi4PHeQDVSmHiIidBaTcXr/KNAH5O50UJkfuiSdGAYLROm7VwtzSIvSiSsTunlVop vXcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=VTBxIhlZUfsoX4c6mMezxGSXt9jd9PN3MbMHTLVSixE=; b=04kI3ks0R/SUktTbuOfKKORWn7HSrrDoFN2I0XKKbfPxJNKzrM5cSCViV2mNMuWQJp EPtb/DyaWaQnjlJ44Vx8vIVLUdC8EOnb+qJ8QdpF2XOY4kwpV1mGL8U/lzfv2EascKuU WWJsuD33ElDIrhKgYlL8+NKTkIOFIAAdzcUjpVpSGANT9IJYYE8JW9F/zK/nxFCDEza1 R65lefX9CMAh/kHKQMqwRZGZiRCBGjGdG3wEddC+Vu63awNXooW1HhK8v1b0U9r0Xva7 X2hvfszpEVpzQt5HmlBqMts3S7OuU46pS4A6O1oUu7Ua7RKF4u40op2gZ32YuerWU7NU 1I+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=H7AjKYlz; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id q196-20020a632acd000000b00372c870a694si9022063pgq.742.2022.03.11.14.25.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Mar 2022 14:25:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=H7AjKYlz; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1DCB0270F29; Fri, 11 Mar 2022 13:33:17 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347441AbiCKJV5 (ORCPT + 99 others); Fri, 11 Mar 2022 04:21:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347396AbiCKJVp (ORCPT ); Fri, 11 Mar 2022 04:21:45 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41FFC1BD05D for ; Fri, 11 Mar 2022 01:20:42 -0800 (PST) Date: Fri, 11 Mar 2022 09:20:39 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1646990440; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VTBxIhlZUfsoX4c6mMezxGSXt9jd9PN3MbMHTLVSixE=; b=H7AjKYlzEkKdUYOkfT5yLH78lmMNK7h9RHeLqg4Qr2xk4vXDF7iJujGHSWyolTjEhNKx+5 UR9ObYCV0buNb1W9dLGlD8jjq3RacC31wwY6rpHAdENn3VobIIqaSV+bxN9cDTadxDIQmd LCUUNbh5uXFIhPcNvfK4yHg2vFI0JfwbVWK9xZ2UoKhgsHB3RN6Y88JIyIBz5wsfiX2bS/ sCzYBUs4MQ+g8EnWNVZExze6VnyfLXHkWxWPtpUZqujq4XyPBsqo0SPUlGIPgeXjuIlJFU YI4YmAlVR1+zNfbuNDNUl4WFZKpNcFciRfPNTpffwHViAV6z2FPi9X1TaEYBBw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1646990440; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VTBxIhlZUfsoX4c6mMezxGSXt9jd9PN3MbMHTLVSixE=; b=KfLUIl3igAULIEeGlGc33934MEjgjLaKQvu03V3pqQDon9dTLDAOgxjpXLxwhbZMutTT8C zLh67jCNOPoeGEDA== From: "irqchip-bot for Hector Martin" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-kernel@vger.kernel.org Subject: [irqchip: irq/irqchip-next] dt-bindings: interrupt-controller: apple,aic2: New binding for AICv2 Cc: Rob Herring , Hector Martin , Marc Zyngier , tglx@linutronix.de In-Reply-To: <20220309192123.152028-3-marcan@marcan.st> References: <20220309192123.152028-3-marcan@marcan.st> MIME-Version: 1.0 Message-ID: <164699043956.16921.5388075787173970256.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the irq/irqchip-next branch of irqchip: Commit-ID: ab1fd5abb75001d37e1fef5f310951b56f41ad58 Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/ab1fd5abb75001d37e1fef5f310951b56f41ad58 Author: Hector Martin AuthorDate: Thu, 10 Mar 2022 04:21:18 +09:00 Committer: Marc Zyngier CommitterDate: Fri, 11 Mar 2022 08:59:00 dt-bindings: interrupt-controller: apple,aic2: New binding for AICv2 This new incompatible revision of the AIC peripheral introduces multi-die support. This binding is based on apple,aic, but changes interrupt-cells to add a new die argument. Also adds a second reg entry to specify the offset of the event register. Inexplicably, the capability registers allow us to compute other register offsets, but not this one. This allows us to keep forward-compatibility with future SoCs that will likely implement different die counts, thus shifting the event register. Apple also specify the offset explicitly in their device tree... Reviewed-by: Rob Herring Signed-off-by: Hector Martin Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20220309192123.152028-3-marcan@marcan.st --- Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- MAINTAINERS | 2 +- 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml new file mode 100644 index 0000000..47a78a1 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml @@ -0,0 +1,98 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/interrupt-controller/apple,aic2.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple Interrupt Controller 2 + +maintainers: + - Hector Martin + +description: | + The Apple Interrupt Controller 2 is a simple interrupt controller present on + Apple ARM SoC platforms starting with t600x (M1 Pro and Max). + + It provides the following features: + + - Level-triggered hardware IRQs wired to SoC blocks + - Single mask bit per IRQ + - Automatic masking on event delivery (auto-ack) + - Software triggering (ORed with hw line) + - Automatic prioritization (single event/ack register per CPU, lower IRQs = + higher priority) + - Automatic masking on ack + - Support for multiple dies + + This device also represents the FIQ interrupt sources on platforms using AIC, + which do not go through a discrete interrupt controller. It also handles + FIQ-based Fast IPIs. + +properties: + compatible: + items: + - const: apple,t6000-aic + - const: apple,aic2 + + interrupt-controller: true + + '#interrupt-cells': + const: 4 + description: | + The 1st cell contains the interrupt type: + - 0: Hardware IRQ + - 1: FIQ + + The 2nd cell contains the die ID. + + The next cell contains the interrupt number. + - HW IRQs: interrupt number + - FIQs: + - 0: physical HV timer + - 1: virtual HV timer + - 2: physical guest timer + - 3: virtual guest timer + + The last cell contains the interrupt flags. This is normally + IRQ_TYPE_LEVEL_HIGH (4). + + reg: + items: + - description: Address and size of the main AIC2 registers. + - description: Address and size of the AIC2 Event register. + + reg-names: + items: + - const: core + - const: event + + power-domains: + maxItems: 1 + +required: + - compatible + - '#interrupt-cells' + - interrupt-controller + - reg + - reg-names + +additionalProperties: false + +allOf: + - $ref: /schemas/interrupt-controller.yaml# + +examples: + - | + soc { + #address-cells = <2>; + #size-cells = <2>; + + aic: interrupt-controller@28e100000 { + compatible = "apple,t6000-aic", "apple,aic2"; + #interrupt-cells = <4>; + interrupt-controller; + reg = <0x2 0x8e100000 0x0 0xc000>, + <0x2 0x8e10c000 0x0 0x4>; + reg-names = "core", "event"; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 69a2935..7a920a2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1767,7 +1767,7 @@ T: git https://github.com/AsahiLinux/linux.git F: Documentation/devicetree/bindings/arm/apple.yaml F: Documentation/devicetree/bindings/arm/apple/* F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml -F: Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml +F: Documentation/devicetree/bindings/interrupt-controller/apple,* F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml F: Documentation/devicetree/bindings/pci/apple,pcie.yaml F: Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml