remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs
authorSuman Anna <s-anna@ti.com>
Tue, 21 Jul 2020 22:36:17 +0000 (17:36 -0500)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 29 Jul 2020 00:06:46 +0000 (17:06 -0700)
commit21a4d7386e7e8b5f6fb97ced6af3b8181f2c9bd5
tree62a732f594e95e58e73a0ac9824e33060103c451
parent6edbe024ba17777b065e0d0b8aeca9789a4d880b
remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs

The resets for the DSP processors on K3 SoCs are managed through the
Power and Sleep Controller (PSC) module. Each DSP typically has two
resets - a global module reset for powering on the device, and a local
reset that affects only the CPU while allowing access to the other
sub-modules within the DSP processor sub-systems.

The C66x DSPs have two levels of internal RAMs that can be used to
boot from, and the firmware loading into these RAMs require the
local reset to be asserted with the device powered on/enabled using
the module reset. Enhance the K3 DSP remoteproc driver to add support
for loading into the internal RAMs. The local reset is deasserted on
SoC power-on-reset, so logic has to be added in probe in remoteproc
mode to balance the remoteproc state-machine.

Note that the local resets are a no-op on C71x cores, and the hardware
does not supporting loading into its internal RAMs.

Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20200721223617.20312-7-s-anna@ti.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/ti_k3_dsp_remoteproc.c