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.

Linux: Using eDMA on M4 while linux running...

Other Parts Discussed in Thread: SYSBIOS

Tool/software: Linux

Hello *!

I do not use sysbios or any sdk.
I got TI-Linux running on A15, eDMA is working on A15.

The Devicetree option:
&edma ... dma-request = <32>;...
let linux use the first 32 channels.
The last ones will be reserved for the usage in subcores.
In ressource table files of the M4 Code (usng remoteproc) the related registers for setting up eDMA made known. 
We are able to write to the configuration registers of the eDMA, but are not able to bring them up to work. 

There is no Chip support library for the usecase: A15 Linux and M4-Baremetal without sysbios or rtos, etc... but we need it! 
We do not use a linux-only, nor we use a complete bare-metal solution without linux. 
We need a Chip support library and examples of how to write code on M4 using IP-Hardware cooperative with linux.

The seriousness of situation:
If we are not able to use Linux and a real bare metal solution on subcores, without using sysbios or rtos, etc... this is a show stopper for this and following projects. Reinventing the wheel goes beyond or time to market requirement. 


In fact: There is no support for Linux and coding M4/DSP above nothing more than a Chip Support Library?
This one is only provided for "bare-metal-ONLY" solutions, running no Linux on A15, isn't it?

SHORT - What we need urgently: 

(1) At least we have to knwo: eDMA -> Linux need first 32 channles, M4 and DSP should use the last 32 channels -> WHAT TO DO ON M4 bringing up channel 33..64?
(2) Best support: Provide a Chip Support Library for the Linux and Baremetal M4/C6K cooperation, because Sysbios or RTOS are no options. (Small presents and examples receive the friendship...) 

Thank you... 

Marco. 

  • Hi Marco,

    You can use Processor SDK Vision and use the EDMA CSL present here: PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\csl\src\ip\edma\V1\edma.h.
    Processor SDK Vision can be downloaded from: www.ti.com/.../PROCESSOR-SDK-TDAX

    Regards,
    Rishabh
  • Thank you for quick response.

    Now we use this CSL (took out of sdk 03040003):
    ti-processor-sdk-linux-automotive-dra7xx-evm-03_04_00_03/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/share/ti/ti-pdk-tree/packages/ti/csl/src/ip

    It seams to be exactly the same we used in our "Pure-Bare-Metal" System (Module Development under CCS between M4 and DSP only, without Linux running...) published to us under "NDA connections"... so this one is "exactly" the same in Linux-heterogen and Bare-Metal-Only systems?

    Using EDMA3_Init will lead to functionality in our code if we are working without Linux under BAre-Metal-Only environment (using CCS and its GELD-Scripts...) The same code will not perform if Linux is running.

    I'm a little bit confused... because I thought there must be differences if Linux is setting up a lot of the IP and the other cores have to do the initialization quite different? Why or why not... is not explained.

    Our "big" problems are caused by a lag of information... so I have to say:
    => "No, your answer do not solve my problem".
    I need much more informations:

    I need an example of how setup edma on M4 (and/or C6K) or instructions of....
    (1) ... how init-process and functionality works
    (2) ... and -if necessary- what I have to configure in Linux for the eDMA functionality on M4 subcore...

    Is there any kind of "getting startet" manual for Linux and parallel BM solutions on other cores?

    What about ICC running without sysbios, while Linux works on A15?
    Without examples or instructions of how to setup a working environment for our use case, we are lost...
    (We can not find out how to setup eDMA and other IP by try-and-error... )
  • Hi
    Is there any serious constrains for not using sys-bios on M4?
    We use the sys-bios based edma3_lld to configure EDMAs on M4.
    edma3_lld_02_12_00_20 package can be found under \PROCESSOR_SDK_VISION_03_xx_00_00\ti_components\drivers\edma3_lld_02_12_00_20
    We haven't tried any bare metal EDMA drivers on M4.

    Regards, Shiju