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.

How to do PARAM link in EDMA3 using EDMA3LDD [dsp6738]

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Can any one please guide me gow to put the PARAM is self link mode in dsp 6738. 

Using Linux , i had use function "edma_link(write_dma_chan,write_dma_chan);".

But i am not sure how to do the same in DSP code .

EDMA3CCPaRAMEntry write_paramSet ;

unsigned int retval = 0u;

// Request DMA channel and TCC
retval = EDMA3RequestChannel(SOC_EDMA30CC_0_REGS,write_chType,write_chNum,write_tccNum,write_evtQ);
if (TRUE == retval)
{
// Fill the PaRAM Set with transfer specific information
write_paramSet.srcAddr = (unsigned int)(addr_1_buff);
write_paramSet.destAddr = (unsigned int)(EMIF_CHIP5_BASE + (BRAM_ADDR+OFFSET));
write_paramSet.aCnt = (unsigned short)acnt;
write_paramSet.bCnt = (unsigned short)bcnt;
write_paramSet.cCnt = (unsigned short)ccnt;
write_paramSet.srcBIdx = 0;
write_paramSet.destBIdx = 0;
write_paramSet.srcCIdx = 0;
write_paramSet.destCIdx = 0;

write_paramSet.linkAddr = (unsigned short)0xFFFFu;    ---------------??????????????
write_paramSet.bCntReload = 1;
write_paramSet.opt = 0u;
// Src & Dest are in INCR modes
write_paramSet.opt &= 0xFFFFFFFCu;

I want the param to be in a self link so that i preserve un-necessary time being wastage in

initilizing the parameters again and again ....

Thank You,

Ashish Mishra  

i tried something like this :-

  • Dear All , 

    Could any one please guide us for the same .  I am struck at this point and our project is not able to progress any further . 

    Thank You,

    Ashish Mishra 

    [Banglore /INDIA]

  • Dear TI Team , 

    I am using edma example from "OMAPL138_StarterWare_1_10_03_03"

    Could you please guide us for the same ..

    Thank You,

    Ashish Mishra 

  • Hi Ashish,

    This is covered in section 18.2.3.2.12 Link Address in the OMAP-L138 TRM (spruh77a).

    The link address can be an absolute/literal byte address or a PaRAM-base-relative offset address - so if you want to link to PaRAM set #12, you can use either 12*32 = 384 = 0x0180 (relative) or 0x4180 (absolute). The 32 here is for the 32-byte length of each PaRAM set.

    Regards,

    Sunil

  • Hi Sunil , 

    1. I am using structure  "EDMA3CCPaRAMEntry write_paramSet " as an PRAM. I am not directly accessing PARAM register . 

        Now i am not sure which physical param will this "EDMA3CCPaRAMEntry write_paramSet " represent. 

        So how can i directly assign address of any PARAM to it .???

    2. Now the structure element "linkAddr" points to PARAM which will be used for LINK mechanism .

    3. What i did tried is :-

      (a) write_paramSet.linkAddr = (unsigned short) ADDRESS_OF_PARAM_TO_BE_USED_FOR_LINKING;

      (b) In my case the PARAM is represented by "EDMA3CCPaRAMEntry write_paramSet" structure; 

      How do i assign (b) to (a) ??? This is my question . 

      My sole aim is to achieve self linking for  "EDMA3CCPaRAMEntry write_paramSet"

      

    4. I have used LINKING mehanism from LINUX . There to do self linking we were having

        "edma_link(write_dma_chan,write_dma_chan);" function call.

    Please do let me know if i am missing any point or you require any more clarification ...

    Ashish Mishra 

    [Banglore/India]

  • Ashish,

    In the example, you will find the following function call at the end: EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, chNum, &paramSet);

    If you look up the particular function in the edma.c driver file, you will find that the PaRAM number is set to the channel number. So you would need to use chNum*32 in write_paramSet.linkAddr for self linking.

    I am a bit confused about your question for linking EDMA3CCPaRAMEntry write_paramSet to write_paramSet.linkAddr. You are talking about the same structure here.

    Hope this clarifies the usage.

    Regards,

    Sunil

  • Dear Sunil , 

    Thanks for pointing this . I will test it today and will update the outcome . 

    Ashish Mishra 

    [Banglore / India]

  • Thanks Sunil , it solved my problem ......

    Thanks you very much ......