Message ID | 20240527-topic-lemans-iot-remoteproc-v2-3-8d24e3409daf@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: qcom: sa8775p: enable remoteprocs - ADSP, CDSP and GPDSP | expand |
On Mon, May 27, 2024 at 10:43:50AM +0200, Bartosz Golaszewski wrote: > From: Tengfei Fan <quic_tengfan@quicinc.com> > > Add support for PIL loading on ADSP, CDSP0, CDSP1, GPDSP0 and GPDSP1 on > SA8775p SoCs. > > Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com> > Co-developed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > drivers/remoteproc/qcom_q6v5_pas.c | 92 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 92 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c > index 54d8005d40a3..16053aa99298 100644 > --- a/drivers/remoteproc/qcom_q6v5_pas.c > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > @@ -820,6 +820,23 @@ static const struct adsp_data adsp_resource_init = { > .ssctl_id = 0x14, > }; > > +static const struct adsp_data sa8775p_adsp_resource = { > + .crash_reason_smem = 423, > + .firmware_name = "adsp.mdt", mbn please. Other than that LGTM > + .pas_id = 1, > + .minidump_id = 5, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "lcx", > + "lmx", > + NULL > + }, > + .load_state = "adsp", > + .ssr_name = "lpass", > + .sysmon_name = "adsp", > + .ssctl_id = 0x14, > +}; > + > static const struct adsp_data sdm845_adsp_resource_init = { > .crash_reason_smem = 423, > .firmware_name = "adsp.mdt", > @@ -933,6 +950,42 @@ static const struct adsp_data cdsp_resource_init = { > .ssctl_id = 0x17, > }; > > +static const struct adsp_data sa8775p_cdsp0_resource = { > + .crash_reason_smem = 601, > + .firmware_name = "cdsp0.mdt", > + .pas_id = 18, > + .minidump_id = 7, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + "nsp0", > + NULL > + }, > + .load_state = "cdsp", > + .ssr_name = "cdsp", > + .sysmon_name = "cdsp", > + .ssctl_id = 0x17, > +}; > + > +static const struct adsp_data sa8775p_cdsp1_resource = { > + .crash_reason_smem = 633, > + .firmware_name = "cdsp1.mdt", > + .pas_id = 30, > + .minidump_id = 20, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + "nsp1", > + NULL > + }, > + .load_state = "nsp", > + .ssr_name = "cdsp1", > + .sysmon_name = "cdsp1", > + .ssctl_id = 0x20, > +}; > + > static const struct adsp_data sdm845_cdsp_resource_init = { > .crash_reason_smem = 601, > .firmware_name = "cdsp.mdt", > @@ -1074,6 +1127,40 @@ static const struct adsp_data sm8350_cdsp_resource = { > .ssctl_id = 0x17, > }; > > +static const struct adsp_data sa8775p_gpdsp0_resource = { > + .crash_reason_smem = 640, > + .firmware_name = "gpdsp0.mdt", > + .pas_id = 39, > + .minidump_id = 21, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + NULL > + }, > + .load_state = "gpdsp0", > + .ssr_name = "gpdsp0", > + .sysmon_name = "gpdsp0", > + .ssctl_id = 0x21, > +}; > + > +static const struct adsp_data sa8775p_gpdsp1_resource = { > + .crash_reason_smem = 641, > + .firmware_name = "gpdsp1.mdt", > + .pas_id = 40, > + .minidump_id = 22, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + NULL > + }, > + .load_state = "gpdsp1", > + .ssr_name = "gpdsp1", > + .sysmon_name = "gpdsp1", > + .ssctl_id = 0x22, > +}; > + > static const struct adsp_data mpss_resource_init = { > .crash_reason_smem = 421, > .firmware_name = "modem.mdt", > @@ -1315,6 +1402,11 @@ static const struct of_device_id adsp_of_match[] = { > { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, > { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, > { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, > + { .compatible = "qcom,sa8775p-adsp-pas", .data = &sa8775p_adsp_resource}, > + { .compatible = "qcom,sa8775p-cdsp0-pas", .data = &sa8775p_cdsp0_resource}, > + { .compatible = "qcom,sa8775p-cdsp1-pas", .data = &sa8775p_cdsp1_resource}, > + { .compatible = "qcom,sa8775p-gpdsp0-pas", .data = &sa8775p_gpdsp0_resource}, > + { .compatible = "qcom,sa8775p-gpdsp1-pas", .data = &sa8775p_gpdsp1_resource}, > { .compatible = "qcom,sc7180-adsp-pas", .data = &sm8250_adsp_resource}, > { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init}, > { .compatible = "qcom,sc7280-adsp-pas", .data = &sm8350_adsp_resource}, > > -- > 2.43.0 >
On 5/27/2024 4:43 PM, Bartosz Golaszewski wrote: > From: Tengfei Fan <quic_tengfan@quicinc.com> > > Add support for PIL loading on ADSP, CDSP0, CDSP1, GPDSP0 and GPDSP1 on > SA8775p SoCs. > > Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com> > Co-developed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > drivers/remoteproc/qcom_q6v5_pas.c | 92 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 92 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c > index 54d8005d40a3..16053aa99298 100644 > --- a/drivers/remoteproc/qcom_q6v5_pas.c > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > @@ -820,6 +820,23 @@ static const struct adsp_data adsp_resource_init = { > .ssctl_id = 0x14, > }; > > +static const struct adsp_data sa8775p_adsp_resource = { > + .crash_reason_smem = 423, > + .firmware_name = "adsp.mdt", > + .pas_id = 1, > + .minidump_id = 5, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "lcx", > + "lmx", > + NULL > + }, > + .load_state = "adsp", > + .ssr_name = "lpass", > + .sysmon_name = "adsp", > + .ssctl_id = 0x14, > +}; > + > static const struct adsp_data sdm845_adsp_resource_init = { > .crash_reason_smem = 423, > .firmware_name = "adsp.mdt", > @@ -933,6 +950,42 @@ static const struct adsp_data cdsp_resource_init = { > .ssctl_id = 0x17, > }; > > +static const struct adsp_data sa8775p_cdsp0_resource = { > + .crash_reason_smem = 601, > + .firmware_name = "cdsp0.mdt", > + .pas_id = 18, > + .minidump_id = 7, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + "nsp0", s/nsp0/nsp/ > + NULL > + }, > + .load_state = "cdsp", > + .ssr_name = "cdsp", > + .sysmon_name = "cdsp", > + .ssctl_id = 0x17, > +}; > + > +static const struct adsp_data sa8775p_cdsp1_resource = { > + .crash_reason_smem = 633, > + .firmware_name = "cdsp1.mdt", > + .pas_id = 30, > + .minidump_id = 20, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + "nsp1", s/nsp1/nsp/ > + NULL > + }, > + .load_state = "nsp", > + .ssr_name = "cdsp1", > + .sysmon_name = "cdsp1", > + .ssctl_id = 0x20, > +}; > + > static const struct adsp_data sdm845_cdsp_resource_init = { > .crash_reason_smem = 601, > .firmware_name = "cdsp.mdt", > @@ -1074,6 +1127,40 @@ static const struct adsp_data sm8350_cdsp_resource = { > .ssctl_id = 0x17, > }; > > +static const struct adsp_data sa8775p_gpdsp0_resource = { > + .crash_reason_smem = 640, > + .firmware_name = "gpdsp0.mdt", > + .pas_id = 39, > + .minidump_id = 21, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + NULL > + }, > + .load_state = "gpdsp0", > + .ssr_name = "gpdsp0", > + .sysmon_name = "gpdsp0", > + .ssctl_id = 0x21, > +}; > + > +static const struct adsp_data sa8775p_gpdsp1_resource = { > + .crash_reason_smem = 641, > + .firmware_name = "gpdsp1.mdt", > + .pas_id = 40, > + .minidump_id = 22, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + NULL > + }, > + .load_state = "gpdsp1", > + .ssr_name = "gpdsp1", > + .sysmon_name = "gpdsp1", > + .ssctl_id = 0x22, > +}; > + > static const struct adsp_data mpss_resource_init = { > .crash_reason_smem = 421, > .firmware_name = "modem.mdt", > @@ -1315,6 +1402,11 @@ static const struct of_device_id adsp_of_match[] = { > { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, > { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, > { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, > + { .compatible = "qcom,sa8775p-adsp-pas", .data = &sa8775p_adsp_resource}, > + { .compatible = "qcom,sa8775p-cdsp0-pas", .data = &sa8775p_cdsp0_resource}, > + { .compatible = "qcom,sa8775p-cdsp1-pas", .data = &sa8775p_cdsp1_resource}, > + { .compatible = "qcom,sa8775p-gpdsp0-pas", .data = &sa8775p_gpdsp0_resource}, > + { .compatible = "qcom,sa8775p-gpdsp1-pas", .data = &sa8775p_gpdsp1_resource}, > { .compatible = "qcom,sc7180-adsp-pas", .data = &sm8250_adsp_resource}, > { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init}, > { .compatible = "qcom,sc7280-adsp-pas", .data = &sm8350_adsp_resource}, >
diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 54d8005d40a3..16053aa99298 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -820,6 +820,23 @@ static const struct adsp_data adsp_resource_init = { .ssctl_id = 0x14, }; +static const struct adsp_data sa8775p_adsp_resource = { + .crash_reason_smem = 423, + .firmware_name = "adsp.mdt", + .pas_id = 1, + .minidump_id = 5, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "lcx", + "lmx", + NULL + }, + .load_state = "adsp", + .ssr_name = "lpass", + .sysmon_name = "adsp", + .ssctl_id = 0x14, +}; + static const struct adsp_data sdm845_adsp_resource_init = { .crash_reason_smem = 423, .firmware_name = "adsp.mdt", @@ -933,6 +950,42 @@ static const struct adsp_data cdsp_resource_init = { .ssctl_id = 0x17, }; +static const struct adsp_data sa8775p_cdsp0_resource = { + .crash_reason_smem = 601, + .firmware_name = "cdsp0.mdt", + .pas_id = 18, + .minidump_id = 7, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + "mxc", + "nsp0", + NULL + }, + .load_state = "cdsp", + .ssr_name = "cdsp", + .sysmon_name = "cdsp", + .ssctl_id = 0x17, +}; + +static const struct adsp_data sa8775p_cdsp1_resource = { + .crash_reason_smem = 633, + .firmware_name = "cdsp1.mdt", + .pas_id = 30, + .minidump_id = 20, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + "mxc", + "nsp1", + NULL + }, + .load_state = "nsp", + .ssr_name = "cdsp1", + .sysmon_name = "cdsp1", + .ssctl_id = 0x20, +}; + static const struct adsp_data sdm845_cdsp_resource_init = { .crash_reason_smem = 601, .firmware_name = "cdsp.mdt", @@ -1074,6 +1127,40 @@ static const struct adsp_data sm8350_cdsp_resource = { .ssctl_id = 0x17, }; +static const struct adsp_data sa8775p_gpdsp0_resource = { + .crash_reason_smem = 640, + .firmware_name = "gpdsp0.mdt", + .pas_id = 39, + .minidump_id = 21, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + "mxc", + NULL + }, + .load_state = "gpdsp0", + .ssr_name = "gpdsp0", + .sysmon_name = "gpdsp0", + .ssctl_id = 0x21, +}; + +static const struct adsp_data sa8775p_gpdsp1_resource = { + .crash_reason_smem = 641, + .firmware_name = "gpdsp1.mdt", + .pas_id = 40, + .minidump_id = 22, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + "mxc", + NULL + }, + .load_state = "gpdsp1", + .ssr_name = "gpdsp1", + .sysmon_name = "gpdsp1", + .ssctl_id = 0x22, +}; + static const struct adsp_data mpss_resource_init = { .crash_reason_smem = 421, .firmware_name = "modem.mdt", @@ -1315,6 +1402,11 @@ static const struct of_device_id adsp_of_match[] = { { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, + { .compatible = "qcom,sa8775p-adsp-pas", .data = &sa8775p_adsp_resource}, + { .compatible = "qcom,sa8775p-cdsp0-pas", .data = &sa8775p_cdsp0_resource}, + { .compatible = "qcom,sa8775p-cdsp1-pas", .data = &sa8775p_cdsp1_resource}, + { .compatible = "qcom,sa8775p-gpdsp0-pas", .data = &sa8775p_gpdsp0_resource}, + { .compatible = "qcom,sa8775p-gpdsp1-pas", .data = &sa8775p_gpdsp1_resource}, { .compatible = "qcom,sc7180-adsp-pas", .data = &sm8250_adsp_resource}, { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init}, { .compatible = "qcom,sc7280-adsp-pas", .data = &sm8350_adsp_resource},