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