* [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 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, 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 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 [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 15:37 ` Mukesh Ojha 2026-11-04 11:35 ` Komal Bajaj 0 siblings, 1 reply; 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
* Re: [PATCH v3 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Allow 3 IOMMUs for LPAICP 2026-10-05 15:37 ` Mukesh Ojha @ 2026-11-04 11:35 ` Komal Bajaj 0 siblings, 0 replies; 6+ messages in thread From: Komal Bajaj @ 2026-11-04 11:35 UTC (permalink / raw) To: Mukesh Ojha 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 10/5/2026 9:07 PM, Mukesh Ojha wrote: > 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. Agree, that makes more sense. I will move iommu constraints to the corresponding target-specific bindings in next revision. Thanks Komal > >> - >> - 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 [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 [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-11-04 11:35 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 15:37 ` Mukesh Ojha 2026-11-04 11:35 ` Komal Bajaj 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
all inboxes | Powered by JetHome®