From: Tushar Nimkar <tushar.nimkar@amd.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, <devicetree@vger.kernel.org>
Cc: Michal Simek <michal.simek@amd.com>,
Anirudha Sarangi <anirudha.sarangi@amd.com>, <git-dev@amd.com>,
Tushar Nimkar <tushar.nimkar@amd.com>
Subject: [PATCH 1/2] dt-bindings: interrupt-controller: Add Xilinx Versal NET SMMU CSR binding
Date: Mon, 17 Aug 2026 16:22:33 +0530 [thread overview]
Message-ID: <20260817105233.1557748-1-tushar.nimkar@amd.com> (raw)
From: Anirudha Sarangi <anirudha.sarangi@amd.com>
Add a device tree binding schema for the Xilinx Versal NET SMMU CSR
(Control and Status Register) interrupt controller.
The SMMU CSR block acts as a vendor-specific interrupt controller
in front of the ARM SMMUv3, providing registers to enable and clear
standard SMMU interrupts such as EVENTQ, CMDQ_SYNC, GERROR and PRIQ.
Interrupts must be acknowledged in this block before being forwarded
to the parent interrupt controller (e.g. GIC).
Signed-off-by: Anirudha Sarangi <anirudha.sarangi@amd.com>
Co-developed-by: Tushar Nimkar <tushar.nimkar@amd.com>
Signed-off-by: Tushar Nimkar <tushar.nimkar@amd.com>
---
.../xlnx,versal-net-smmu-csr.yaml | 85 +++++++++++++++++++
1 file changed, 85 insertions(+)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/xlnx,versal-net-smmu-csr.yaml
diff --git a/Documentation/devicetree/bindings/interrupt-controller/xlnx,versal-net-smmu-csr.yaml b/Documentation/devicetree/bindings/interrupt-controller/xlnx,versal-net-smmu-csr.yaml
new file mode 100644
index 000000000000..3387deabb5be
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/xlnx,versal-net-smmu-csr.yaml
@@ -0,0 +1,85 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/xlnx,versal-net-smmu-csr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Xilinx Versal NET SMMU CSR Interrupt Controller
+
+maintainers:
+ - Anirudha Sarangi <anirudha.sarangi@amd.com>
+ - Tushar Nimkar <tushar.nimkar@amd.com>
+
+description: |
+ The Versal NET platform includes a Xilinx-specific SMMU CSR (Control and
+ Status Register) block that acts as an intermediate interrupt controller
+ for ARM SMMUv3.
+
+ The block provides registers to enable, disable and clear the
+ standard SMMUv3 interrupt sources (EVENTQ, CMDQ_SYNC, GERROR and PRIQ)
+ before forwarding them to the parent interrupt controller,
+ typically a GIC.
+
+ The controller receives one parent interrupt and demultiplexes CSR
+ status bits into the following child interrupt identifiers
+ 0 - EVENTQ
+ 1 - CMDQ_SYNC
+ 2 - GERROR (GLOBAL)
+ 3 - PRIQ
+
+allOf:
+ - $ref: /schemas/interrupt-controller.yaml#
+
+properties:
+ compatible:
+ const: xlnx,versal-net-smmu-csr
+
+ reg:
+ maxItems: 1
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 1
+ description: |
+ Single cell containing the child interrupt identifier
+ 0 - EVENTQ
+ 1 - CMDQ_SYNC
+ 2 - GERROR (GLOBAL)
+ 3 - PRIQ
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupt-controller
+ - "#interrupt-cells"
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ iommu@ec000000 {
+ compatible = "arm,smmu-v3";
+ reg = <0xec000000 0x40000>;
+ #iommu-cells = <1>;
+ dma-coherent;
+ interrupt-names = "eventq", "gerror", "priq";
+ interrupt-parent = <&smmu_irq_csr>;
+ interrupts = <0>, <2>, <3>;
+ };
+
+ smmu_irq_csr: interrupt-controller@eca10000 {
+ compatible = "xlnx,versal-net-smmu-csr";
+ reg = <0xeca10000 0x1000>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
+ };
--
2.34.1
next reply other threads:[~2026-08-17 10:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 10:52 Tushar Nimkar [this message]
2026-08-18 7:03 ` [PATCH 1/2] dt-bindings: interrupt-controller: Add Xilinx Versal NET SMMU CSR binding Krzysztof Kozlowski
2026-08-18 7:03 ` Krzysztof Kozlowski
2026-08-18 7:18 ` Michal Simek
2026-08-18 7:26 ` Tushar Nimkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260817105233.1557748-1-tushar.nimkar@amd.com \
--to=tushar.nimkar@amd.com \
--cc=anirudha.sarangi@amd.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=git-dev@amd.com \
--cc=krzk+dt@kernel.org \
--cc=michal.simek@amd.com \
--cc=robh@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).