Kernel USB
From OMAPpedia
[edit] Overview
This page describes the USB software development effort for OMAP3 and OMAP4 platforms. The purpose is to provide information on the current status and features planned in the road map.
OMAP3 USB Block Diagram |
OMAP4 USB Block Diagram |
[edit] List of Features Supported
On OMAP3: Mentor USB OTG EHCI PHY and TLL modes OHCI PHY and TLL modes On OMAP4: Mentor USB Host and Gadget modes On OMAP5: EHCI Ports (USB2.0 High Speed) DWC3 Port (USB3.0 OTG Super Speed Port) this port switches mode based on the cable type connected. when acting in host mode, the xhci stack is used and it never uses the ehci stack (popular misconception)
[edit] Patches merged in kernel.org
List of USB patches merged in kernel.org
[edit] Recent submissions to open-source
- MUSB support for OMAP4 - OHCI support for OMAP3
[edit] Current status of OMAP4 patches in omapzoom tree
GIT tree location: http://dev.omapzoom.org/?p=integration/kernel-omap4.git;a=summary
(Last Updated on 16th June 2010)
Patch title | Commit-id | Author | Creation Date | Status in Open-source | Comments |
usb: musb: Fix a bug by making suspend interrupt available in device mode | 0eac243 | Maulik Mankad | 6/15/2010 | Submitted | Acked-By Felipe Balbi |
usb: g_serial: Fix a bug by setting low_latency to 0 | NA | Maulik Mankad | 6/14/2010 | Submitted | Version from Jon Povey accepted |
usb: musb: Unmapping the dma buffer when switching to PIO mode. | 5a0e3ad | Hema HK | 6/2/2010 | Submitted | review complete Felipe to merge. |
usb: musb: usb: musb: Enable the maximum supported burst mode for dma. | Hema HK | 6/1/2010 | Submitted | Review pending. | |
usb: musb: usb: musb: Dynamic dma channel allocation in gadget driver. | 08ebe59 | Hema HK | 5/19/2010 | Submitted | Review pending. |
Fix board data to support device only, host only and OTG roles. | a376bac | Maulik Mankad | 5/20/2010 | Submitted | Rejected by David Brownell |
USB: MUSB: Fix enumeration when device connected at boot up. | e65d73e | Maulik Mankad | 3/4/2010 | Under Prep | Will be redesigned |
USB: MUSB: Add phoenix initialization under OMAP4. | 8c6623d | Maulik Mankad | 3/4/2010 | Under Prep | Won't be required after Phoenix layer is developed. |
USB : MUSB : Phoenix settings for Host mode | 21a6150 | Maulik Mankad | 1/22/2010 | Under Prep | Will be redesigned |
USB : MUSB : Phoenix settings for USB device mode | 25cc163 | Maulik Mankad | 1/22/2010 | Under Prep | Will be redesigned |
OMAP4: Enable Mentor USB options in defconfig | 7199bf2 | Maulik Mankad | 1/22/2010 | Submitted | Will be merged after driver support goes in 2.6.35 |
USB: MUSB: Add OMAP4 support in MUSB driver | ec24e42 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.35 |
USB: MUSB: Enable MUSB for OMAP4 in Kconfig | 087ea5e | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.35 |
USB: MUSB: Set transceiver interface type | a195288 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.35 |
ARM : OMAP4 : Add USB support to 4430 SDP board file | 521c5f3 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.34 |
ARM : OMAP4 : Add USB support to 4430 SDP board file | d11c618 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.34 |
ARM : OMAP : Remove #ifdef from board-omap3evm.c | 9f1cc47 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.34 |
USB : Add empty functions in otg.h | adaa378 | Maulik Mankad | 1/22/2010 | Merged | Present in 2.6.34 |
[edit] Features under development
- EHCI and OHCI power management - USB host - control transfer failures on OMAP4 (DMA + cache handling) - Fixes for MUSB OPT test failures - G_ether and USB-ethernet failures due to DMA alignment requirement in MUSB on OMAP3630 & OMAP4
[edit] Future Development Plan
- HWMOD adaptations for MUSB, EHCI and OHCI for OMAP3/4 - EHCI HSIC support on OMAP4 - Support for FSUSB block on OMAP4 - Phoenix USB transceiver driver - OTG 2.0 support - Link Power Management on MUSB - Compliance to Battery Charging Spec
[edit] Information on USB Testing procedures
[edit] Submit your ideas here
- Enhance 'usbtest.c' kernel driver to send 53-byte standard usb test packet.
- Add usb auto-suspend feature to 'usbtest.c' so that it can be used to test 'suspend + remote_wakeup' with g_zero.
- Add remote wakeup functionality in usbhid gadget