Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] remoteproc: qcom: Add Shikra remoteproc support
@ 2026-05-13 18:47 Komal Bajaj
  2026-05-13 18:47 ` [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs Komal Bajaj
  2026-05-13 18:47 ` [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support Komal Bajaj
  0 siblings, 2 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-05-13 18:47 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Bibek Kumar Patro, Komal Bajaj

Add Peripheral Authentication Service (PAS) support for the Qualcomm
Shikra SoC. This series introduces the device tree bindings and the
driver resource configurations for the three remoteproc cores present
on Shikra: CDSP, LPAICP and MPSS.

Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
Bibek Kumar Patro (1):
      remoteproc: qcom: pas: Add Shikra remoteproc support

Komal Bajaj (1):
      dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs

 .../bindings/remoteproc/qcom,shikra-pas.yaml       | 141 +++++++++++++++++++++
 drivers/remoteproc/qcom_q6v5_pas.c                 |  51 ++++++++
 2 files changed, 192 insertions(+)
---
base-commit: e98d21c170b01ddef366f023bbfcf6b31509fa83
change-id: 20260513-shikra-rproc-0da355c56c69

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


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

* [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
  2026-05-13 18:47 [PATCH 0/2] remoteproc: qcom: Add Shikra remoteproc support Komal Bajaj
@ 2026-05-13 18:47 ` Komal Bajaj
  2026-05-13 22:06   ` Rob Herring (Arm)
  2026-05-14 10:06   ` sashiko-bot
  2026-05-13 18:47 ` [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support Komal Bajaj
  1 sibling, 2 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-05-13 18:47 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Bibek Kumar Patro, Komal Bajaj

Document the bindings for the CDSP, LPAICP and MPSS PAS on
the Shikra SoC.

Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
 .../bindings/remoteproc/qcom,shikra-pas.yaml       | 141 +++++++++++++++++++++
 1 file changed, 141 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
new file mode 100644
index 000000000000..f4ec101a3589
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
@@ -0,0 +1,141 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Shikra SoC Peripheral Authentication Service
+
+maintainers:
+  - Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
+  - Komal Bajaj <komal.bajaj@oss.qualcomm.com>
+
+description:
+  Qualcomm Shikra SoC Peripheral Authentication Service loads and boots firmware
+  on the Qualcomm DSP Hexagon cores.
+
+properties:
+  compatible:
+    enum:
+      - qcom,shikra-cdsp-pas
+      - qcom,shikra-lpaicp-pas
+      - qcom,shikra-mpss-pas
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: XO clock
+
+  clock-names:
+    items:
+      - const: xo
+
+  memory-region:
+    minItems: 1
+    maxItems: 2
+
+  smd-edge: false
+
+  firmware-name:
+    minItems: 1
+    items:
+      - description: Firmware name of the Hexagon core
+      - description: Firmware name of the Hexagon Devicetree
+
+required:
+  - compatible
+  - reg
+  - memory-region
+
+allOf:
+  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
+
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,shikra-cdsp-pas
+            - qcom,shikra-mpss-pas
+    then:
+      properties:
+        interrupts:
+          minItems: 6
+        interrupt-names:
+          minItems: 6
+        memory-region:
+          maxItems: 1
+        firmware-name:
+          maxItems: 1
+        power-domains:
+          items:
+            - description: CX power domain
+        power-domain-names:
+          items:
+            - const: cx
+
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,shikra-lpaicp-pas
+    then:
+      properties:
+        interrupts:
+          maxItems: 5
+        interrupt-names:
+          maxItems: 5
+        memory-region:
+          minItems: 2
+        firmware-name:
+          minItems: 2
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/qcom,rpmcc.h>
+    #include <dt-bindings/interconnect/qcom,icc.h>
+    #include <dt-bindings/interconnect/qcom,rpm-icc.h>
+    #include <dt-bindings/interconnect/qcom,shikra.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/power/qcom-rpmpd.h>
+
+    remoteproc@b300000 {
+        compatible = "qcom,shikra-cdsp-pas";
+        reg = <0x0b300000 0x100000>;
+
+        interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
+                              <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                              <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                              <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                              <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+                              <&cdsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
+        interrupt-names = "wdog", "fatal", "ready",
+                          "handover", "stop-ack", "shutdown-ack";
+
+        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
+        clock-names = "xo";
+
+        interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ALWAYS_TAG
+                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>,
+                        <&system_noc MASTER_CRYPTO_CORE0 RPM_ALWAYS_TAG
+                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>;
+
+        power-domains = <&rpmpd RPMHPD_CX>;
+        power-domain-names = "cx";
+
+        memory-region = <&cdsp_mem>;
+
+        qcom,smem-states = <&cdsp_smp2p_out 0>;
+        qcom,smem-state-names = "stop";
+
+        glink-edge {
+            interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>;
+            mboxes = <&apcs_glb 4>;
+            qcom,remote-pid = <5>;
+            label = "cdsp";
+        };
+    };

-- 
2.34.1


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

* [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-13 18:47 [PATCH 0/2] remoteproc: qcom: Add Shikra remoteproc support Komal Bajaj
  2026-05-13 18:47 ` [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs Komal Bajaj
@ 2026-05-13 18:47 ` Komal Bajaj
  2026-05-13 19:18   ` Dmitry Baryshkov
  2026-05-14 10:23   ` sashiko-bot
  1 sibling, 2 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-05-13 18:47 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, linux-remoteproc, devicetree, linux-kernel,
	Bibek Kumar Patro, Komal Bajaj

From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>

Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
for the Qualcomm Shikra SoC.

Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
 drivers/remoteproc/qcom_q6v5_pas.c | 51 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index da27d1d3c9da..4d43201b9ada 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -1457,6 +1457,54 @@ static const struct qcom_pas_data sc7280_wpss_resource = {
 	.ssctl_id = 0x19,
 };
 
+static const struct qcom_pas_data shikra_cdsp_resource = {
+	.crash_reason_smem = 601,
+	.firmware_name = "cdsp.mbn",
+	.pas_id = 18,
+	.minidump_id = 7,
+	.auto_boot = false,
+	.proxy_pd_names = (char *[]){
+		"cx",
+		NULL
+	},
+	.load_state = "cdsp",
+	.ssr_name = "cdsp",
+	.sysmon_name = "cdsp",
+	.ssctl_id = 0x17,
+	.smem_host_id = 5,
+	.region_assign_vmid = QCOM_SCM_VMID_CDSP,
+};
+
+static const struct qcom_pas_data shikra_lpaicp_resource = {
+	.crash_reason_smem = 682,
+	.firmware_name = "lpaicp.mbn",
+	.dtb_firmware_name = "lpaicp_dtb.mbn",
+	.pas_id = 0x56,
+	.dtb_pas_id = 0x57,
+	.minidump_id = 0,
+	.auto_boot = true,
+	.ssr_name = "lpaicp",
+	.sysmon_name = "lpaicp",
+};
+
+static const struct qcom_pas_data shikra_mpss_resource = {
+	.crash_reason_smem = 421,
+	.firmware_name = "qdsp6sw.mbn",
+	.pas_id = 4,
+	.minidump_id = 3,
+	.auto_boot = false,
+	.decrypt_shutdown = true,
+	.proxy_pd_names = (char *[]){
+		"cx",
+		NULL
+	},
+	.load_state = "modem",
+	.ssr_name = "mpss",
+	.sysmon_name = "modem",
+	.ssctl_id = 0x12,
+	.region_assign_vmid = QCOM_SCM_VMID_MSS_MSA,
+};
+
 static const struct qcom_pas_data sm8650_cdsp_resource = {
 	.crash_reason_smem = 601,
 	.firmware_name = "cdsp.mdt",
@@ -1571,6 +1619,9 @@ static const struct of_device_id qcom_pas_of_match[] = {
 	{ .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource_init },
 	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource },
 	{ .compatible = "qcom,sdx75-mpss-pas", .data = &sm8650_mpss_resource },
+	{ .compatible = "qcom,shikra-cdsp-pas", .data = &shikra_cdsp_resource },
+	{ .compatible = "qcom,shikra-lpaicp-pas", .data = &shikra_lpaicp_resource },
+	{ .compatible = "qcom,shikra-mpss-pas", .data = &shikra_mpss_resource },
 	{ .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init },
 	{ .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init },
 	{ .compatible = "qcom,sm6115-mpss-pas", .data = &sc8180x_mpss_resource },

-- 
2.34.1


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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-13 18:47 ` [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support Komal Bajaj
@ 2026-05-13 19:18   ` Dmitry Baryshkov
  2026-05-19 15:03     ` Komal Bajaj
  2026-05-14 10:23   ` sashiko-bot
  1 sibling, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 19:18 UTC (permalink / raw)
  To: Komal Bajaj
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, Bibek Kumar Patro

On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
> From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> 
> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
> for the Qualcomm Shikra SoC.
> 
> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
>  drivers/remoteproc/qcom_q6v5_pas.c | 51 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index da27d1d3c9da..4d43201b9ada 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> @@ -1457,6 +1457,54 @@ static const struct qcom_pas_data sc7280_wpss_resource = {
>  	.ssctl_id = 0x19,
>  };
>  
> +static const struct qcom_pas_data shikra_cdsp_resource = {
> +	.crash_reason_smem = 601,
> +	.firmware_name = "cdsp.mbn",
> +	.pas_id = 18,
> +	.minidump_id = 7,
> +	.auto_boot = false,

Why? It should be true for CDSP.

> +	.proxy_pd_names = (char *[]){
> +		"cx",
> +		NULL
> +	},

Hmm, SM6115 didn't have proxy votes here. Is it requried?

> +	.load_state = "cdsp",
> +	.ssr_name = "cdsp",
> +	.sysmon_name = "cdsp",
> +	.ssctl_id = 0x17,
> +	.smem_host_id = 5,
> +	.region_assign_vmid = QCOM_SCM_VMID_CDSP,

This makes no sense without region_assign_count

> +};
> +
> +static const struct qcom_pas_data shikra_lpaicp_resource = {
> +	.crash_reason_smem = 682,
> +	.firmware_name = "lpaicp.mbn",
> +	.dtb_firmware_name = "lpaicp_dtb.mbn",
> +	.pas_id = 0x56,
> +	.dtb_pas_id = 0x57,
> +	.minidump_id = 0,
> +	.auto_boot = true,
> +	.ssr_name = "lpaicp",
> +	.sysmon_name = "lpaicp",
> +};
> +
> +static const struct qcom_pas_data shikra_mpss_resource = {
> +	.crash_reason_smem = 421,
> +	.firmware_name = "qdsp6sw.mbn",

Why is it not modem.mbn?

> +	.pas_id = 4,
> +	.minidump_id = 3,
> +	.auto_boot = false,
> +	.decrypt_shutdown = true,
> +	.proxy_pd_names = (char *[]){
> +		"cx",
> +		NULL
> +	},
> +	.load_state = "modem",
> +	.ssr_name = "mpss",
> +	.sysmon_name = "modem",
> +	.ssctl_id = 0x12,
> +	.region_assign_vmid = QCOM_SCM_VMID_MSS_MSA,

Again, this doesn't make sense without region_assign_count. At which
point you can use sc8180x_mpss_resource instead.

> +};
> +
>  static const struct qcom_pas_data sm8650_cdsp_resource = {
>  	.crash_reason_smem = 601,
>  	.firmware_name = "cdsp.mdt",
> @@ -1571,6 +1619,9 @@ static const struct of_device_id qcom_pas_of_match[] = {
>  	{ .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource_init },
>  	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource },
>  	{ .compatible = "qcom,sdx75-mpss-pas", .data = &sm8650_mpss_resource },
> +	{ .compatible = "qcom,shikra-cdsp-pas", .data = &shikra_cdsp_resource },
> +	{ .compatible = "qcom,shikra-lpaicp-pas", .data = &shikra_lpaicp_resource },
> +	{ .compatible = "qcom,shikra-mpss-pas", .data = &shikra_mpss_resource },
>  	{ .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init },
>  	{ .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init },
>  	{ .compatible = "qcom,sm6115-mpss-pas", .data = &sc8180x_mpss_resource },
> 
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
  2026-05-13 18:47 ` [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs Komal Bajaj
@ 2026-05-13 22:06   ` Rob Herring (Arm)
  2026-05-14 10:06   ` sashiko-bot
  1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring (Arm) @ 2026-05-13 22:06 UTC (permalink / raw)
  To: Komal Bajaj
  Cc: linux-remoteproc, Bibek Kumar Patro, linux-kernel, devicetree,
	Mathieu Poirier, Conor Dooley, linux-arm-msm, Krzysztof Kozlowski,
	Bjorn Andersson


On Thu, 14 May 2026 00:17:30 +0530, Komal Bajaj wrote:
> Document the bindings for the CDSP, LPAICP and MPSS PAS on
> the Shikra SoC.
> 
> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
>  .../bindings/remoteproc/qcom,shikra-pas.yaml       | 141 +++++++++++++++++++++
>  1 file changed, 141 insertions(+)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.example.dts:27:18: fatal error: dt-bindings/interconnect/qcom,shikra.h: No such file or directory
   27 |         #include <dt-bindings/interconnect/qcom,shikra.h>
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.dtbs:140: Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.example.dtb] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1639: dt_binding_check] Error 2
make: *** [Makefile:248: __sub-make] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.kernel.org/project/devicetree/patch/20260514-shikra-rproc-v1-1-9afdedeee002@oss.qualcomm.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


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

* Re: [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
  2026-05-13 18:47 ` [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs Komal Bajaj
  2026-05-13 22:06   ` Rob Herring (Arm)
@ 2026-05-14 10:06   ` sashiko-bot
  2026-05-19  9:16     ` Komal Bajaj
  1 sibling, 1 reply; 13+ messages in thread
From: sashiko-bot @ 2026-05-14 10:06 UTC (permalink / raw)
  To: Komal Bajaj; +Cc: conor+dt, krzk+dt, robh, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The device tree binding example provides two interconnect paths, violating the `maxItems: 1` constraint inherited from `qcom,pas-common.yaml`.
--

commit 6b248da80633195199f478d98724a0590dfdff63
Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>

dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs

This commit documents the bindings for the CDSP, LPAICP and MPSS PAS on
the Shikra SoC.

> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml

[ ... ]

> +examples:
> +  - |
> +    #include <dt-bindings/clock/qcom,rpmcc.h>

[ ... ]

> +        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
> +        clock-names = "xo";
> +
> +        interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ALWAYS_TAG
> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>,
> +                        <&system_noc MASTER_CRYPTO_CORE0 RPM_ALWAYS_TAG
> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>;

Will this cause a validation failure during make dt_binding_check? 

The qcom,pas-common.yaml schema, which is included earlier in this file
via a $ref, restricts the interconnects property to a maximum of 1 item.
However, the example block here provides two interconnect paths.

> +
> +        power-domains = <&rpmpd RPMHPD_CX>;
> +        power-domain-names = "cx";

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260514-shikra-rproc-v1-0-9afdedeee002@oss.qualcomm.com?part=1

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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-13 18:47 ` [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support Komal Bajaj
  2026-05-13 19:18   ` Dmitry Baryshkov
@ 2026-05-14 10:23   ` sashiko-bot
  1 sibling, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-05-14 10:23 UTC (permalink / raw)
  To: Komal Bajaj; +Cc: krzk+dt, robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing `region_assign_idx` and `region_assign_count` for Shikra CDSP and MPSS resources.
--

commit bfe1ee5022ed8cfda954819b500c3d0c3c26c986
Author: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>

remoteproc: qcom: pas: Add Shikra remoteproc support

This commit adds support for the CDSP, LPAICP, and MPSS Peripheral
Authentication Service on the Qualcomm Shikra SoC.

> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index da27d1d3c9da6..4d43201b9ada7 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
[ ... ]
> +static const struct qcom_pas_data shikra_cdsp_resource = {
> +	.crash_reason_smem = 601,
> +	.firmware_name = "cdsp.mbn",
> +	.pas_id = 18,
> +	.minidump_id = 7,
> +	.auto_boot = false,
> +	.proxy_pd_names = (char *[]){
> +		"cx",
> +		NULL
> +	},
> +	.load_state = "cdsp",
> +	.ssr_name = "cdsp",
> +	.sysmon_name = "cdsp",
> +	.ssctl_id = 0x17,
> +	.smem_host_id = 5,
> +	.region_assign_vmid = QCOM_SCM_VMID_CDSP,
> +};

Are the region_assign_idx and region_assign_count fields intentionally omitted
here? 

Since they default to 0, qcom_pas_assign_memory_region() will return early
when checking if (!pas->region_assign_idx). This bypasses the TrustZone SCM
memory assignment routine entirely, making the explicitly defined
region_assign_vmid configuration ineffective.

Could this lead to an XPU access control violation if the platform requires
these memory regions to be reassigned to the DSP VM to boot?

[ ... ]
> +static const struct qcom_pas_data shikra_mpss_resource = {
> +	.crash_reason_smem = 421,
> +	.firmware_name = "qdsp6sw.mbn",
> +	.pas_id = 4,
> +	.minidump_id = 3,
> +	.auto_boot = false,
> +	.decrypt_shutdown = true,
> +	.proxy_pd_names = (char *[]){
> +		"cx",
> +		NULL
> +	},
> +	.load_state = "modem",
> +	.ssr_name = "mpss",
> +	.sysmon_name = "modem",
> +	.ssctl_id = 0x12,
> +	.region_assign_vmid = QCOM_SCM_VMID_MSS_MSA,
> +};

Similarly, this structure also defines region_assign_vmid but omits the
index and count fields. Will the MPSS resource face the same memory
assignment bypass issue?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260514-shikra-rproc-v1-0-9afdedeee002@oss.qualcomm.com?part=2

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

* Re: [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
  2026-05-14 10:06   ` sashiko-bot
@ 2026-05-19  9:16     ` Komal Bajaj
  2026-05-20 14:36       ` Komal Bajaj
  0 siblings, 1 reply; 13+ messages in thread
From: Komal Bajaj @ 2026-05-19  9:16 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: conor+dt, krzk+dt, robh, devicetree


On 5/14/2026 3:36 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Low] The device tree binding example provides two interconnect paths, violating the `maxItems: 1` constraint inherited from `qcom,pas-common.yaml`.
> --
>
> commit 6b248da80633195199f478d98724a0590dfdff63
> Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>
> dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
>
> This commit documents the bindings for the CDSP, LPAICP and MPSS PAS on
> the Shikra SoC.
>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> new file mode 100644
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
> [ ... ]
>
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/qcom,rpmcc.h>
> [ ... ]
>
>> +        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
>> +        clock-names = "xo";
>> +
>> +        interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ALWAYS_TAG
>> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>,
>> +                        <&system_noc MASTER_CRYPTO_CORE0 RPM_ALWAYS_TAG
>> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>;
> Will this cause a validation failure during make dt_binding_check?
>
> The qcom,pas-common.yaml schema, which is included earlier in this file
> via a $ref, restricts the interconnects property to a maximum of 1 item.
> However, the example block here provides two interconnect paths.

This seems correct — interconnects constraint in qcom,pas-common.yaml is 
currently set to maxItems: 1. I willl update it to maxItems: 2 to 
accommodate SoCs that require two interconnect paths.

Thanks
Komal

>
>> +
>> +        power-domains = <&rpmpd RPMHPD_CX>;
>> +        power-domain-names = "cx";


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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-13 19:18   ` Dmitry Baryshkov
@ 2026-05-19 15:03     ` Komal Bajaj
  2026-05-22 12:13       ` Konrad Dybcio
  0 siblings, 1 reply; 13+ messages in thread
From: Komal Bajaj @ 2026-05-19 15:03 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, Bibek Kumar Patro

On 5/14/2026 12:48 AM, Dmitry Baryshkov wrote:
> On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
>> From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>>
>> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
>> for the Qualcomm Shikra SoC.
>>
>> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>> ---
>>   drivers/remoteproc/qcom_q6v5_pas.c | 51 ++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 51 insertions(+)
>>
>> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
>> index da27d1d3c9da..4d43201b9ada 100644
>> --- a/drivers/remoteproc/qcom_q6v5_pas.c
>> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
>> @@ -1457,6 +1457,54 @@ static const struct qcom_pas_data sc7280_wpss_resource = {
>>   	.ssctl_id = 0x19,
>>   };
>>   
>> +static const struct qcom_pas_data shikra_cdsp_resource = {
>> +	.crash_reason_smem = 601,
>> +	.firmware_name = "cdsp.mbn",
>> +	.pas_id = 18,
>> +	.minidump_id = 7,
>> +	.auto_boot = false,
> Why? It should be true for CDSP.

Missed this, will mark it as true in next series.

>
>> +	.proxy_pd_names = (char *[]){
>> +		"cx",
>> +		NULL
>> +	},
> Hmm, SM6115 didn't have proxy votes here. Is it requried?


If we refer to sm6115 remoteproc-specific DT entries, there is a 
power-domain entry (CX only). So we would need to fix this by adding a
proxy_pd entry for the sm6115 CDSP PAS resource. Would you prefer this 
to be done as part of this series?

In newer Qualcomm targets, the corresponding CDSP PAS entries include a 
proxy_pd vote for the power-domain in DT [1][2].
Therefore, it should be safe to add proxy votes in Shikra’s CDSP PAS 
data as well.

[1]: 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/sm8550.dtsi?h=next-20260518#n6002
[2]: 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/remoteproc/qcom_q6v5_pas.c?h=next-20260518#n1406


>
>> +	.load_state = "cdsp",
>> +	.ssr_name = "cdsp",
>> +	.sysmon_name = "cdsp",
>> +	.ssctl_id = 0x17,
>> +	.smem_host_id = 5,
>> +	.region_assign_vmid = QCOM_SCM_VMID_CDSP,
> This makes no sense without region_assign_count

Ack, Would address this in next revision. it would be NOP in this case 
without region_assign_count and region_assign_idx.

>> +};
>> +
>> +static const struct qcom_pas_data shikra_lpaicp_resource = {
>> +	.crash_reason_smem = 682,
>> +	.firmware_name = "lpaicp.mbn",
>> +	.dtb_firmware_name = "lpaicp_dtb.mbn",
>> +	.pas_id = 0x56,
>> +	.dtb_pas_id = 0x57,
>> +	.minidump_id = 0,
>> +	.auto_boot = true,
>> +	.ssr_name = "lpaicp",
>> +	.sysmon_name = "lpaicp",
>> +};
>> +
>> +static const struct qcom_pas_data shikra_mpss_resource = {
>> +	.crash_reason_smem = 421,
>> +	.firmware_name = "qdsp6sw.mbn",
> Why is it not modem.mbn?

Previously, for testing, we used pil-squasher to combine the split 
images into a single mbn, typically named modem.mbn.
However, in official Qualcomm releases, the modem firmware is provided 
as qdsp6sw.mbn. Since Shikra now has proper released binaries, switch to 
using qdsp6sw.mbn as the firmware name.

>> +	.pas_id = 4,
>> +	.minidump_id = 3,
>> +	.auto_boot = false,
>> +	.decrypt_shutdown = true,
>> +	.proxy_pd_names = (char *[]){
>> +		"cx",
>> +		NULL
>> +	},
>> +	.load_state = "modem",
>> +	.ssr_name = "mpss",
>> +	.sysmon_name = "modem",
>> +	.ssctl_id = 0x12,
>> +	.region_assign_vmid = QCOM_SCM_VMID_MSS_MSA,
> Again, this doesn't make sense without region_assign_count. At which

Ack, I'll address it in next revision.

> point you can use sc8180x_mpss_resource instead.

minidump_id is required for Shikra. (decrypt_shutdown is not applicable 
and will be removed in the next revision.)
For minidump_id, we still need to use shikra_mpss_resource instead of 
sc8180x_mpss_resource. <?>

>> +};
>> +
>>   static const struct qcom_pas_data sm8650_cdsp_resource = {
>>   	.crash_reason_smem = 601,
>>   	.firmware_name = "cdsp.mdt",
>> @@ -1571,6 +1619,9 @@ static const struct of_device_id qcom_pas_of_match[] = {
>>   	{ .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource_init },
>>   	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource },
>>   	{ .compatible = "qcom,sdx75-mpss-pas", .data = &sm8650_mpss_resource },
>> +	{ .compatible = "qcom,shikra-cdsp-pas", .data = &shikra_cdsp_resource },
>> +	{ .compatible = "qcom,shikra-lpaicp-pas", .data = &shikra_lpaicp_resource },
>> +	{ .compatible = "qcom,shikra-mpss-pas", .data = &shikra_mpss_resource },
>>   	{ .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init },
>>   	{ .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init },
>>   	{ .compatible = "qcom,sm6115-mpss-pas", .data = &sc8180x_mpss_resource },
>>
>> -- 
>> 2.34.1
>>


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

* Re: [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs
  2026-05-19  9:16     ` Komal Bajaj
@ 2026-05-20 14:36       ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-05-20 14:36 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: conor+dt, krzk+dt, robh, devicetree

On 5/19/2026 2:46 PM, Komal Bajaj wrote:
>
> On 5/14/2026 3:36 PM, sashiko-bot@kernel.org wrote:
>> Thank you for your contribution! Sashiko AI review found 1 potential 
>> issue(s) to consider:
>> - [Low] The device tree binding example provides two interconnect 
>> paths, violating the `maxItems: 1` constraint inherited from 
>> `qcom,pas-common.yaml`.
>> -- 
>>
>> commit 6b248da80633195199f478d98724a0590dfdff63
>> Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>>
>> dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS 
>> remoteprocs
>>
>> This commit documents the bindings for the CDSP, LPAICP and MPSS PAS on
>> the Shikra SoC.
>>
>>> diff --git 
>>> a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml 
>>> b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>>> new file mode 100644
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml
>> [ ... ]
>>
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/clock/qcom,rpmcc.h>
>> [ ... ]
>>
>>> +        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
>>> +        clock-names = "xo";
>>> +
>>> +        interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ALWAYS_TAG
>>> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>,
>>> +                        <&system_noc MASTER_CRYPTO_CORE0 
>>> RPM_ALWAYS_TAG
>>> +                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>;
>> Will this cause a validation failure during make dt_binding_check?
>>
>> The qcom,pas-common.yaml schema, which is included earlier in this file
>> via a $ref, restricts the interconnects property to a maximum of 1 item.
>> However, the example block here provides two interconnect paths.
>
> This seems correct — interconnects constraint in qcom,pas-common.yaml 
> is currently set to maxItems: 1. I willl update it to maxItems: 2 to 
> accommodate SoCs that require two interconnect paths.

Revisited other Qualcomm platforms hosted in upstream, and it seems like 
we don't need explicit voting on system_noc from remoteproc (voting is 
already taken by scm).
So we can keep only one interconnect entry.

Thanks
Komal

>
> Thanks
> Komal
>
>>
>>> +
>>> +        power-domains = <&rpmpd RPMHPD_CX>;
>>> +        power-domain-names = "cx";
>


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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-19 15:03     ` Komal Bajaj
@ 2026-05-22 12:13       ` Konrad Dybcio
  2026-05-22 14:18         ` Dmitry Baryshkov
  0 siblings, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2026-05-22 12:13 UTC (permalink / raw)
  To: Komal Bajaj, Dmitry Baryshkov
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, Bibek Kumar Patro

On 5/19/26 5:03 PM, Komal Bajaj wrote:
> On 5/14/2026 12:48 AM, Dmitry Baryshkov wrote:
>> On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
>>> From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>>>
>>> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
>>> for the Qualcomm Shikra SoC.
>>>
>>> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>>> ---

[...]

> Ack, I'll address it in next revision.
> 
>> point you can use sc8180x_mpss_resource instead.
> 
> minidump_id is required for Shikra. (decrypt_shutdown is not applicable and will be removed in the next revision.)
> For minidump_id, we still need to use shikra_mpss_resource instead of sc8180x_mpss_resource. <?>

Is there a chance the same ID would be applicable to 8180 as well,
just that we missed it in the past?

Konrad

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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-22 12:13       ` Konrad Dybcio
@ 2026-05-22 14:18         ` Dmitry Baryshkov
  2026-05-22 14:53           ` Komal Bajaj
  0 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-05-22 14:18 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Komal Bajaj, Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, Bibek Kumar Patro

On Fri, May 22, 2026 at 02:13:08PM +0200, Konrad Dybcio wrote:
> On 5/19/26 5:03 PM, Komal Bajaj wrote:
> > On 5/14/2026 12:48 AM, Dmitry Baryshkov wrote:
> >> On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
> >>> From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> >>>
> >>> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
> >>> for the Qualcomm Shikra SoC.
> >>>
> >>> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> >>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> >>> ---
> 
> [...]
> 
> > Ack, I'll address it in next revision.
> > 
> >> point you can use sc8180x_mpss_resource instead.
> > 
> > minidump_id is required for Shikra. (decrypt_shutdown is not applicable and will be removed in the next revision.)
> > For minidump_id, we still need to use shikra_mpss_resource instead of sc8180x_mpss_resource. <?>
> 
> Is there a chance the same ID would be applicable to 8180 as well,
> just that we missed it in the past?

Do we know, which platforms were the first to support minidump at all?

> 
> Konrad

-- 
With best wishes
Dmitry

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

* Re: [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support
  2026-05-22 14:18         ` Dmitry Baryshkov
@ 2026-05-22 14:53           ` Komal Bajaj
  0 siblings, 0 replies; 13+ messages in thread
From: Komal Bajaj @ 2026-05-22 14:53 UTC (permalink / raw)
  To: Dmitry Baryshkov, Konrad Dybcio
  Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	linux-remoteproc, devicetree, linux-kernel, Bibek Kumar Patro


On 5/22/2026 7:48 PM, Dmitry Baryshkov wrote:
> On Fri, May 22, 2026 at 02:13:08PM +0200, Konrad Dybcio wrote:
>> On 5/19/26 5:03 PM, Komal Bajaj wrote:
>>> On 5/14/2026 12:48 AM, Dmitry Baryshkov wrote:
>>>> On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
>>>>> From: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>>>>>
>>>>> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
>>>>> for the Qualcomm Shikra SoC.
>>>>>
>>>>> Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
>>>>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>>>>> ---
>> [...]
>>
>>> Ack, I'll address it in next revision.
>>>
>>>> point you can use sc8180x_mpss_resource instead.
>>> minidump_id is required for Shikra. (decrypt_shutdown is not applicable and will be removed in the next revision.)
>>> For minidump_id, we still need to use shikra_mpss_resource instead of sc8180x_mpss_resource. <?>
>> Is there a chance the same ID would be applicable to 8180 as well,
>> just that we missed it in the past?
> Do we know, which platforms were the first to support minidump at all?

I am not entirely sure from which target minidump support was 
introduced, but SC8180X does not seem to support it.

Thanks
Komal

>
>> Konrad


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

end of thread, other threads:[~2026-05-22 14:53 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 18:47 [PATCH 0/2] remoteproc: qcom: Add Shikra remoteproc support Komal Bajaj
2026-05-13 18:47 ` [PATCH 1/2] dt-bindings: remoteproc: qcom,shikra-pas: Document Shikra PAS remoteprocs Komal Bajaj
2026-05-13 22:06   ` Rob Herring (Arm)
2026-05-14 10:06   ` sashiko-bot
2026-05-19  9:16     ` Komal Bajaj
2026-05-20 14:36       ` Komal Bajaj
2026-05-13 18:47 ` [PATCH 2/2] remoteproc: qcom: pas: Add Shikra remoteproc support Komal Bajaj
2026-05-13 19:18   ` Dmitry Baryshkov
2026-05-19 15:03     ` Komal Bajaj
2026-05-22 12:13       ` Konrad Dybcio
2026-05-22 14:18         ` Dmitry Baryshkov
2026-05-22 14:53           ` Komal Bajaj
2026-05-14 10:23   ` sashiko-bot

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