Update adsp pil data and compatible name for loading ADSP
binary on SC7280 based platforms.
Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
---
Changes since V5:
-- Rename adsp_sandbox_needed to has_iommu.
-- Change adsp binary extention name.
Changes since V3:
-- Rename is_adsp_sb_needed to adsp_sandbox_needed.
-- Update sc7280 compatible name entry in sorted order.
Changes since V2:
-- Initialize is_adsp_sb_needed flag.
-- Remove empty proxy pds array.
drivers/remoteproc/qcom_q6v5_adsp.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c
index fa2ccac..02d17b4 100644
--- a/drivers/remoteproc/qcom_q6v5_adsp.c
+++ b/drivers/remoteproc/qcom_q6v5_adsp.c
@@ -702,6 +702,21 @@ static const struct adsp_pil_data adsp_resource_init = {
},
};
+static const struct adsp_pil_data adsp_sc7280_resource_init = {
+ .crash_reason_smem = 423,
+ .firmware_name = "adsp.pbn",
+ .load_state = "adsp",
+ .ssr_name = "lpass",
+ .sysmon_name = "adsp",
+ .ssctl_id = 0x14,
+ .has_iommu = true,
+ .auto_boot = true,
+ .clk_ids = (const char*[]) {
+ "gcc_cfg_noc_lpass", NULL
+ },
+ .num_clks = 1,
+};
+
static const struct adsp_pil_data cdsp_resource_init = {
.crash_reason_smem = 601,
.firmware_name = "cdsp.mdt",
@@ -740,6 +755,7 @@ static const struct adsp_pil_data wpss_resource_init = {
static const struct of_device_id adsp_of_match[] = {
{ .compatible = "qcom,qcs404-cdsp-pil", .data = &cdsp_resource_init },
+ { .compatible = "qcom,sc7280-adsp-pil", .data = &adsp_sc7280_resource_init },
{ .compatible = "qcom,sc7280-wpss-pil", .data = &wpss_resource_init },
{ .compatible = "qcom,sdm845-adsp-pil", .data = &adsp_resource_init },
{ },
--
2.7.4
Quoting Srinivasa Rao Mandadapu (2022-09-08 06:23:37) > Update adsp pil data and compatible name for loading ADSP > binary on SC7280 based platforms. > > Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
On 9/8/22 6:53 PM, Srinivasa Rao Mandadapu wrote:
> Update adsp pil data and compatible name for loading ADSP
> binary on SC7280 based platforms.
>
> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
> ---
> Changes since V5:
> -- Rename adsp_sandbox_needed to has_iommu.
> -- Change adsp binary extention name.
> Changes since V3:
> -- Rename is_adsp_sb_needed to adsp_sandbox_needed.
> -- Update sc7280 compatible name entry in sorted order.
> Changes since V2:
> -- Initialize is_adsp_sb_needed flag.
> -- Remove empty proxy pds array.
>
> drivers/remoteproc/qcom_q6v5_adsp.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c
> index fa2ccac..02d17b4 100644
> --- a/drivers/remoteproc/qcom_q6v5_adsp.c
> +++ b/drivers/remoteproc/qcom_q6v5_adsp.c
> @@ -702,6 +702,21 @@ static const struct adsp_pil_data adsp_resource_init = {
> },
> };
>
> +static const struct adsp_pil_data adsp_sc7280_resource_init = {
> + .crash_reason_smem = 423,
> + .firmware_name = "adsp.pbn",
> + .load_state = "adsp",
given that you mention load_state info please make sure you
mention qcom,qmp as a required property in the bindings.
> + .ssr_name = "lpass",
> + .sysmon_name = "adsp",
> + .ssctl_id = 0x14,
> + .has_iommu = true,
> + .auto_boot = true,
> + .clk_ids = (const char*[]) {
> + "gcc_cfg_noc_lpass", NULL
> + },
> + .num_clks = 1,
bindings seem to mention 6 other required clocks any reason why
they were skipped?
AFAIK you'll also need lmx so you'll have to mention proxy_pd_names
as well.
> +};
> +
> static const struct adsp_pil_data cdsp_resource_init = {
> .crash_reason_smem = 601,
> .firmware_name = "cdsp.mdt",
> @@ -740,6 +755,7 @@ static const struct adsp_pil_data wpss_resource_init = {
>
> static const struct of_device_id adsp_of_match[] = {
> { .compatible = "qcom,qcs404-cdsp-pil", .data = &cdsp_resource_init },
> + { .compatible = "qcom,sc7280-adsp-pil", .data = &adsp_sc7280_resource_init },
> { .compatible = "qcom,sc7280-wpss-pil", .data = &wpss_resource_init },
> { .compatible = "qcom,sdm845-adsp-pil", .data = &adsp_resource_init },
> { },
>
On 9/14/2022 2:52 PM, Sibi Sankar wrote:
Thanks for Your time Sibi Sankar!!!
>
> On 9/8/22 6:53 PM, Srinivasa Rao Mandadapu wrote:
>> Update adsp pil data and compatible name for loading ADSP
>> binary on SC7280 based platforms.
>>
>> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
>> ---
>> Changes since V5:
>> -- Rename adsp_sandbox_needed to has_iommu.
>> -- Change adsp binary extention name.
>> Changes since V3:
>> -- Rename is_adsp_sb_needed to adsp_sandbox_needed.
>> -- Update sc7280 compatible name entry in sorted order.
>> Changes since V2:
>> -- Initialize is_adsp_sb_needed flag.
>> -- Remove empty proxy pds array.
>>
>> drivers/remoteproc/qcom_q6v5_adsp.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c
>> b/drivers/remoteproc/qcom_q6v5_adsp.c
>> index fa2ccac..02d17b4 100644
>> --- a/drivers/remoteproc/qcom_q6v5_adsp.c
>> +++ b/drivers/remoteproc/qcom_q6v5_adsp.c
>> @@ -702,6 +702,21 @@ static const struct adsp_pil_data
>> adsp_resource_init = {
>> },
>> };
>> +static const struct adsp_pil_data adsp_sc7280_resource_init = {
>> + .crash_reason_smem = 423,
>> + .firmware_name = "adsp.pbn",
>> + .load_state = "adsp",
>
> given that you mention load_state info please make sure you
> mention qcom,qmp as a required property in the bindings.
Okay. Will add it in the bindings.
>
>> + .ssr_name = "lpass",
>> + .sysmon_name = "adsp",
>> + .ssctl_id = 0x14,
>> + .has_iommu = true,
>> + .auto_boot = true,
>> + .clk_ids = (const char*[]) {
>> + "gcc_cfg_noc_lpass", NULL
>> + },
>> + .num_clks = 1,
>
> bindings seem to mention 6 other required clocks any reason why
> they were skipped?
Actually all other clocks are being enabled locally, without using clock
framework, as the memory space conflict with other module occurred.
>
> AFAIK you'll also need lmx so you'll have to mention proxy_pd_names
> as well.
So far we didn't see any issue without LMX PD.
>
>> +};
>> +
>> static const struct adsp_pil_data cdsp_resource_init = {
>> .crash_reason_smem = 601,
>> .firmware_name = "cdsp.mdt",
>> @@ -740,6 +755,7 @@ static const struct adsp_pil_data
>> wpss_resource_init = {
>> static const struct of_device_id adsp_of_match[] = {
>> { .compatible = "qcom,qcs404-cdsp-pil", .data =
>> &cdsp_resource_init },
>> + { .compatible = "qcom,sc7280-adsp-pil", .data =
>> &adsp_sc7280_resource_init },
>> { .compatible = "qcom,sc7280-wpss-pil", .data =
>> &wpss_resource_init },
>> { .compatible = "qcom,sdm845-adsp-pil", .data =
>> &adsp_resource_init },
>> { },
>>
© 2016 - 2026 Red Hat, Inc.