260 likes | 493 Views
Anand Gadiyar Dec 15 th 2010. USB on OMAPs. 1. Overview. Three USB controllers on OMAP3 MUSB EHCI OHCI. MUSB. Mentor Graphics USB controller High-speed, full-speed, and low-speed capable Non-Standard Documentation is available with restrictions Released to external world
E N D
Anand Gadiyar Dec 15th 2010 USB on OMAPs 1
Overview • Three USB controllers on OMAP3 • MUSB • EHCI • OHCI
MUSB • Mentor Graphics USB controller • High-speed, full-speed, and low-speed capable • Non-Standard • Documentation is available with restrictions • Released to external world • Can act as Host, Device and in OTG mode • Present in OMAPs since 2420 (external to OMAP), and 2430 (OMAP on-SoC peripheral)
EHCI and OHCI • EHCI • High-speed only • Standard • http://www.intel.com/technology/usb/download/ehci-r10.pdf • Host only • Introduced to OMAP world in the 3430 ES2.0 • OHCI • Full-speed and Low-speed only • Standard • ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf • Host only • Companion to EHCI • Present in OMAPs since OMAP1 days?
Who uses these controllers - MUSB • This is the only device controller in OMAP3 • So this is the port that comes out of the product • Allows OMAP3 to act as a mass-storage / ActiveSync / usb-serial / usb-ethernet device / … • Used with TWL5030 PHY on most boards • (this is on OMAP3; OMAP2 used NXP ISP1504) • Some old boards use NXP ISP1504
Who uses these controllers - EHCI • Beagle, Overo, ... (lots of boards) • Uses PHY mode – SMSC 332x PHY is most common • BeagleXM has PHY+Hub
Who uses these controllers - OHCI • No boards in mainline • Used on several shipping boards for modem connectivity
USB Interface Modes • Classical USB connection
Controller PHY Interface methods • UTMI/UTMI+ • Multiple pins • ULPI • Stands for UTMI+ Low Pin Interface • 12-pin/8-pin modes • HS/FS/LS capable • Serial PHYs • 3/4/6 pins • Multiple modes
ULPI • Standard • www.ulpi.org • http://www.ulpi.org/ULPI_v1_1.zip • (site may be down. Use www.archive.org to access) • Most common connection in OMAP3 • Both MUSB and EHCI use it • TWL5030 has a ULPI PHY • This PHY is typically used with MUSB • 8 data lines, 3 control lines, 1 clock • (other mode is not supported on 3430)
ULPI – interface modes • Output clocking mode • Most commonly used mode • Clock is provided by the PHY to the USB controller • MUSB (and the TWL5030 PHY) support only this mode • Input clocking mode • Optional in the spec – so rare in practice • Clock is provided by the controller to the PHY • OMAP3 EHCI controller supports only this mode • Corresponding PHY is hard to find
Serial Interface Modes • Standard? • CEA-2011 OTG Transceiver Specification • No direct link available – needs to be purchased • Used for FS/LS connections • In OMAP3, used for OHCI • Canonically, uses 6 uni-directional lines • By making lines bi-directional, we can reduce pin count to 2/3/4 • 2 encoding protocols exist • DP/DM • DAT/SE0
USB TLL • Transceiver-Less Link • Digital magic! • Simulates 2 back-to-back transceivers • Completely in digital domain – no expensive analog
EHCI – TLL vs PHY mode • In TLL mode, to the external device, OMAP3 looks like a standard ULPI PHY • (signal directions may appear reversed from OMAP point of view. This is normal) • TLL mode’s intended usage was for connecting on-board peripherals
OMAP3 – USB limitations • EHCI PHY mode supports input clocking mode only • Hard to find a PHY • Options for PHY: NXP ISP1504 (deprecated), NXP ISP1703, SMSC 332x, TI TUSB 1210 • Cannot switch dynamically to OHCI on a given port • OHCI interface modes are n-pin serial. EHCI PHY interface mode is ULPI. No single PHY supports both modes simultaneously • This means we cannot use a high-speed device and a full-speed device on the same port (not even one after the other) • Only option: Use EHCI + PHY + Hub with transaction translator
OMAP3 – USB limitations • Cannot use EHCI and OHCI together • OMAP3 hardware bug – fixed in 3630 ES1.1 and newer • Only 2 external EHCI PHY ports • Port3 is dedicated for EHCI TLL mode (can use OHCI on Port3)
OMAP4 USB – What’s new • MUSB • New internal PHY • DP/DM are brought out directly from the OMAP • VBUS and ID are still connected to the Power IC • (ULPI interface is still available to connect external PHYs instead of using the internal one) • Link Power Management support • Faster Suspend/Resume
OMAP4 USB – What’s new • HSUSB Host (EHCI/OHCI) • Only 2 external ports • Input clocking mode is now removed • Wider choice of PHYs • New interface mode • HSIC (High Speed Inter-Chip) • 2-pins – DATA and STROBE • 4440 and later
OMAP4 USB – What’s new • New FSUSB Host controller • OHCI compliant • Meant for interfacing with a USIM • 2/4-pin DP/DM signaling supported
OMAP4 USB – Summary • MUSB • External ULPI PHY • Internal PHY (New in OMAP4!) • HSUSB - EHCI • 2 ports • PHY Mode (ULPI, output clocking in OMAP4) • TLL Mode • HSIC (New in OMAP4!) • HSUSB - OHCI • 2 ports • 2/3/4/6-pin serial modes (PHY and TLL) • Same as OMAP3 • FSUSB - OHCI (New in OMAP4!) • 1 port • For SIM connectivity • 2/4-pin DP/DM modes