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.

DM355 as USB slave device.

Hello,

I followed steps as mentioned in "http://wiki.davincidsp.com/index.php?title=USB_File_Storage_Gadget".

With the DM355 EVM board I could see the EVM board being identified as a mass storage device on the Windows and Linux PC's.

I could access the the EVM boards as a mass storage device from Windows/Linux PC's.

 

I have a board based on DM355 processor. I tried the same procedure(infact the same kernel was used to test with EVM board) but the board does not get recognized as mass storage device.

On Windows machine a pop up comes "Unrecognized USB device".

Can any one point out what could be the issue ?

 

Thanks,

Snehal

  • If the software is the same than you may want to look at the hardware for any differences, probably starting by comparing your USB layout and schematic to the one used by the DM355 EVM board which is published on the Spectrum Digital support site. Have you been able to verify the USB interface on your custom board works outside of slave mode (i.e. try plugging a USB flash memory stick into your board)?

  • Thanks for the quick response.

    With the custom board we have designed the USB to work as a battery charger & power supply for the board and slave device.

    Right now the usb work ok as a power supply and battery charger. 

     

    We thaught that one of the issue could be that the device is drawing more power and hence the PC gives out "unrecognized/ malfunctioning device".

    So we disconnected usb from giving power to the board and provided external supply to power.

    Still the same issue.

     

    We will have to do some modifications on the board to make it as host. Do you suggest to test it as a host ? Will it give some info to help debug ?

     

  • Pl. check for the D+ D- line routing on your board.  On DM355 EVM these lines were swapped and hence the code appropriately sets the polarity on the PHY.  If you have not swapped the lines then you would have to remove setting of polarity in software.  This might be the reason your device is not getting recognized.

    regards

    swami

  • Hi Swami,

    Thanks for the accurately pointing out the issue. That turned out to be the issue. On my board the D+ D- lines are connected straight. Disabled the polarity switch (clear DATAPOL bit in USB_PHY_CTRL register) on PHY controller. With this the device gets identifed as mass storage device on PC's.

    Thanks & Regards,

    Snehal