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