Devicetree
 help / color / mirror / Atom feed
* [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants
@ 2026-11-04 14:03 Komal Bajaj
  2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-04 14:03 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
	Komal Bajaj, Abel Vesa, Dmitry Baryshkov

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 v4:
- Add a patch to move the iommus constraint from qcom,pas-common.yaml to SoC-specific PAS bindings (Mukesh)
- Add iommus constraints for all Shikra PAS compatibles instead of only relaxing the limit for LPAICP
- Add WiFi firmware iommus to Shikra EL2 overlay
- Link to v3: https://lore.kernel.org/r/20261005-shikra-el2-v3-0-618f7343695c@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 (3):
      dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
      dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
      arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings

 .../bindings/remoteproc/qcom,pas-common.yaml       |  3 ---
 .../bindings/remoteproc/qcom,sa8775p-pas.yaml      |  6 +++++
 .../bindings/remoteproc/qcom,shikra-pas.yaml       |  5 ++++
 .../bindings/remoteproc/qcom,sm8150-pas.yaml       | 12 +++++++++
 .../bindings/remoteproc/qcom,sm8550-pas.yaml       | 12 +++++++++
 arch/arm64/boot/dts/qcom/Makefile                  | 11 ++++++++
 arch/arm64/boot/dts/qcom/shikra-el2.dtso           | 29 ++++++++++++++++++++++
 7 files changed, 75 insertions(+), 3 deletions(-)
---
base-commit: d6bcfc94eb4da6e089c5473970cd96727292fd97
change-id: 20260918-shikra-el2-ea8969385c3c

Best regards,
-- 
Komal Bajaj <komal.bajaj@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
  2026-11-04 14:03 [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
@ 2026-11-04 14:03 ` Komal Bajaj
  2026-11-04 14:13   ` sashiko-bot
  2026-11-05 13:35   ` Krzysztof Kozlowski
  2026-11-04 14:03 ` [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints Komal Bajaj
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-04 14:03 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
	Komal Bajaj

The `iommus` property constraint in qcom,pas-common.yaml is too
restrictive with `maxItems: 1`, preventing SoCs that require multiple
IOMMU entries from being properly described.

Remove `iommus` constraint from qcom,pas-common.yaml and add it to
SoC-specific binding files that have EL2 support and require IOMMU
configuration:

- qcom,sa8775p-pas.yaml: Add `iommus: maxItems: 1` for all sa8775p
  and qcs8300 remoteproc compatibles (lemans-el2, monaco-el2)

- qcom,sm8150-pas.yaml: Add `iommus: maxItems: 1` for qcs615
  remoteproc compatibles (talos-el2)

- qcom,sm8550-pas.yaml: Add `iommus: maxItems: 1` for x1e80100
  remoteproc compatibles (x1-el2)

This allows each SoC to define its own IOMMU requirements while
maintaining backward compatibility.

Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
 .../devicetree/bindings/remoteproc/qcom,pas-common.yaml      |  3 ---
 .../devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml     |  6 ++++++
 .../devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml      | 12 ++++++++++++
 .../devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml      | 12 ++++++++++++
 4 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
index f75cab6b4ed9..4662fe4cff62 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
@@ -32,9 +32,6 @@ properties:
     minItems: 5
     maxItems: 6
 
-  iommus:
-    maxItems: 1
-
   power-domains:
     minItems: 1
     maxItems: 3
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
index dda2d144b720..711c2f723b17 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
@@ -106,6 +106,8 @@ allOf:
           items:
             - const: lcx
             - const: lmx
+        iommus:
+          maxItems: 1
 
   - if:
       properties:
@@ -126,6 +128,8 @@ allOf:
             - const: cx
             - const: mxc
             - const: nsp
+        iommus:
+          maxItems: 1
 
   - if:
       properties:
@@ -144,6 +148,8 @@ allOf:
           items:
             - const: cx
             - const: mxc
+        iommus:
+          maxItems: 1
 
 unevaluatedProperties: false
 
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
index 5a7c5f8c92d1..e643e44a4739 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
@@ -178,6 +178,18 @@ allOf:
             - const: lcx
             - const: lmx
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,qcs615-adsp-pas
+              - qcom,qcs615-cdsp-pas
+    then:
+      properties:
+        iommus:
+          maxItems: 1
+
 unevaluatedProperties: false
 
 examples:
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
index 99e9aeeb4f62..dd81ecdb8dc4 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
@@ -317,6 +317,18 @@ allOf:
             - const: mx
             - const: nsp
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,x1e80100-adsp-pas
+              - qcom,x1e80100-cdsp-pas
+    then:
+      properties:
+        iommus:
+          maxItems: 1
+
 unevaluatedProperties: false
 
 examples:

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
  2026-11-04 14:03 [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
  2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
@ 2026-11-04 14:03 ` Komal Bajaj
  2026-11-04 14:12   ` sashiko-bot
  2026-11-05 13:36   ` Krzysztof Kozlowski
  2026-11-04 14:03 ` [PATCH v4 3/3] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
  2026-11-13 14:35 ` [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
  3 siblings, 2 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-04 14:03 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
	Komal Bajaj

Add iommus constraints for Shikra PAS compatible:
- qcom,shikra-cdsp-pas: maxItems: 1
- qcom,shikra-lpaicp-pas: minItems: 3, maxItems: 3

CDSP uses single IOMMU stream, while LPAICP firmware uses three.
These are needed to describe the firmware streams when Linux boots
at EL2 without the hypervisor.

Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
 Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
index 34a2f15e9361..8c8a7616d478 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
@@ -112,6 +112,8 @@ allOf:
           maxItems: 1
         firmware-name:
           maxItems: 1
+        iommus:
+          maxItems: 1
         power-domains:
           items:
             - description: CX power domain
@@ -134,6 +136,9 @@ allOf:
           minItems: 2
         firmware-name:
           minItems: 2
+        iommus:
+          minItems: 3
+          maxItems: 3
         power-domains: false
         power-domain-names: false
 

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v4 3/3] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
  2026-11-04 14:03 [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
  2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
  2026-11-04 14:03 ` [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints Komal Bajaj
@ 2026-11-04 14:03 ` Komal Bajaj
  2026-11-13 14:35 ` [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
  3 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-04 14:03 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
	Komal Bajaj, Abel Vesa, Dmitry Baryshkov

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>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@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 | 29 +++++++++++++++++++++++++++++
 2 files changed, 40 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..a0f7c4a635ad
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/shikra-el2.dtso
@@ -0,0 +1,29 @@
+// 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>;
+};
+
+&wifi {
+	wifi-firmware {
+		iommus = <&apps_smmu 0x01a2 0x0001>;
+	};
+};

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
  2026-11-04 14:03 ` [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints Komal Bajaj
@ 2026-11-04 14:12   ` sashiko-bot
  2026-11-10  6:43     ` Komal Bajaj
  2026-11-05 13:36   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 13+ messages in thread
From: sashiko-bot @ 2026-11-04 14:12 UTC (permalink / raw)
  To: Komal Bajaj; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt-bindings: remoteproc: shikra-pas: iommus applied to mpss-pas in allOf
--

commit 53aa8f92faa854bf45005817e5eaa528a79c90a8
Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>

dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints

This commit adds iommus property constraints to the Shikra PAS remoteproc
binding schema for booting at EL2 without a hypervisor.

> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> index 34a2f15e93616..8c8a7616d4787 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> @@ -112,6 +112,8 @@ allOf:
>            maxItems: 1
>          firmware-name:
>            maxItems: 1
> +        iommus:
> +          maxItems: 1
>          power-domains:
>            items:
>              - description: CX power domain
> @@ -134,6 +136,9 @@ allOf:
>            minItems: 2
>          firmware-name:
>            minItems: 2
> +        iommus:
> +          minItems: 3
> +          maxItems: 3

[Severity: Medium]
The commit message states that iommus constraints are added for
qcom,shikra-cdsp-pas and qcom,shikra-lpaicp-pas. However, in the allOf
section of Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml,
the first conditional block matches both qcom,shikra-cdsp-pas and
qcom,shikra-mpss-pas:

  - if:
      properties:
        compatible:
          enum:
            - qcom,shikra-cdsp-pas
            - qcom,shikra-mpss-pas
    then:
      properties:
        ...
        iommus:
          maxItems: 1

Does placing iommus in this shared conditional block unintentionally allow
iommus on qcom,shikra-mpss-pas?

Also, since commit 95697c560209 ("dt-bindings: remoteproc: qcom,pas-common:
Drop iommus") removed iommus from qcom,pas-common.yaml, iommus is no longer
declared in top-level properties. Should iommus be defined with its broadest
constraints (minItems: 1, maxItems: 3) in the top-level properties block and
then constrained per compatible in allOf (with maxItems: 1 for
qcom,shikra-cdsp-pas, minItems: 3 for qcom,shikra-lpaicp-pas, and
iommus: false for qcom,shikra-mpss-pas)?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261104-shikra-el2-v4-0-97e7019debff@oss.qualcomm.com?part=2

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
  2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
@ 2026-11-04 14:13   ` sashiko-bot
  2026-11-10  5:58     ` Komal Bajaj
  2026-11-05 13:35   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 13+ messages in thread
From: sashiko-bot @ 2026-11-04 14:13 UTC (permalink / raw)
  To: Komal Bajaj; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dt-bindings: remoteproc: qcom,sm8550-pas: missing iommus for Glymur PAS
- [Low] dt-bindings: remoteproc: duplicated iommus rules and unwieldy conditionals
--

commit 95697c560209b6d85ebaddcbbc163e85e3f0686b
Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>

dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings

This commit removes the common iommus maxItems: 1 constraint from
qcom,pas-common.yaml and adds per-SoC iommus constraints to
qcom,sa8775p-pas.yaml, qcom,sm8150-pas.yaml, and qcom,sm8550-pas.yaml.

> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> index dda2d144b7206..711c2f723b179 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> @@ -106,6 +106,8 @@ allOf:
>            items:
>              - const: lcx
>              - const: lmx
> +        iommus:
> +          maxItems: 1
>  
>    - if:
>        properties:
> @@ -126,6 +128,8 @@ allOf:
>              - const: cx
>              - const: mxc
>              - const: nsp
> +        iommus:
> +          maxItems: 1
>  
>    - if:
>        properties:
> @@ -144,6 +148,8 @@ allOf:
>            items:
>              - const: cx
>              - const: mxc
> +        iommus:
> +          maxItems: 1

[Severity: Low]
This isn't a bug, but since every compatible in
Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml matches one
of these three allOf branches (covering qcom,sa8775p-adsp-pas,
qcom,sa8775p-cdsp0-pas, qcom,sa8775p-cdsp1-pas, qcom,sa8775p-gpdsp0-pas, and
qcom,sa8775p-gpdsp1-pas), could iommus with maxItems: 1 be defined once under
the top-level properties block instead of duplicating it across all three
allOf branches?

Also, in Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml and
Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml, adding more
per-compatible if-then blocks into allOf makes those single binding schemas
increasingly unwieldy as variant differences grow. Would it make sense to
split divergent variants into separate schema documents rather than piling on
more conditionals?

[ ... ]

> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
> index 99e9aeeb4f62c..dd81ecdb8dc49 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
> @@ -317,6 +317,18 @@ allOf:
>              - const: mx
>              - const: nsp
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,x1e80100-adsp-pas
> +              - qcom,x1e80100-cdsp-pas
> +    then:
> +      properties:
> +        iommus:
> +          maxItems: 1

[Severity: Medium]
Does removing iommus from
Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml while only
allowing iommus for qcom,x1e80100-adsp-pas and qcom,x1e80100-cdsp-pas here
cause dtbs_check regressions for Glymur?

Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml also covers
qcom,glymur-adsp-pas and qcom,glymur-cdsp-pas and sets unevaluatedProperties:
false. In arch/arm64/boot/dts/qcom/glymur.dtsi, both remoteproc_adsp and
remoteproc_cdsp specify iommus:

    remoteproc_adsp: remoteproc@6800000 {
        compatible = "qcom,glymur-adsp-pas", "qcom,sm8550-adsp-pas";
        reg = <0x0 0x06800000 0x0 0x10000>;

        iommus = <&apps_smmu 0x1000 0x0>;
        ...
    };

    remoteproc_cdsp: remoteproc@32300000 {
        compatible = "qcom,glymur-cdsp-pas", "qcom,sm8550-cdsp-pas";
        reg = <0x0 0x32300000 0x0 0x10000>;

        iommus = <&apps_smmu 0x2400 0x400>;
        ...
    };

Should qcom,glymur-adsp-pas and qcom,glymur-cdsp-pas also be included in this
conditional so iommus remains evaluated on those nodes?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261104-shikra-el2-v4-0-97e7019debff@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
  2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
  2026-11-04 14:13   ` sashiko-bot
@ 2026-11-05 13:35   ` Krzysztof Kozlowski
  2026-11-10  9:01     ` Komal Bajaj
  1 sibling, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-05 13:35 UTC (permalink / raw)
  To: Komal Bajaj
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro,
	linux-arm-msm, devicetree, linux-kernel, linux-remoteproc

On Wed, Nov 04, 2026 at 07:33:30PM +0530, Komal Bajaj wrote:
> The `iommus` property constraint in qcom,pas-common.yaml is too
> restrictive with `maxItems: 1`, preventing SoCs that require multiple
> IOMMU entries from being properly described.

 From here

> 
> Remove `iommus` constraint from qcom,pas-common.yaml and add it to
> SoC-specific binding files that have EL2 support and require IOMMU
> configuration:
> 
> - qcom,sa8775p-pas.yaml: Add `iommus: maxItems: 1` for all sa8775p
>   and qcs8300 remoteproc compatibles (lemans-el2, monaco-el2)
> 
> - qcom,sm8150-pas.yaml: Add `iommus: maxItems: 1` for qcs615
>   remoteproc compatibles (talos-el2)
> 
> - qcom,sm8550-pas.yaml: Add `iommus: maxItems: 1` for x1e80100
>   remoteproc compatibles (x1-el2)

to here - all this repeats the diff.

> 
> This allows each SoC to define its own IOMMU requirements while
> maintaining backward compatibility.
> 
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
>  .../devicetree/bindings/remoteproc/qcom,pas-common.yaml      |  3 ---
>  .../devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml     |  6 ++++++
>  .../devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml      | 12 ++++++++++++
>  .../devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml      | 12 ++++++++++++

While you are not answering the unknown - what about all other devices?

>  4 files changed, 30 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> index f75cab6b4ed9..4662fe4cff62 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> @@ -32,9 +32,6 @@ properties:
>      minItems: 5
>      maxItems: 6
>  
> -  iommus:
> -    maxItems: 1
> -
>    power-domains:
>      minItems: 1
>      maxItems: 3
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> index dda2d144b720..711c2f723b17 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
> @@ -106,6 +106,8 @@ allOf:
>            items:
>              - const: lcx
>              - const: lmx
> +        iommus:
> +          maxItems: 1

Missing property definition in top-level.

>  
>    - if:
>        properties:
> @@ -126,6 +128,8 @@ allOf:
>              - const: cx
>              - const: mxc
>              - const: nsp
> +        iommus:
> +          maxItems: 1
>  
>    - if:
>        properties:
> @@ -144,6 +148,8 @@ allOf:
>            items:
>              - const: cx
>              - const: mxc
> +        iommus:
> +          maxItems: 1

Not sure what is the point of repeating it multiple times.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
  2026-11-04 14:03 ` [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints Komal Bajaj
  2026-11-04 14:12   ` sashiko-bot
@ 2026-11-05 13:36   ` Krzysztof Kozlowski
  2026-11-10 17:51     ` Komal Bajaj
  1 sibling, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-05 13:36 UTC (permalink / raw)
  To: Komal Bajaj
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro,
	linux-arm-msm, devicetree, linux-kernel, linux-remoteproc

On Wed, Nov 04, 2026 at 07:33:31PM +0530, Komal Bajaj wrote:
> Add iommus constraints for Shikra PAS compatible:
> - qcom,shikra-cdsp-pas: maxItems: 1
> - qcom,shikra-lpaicp-pas: minItems: 3, maxItems: 3
> 
> CDSP uses single IOMMU stream, while LPAICP firmware uses three.
> These are needed to describe the firmware streams when Linux boots
> at EL2 without the hypervisor.
> 
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
>  Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> index 34a2f15e9361..8c8a7616d478 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> @@ -112,6 +112,8 @@ allOf:
>            maxItems: 1
>          firmware-name:
>            maxItems: 1
> +        iommus:
> +          maxItems: 1
>          power-domains:
>            items:
>              - description: CX power domain
> @@ -134,6 +136,9 @@ allOf:
>            minItems: 2
>          firmware-name:
>            minItems: 2
> +        iommus:
> +          minItems: 3
> +          maxItems: 3

You need to list the items.

Why maxItems? What is the limit defined by top-level?

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
  2026-11-04 14:13   ` sashiko-bot
@ 2026-11-10  5:58     ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-10  5:58 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: devicetree, robh, conor+dt


On 11/4/2026 7:43 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
> - [Medium] dt-bindings: remoteproc: qcom,sm8550-pas: missing iommus for Glymur PAS
> - [Low] dt-bindings: remoteproc: duplicated iommus rules and unwieldy conditionals
> --
>
> commit 95697c560209b6d85ebaddcbbc163e85e3f0686b
> Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>
> dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
>
> This commit removes the common iommus maxItems: 1 constraint from
> qcom,pas-common.yaml and adds per-SoC iommus constraints to
> qcom,sa8775p-pas.yaml, qcom,sm8150-pas.yaml, and qcom,sm8550-pas.yaml.
>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> index dda2d144b7206..711c2f723b179 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> @@ -106,6 +106,8 @@ allOf:
>>             items:
>>               - const: lcx
>>               - const: lmx
>> +        iommus:
>> +          maxItems: 1
>>   
>>     - if:
>>         properties:
>> @@ -126,6 +128,8 @@ allOf:
>>               - const: cx
>>               - const: mxc
>>               - const: nsp
>> +        iommus:
>> +          maxItems: 1
>>   
>>     - if:
>>         properties:
>> @@ -144,6 +148,8 @@ allOf:
>>             items:
>>               - const: cx
>>               - const: mxc
>> +        iommus:
>> +          maxItems: 1
> [Severity: Low]
> This isn't a bug, but since every compatible in
> Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml matches one
> of these three allOf branches (covering qcom,sa8775p-adsp-pas,
> qcom,sa8775p-cdsp0-pas, qcom,sa8775p-cdsp1-pas, qcom,sa8775p-gpdsp0-pas, and
> qcom,sa8775p-gpdsp1-pas), could iommus with maxItems: 1 be defined once under
> the top-level properties block instead of duplicating it across all three
> allOf branches?

Yes, that makes sense.  All sa8775p compatibles use a single IOMMU 
entry, so there's no need for it to be conditional. I will move it to 
top-level properties in next revision.

>
> Also, in Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml and
> Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml, adding more
> per-compatible if-then blocks into allOf makes those single binding schemas
> increasingly unwieldy as variant differences grow. Would it make sense to
> split divergent variants into separate schema documents rather than piling on
> more conditionals?

For now changes are small, only a few targets support booting Linux at 
EL2. If that number grows in future, I will split divergent variants 
into separate schemas, if maintainers prefer that.

>
> [ ... ]
>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
>> index 99e9aeeb4f62c..dd81ecdb8dc49 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml
>> @@ -317,6 +317,18 @@ allOf:
>>               - const: mx
>>               - const: nsp
>>   
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - qcom,x1e80100-adsp-pas
>> +              - qcom,x1e80100-cdsp-pas
>> +    then:
>> +      properties:
>> +        iommus:
>> +          maxItems: 1
> [Severity: Medium]
> Does removing iommus from
> Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml while only
> allowing iommus for qcom,x1e80100-adsp-pas and qcom,x1e80100-cdsp-pas here
> cause dtbs_check regressions for Glymur?
>
> Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml also covers
> qcom,glymur-adsp-pas and qcom,glymur-cdsp-pas and sets unevaluatedProperties:
> false. In arch/arm64/boot/dts/qcom/glymur.dtsi, both remoteproc_adsp and
> remoteproc_cdsp specify iommus:
>
>      remoteproc_adsp: remoteproc@6800000 {
>          compatible = "qcom,glymur-adsp-pas", "qcom,sm8550-adsp-pas";
>          reg = <0x0 0x06800000 0x0 0x10000>;
>
>          iommus = <&apps_smmu 0x1000 0x0>;
>          ...
>      };
>
>      remoteproc_cdsp: remoteproc@32300000 {
>          compatible = "qcom,glymur-cdsp-pas", "qcom,sm8550-cdsp-pas";
>          reg = <0x0 0x32300000 0x0 0x10000>;
>
>          iommus = <&apps_smmu 0x2400 0x400>;
>          ...
>      };
>
> Should qcom,glymur-adsp-pas and qcom,glymur-cdsp-pas also be included in this
> conditional so iommus remains evaluated on those nodes?

Yes, confirmed that. Removing iommus from pas-common breaks dtbs_check 
for Glymur because sm8550-pas.yaml has unevaluatedProperties: false.
I will add the Glymur compatibles to the iommus conditional in next 
revision.

Thanks
Komal

>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
  2026-11-04 14:12   ` sashiko-bot
@ 2026-11-10  6:43     ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-10  6:43 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: devicetree, robh, conor+dt

On 11/4/2026 7:42 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] dt-bindings: remoteproc: shikra-pas: iommus applied to mpss-pas in allOf
> --
>
> commit 53aa8f92faa854bf45005817e5eaa528a79c90a8
> Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>
> dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
>
> This commit adds iommus property constraints to the Shikra PAS remoteproc
> binding schema for booting at EL2 without a hypervisor.
>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> index 34a2f15e93616..8c8a7616d4787 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> @@ -112,6 +112,8 @@ allOf:
>>             maxItems: 1
>>           firmware-name:
>>             maxItems: 1
>> +        iommus:
>> +          maxItems: 1
>>           power-domains:
>>             items:
>>               - description: CX power domain
>> @@ -134,6 +136,9 @@ allOf:
>>             minItems: 2
>>           firmware-name:
>>             minItems: 2
>> +        iommus:
>> +          minItems: 3
>> +          maxItems: 3
> [Severity: Medium]
> The commit message states that iommus constraints are added for
> qcom,shikra-cdsp-pas and qcom,shikra-lpaicp-pas. However, in the allOf
> section of Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml,
> the first conditional block matches both qcom,shikra-cdsp-pas and
> qcom,shikra-mpss-pas:
>
>    - if:
>        properties:
>          compatible:
>            enum:
>              - qcom,shikra-cdsp-pas
>              - qcom,shikra-mpss-pas
>      then:
>        properties:
>          ...
>          iommus:
>            maxItems: 1
>
> Does placing iommus in this shared conditional block unintentionally allow
> iommus on qcom,shikra-mpss-pas?
>
> Also, since commit 95697c560209 ("dt-bindings: remoteproc: qcom,pas-common:
> Drop iommus") removed iommus from qcom,pas-common.yaml, iommus is no longer
> declared in top-level properties. Should iommus be defined with its broadest
> constraints (minItems: 1, maxItems: 3) in the top-level properties block and
> then constrained per compatible in allOf (with maxItems: 1 for
> qcom,shikra-cdsp-pas, minItems: 3 for qcom,shikra-lpaicp-pas, and
> iommus: false for qcom,shikra-mpss-pas)?

Right, the shared block shouldn't carry iommus. I will move it into a 
separate conditional for qcom,shikra-cdsp-pas only.
iommus is not applicable to qcom,shikra-mpss-pas, so I'd prefer not to 
declare it at top level. I will keep iommus only in per-compatible 
blocks: maxItems: 1 for cdsp and 3 entries for lpaicp.

Thanks
Komal


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
  2026-11-05 13:35   ` Krzysztof Kozlowski
@ 2026-11-10  9:01     ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-10  9:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro,
	linux-arm-msm, devicetree, linux-kernel, linux-remoteproc

On 11/5/2026 7:05 PM, Krzysztof Kozlowski wrote:
> On Wed, Nov 04, 2026 at 07:33:30PM +0530, Komal Bajaj wrote:
>> The `iommus` property constraint in qcom,pas-common.yaml is too
>> restrictive with `maxItems: 1`, preventing SoCs that require multiple
>> IOMMU entries from being properly described.
>   From here
>
>> Remove `iommus` constraint from qcom,pas-common.yaml and add it to
>> SoC-specific binding files that have EL2 support and require IOMMU
>> configuration:
>>
>> - qcom,sa8775p-pas.yaml: Add `iommus: maxItems: 1` for all sa8775p
>>    and qcs8300 remoteproc compatibles (lemans-el2, monaco-el2)
>>
>> - qcom,sm8150-pas.yaml: Add `iommus: maxItems: 1` for qcs615
>>    remoteproc compatibles (talos-el2)
>>
>> - qcom,sm8550-pas.yaml: Add `iommus: maxItems: 1` for x1e80100
>>    remoteproc compatibles (x1-el2)
> to here - all this repeats the diff.

Sure, I will drop them and keep only the reason for the change, and why 
the SoC bindings now need to declare iommus themselves, in the next 
revision.

>
>> This allows each SoC to define its own IOMMU requirements while
>> maintaining backward compatibility.
>>
>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>> ---
>>   .../devicetree/bindings/remoteproc/qcom,pas-common.yaml      |  3 ---
>>   .../devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml     |  6 ++++++
>>   .../devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml      | 12 ++++++++++++
>>   .../devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml      | 12 ++++++++++++
> While you are not answering the unknown - what about all other devices?

I checked all users of qcom,pas-common.yaml, including DTS files for PAS 
remoteproc nodes using iommus, and ran dtbs_check on the arm64 qualcomm 
DTBs.
The only affected user outside this series is Glymur, where glymur.dtsi 
specifies iommus for ADSP and CDSP nodes. I will add the corresponding 
constraint to sm8550 binding in next revision.

>
>>   4 files changed, 30 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> index f75cab6b4ed9..4662fe4cff62 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> @@ -32,9 +32,6 @@ properties:
>>       minItems: 5
>>       maxItems: 6
>>   
>> -  iommus:
>> -    maxItems: 1
>> -
>>     power-domains:
>>       minItems: 1
>>       maxItems: 3
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> index dda2d144b720..711c2f723b17 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sa8775p-pas.yaml
>> @@ -106,6 +106,8 @@ allOf:
>>             items:
>>               - const: lcx
>>               - const: lmx
>> +        iommus:
>> +          maxItems: 1
> Missing property definition in top-level.

  Agreed. I will define iommus once in top-level properties of 
qcom,sa8775p-pas.yaml and drop repeated entries from allOf conditions in 
next revision.

Thanks
Komal

>
>>   
>>     - if:
>>         properties:
>> @@ -126,6 +128,8 @@ allOf:
>>               - const: cx
>>               - const: mxc
>>               - const: nsp
>> +        iommus:
>> +          maxItems: 1
>>   
>>     - if:
>>         properties:
>> @@ -144,6 +148,8 @@ allOf:
>>             items:
>>               - const: cx
>>               - const: mxc
>> +        iommus:
>> +          maxItems: 1
> Not sure what is the point of repeating it multiple times.
>
> Best regards,
> Krzysztof
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
  2026-11-05 13:36   ` Krzysztof Kozlowski
@ 2026-11-10 17:51     ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-10 17:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro,
	linux-arm-msm, devicetree, linux-kernel, linux-remoteproc




On 11/5/2026 7:06 PM, Krzysztof Kozlowski wrote:
> On Wed, Nov 04, 2026 at 07:33:31PM +0530, Komal Bajaj wrote:
>> Add iommus constraints for Shikra PAS compatible:
>> - qcom,shikra-cdsp-pas: maxItems: 1
>> - qcom,shikra-lpaicp-pas: minItems: 3, maxItems: 3
>>
>> CDSP uses single IOMMU stream, while LPAICP firmware uses three.
>> These are needed to describe the firmware streams when Linux boots
>> at EL2 without the hypervisor.
>>
>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>> ---
>>   Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> index 34a2f15e9361..8c8a7616d478 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> @@ -112,6 +112,8 @@ allOf:
>>             maxItems: 1
>>           firmware-name:
>>             maxItems: 1
>> +        iommus:
>> +          maxItems: 1
>>           power-domains:
>>             items:
>>               - description: CX power domain
>> @@ -134,6 +136,9 @@ allOf:
>>             minItems: 2
>>           firmware-name:
>>             minItems: 2
>> +        iommus:
>> +          minItems: 3
>> +          maxItems: 3
> You need to list the items.
>
> Why maxItems? What is the limit defined by top-level?

There is no limit from top-level now, since iommus is removed from 
qcom,pas-common.yaml and not declared at top level for Shikra.
I will list the items for qcom,shikra-lpaicp-pas, with one description 
per stream in next revision.

For the single-entry cases (qcom,shikra-cdsp-pas and sa8775p, sm8150 and 
sm8550 bindings), is `maxItems: 1` fine, or do you want a one-item list 
with description there as well?

Thanks
Komal

>
> Best regards,
> Krzysztof
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants
  2026-11-04 14:03 [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
                   ` (2 preceding siblings ...)
  2026-11-04 14:03 ` [PATCH v4 3/3] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
@ 2026-11-13 14:35 ` Komal Bajaj
  3 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-11-13 14:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier,
	Manivannan Sadhasivam, Bartosz Golaszewski, Kumar Patro
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-remoteproc,
	Abel Vesa, Dmitry Baryshkov

On 11/4/2026 7:33 PM, Komal Bajaj wrote:
> 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>

I  have addressed these comments in v5, which is available here: 
https://lore.kernel.org/all/20261113-shikra-el2-v5-0-8aca743de97f@oss.qualcomm.com/

Thanks
Komal

> ---
> Changes in v4:
> - Add a patch to move the iommus constraint from qcom,pas-common.yaml to SoC-specific PAS bindings (Mukesh)
> - Add iommus constraints for all Shikra PAS compatibles instead of only relaxing the limit for LPAICP
> - Add WiFi firmware iommus to Shikra EL2 overlay
> - Link to v3: https://lore.kernel.org/r/20261005-shikra-el2-v3-0-618f7343695c@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 (3):
>        dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings
>        dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints
>        arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings
>
>   .../bindings/remoteproc/qcom,pas-common.yaml       |  3 ---
>   .../bindings/remoteproc/qcom,sa8775p-pas.yaml      |  6 +++++
>   .../bindings/remoteproc/qcom,shikra-pas.yaml       |  5 ++++
>   .../bindings/remoteproc/qcom,sm8150-pas.yaml       | 12 +++++++++
>   .../bindings/remoteproc/qcom,sm8550-pas.yaml       | 12 +++++++++
>   arch/arm64/boot/dts/qcom/Makefile                  | 11 ++++++++
>   arch/arm64/boot/dts/qcom/shikra-el2.dtso           | 29 ++++++++++++++++++++++
>   7 files changed, 75 insertions(+), 3 deletions(-)
> ---
> base-commit: d6bcfc94eb4da6e089c5473970cd96727292fd97
> change-id: 20260918-shikra-el2-ea8969385c3c
>
> Best regards,


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-11-13 14:36 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 14:03 [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj
2026-11-04 14:03 ` [PATCH v4 1/3] dt-bindings: remoteproc: Move iommus constraint to SoC-specific bindings Komal Bajaj
2026-11-04 14:13   ` sashiko-bot
2026-11-10  5:58     ` Komal Bajaj
2026-11-05 13:35   ` Krzysztof Kozlowski
2026-11-10  9:01     ` Komal Bajaj
2026-11-04 14:03 ` [PATCH v4 2/3] dt-bindings: remoteproc: qcom,shikra-pas: Add iommus constraints Komal Bajaj
2026-11-04 14:12   ` sashiko-bot
2026-11-10  6:43     ` Komal Bajaj
2026-11-05 13:36   ` Krzysztof Kozlowski
2026-11-10 17:51     ` Komal Bajaj
2026-11-04 14:03 ` [PATCH v4 3/3] arm64: dts: qcom: shikra: Add EL2 overlay for remoteproc SMMU mappings Komal Bajaj
2026-11-13 14:35 ` [PATCH v4 0/3] arm64: dts: qcom: shikra: Add EL2 overlay for EVK variants Komal Bajaj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox