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.

AM3352: USB SOFTCONN flag

Part Number: AM3352

Hi,

We are implementing a device driver with AM3352 USB controller as the USB host, using VxWorks.

After initialization of USB controller, POWER.SOFTCONN bit is set.

We imagine that it is automatically set by the controller, because our device driver does not set it.

Is this behavior correct?

 Because SOFTCONN bit is set, we are facing a problem that it cannot recognize device disconnection.

Any details on how the USB POWER.SOFTCONN flag could be set automatically ?

There is limited documentation on the USB Core for the AM3352, any help would be greatly appreciated.

Thanks and regards.

  • Hi,

    Benoit TANI said:
     Because SOFTCONN bit is set, we are facing a problem that it cannot recognize device disconnection.

    How do you conclude that the problem is due to SOFTCONN bit?

    SOFTCONN bit has to be set for normal USB operation. If this bit is not set, the controller won't do anything on the USB bus.

    Detaching an enumerated USB device from the USB port should generate MUSB_DISCONNECT event to the USB controller.

  • Their confirmation procedure is the following

    1. SOFTCONN bit is set automatically.
    2. Disconnect USB device.
    3. DISCONNECT interrupt does not occur.

     

    1. SOFTCONN bit is set automatically.
    2. Clear SOFTCONN bit
    3. Disconnect USB device.
    4. DISCONNECT interrupt occurs.

    Because of this, we investigate the SOFTCONN flag process.

  • Hi,

    The SOFTCONN bit is only valid for USB peripheral mode. It shouldn't have any effect when the MUSB controller is in host mode. Please note that the Linux kernel driver doesn't touch this SOFTCONN bit at all for MUSB in host mode. It seems the problem is likely elsewhere in VxWorks, not this SOFTCONN bit.