Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

remoteproc: qcom_q6v5_pas: add sm8550 adsp, cdsp & mpss compatible & data

This adds the compatible & data for the aDSP, cDSP and MPSS found in
the SM8550 SoC.

This platform requires the "Devicetree" firmware to be loaded along the
main firmware.

The MPSS DSM memory to be assigned to the MPSS subsystem is the
third memory-region entry as defined in the bindings.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-remoteproc-v4-5-54154c08c0b7@linaro.org

authored by

Neil Armstrong and committed by
Bjorn Andersson
7eddedc9 c63c0a7c

+63
+63
drivers/remoteproc/qcom_q6v5_pas.c
··· 1101 1101 .ssctl_id = 0x12, 1102 1102 }; 1103 1103 1104 + static const struct adsp_data sm8550_adsp_resource = { 1105 + .crash_reason_smem = 423, 1106 + .firmware_name = "adsp.mdt", 1107 + .dtb_firmware_name = "adsp_dtb.mdt", 1108 + .pas_id = 1, 1109 + .dtb_pas_id = 0x24, 1110 + .minidump_id = 5, 1111 + .auto_boot = false, 1112 + .proxy_pd_names = (char*[]){ 1113 + "lcx", 1114 + "lmx", 1115 + NULL 1116 + }, 1117 + .load_state = "adsp", 1118 + .ssr_name = "lpass", 1119 + .sysmon_name = "adsp", 1120 + .ssctl_id = 0x14, 1121 + }; 1122 + 1123 + static const struct adsp_data sm8550_cdsp_resource = { 1124 + .crash_reason_smem = 601, 1125 + .firmware_name = "cdsp.mdt", 1126 + .dtb_firmware_name = "cdsp_dtb.mdt", 1127 + .pas_id = 18, 1128 + .dtb_pas_id = 0x25, 1129 + .minidump_id = 7, 1130 + .auto_boot = false, 1131 + .proxy_pd_names = (char*[]){ 1132 + "cx", 1133 + "mxc", 1134 + "nsp", 1135 + NULL 1136 + }, 1137 + .load_state = "cdsp", 1138 + .ssr_name = "cdsp", 1139 + .sysmon_name = "cdsp", 1140 + .ssctl_id = 0x17, 1141 + }; 1142 + 1143 + static const struct adsp_data sm8550_mpss_resource = { 1144 + .crash_reason_smem = 421, 1145 + .firmware_name = "modem.mdt", 1146 + .dtb_firmware_name = "modem_dtb.mdt", 1147 + .pas_id = 4, 1148 + .dtb_pas_id = 0x26, 1149 + .minidump_id = 3, 1150 + .auto_boot = false, 1151 + .decrypt_shutdown = true, 1152 + .proxy_pd_names = (char*[]){ 1153 + "cx", 1154 + "mss", 1155 + NULL 1156 + }, 1157 + .load_state = "modem", 1158 + .ssr_name = "mpss", 1159 + .sysmon_name = "modem", 1160 + .ssctl_id = 0x12, 1161 + .region_assign_idx = 2, 1162 + }; 1163 + 1104 1164 static const struct of_device_id adsp_of_match[] = { 1105 1165 { .compatible = "qcom,msm8226-adsp-pil", .data = &adsp_resource_init}, 1106 1166 { .compatible = "qcom,msm8953-adsp-pil", .data = &msm8996_adsp_resource}, ··· 1202 1142 { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8350_cdsp_resource}, 1203 1143 { .compatible = "qcom,sm8450-slpi-pas", .data = &sm8350_slpi_resource}, 1204 1144 { .compatible = "qcom,sm8450-mpss-pas", .data = &sm8450_mpss_resource}, 1145 + { .compatible = "qcom,sm8550-adsp-pas", .data = &sm8550_adsp_resource}, 1146 + { .compatible = "qcom,sm8550-cdsp-pas", .data = &sm8550_cdsp_resource}, 1147 + { .compatible = "qcom,sm8550-mpss-pas", .data = &sm8550_mpss_resource}, 1205 1148 { }, 1206 1149 }; 1207 1150 MODULE_DEVICE_TABLE(of, adsp_of_match);