[PATCH 00/12] arm64: qcom: autodetect firmware paths

From: Dmitry Baryshkov
Date: Tue May 21 2024 - 05:45:44 EST


This is a followup to the discussion during the Linaro Connect. Remove
most of the firmware-name properties from the board DT by using
root node compatible to detect firmware path.

The most obvious change is that the drivers now have to look for the
MBN firmware files by default, so this might break the case of the user
simply mounting vendor's firmware partition to /lib/firmware and
expecting it to work.

Also things are slightly more complex for the platforms like DB845c and
Qualcomm RB5. These platforms have generic SoC firmware in qcom/sdm845
and qcom/sm8250 and also the board-specific firmware at
qcom/sdm845/Thundercomm/DB845C and qcom/sm8250/Thundercomm/RB5
respectively. Making these boards follow up the scheme would require
additional symlinks in the firmware dir.

+Link: qcom/sdm845/Thundercomm/db845c/a630_zap.mbn -> ../../a630_zap.mbn
+Link: qcom/sm8250/Thundercomm/RB5/a650_zap.mbn -> ../../a650_zap.mbn
+Link: qcom/sdm845/Thundercomm/db845c/adsp.mbn -> ../../adsp.mbn
+Link: qcom/sdm845/Thundercomm/db845c/adspr.jsn -> ../../adspr.jsn
+Link: qcom/sdm845/Thundercomm/db845c/adspua.jsn -> ../../adspua.jsn
+Link: qcom/sdm845/Thundercomm/db845c/cdsp.mbn -> ../../cdsp.mbn
+Link: qcom/sdm845/Thundercomm/db845c/cdspr.jsn -> ../../cdspr.jsn
+Link: qcom/sm8250/Thundercomm/RB5/adsp.mbn -> ../../adsp.mbn
+Link: qcom/sm8250/Thundercomm/RB5/adspr.jsn -> ../../adspr.jsn
+Link: qcom/sm8250/Thundercomm/RB5/adspua.jsn -> ../../adspua.jsn
+Link: qcom/sm8250/Thundercomm/RB5/cdsp.mbn -> ../../cdsp.mbn
+Link: qcom/sm8250/Thundercomm/RB5/cdspr.jsn -> ../../cdspr.jsn

Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
Dmitry Baryshkov (12):
soc: qcom: add firmware name helper
wifi: wcn36xx: make use of QCOM_FW_HELPER
soc: qcom: wcnss_ctrl: make use of QCOM_FW_HELPER
remoteproc: qcom_q6v5_mss: switch to mbn files by default
remoteproc: qcom_q6v5_mss: make use of QCOM_FW_HELPER
remoteproc: qcom_q6v5_pas: switch to mbn files by default
remoteproc: qcom_q6v5_pas: make use of QCOM_FW_HELPER
remoteproc: qcom_wcnss: switch to mbn files by default
remoteproc: qcom_wcnss: make use of QCOM_FW_HELPER
remoteproc: qcom_wcnss: make use of QCOM_FW_HELPER
arm64: dts: qcom: apq8016-sbc: drop firmware-name properties
arm64: dts: qcom: apq8096-db820c: drop firmware-name properties

arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 5 +-
arch/arm64/boot/dts/qcom/apq8096-db820c.dts | 2 -
drivers/net/wireless/ath/wcn36xx/Kconfig | 1 +
drivers/net/wireless/ath/wcn36xx/main.c | 5 ++
drivers/remoteproc/Kconfig | 3 +
drivers/remoteproc/qcom_q6v5_mss.c | 12 +++-
drivers/remoteproc/qcom_q6v5_pas.c | 85 +++++++++++++++-------------
drivers/remoteproc/qcom_wcnss.c | 8 ++-
drivers/soc/qcom/Kconfig | 6 ++
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/qcom_fw_helper.c | 86 +++++++++++++++++++++++++++++
drivers/soc/qcom/wcnss_ctrl.c | 9 +++
include/linux/soc/qcom/fw_helper.h | 10 ++++
13 files changed, 187 insertions(+), 46 deletions(-)
---
base-commit: 632483ea8004edfadd035de36e1ab2c7c4f53158
change-id: 20240520-qcom-firmware-name-aeef265a753a

Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>