remoteproc: qcom_q6v5_pas: add support for dtb co-firmware loading
authorNeil Armstrong <neil.armstrong@linaro.org>
Wed, 18 Jan 2023 16:22:41 +0000 (17:22 +0100)
committerBjorn Andersson <andersson@kernel.org>
Wed, 18 Jan 2023 17:41:05 +0000 (11:41 -0600)
commit29814986b82e820ae9d3eb7474cdcf66605bd114
tree32ecc49da287d714482a798bf56f8ade4c6ca7e7
parent084258d607128a7486311daf5e67ca414ee07cc9
remoteproc: qcom_q6v5_pas: add support for dtb co-firmware loading

Starting from the SM8550 SoC, starting the aDSP, cDSP and MPSS will
require loading a separate "Devicetree" firmware.

In order to satisfy the load & authentication order required by the SM8550
SoC, the following is implemented:
- "Devicetree" firmware request & load in dedicated memory
- Q6V5 prepare
- Power Domain & Clocks enable
- "Devicetree" firmware authentication
- Main firmware load in dedicated memory
- Main firmware authentication
- Q6V5 startup
- "Devicetree" firmware metadata release
- Main metadata release

When booting older platforms, the "Devicetree" steps would be
bypassed and the load & authentication order would still be valid.

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-3-54154c08c0b7@linaro.org
drivers/remoteproc/qcom_q6v5_pas.c