remoteproc: k3-dsp: Add support for L2RAM loading on C66x DSPs
authorSuman Anna <s-anna@ti.com>
Tue, 10 Mar 2020 21:05:56 +0000 (16:05 -0500)
committerLokesh Vutla <lokeshvutla@ti.com>
Mon, 16 Mar 2020 07:02:47 +0000 (12:32 +0530)
commit42005817ee70059c041884c5ce3ff69e1da13e95
treedaef1735740fc4028ca1890901cd9b85cbd7bae1
parent8f4109e09dd78ea31e8177b9904fcfde60e7e23e
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>
drivers/remoteproc/ti_k3_dsp_rproc.c