From e88bb8f7a12c1325e312c214f157109d56b06f76 Mon Sep 17 00:00:00 2001 From: Suman Anna Date: Tue, 13 Jun 2017 18:45:12 -0500 Subject: remoteproc/keystone: Add a remoteproc driver for Keystone 2 DSPs The Texas Instrument's Keystone 2 family of SoCs has 1 or more TMS320C66x DSP Core Subsystems (C66x CorePacs). Each subsystem has a C66x Fixed/Floating-Point DSP Core, with 32KB of L1P and L1D SRAMs, that can be configured and partitioned as either RAM and/or Cache, and 1 MB of L2 SRAM. The CorePac also includes an Internal DMA (IDMA), External Memory Controller (EMC), Extended Memory Controller (XMC) with a Memory Protection and Address Extension (MPAX) unit, a Bandwidth Management (BWM) unit, an Interrupt Controller (INTC) and a Powerdown Controller (PDC). A new remoteproc module is added to perform the device management of these DSP devices. The driver expects the firmware names to be of the form "keystone-dsp-fw", where X is the corresponding DSP number, and uses the standard remoteproc core ELF loader. The support is limited to images only using the DSP internal memories at the moment. This remoteproc driver is also designed to work with virtio, and uses the IPC Generation registers for performing the virtio signalling and getting notified of exceptions. The driver currently supports the 66AK2H/66AK2K, 66AK2L and 66AK2E SoCs. Signed-off-by: Suman Anna Signed-off-by: Sam Nelson Signed-off-by: Andrew F. Davis Acked-by: Santosh Shilimkar Signed-off-by: Bjorn Andersson --- drivers/remoteproc/Kconfig | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'drivers/remoteproc/Kconfig') diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig index 0aafb0d0e9fd..b950e6cd4ba2 100644 --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig @@ -71,6 +71,19 @@ config DA8XX_REMOTEPROC It's safe to say n here if you're not interested in multimedia offloading. +config KEYSTONE_REMOTEPROC + tristate "Keystone Remoteproc support" + depends on ARCH_KEYSTONE + depends on RESET_CONTROLLER + depends on REMOTEPROC + select RPMSG_VIRTIO + help + Say Y here here to support Keystone remote processors (DSP) + via the remote processor framework. + + It's safe to say N here if you're not interested in the Keystone + DSPs or just want to use a bare minimum kernel. + config QCOM_ADSP_PIL tristate "Qualcomm ADSP Peripheral Image Loader" depends on OF && ARCH_QCOM -- cgit v1.2.3