Commit cb2d4e09 authored by Suman Anna's avatar Suman Anna
Browse files

remoteproc/k3-dsp: add support for IPC-only mode for all K3 DSPs



Add support to the K3 DSP remoteproc driver to configure all the C66x
and C71x cores on J721E SoCs to be either in IPC-only mode or the
traditional remoteproc mode. The IPC-only mode expects that the remote
processors are already booted by the bootloader, and only perform the
minimum steps required to initialize and deinitialize the virtio IPC
transports. The remoteproc mode allows the kernel remoteproc driver to
do the regular load and boot and other device management operations for
a DSP.

The IPC-only mode for a DSP is detected and configured at driver probe
time by querying the System Firmware for the DSP power and reset state
and/or status and making sure that the DSP is indeed started by the
bootloaders, otherwise the device is configured for remoteproc mode.

Support for IPC-only mode is achieved through various flags in both
remoteproc core and the DSP remoteproc driver. The support in remoteproc
core for this is added in commit 20afed1b45bf ("remoteproc: add
infrastructure support to allow pre-loaded remoteprocs"). The support
requires that the firmware still be requested to process the resource
table for retrieving the virtio device and trace resource entries.

NOTE:
 - The driver cannot configure a DSP for remoteproc mode by any
   means without rebooting the kernel if that DSP has been started
   by a bootloader.
 - The resource table address retrieval logic can actually be done by
   providing the data through device tree (thereby bypassing the need to
   request the firmware), with the bootloader adding and/or updating the
   necessary DT properties. Another option is to use a design-by-contract
   approach of having the resource table located at a specific offset
   within one of the memory regions. This will be optimized for in
   the future.

Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
parent f2e02c68
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment