mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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

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

* 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

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®