mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 11:41:29 -04:00
remoteproc: qcom: pas: Add Nord ADSP and CDSP support
Add support for ADSP (HPASS DSP) and 4 CDSPs found on Nord SoC. The ADSP is pre-booted by XBL before Linux starts, so set early_boot flag for attach path rather than a cold boot sequence. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260729023508.879752-4-shengchao.guo@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
5b8a0dcedb
commit
22e96a38ad
@@ -1438,6 +1438,111 @@ static const struct qcom_pas_data milos_cdsp_resource = {
|
||||
.smem_host_id = 5,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data nord_adsp_resource = {
|
||||
.crash_reason_smem = 423,
|
||||
.firmware_name = "adsp.mbn",
|
||||
.dtb_firmware_name = "adsp_dtb.mbn",
|
||||
.pas_id = 1,
|
||||
.dtb_pas_id = 36,
|
||||
.minidump_id = 5,
|
||||
.auto_boot = true,
|
||||
.early_boot = true,
|
||||
.proxy_pd_names = (char*[]){
|
||||
"cx",
|
||||
"mx",
|
||||
NULL
|
||||
},
|
||||
.load_state = "adsp",
|
||||
.ssr_name = "lpass",
|
||||
.sysmon_name = "adsp",
|
||||
.ssctl_id = 0x14,
|
||||
.smem_host_id = 2,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data nord_cdsp0_resource = {
|
||||
.crash_reason_smem = 601,
|
||||
.firmware_name = "cdsp.mbn",
|
||||
.dtb_firmware_name = "cdsp_dtb.mbn",
|
||||
.pas_id = 18,
|
||||
.dtb_pas_id = 37,
|
||||
.minidump_id = 7,
|
||||
.auto_boot = true,
|
||||
.proxy_pd_names = (char*[]){
|
||||
"cx",
|
||||
"mx",
|
||||
"nsp",
|
||||
NULL
|
||||
},
|
||||
.load_state = "cdsp",
|
||||
.ssr_name = "cdsp0",
|
||||
.sysmon_name = "cdsp0",
|
||||
.ssctl_id = 0x17,
|
||||
.smem_host_id = 5,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data nord_cdsp1_resource = {
|
||||
.crash_reason_smem = 633,
|
||||
.firmware_name = "cdsp1.mbn",
|
||||
.dtb_firmware_name = "cdsp1_dtb.mbn",
|
||||
.pas_id = 30,
|
||||
.dtb_pas_id = 59,
|
||||
.minidump_id = 20,
|
||||
.auto_boot = true,
|
||||
.proxy_pd_names = (char*[]){
|
||||
"cx",
|
||||
"mx",
|
||||
"nsp",
|
||||
NULL
|
||||
},
|
||||
.load_state = "cdsp1",
|
||||
.ssr_name = "cdsp1",
|
||||
.sysmon_name = "cdsp1",
|
||||
.ssctl_id = 0x20,
|
||||
.smem_host_id = 69,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data nord_cdsp2_resource = {
|
||||
.crash_reason_smem = 665,
|
||||
.firmware_name = "cdsp2.mbn",
|
||||
.dtb_firmware_name = "cdsp2_dtb.mbn",
|
||||
.pas_id = 57,
|
||||
.dtb_pas_id = 60,
|
||||
.minidump_id = 29,
|
||||
.auto_boot = true,
|
||||
.proxy_pd_names = (char*[]){
|
||||
"cx",
|
||||
"mx",
|
||||
"nsp",
|
||||
NULL
|
||||
},
|
||||
.load_state = "cdsp2",
|
||||
.ssr_name = "cdsp2",
|
||||
.sysmon_name = "cdsp2",
|
||||
.ssctl_id = 0x1f,
|
||||
.smem_host_id = 133,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data nord_cdsp3_resource = {
|
||||
.crash_reason_smem = 666,
|
||||
.firmware_name = "cdsp3.mbn",
|
||||
.dtb_firmware_name = "cdsp3_dtb.mbn",
|
||||
.pas_id = 58,
|
||||
.dtb_pas_id = 61,
|
||||
.minidump_id = 30,
|
||||
.auto_boot = true,
|
||||
.proxy_pd_names = (char*[]){
|
||||
"cx",
|
||||
"mx",
|
||||
"nsp",
|
||||
NULL
|
||||
},
|
||||
.load_state = "cdsp3",
|
||||
.ssr_name = "cdsp3",
|
||||
.sysmon_name = "cdsp3",
|
||||
.ssctl_id = 0x1a,
|
||||
.smem_host_id = 197,
|
||||
};
|
||||
|
||||
static const struct qcom_pas_data sm8450_mpss_resource = {
|
||||
.crash_reason_smem = 421,
|
||||
.firmware_name = "modem.mdt",
|
||||
@@ -1732,6 +1837,11 @@ static const struct of_device_id qcom_pas_of_match[] = {
|
||||
{ .compatible = "qcom,msm8996-slpi-pil", .data = &msm8996_slpi_resource_init },
|
||||
{ .compatible = "qcom,msm8998-adsp-pas", .data = &msm8996_adsp_resource },
|
||||
{ .compatible = "qcom,msm8998-slpi-pas", .data = &msm8996_slpi_resource_init },
|
||||
{ .compatible = "qcom,nord-adsp-pas", .data = &nord_adsp_resource },
|
||||
{ .compatible = "qcom,nord-cdsp0-pas", .data = &nord_cdsp0_resource },
|
||||
{ .compatible = "qcom,nord-cdsp1-pas", .data = &nord_cdsp1_resource },
|
||||
{ .compatible = "qcom,nord-cdsp2-pas", .data = &nord_cdsp2_resource },
|
||||
{ .compatible = "qcom,nord-cdsp3-pas", .data = &nord_cdsp3_resource },
|
||||
{ .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 },
|
||||
|
||||
Reference in New Issue
Block a user