From: Tengfei Fan <quic_teng...@quicinc.com>

Add support for PIL loading on ADSP, CDSP0, CDSP1, GPDSP0 and GPDSP1 on
SA8775p SoCs.

Signed-off-by: Tengfei Fan <quic_teng...@quicinc.com>
Co-developed-by: Bartosz Golaszewski <bartosz.golaszew...@linaro.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszew...@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",
+               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


Reply via email to