Re: [PATCH] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
From: Komal Bajaj
Date: Wed Sep 30 2026 - 08:22:52 EST
On 9/18/2026 6:04 PM, Komal Bajaj wrote:
Shikra boards currently boot Linux under a hypervisor, where the
remote processor firmware IOMMU streams are managed by the hypervisor.
When booting Linux directly at EL2 without the hypervisor, the IOMMU
is instead managed by the consumer of this DeviceTree, so the firmware
streams for each remote processor need to be described explicitly.
Add an EL2-specific DT overlay and apply it to all Shikra EVK variants
devices to produce an -el2.dtb alongside the "normal" dtb.
Co-developed-by: Bibek Kumar Patro <bibek.patro@xxxxxxxxxxxxxxxx>
Signed-off-by: Bibek Kumar Patro <bibek.patro@xxxxxxxxxxxxxxxx>
Signed-off-by: Komal Bajaj <komal.bajaj@xxxxxxxxxxxxxxxx>
---
All existing Shikra EVK board variants boot Linux under a hypervisor,
which means Linux typically runs at EL1. For EL2 boot without the
hypervisor, remote processor firmware IOMMU streams must be described in
the DeviceTree consumed by Linux.
Add a Shikra EL2-specific DT overlay and wire it up in the Makefile to
produce -el2.dtb artifacts for the Shikra EVK variants alongside the
regular dtbs.
Komal Bajaj (1):
arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
arch/arm64/boot/dts/qcom/Makefile | 12 ++++++++++++
arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/shikra-el2.dtso
---
arch/arm64/boot/dts/qcom/Makefile | 12 ++++++++++++
arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 5c19f945c785..686d37cab02f 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -359,8 +359,20 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdx75-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk.dtb
+
+shikra-cqm-evk-el2-dtbs := shikra-cqm-evk.dtb shikra-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-el2.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk.dtb
+
+shikra-cqs-evk-el2-dtbs := shikra-cqs-evk.dtb shikra-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-el2.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb
+
+shikra-iqs-evk-el2-dtbs := shikra-iqs-evk.dtb shikra-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-el2.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm4450-qrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb
diff --git a/arch/arm64/boot/dts/qcom/shikra-el2.dtso b/arch/arm64/boot/dts/qcom/shikra-el2.dtso
new file mode 100644
index 000000000000..d2f3186bd47d
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/shikra-el2.dtso
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ *
+ * Shikra specific modifications required to boot in EL2.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&gpu_zap_shader {
+ status = "disabled";
+};
+
+&remoteproc_cdsp {
+ iommus = <&apps_smmu 0x0200 0x0>;
+};
+
+&remoteproc_lpaicp {
+ iommus = <&apps_smmu 0x0360 0x0005>,
+ <&apps_smmu 0x0366 0x0000>,
+ <&apps_smmu 0x00e7 0x0000>;
+};
Please ignore this patch. With this change, DT schema validation error is being reported:
from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml
arch/arm64/boot/dts/qcom/shikra-cqs-evk-el2.dtb:
remoteproc@b800000 (qcom,shikra-lpaicp-pas): iommus: [[41, 864, 5], [41, 870, 0], [41, 231, 0]] is too long
I have posted a v2 [1] of the patch series to address DT schema validation warning.
[1] https://lore.kernel.org/all/20260930-shikra-el2-v2-0-f0822be5aaee@xxxxxxxxxxxxxxxx/
Thanks
Komal
---
base-commit: e657a464aba873f5eaf3ca821b6e4016674492d6
change-id: 20260918-shikra-el2-ea8969385c3c
Best regards,