* [PATCH v3 0/2] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants
@ 2026-10-05 11:14 Komal Bajaj
2026-10-05 11:14 ` [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP Komal Bajaj
2026-10-05 11:14 ` [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
0 siblings, 2 replies; 6+ messages in thread
From: Komal Bajaj @ 2026-10-05 11:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Komal Bajaj, Bibek Kumar Patro, Abel Vesa
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.
This series also relaxes the Qualcomm PAS remoteproc `iommus` item limit,
needed for Shikra EL2 remoteproc SMMU mappings.
Komal Bajaj (2):
dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
.../bindings/remoteproc/qcom,pas-common.yaml | 3 ++-
arch/arm64/boot/dts/qcom/Makefile | 12 ++++++++++++
arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++
3 files changed, 37 insertions(+), 1 deletion(-)
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
Changes in v3:
- Drop qcom,pas-common reference and add per-compatible iommus limits for Shikra (Krzysztof)
- Link to v2: https://lore.kernel.org/r/20260930-shikra-el2-v2-0-f0822be5aaee@oss.qualcomm.com
Changes in v2:
- Relax the Qualcomm PAS remoteproc `iommus` item limit, needed for Shikra EL2 remoteproc SMMU mappings.
- Link to v1: https://lore.kernel.org/r/20260918-shikra-el2-v1-1-07bb072baa31@oss.qualcomm.com
---
Komal Bajaj (2):
dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
.../bindings/remoteproc/qcom,shikra-pas.yaml | 15 ++++++++++++--
arch/arm64/boot/dts/qcom/Makefile | 11 +++++++++++
arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 ++++++++++++++++++++++
3 files changed, 47 insertions(+), 2 deletions(-)
---
base-commit: f0406245cb9855e6318335a8a223551354291a46
change-id: 20260918-shikra-el2-ea8969385c3c
Best regards,
--
Komal Bajaj <komal.bajaj@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
2026-10-05 11:14 [PATCH v3 0/2] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
@ 2026-10-05 11:14 ` Komal Bajaj
2026-10-05 11:24 ` sashiko-bot
2026-10-05 15:37 ` Mukesh Ojha
2026-10-05 11:14 ` [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
1 sibling, 2 replies; 6+ messages in thread
From: Komal Bajaj @ 2026-10-05 11:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Komal Bajaj
The Shikra LPAICP PAS requires three IOMMU entries. However,
qcom,shikra-pas.yaml inherits the `iommus` schema from
qcom,pas-common.yaml, which limits property to a single entry.
As a result, the LPAICP-specific `maxItems: 3` constraint conflicts
with the inherited `maxItems: 1` constraint, and a valid LPAICP node
fails schema validation.
Remove the pas-common schema reference and specify IOMMU entry limit
for each Shikra PAS compatible: one entry for CDSP and MPSS, and
three entries for LPAICP.
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
.../devicetree/bindings/remoteproc/qcom,shikra-pas.yaml | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
index 34a2f15e9361..4196f61a8ba0 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
@@ -32,6 +32,9 @@ properties:
items:
- const: xo
+ interconnects:
+ maxItems: 1
+
memory-region:
minItems: 1
maxItems: 2
@@ -92,10 +95,14 @@ required:
- compatible
- reg
- memory-region
+ - clocks
+ - clock-names
+ - interrupts
+ - interrupt-names
+ - qcom,smem-states
+ - qcom,smem-state-names
allOf:
- - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
-
- if:
properties:
compatible:
@@ -112,6 +119,8 @@ allOf:
maxItems: 1
firmware-name:
maxItems: 1
+ iommus:
+ maxItems: 1
power-domains:
items:
- description: CX power domain
@@ -134,6 +143,8 @@ allOf:
minItems: 2
firmware-name:
minItems: 2
+ iommus:
+ maxItems: 3
power-domains: false
power-domain-names: false
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
2026-10-05 11:14 [PATCH v3 0/2] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
2026-10-05 11:14 ` [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP Komal Bajaj
@ 2026-10-05 11:14 ` Komal Bajaj
2026-10-05 11:18 ` Dmitry Baryshkov
1 sibling, 1 reply; 6+ messages in thread
From: Komal Bajaj @ 2026-10-05 11:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
Manivannan Sadhasivam
Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
Komal Bajaj, Bibek Kumar Patro, Abel Vesa
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@oss.qualcomm.com>
Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 11 +++++++++++
arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 88230c4e00ea..296c53b82687 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -373,9 +373,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
+
shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo
shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo
shikra-iqs-evk-imx577-camera-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-imx577-camera.dtbo
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>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
2026-10-05 11:14 ` [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
@ 2026-10-05 11:18 ` Dmitry Baryshkov
0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-10-05 11:18 UTC (permalink / raw)
To: Komal Bajaj
Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
Manivannan Sadhasivam, linux-arm-msm, devicetree, linux-kernel,
linux-remoteproc, Bibek Kumar Patro, Abel Vesa
On Mon, Oct 05, 2026 at 04:44:46PM +0530, 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@oss.qualcomm.com>
> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 11 +++++++++++
> arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++
> 2 files changed, 34 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
2026-10-05 11:14 ` [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP Komal Bajaj
@ 2026-10-05 11:24 ` sashiko-bot
2026-10-05 15:37 ` Mukesh Ojha
1 sibling, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-10-05 11:24 UTC (permalink / raw)
To: Komal Bajaj; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dt-bindings: remoteproc: qcom,shikra-pas: Broken inheritance drops #cooling-cells
- [Low] dt-bindings: remoteproc: qcom,shikra-pas: Missing minItems: 3 for iommus
--
commit e7d5ea05bb3cbb1ebebda930478b2df76f82dd6e
Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
This patch removes the common PAS schema inheritance (qcom,pas-common.yaml)
and specifies local IOMMU entry limits for each Shikra PAS compatible. It
allows 3 IOMMU entries for the LPAICP variant, resolving a conflict where the
common schema previously limited iommus to a single entry.
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> index 34a2f15e93616..4196f61a8ba0c 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
[ ... ]
> @@ -92,10 +95,14 @@ required:
> - compatible
> - reg
> - memory-region
> + - clocks
> + - clock-names
> + - interrupts
> + - interrupt-names
> + - qcom,smem-states
> + - qcom,smem-state-names
>
> allOf:
> - - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
> -
> - if:
> properties:
> compatible:
[Severity: Medium]
Does removing the $ref to qcom,pas-common.yaml# cause the schema to lose
support for standard PAS features like #cooling-cells?
Because json-schema allOf cannot loosen constraints, the inheritance from the
common PAS schema was severed to resolve the conflict with the inherited
maxItems: 1 constraint on iommus.
However, this prevents qcom,shikra-pas.yaml from receiving future updates to
the common PAS schema and silently drops support for inherited properties.
Since unevaluatedProperties: false is used, any attempt to use #cooling-cells
in a Shikra PAS node will now trigger a schema validation error.
Would it be better to relax the iommus: maxItems constraint in
qcom,pas-common.yaml (e.g., to 3 or higher) and apply stricter local
constraints where needed, rather than breaking the inheritance chain?
[ ... ]
> @@ -134,6 +143,8 @@ allOf:
> minItems: 2
> firmware-name:
> minItems: 2
> + iommus:
> + maxItems: 3
[Severity: Low]
Should there be a minItems: 3 constraint added here?
The commit message explicitly states: "The Shikra LPAICP PAS requires three
IOMMU entries." However, maxItems only sets an upper bound.
Without minItems: 3, incomplete device tree overlays with only 1 or 2 iommus
entries will silently pass schema validation despite violating the strict
hardware requirement.
Making the property mandatory via required: would be incorrect since iommus
is intentionally omitted from the base DT and added via an EL2 overlay, but
when the property is present, the 3-entry minimum size constraint must be
enforced.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261005-shikra-el2-v3-0-618f7343695c@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP
2026-10-05 11:14 ` [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP Komal Bajaj
2026-10-05 11:24 ` sashiko-bot
@ 2026-10-05 15:37 ` Mukesh Ojha
1 sibling, 0 replies; 6+ messages in thread
From: Mukesh Ojha @ 2026-10-05 15:37 UTC (permalink / raw)
To: Komal Bajaj
Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
Manivannan Sadhasivam, linux-arm-msm, devicetree, linux-kernel,
linux-remoteproc
On Mon, Oct 05, 2026 at 04:44:45PM +0530, Komal Bajaj wrote:
> The Shikra LPAICP PAS requires three IOMMU entries. However,
> qcom,shikra-pas.yaml inherits the `iommus` schema from
> qcom,pas-common.yaml, which limits property to a single entry.
>
> As a result, the LPAICP-specific `maxItems: 3` constraint conflicts
> with the inherited `maxItems: 1` constraint, and a valid LPAICP node
> fails schema validation.
>
> Remove the pas-common schema reference and specify IOMMU entry limit
> for each Shikra PAS compatible: one entry for CDSP and MPSS, and
> three entries for LPAICP.
>
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
> .../devicetree/bindings/remoteproc/qcom,shikra-pas.yaml | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> index 34a2f15e9361..4196f61a8ba0 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> @@ -32,6 +32,9 @@ properties:
> items:
> - const: xo
>
> + interconnects:
> + maxItems: 1
> +
> memory-region:
> minItems: 1
> maxItems: 2
> @@ -92,10 +95,14 @@ required:
> - compatible
> - reg
> - memory-region
> + - clocks
> + - clock-names
> + - interrupts
> + - interrupt-names
> + - qcom,smem-states
> + - qcom,smem-state-names
>
> allOf:
> - - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
I think the right approach would be to remove iommu from the common binding
and let the corresponding target put the constraints.
> -
> - if:
> properties:
> compatible:
> @@ -112,6 +119,8 @@ allOf:
> maxItems: 1
> firmware-name:
> maxItems: 1
> + iommus:
> + maxItems: 1
> power-domains:
> items:
> - description: CX power domain
> @@ -134,6 +143,8 @@ allOf:
> minItems: 2
> firmware-name:
> minItems: 2
> + iommus:
> + maxItems: 3
> power-domains: false
> power-domain-names: false
>
>
> --
> 2.34.1
>
--
-Mukesh Ojha
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-10-05 15:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-05 11:14 [PATCH v3 0/2] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
2026-10-05 11:14 ` [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP Komal Bajaj
2026-10-05 11:24 ` sashiko-bot
2026-10-05 15:37 ` Mukesh Ojha
2026-10-05 11:14 ` [PATCH v3 2/2] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
2026-10-05 11:18 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox