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.

OMAP3530 USB HS and FS w/ 3320 PHY

Other Parts Discussed in Thread: TUSB2551, TUSB1210, AM3505, OMAP3530

Hi,

We have a custom board with a 3530 CoM (OMAP3530-GP ES3.1 as reported by u-boot), which includes 2 SMSC3320 PHY for USB host ports 1&2.

Port 1 is connected to a front panel USB A connector, port 2 is connected to an onboard LS/FS UC864-E Télit GSM module. Those are direct connections, no hub. Each port have its own VUSB power switch, driven by associated 3320 CPEN signal.

O/S is linux : target version is 2.6.36.4 because we have all the other features running OK with this version, but we also tried 2.6.38.8, 2.6.32-omap, 2.6.39-omap, 2.6.39-rc6, 2.6.39.3.

Our aim is to have port 1 working in HS, and port 2 in LS/FS.

The GSM modem runs OK (in FS) on the board, when CoM is "replaced" by a laptop. CoM Port2 works OK (in HS) when replacing the GSM Modem by a USB Flash.

I have read a lot of forums, source code, patches, but still can not get that USB running, and would need some clarification :

- Advisory 3.1.1.195 HSUSB Interoperability Issue With SMSC USB3320 PHY : what is the real deal with this ? Is it safe if I don't use PM ?

- EHCI / OHCI : my target config would require these 2 controllers to run simultaneously ; either ohci companion called from ehci for "older" linux version, or both called as necessary from hsusb MFD in newer linux version : is it correct ? Is it possible ?

- where is the power switch control in the ehci/ohci/hsusb ? it seems link power is switched on in ehci, but not in ohci ?

- Is it possible to access PHY registers, for a complete control ? OMAP_TLL_ULPI_* are #defined but never used, except SCRATCH_REGISTER ...?

 

Thank you for helping ...

Laurent

 

 

  • The EHCI controller does not support low speed (LS) or full speed (FS) and the OHCI controller does not support connection to a ULPI PHY.  This limitation is described in section 4.1.3 of the Silicon Errata.

     

    When using the OHCI controller it should be connected to a USB transceiver like the TI TUSB2551 via the 4-pin bidirectional signals described in section 23.2.2.4 of Technical Reference Manual, revision T.

     

    However, you can not use the OHCI controller on port2 while using the EHCI controller on port1 as described in Silicon Errata Advisory 3.1.1.185

     

    Is there a reason you did not use the OTG port?  If not, I would use a TI TUSB1210 ULPI PHY to connect the OTG controller operating in host mode to your front panel USB A connector.  Then use the TI TUSB2551 to connect any of the OHCI host ports via the 4-pin serial mode to your on-board GSM modem.

     

    Regards,

    Paul

  • Dear Sir,

    I have similar case on my AM3505 platform, the design is following to Mistral Crane board

    1. USB Host port cannot connect to any USB1.1 device directly, if through a USB hub it is work, seems this is AM3505 chip design issue and no work arround,right?

    2.  For USB OTG port I expexcted it can automatically config to a host or a device, once the external USB product (maybe host or device) connected, but now , I found it is not able to change the config after system boot up, that means if I connected a device to this OTG port and the bott up system then it is work, but if disconnect this device and then connect to other Host product this port cannot change to device automatically.

    Any ideal? on item 1 & 2, it is very urgent case I need to built demo to customer if item 1 is chip design issue any document mention it?

    BR

    Edwin

  • 1. USB Port 1 and Port 2 can be used to connect to external high-speed PHYs which include a ULPI port. However, in this case, the external USB PHY must be able to accept a source clock generated by the OMAP high-speed USB controller. Also, in this usage model the USB ports cannot support full-speed and low-speed operation. Therefore, using this approach, USB Port 1 and Port 2 cannot provide a fully compliant USB 2.0 Type-A receptacle; a high-speed USB hub would be required in this case.  We will be adding this limitation to the AM35x silicon errata.

     

    2. To support the dual role mode of operation your product should have a USB mini-AB or micro-AB receptacle with the ID pin connected to the AM3505 ID pin.  When a USB mini-A or micro-A plug is inserted the ID pin will be grounded to indicate the AM3505 USB port should operate as a host.  When a USB mini-B or micro-B plug is inserted the ID pin will be open-circuit to indicate the AM3505 USB port should operate as a peripheral.  I will need to refer this question to our software drive team if your hardware is configured as described above and you are still having this problem.  Which OS are you using on this product?

     

    Regards,

    Paul

  • Paul,

    For item 1 USB host issue

    refer to TRM page 2306 to descript USB Host port as below

     “The OHCI controller, based on the Open Host Controller Interface (OHCI) specification for USB Release 1.0a, is in charge of full-speed/low-speed traffic (12/1.5M bit/s, respectively), over a serial interface.” Even AM35xx "will use different bus which are Serial and ULPI for the LS and FS/HS device". Seems the USB host port can be fixed to LS.

    Actually I just required to fix to support USB1.1 at this moment, for long term, I will consider add back a USB hub solution

    For item 2 USB OTG issue

    I will check my HW first.actaully the design is copy Mistral Crane board and the OS is Android 2.3

    B.R

    Edwin

  • Ok, if your AM35x based product does not need the USB host to operate at high speed (480Mbps) then you should not be using a ULPI PHY.  You should be using a USB transceiver similar to the TI TUSB2551 connected to the USB host via the 4-pin serial mode. 

     

    NOTE: If one USB host port is configured as a high-speed ULPI transceiver interface, then all other ports must be likewise configured.

     

    Regards,

    Paul

  • Paul,

    How to config the USB host prot to serial mode? whcih register need to be set?

    if one USB host port is configured as a high-speed, that means other three port (include OTG)will be high speed also? seems it is 3 independ channel.

    For OTG cannot autodetect host or slave issue, the current design is USB0_ID pin short to GND

    note: the OS is Android 2.3

    BR

    Edwin

  • Paul,

    For OTG cannot autodetect host or slave issue, the current design is USB0_ID pin is connect to USB connector pin 4 But host/device is decided during Android system boots up. seems something worg in the driver setting? do you which register can be config?

    BR

    Edwin 

  • The USB OTG port is independent, but the three USB host ports are dependent on the configuration of the other two USB host ports.  The TRM correctly describes this limitation.

     

    An OMAP3530 customer had similar questions about configuring the USB host to operate in 4-pin mode.  The USB host used in AM3505 is very similar to the one used in OMAP3530 so you may want to review the following post to see if it contains information that will help you configure this mode of operation.

     

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/p/94945/345167.aspx#345167

     

    Your last two posts have conflicting information about the OTG port ID pin connection.  The post previous to the recent post stated the ID pin was connected to ground.  If the USB OTG port ID pin is connected to ground it will only operate as USB host.  

     

    Your recent post states the ID pin is connected to the USB connector.  I assume this is a correction to the previous post and the ID pin is connected to the USB connector.

     

    I will ask someone from the software driver team to review this post and answer your questions about register configurations and Android 2.3.

     

    Regards,

    Paul

  • Paul,

    thanks your information

    For USB Host config to LS to support USB1.1 device issue

    I visited the post seems it is so complcated, I 'm not clear how to config which register in drive or which soucre file I need to modify.

    For OTG automatic detect master / slave issue

    The USB0_ID is connected to USB connector now without any pull high or pull low resistor. thanks your software engineer support.

    BR

    Edwin