From: Ashish Mhetre <amhetre@nvidia.com>
To: <will@kernel.org>, <robin.murphy@arm.com>, <joro@8bytes.org>,
<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<thierry.reding@gmail.com>, <jonathanh@nvidia.com>,
<jgg@ziepe.ca>, <nicolinc@nvidia.com>
Cc: <linux-tegra@nvidia.com>, <linux-arm-kernel@lists.infradead.org>,
<iommu@lists.linux.dev>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
Ashish Mhetre <amhetre@nvidia.com>
Subject: [PATCH 3/3] arm64: dts: nvidia: Add nodes for CMDQV
Date: Fri, 31 Oct 2025 06:29:59 +0000 [thread overview]
Message-ID: <20251031062959.1521704-4-amhetre@nvidia.com> (raw)
In-Reply-To: <20251031062959.1521704-1-amhetre@nvidia.com>
The Command Queue Virtualization (CMDQV) hardware is part of the
SMMUv3 implementation on NVIDIA Tegra SoCs. It assists in
virtualizing the command queue for the SMMU.
Add device tree nodes for the CMDQV hardware in the Tegra264 SoC
device tree and enable them on the tegra264-p3834 platform where
SMMUs are enabled. Each SMMU instance is paired with its corresponding
CMDQV instance via the nvidia,cmdqv property.
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
---
.../arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 8 +++
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 50 +++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
index 06795c82427a..375d122b92fa 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264-p3834.dtsi
@@ -26,5 +26,13 @@ iommu@5000000 {
iommu@6000000 {
status = "okay";
};
+
+ cmdqv@5200000 {
+ status = "okay";
+ };
+
+ cmdqv@6200000 {
+ status = "okay";
+ };
};
};
diff --git a/arch/arm64/boot/dts/nvidia/tegra264.dtsi b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
index 872a69553e3c..609f6f5f7ef5 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
@@ -212,6 +212,7 @@ smmu1: iommu@5000000 {
#iommu-cells = <1>;
dma-coherent;
+ nvidia,cmdqv = <&cmdqv1>;
};
smmu2: iommu@6000000 {
@@ -224,6 +225,25 @@ smmu2: iommu@6000000 {
#iommu-cells = <1>;
dma-coherent;
+ nvidia,cmdqv = <&cmdqv2>;
+ };
+
+ cmdqv1: cmdqv@5200000 {
+ compatible = "nvidia,tegra264-cmdqv";
+ status = "disabled";
+
+ reg = <0x00 0x5200000 0x0 0x830000>;
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "cmdqv";
+ };
+
+ cmdqv2: cmdqv@6200000 {
+ compatible = "nvidia,tegra264-cmdqv";
+ status = "disabled";
+
+ reg = <0x00 0x6200000 0x0 0x830000>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "cmdqv";
};
mc: memory-controller@8020000 {
@@ -288,6 +308,7 @@ smmu0: iommu@a000000 {
#iommu-cells = <1>;
dma-coherent;
+ nvidia,cmdqv = <&cmdqv0>;
};
smmu4: iommu@b000000 {
@@ -300,6 +321,25 @@ smmu4: iommu@b000000 {
#iommu-cells = <1>;
dma-coherent;
+ nvidia,cmdqv = <&cmdqv4>;
+ };
+
+ cmdqv0: cmdqv@a200000 {
+ compatible = "nvidia,tegra264-cmdqv";
+ status = "disabled";
+
+ reg = <0x00 0xa200000 0x0 0x830000>;
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "cmdqv";
+ };
+
+ cmdqv4: cmdqv@b200000 {
+ compatible = "nvidia,tegra264-cmdqv";
+ status = "disabled";
+
+ reg = <0x00 0xb200000 0x0 0x830000>;
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "cmdqv";
};
i2c14: i2c@c410000 {
@@ -541,6 +581,16 @@ smmu3: iommu@6000000 {
#iommu-cells = <1>;
dma-coherent;
+ nvidia,cmdqv = <&cmdqv3>;
+ };
+
+ cmdqv3: cmdqv@6200000 {
+ compatible = "nvidia,tegra264-cmdqv";
+ status = "disabled";
+
+ reg = <0x00 0x6200000 0x0 0x830000>;
+ interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "cmdqv";
};
};
--
2.25.1
prev parent reply other threads:[~2025-10-31 6:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-31 6:29 [PATCH 0/3] Add device tree support for NVIDIA Tegra CMDQV Ashish Mhetre
2025-10-31 6:29 ` [PATCH 1/3] iommu/arm-smmu-v3: Add device-tree support for CMDQV driver Ashish Mhetre
2025-10-31 17:29 ` Nicolin Chen
2025-11-03 13:06 ` Ashish Mhetre
2025-10-31 6:29 ` [PATCH 2/3] dt-bindings: iommu: Add NVIDIA Tegra CMDQV support Ashish Mhetre
2025-10-31 8:14 ` Krzysztof Kozlowski
2025-10-31 21:00 ` Nicolin Chen
2025-11-03 13:54 ` Ashish Mhetre
2025-11-10 6:50 ` Ashish Mhetre
2025-11-20 6:07 ` Ashish Mhetre
2025-11-20 10:23 ` Robin Murphy
2025-11-21 5:46 ` Ashish Mhetre
2025-10-31 6:29 ` Ashish Mhetre [this message]
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=20251031062959.1521704-4-amhetre@nvidia.com \
--to=amhetre@nvidia.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@nvidia.com \
--cc=linux-tegra@vger.kernel.org \
--cc=nicolinc@nvidia.com \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=thierry.reding@gmail.com \
--cc=will@kernel.org \
/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