* [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
* 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
* [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
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