Message ID | 1662643422-14909-4-git-send-email-quic_srivasam@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Update ADSP pil loader for SC7280 platform | expand |
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 }, >> { }, >>
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 }, { },
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(+)