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.

question on L138 USB cppi dma rx

Other Parts Discussed in Thread: OMAPL138

Hi,

 1.   I  would like to know if i can use cppi dma in RNDIS mode to realize a USB mass storage device in rx. I see the startware  use transparent mode for rx. But transparent mode would cause a number of interrupts in receiving. Is there any examples i can take as a reference?

  2.  I read the spruh77a carefully and found that cppi dma would trigger the interrupt only after receiving the whole packet, then i can offload the whole packet once in the isr.  Do i have any misunderstanding in cppi dma's RNDIS mode? 

 3.  I've not used the cppi dma before, and CPU take the responsibility to offload data from fifo after a WRITE10 command, but only 0x400 bytes at most can be received at one time. It seems that a buffer overrun occurs when the packet length is larger than 0x400 bytes. Dose this trouble can be avoid by using cppi dma?

Huang 

  • Hi Huang,

    I am looking at it. I will get back to you.

     

    Regards,

    Shankari

  • Hi,

    Ofcourse, the CPPI 4.1 DMA Rx can be configured in RNDIS or Generic RNDIS mode provided that the USB packet size is a multiple of 64 bytes. Depending on the number of BD and it's sizes, the reliability of handling the non-transparent modes will be different for different modes. For sample scenerias on RNDIS mode and more information, please refer to the USB drivers of Davinci PSP 3.22 (linux - 3.3.0 )  ( particularly the description given at file:  /linux-davinci/drivers/usb/musb//cppi41_dma.c  - line no:679)

     As you mentioned, the starterware code is not available for configuring the CPPI 4.1 DMA Rx in RNDIS mode.  As per the OMAPL138 TRM, this mode is possible. But however, you can refer the driver code of Davinci PSP 3.22 Which was already tested on OMAPL138. 

    If you have OMAPL138 EVM, you can enable the USB RNDIS gadget options while configuring the linux kernel using Davinci PSP and check it out the reliability and efficiency for your project requirements.

    http://processors.wiki.ti.com/index.php/UsbConfigDevRNDIS

     

    Regards,

    Shankari

     

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

  • Hi Shankari,

        Thanks for your advise, i'll try to transplant the linux driver to OMAPL138.

    Huang.