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.

OMAPL138 USB Host Data Toggle Issue with CPPI DMA

Other Parts Discussed in Thread: AM1808, OMAPL138, OMAP-L138

Hi All,

I have implemented a USB Host driver for a Real Time Operating System and also added support for CPPI DMA. Without CPPI DMA everything works fabulously. But when I enable CPPI DMA capability it works for some devices and fails for others. The issue I see on the bus is that the Data Toggle sometimes does not work for OUT endpoints. When I try to ensure that the data toggle is correct before every transaction my devices work but hub operation fails. I have seen on a forum that a similar issue is present on AM1808 processor as well (http://e2e.ti.com/support/arm/sitara_arm/f/791/p/155414/1083640.aspx#1083640). On some post it has suggested that the DMA support is unstable and in some later posts it says that a workaround is implemented in which data toggle is corrected somehow and RX is placed in transparent mode. I want to ask that is the issue also present on omapl138 platform since Am1808 is almost binary compatible with this? and What is the validity of the workaround for this platform? Thank You.

Regards,

Mughees Ahmed Chohan

  • Moving this to the correct forum

  • Hi Mughees Ahmed Chohan,

    Mughees: said:

     I want to ask that is the issue also present on omapl138 platform since Am1808 is almost binary compatible with this? and What is the validity of the workaround for this platform?

    I am not aware of the issue reported. However both AM1808 and ARM core of OMAP-L138 are compatible so workaround should be valid for both.

    Thanks.

  • Hi Rajasekaran K,

    Thanks for your prompt reply. Well actually in musb_host.c file there are a few comments such as below:

    * - DMA (CPPI) ... partially behaves, not currently recommended
     *     + about 1/15 the speed of typical EHCI implementations (PCI)
     *     + RX, all too often reqpkt seems to misbehave after tx
     *     + TX, no known issues (other than evident silicon issue)
     *
     * - DMA (Mentor/OMAP) ...has at least toggle update problems
     *
     * - [23-feb-2009] minimal traffic scheduling to avoid bulk RX packet
     *   starvation ... nothing yet for TX, interrupt, or bulk.

    I also am having these problems in my driver (an independent driver from linux for a popular RTOS). I want to know the status of Linux build with CPPI DMA enabled (will it work with all usb mass storage devices and with hub also with continuous data transfers, building and testing linux is a serious headache as I don't have any experience with it). So far it seems to be a clear cut hardware bug with no workaround in place. Thank You.

    Regards,
    Mughees Ahmed Chohan