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.

ti-sdk-beagleboard-06.00.00 OTG Issue

Hi All,

 I am trying to work on beagle board OTG  with  sdk 06.00.00.

 The device is working  either as a HOST or a DEVICE 

The issue is once hdrc mode  is changed  to a_idle state it never returns to b_idle or b_ peripheral state and                                                                    

i   need a reboot to make it return to b_idle .

cat  /sys/devices/platform/omap/musb-omap2430/musb-hdrc/mode    is b_idle at boot up. And when i

 connect  OTG cable the mode changes to a_idle  and never returns to b_idle   on disconnecting the OTG cable .  I

have connected the board to PC by a MIniB usb  Cable but the mode remails at a_idle.  Is there any kernel patch

available for this issue? Any one point me how to solve this issue.  

 

Regards,

Dibin

 

  • Hi Dibin,

    Could you give more detailed description in steps what do you do and what state of the mode you observe in each one step?

    BR

    Tsvetolin Shulev

  • Hi Shulev,

    Thankyou very much for your quick response. Below are the steps i followed.

    1. Booted Up the board

    cat  /sys/devices/platform/omap/musb-omap2430/musb-hdrc/mode    shows   b_idle

    2. Connected OTG cable to the board

    cat  /sys/devices/platform/omap/musb-omap2430/musb-hdrc/mode   shows     a_idle

    3. Disconnected OTG cable from the board 

    cat  /sys/devices/platform/omap/musb-omap2430/musb-hdrc/mode  shows      a_idle

    4.Connected MiniUSB cable to the Board and Connected it to Computer

    cat  /sys/devices/platform/omap/musb-omap2430/musb-hdrc/mode    shows     a_idle

    In the 4 th case board  should change mode from a_idle to b_idle or to b_peripheral , and the board should detect in my computer as a ethernet gadget .

    Which is not happening in my case!!!!!!!.

    Once the mode is changed to a_idle its  remains at that mode .

    Regards,

    Dibin

  • Hi Shulev ,

    I found a similar issue reported for am35xx and for older kernel.

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/189348.aspx

    Bin Liu has  posted a patch for this issue , Which is no longer  available. 

    As per him we  have to keep the timer (otg_workaround) running to set OTG back to b_idle state once the ID pin is no longer grounded.

    Can you please tell your thoughts on , how to do this.

    Regards,

    Dibin

  • Hi Dibin,

    As I'm reading the 4-th case of detailed description of the issue I could say that the behaviour is incorrect and it is a bug. I check the linked page:

    http://arago-project.org/git/projects/?p=linux-omap3.git;a=commit;h=20c003f2f024d9f50f59edf9f1b8f5f035fb15b8

    and I suggest you if you could find a patch or it could not be applied to your sources to prepare your own patch as made diff between the files:

    drivers/usb/musb/musb_core.c
    drivers/usb/musb/musb_core.h
    drivers/usb/musb/musb_gadget.c
    drivers/usb/musb/omap2430.c

    from the link and those in your source or apply the differences manually.

    BR

    Tsvetolin Shulev