On Thu, May 14, 2026 at 12:17:31AM +0530, Komal Bajaj wrote:
> From: Bibek Kumar Patro <[email protected]>
>
> Add the CDSP, LPAICP and MPSS Peripheral Authentication Service support
> for the Qualcomm Shikra SoC.
>
> Signed-off-by: Bibek Kumar Patro <[email protected]>
> Signed-off-by: Komal Bajaj <[email protected]>
> ---
> 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