• Suman Anna's avatar
    remoteproc: k3-dsp: Add support for C71x DSPs · 87218f96
    Suman Anna authored
    The Texas Instrument's K3 J721E SoCs have a newer next-generation
    C71x DSP Subsystem in the MAIN voltage domain in addition to the
    previous generation C66x DSP subsystems. The C71x DSP subsystem is
    based on the TMS320C71x DSP CorePac module. The C71x CPU is a true
    64-bit machine including 64-bit memory addressing and single-cycle
    64-bit base arithmetic operations and supports vector signal processing
    providing a significant lift in DSP processing power over C66x DSPs.
    J721E SoCs use a C711 (a one-core 512-bit vector width CPU core) DSP
    that is cache coherent with the A72 Arm cores.
    
    Each subsystem has one or more Fixed/Floating-Point DSP CPUs, with 32 KB
    of L1P Cache, 48 KB of L1D SRAM that can be configured and partitioned as
    either RAM and/or Cache, and 512 KB of L2 SRAM configurable as either RAM
    and/or Cache. The CorePac also includes a Matrix Multiplication Accelerator
    (MMA), a Stream Engine (SE) and a C71x Memory Management Unit (CMMU), an
    Interrupt Controller (INTC) and a Powerdown Management Unit (PMU) modules.
    
    Update the existing K3 DSP remoteproc driver to add support for this C71x
    DSP subsystem. The firmware loading support is provided by using the newly
    added 64-bit ELF loader support, and is limited to images using only
    external DDR memory at the moment. The L1D and L2 SRAMs are used as scratch
    memory when using as RAMs, and cannot be used for loadable segments. The
    CMMU is also not supported to begin with, and the driver is designed to
    treat the MMU as if it is in bypass mode.
    Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
    Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Link: https://lore.kernel.org/r/20200612225357.8251-3-s-anna@ti.comSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    87218f96
ti_k3_dsp_remoteproc.c 20.7 KB