]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
remoteproc: qcom: pas: Add support for SA8775p ADSP, CDSP and GPDSP
authorTengfei Fan <quic_tengfan@quicinc.com>
Mon, 5 Aug 2024 17:08:04 +0000 (19:08 +0200)
committerBjorn Andersson <andersson@kernel.org>
Thu, 15 Aug 2024 02:58:43 +0000 (19:58 -0700)
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>
Link: https://lore.kernel.org/r/20240805-topic-sa8775p-iot-remoteproc-v4-3-86affdc72c04@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/remoteproc/qcom_q6v5_pas.c

index 59d5ac3b87e53a07e883d3f49a6aed562bc91f54..ef82835e98a4efd4bc603cff604d531a51fe9f9c 100644 (file)
@@ -829,6 +829,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.mbn",
+       .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",
@@ -942,6 +959,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.mbn",
+       .pas_id = 18,
+       .minidump_id = 7,
+       .auto_boot = true,
+       .proxy_pd_names = (char*[]){
+               "cx",
+               "mxc",
+               "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.mbn",
+       .pas_id = 30,
+       .minidump_id = 20,
+       .auto_boot = true,
+       .proxy_pd_names = (char*[]){
+               "cx",
+               "mxc",
+               "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",
@@ -1083,6 +1136,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.mbn",
+       .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.mbn",
+       .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",
@@ -1329,6 +1416,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},