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.

Unable to detect device when in OTG host mode (linux)

Other Parts Discussed in Thread: DM3730, TPS65951

Hello,

I am using the TPS65951 together with the DM3730. On my design, I have the USB OTG directly attached to a MiniB connector. This is very similar to the BeagleBoard xM. However, I am unable to configure the USB OTG to host mode.

At first I set the register VUSB_DEDICATED1 to 0x10. (This will set VUSB to the charge pump).

Then we read the state of the usb mode by using the command:

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

After inserting an OTG cable (ID shorted to GND), the status changes from b_idle to a_idle. I do this with the following command:

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

Then the following command is given in the terminal:

/sys/devices/platform/omap/musb-omap2430/musb-hdrc# echo host > mode

This will enable the 5V VBUS (Charge pump).

However, the kernel can not "see" a device attached. When measuring i see that D- is 0V as it should be, but D+ is only 0.8V, When checking the USB specs, this should be 3V, coming from a voltage divider with 15kOhm (TPS65951) and 1.5kPhm (USB Stick). When i insert my USB stick in the computer, the voltage is 3V and the computer recognises it as normal.

What registers do i need to set extra besides setting OTG_CTRL to 0x06? Note that the usb OTG in slave mode is working properly.

Thanks

Regards,

Erwin Groenendaal