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.
We have done a custom design based on xam3359zcz. The design of the USB connection is almost identical to that of the Beaglebone. We are using the Ti SDK kernel and those drivers for the MUSB.
Everything seems ok on the hardware side and on the sofware side everything seems to be set up by default as expected in the source code. We are running USB0 as OTG and the USB1 as host. The drivers are loadeded and everything looks ok on the kernel side. But devices are not detected. However we can not get an active signal on the USB_DRVVBUS lines to the boost converter wich is a Ti TPS2505. We presume that this is our problem but we don't see how we can make it USB_DRVVBUS pin active!
Will be very grateful for any help.
Which TI PSP kernel are you using? Please try with the latest available at http://arago-project.org/git/projects/?p=linux-am33x.git;a=shortlog;h=refs/heads/v3.2-staging
If my reply answers your question then please click on the green button "Verify Answer"
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Ajay:
We are using the ti-sdk-am335x-evm-05.04.01.00-Linux-x86-Install.
Now I have tried the latest kernel from the repo you pointed me at. No apparant difference. Still no voltage on the USB_DRVVBUS pin from the SoC. Any more ideas?
In reply to Daniel Eriksson:
Can you confirm if used micro-A plug to connected to usb0 (OTG port) and ID pin of usb1 (host only) port is grounded.
We have configured both ports as hosts in the hardware. E.i both ID-pins are grounded. We are not using micro-A plugs to connect to the ports.
You wrote in first post "We are running USB0 as OTG and the USB1 as host." So I thought usb0 is in OTG mode and not in host mode. How is Vbus line connected. I would recommend you to either post schematics or get it reviewed by your local ti contact.
Yes you're right, sorry about the confusion. We used the default configuration in the software of USB0 as OTG and USB1 as host. But hardware wise they are both configured as host.
The USB0_DRVVBUS and USB1_DRVVBUS lines are connected directly to ENUSB1 and ENUSB2 on the Ti TPS2505. The drvvbus lines are pulled down by 10k resistors (like the Beaglebone).
When I configure the USB1_DRVVBUS as a GPIO and set it high the signal is high and we get 5V on the USB2 output pin on the TPS2505. Also USB1_DP is high as expected. The problem is that the USB_DRVVBUS lines won't go high when they are configured to be USB pins (and not GPIO).
I also noted that the out from driver info in this thread is different. I also made a post there but I will repeat it here.
I happened to notice that the output from /proc/drivers/musb_hdrc.x is different compared with the output posted in the references thread above. Do you have any idea what might be wrong? It seems that our ports are inactive. is that correct? There where no devices connected when I printed this out.
cat /proc/driver/musb_hdrc.0 Status: MHDRC, Mode=Host (Power=e0, DevCtl=80)OTG state: a_idle; inactiveOptions: ?dma?, otg (peripheral+host), [eps=16]Peripheral address: 00Root port status: 00000100CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0cat /proc/driver/musb_hdrc.1 Status: MHDRC, Mode=Host (Power=e0, DevCtl=80)OTG state: a_idle; inactiveOptions: ?dma?, otg (peripheral+host), [eps=16]Peripheral address: 00Root port status: 00000100CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
Problem solved. It showed that the ID pins where not connected directly to ground. The where connected via 120k resistors! When we connected the ID pins directly to ground without any resistors it worked. I guess the SoC did not detect the state of the pins correct so it thought it was a device instead of a host.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.