I am using Freescale I.Mx35 PDK as the hardware and Linux kernel 2.6.31 as the OS.
I am facing some problem with the USB OTG.
USB OTG should work as both Host and also as a Device, depending upon the status of The UID pin, this is not happening.
What is working:-
1) When configured as Host, the OTG is working as a host and is also supplying the 5V power (for devices connected to it).
2) When Configured as Device, the OTG is working as a device and does not provide the 5V power.
3) UID Pin Status detection is working.
What is Not Working:-
1) When Configured as OTG Dual Role, it is not working as both Host and as a Device depending upon the status of the UID pin.
a. OTG is working as a USB Device, when the UID Pin is pulled high.
b. OTG is not working as a Host when the UID Pin is shorted to Ground.
2) When the UID Pin is pulled high, it detects it and mentions that it resumes its working as Device.
When the UID Pin is shorted to ground, it detects it and mentions that it is suspending its working as a Device, but it is not working as a Host and also not providing the power supply of 5V.