This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Issue with custom DSP firmware

Other Parts Discussed in Thread: SYSBIOS

Hi,

For doing some experiments, I had to load custom DSP and IPU firmware. For this I enabled  the following two options and compile a new kernel from the source in ti-glsdk. The custom firmware was also made from the sources found in the sysbios directory of ti-glsdk.

CONFIG_OMAP_REMOTEPROC_DSP=y
CONFIG_OMAP_DSP_CMA_SIZE=0x700000

While i was successful with the IPU, the DSP does not seem to be working as expected. From both the DSP and the IPU I get echo reply. But the chaneel is only created for the IPU.

[   10.038269] omap-rproc omap-rproc.0: received echo reply from dsp_c0

[ 10.447814] omap-rproc omap-rproc.1: received echo reply from ipu_c0
[ 10.448394] virtio_rpmsg_bus virtio0: creating channel rpmsg-omx1 addr 0x3c

Is there any changes I need to do in the sybios/linux kernel to get the DSP to work ?

--Kiran

  • This happens due to a mismatch between the linux kernel and sysbios on where the virtual queue rings are.

    In linux side arch/arm/mach-omap2/remoteproc.c, #define OMAP_RPROC_CMA_BASE_DSP (0x98800000)
    In bios side src/ti/resources/rsc_table_dsp.h,
    #ifdef OMAP5
    #define PHYS_MEM_IPC_VRING      0x95000000
    #else
    #define PHYS_MEM_IPC_VRING      0x98800000
    #endif

    Because I am using OMAP5, it seems somewhere OMAP5 is defined and this leads to a mismatch.