Commits
Suman Anna committed 7e3cb7682dd
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: Suman Anna <s-anna@ti.com>