Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 16 months ago

Last modified 16 months ago

#647 new enhancement

USB support on BeagleBoard XM and BeagleBone computers

Reported by: jermar Owned by:
Priority: major Milestone:
Component: helenos/drv/other Version: mainline
Keywords: gsoc16, gsoc17 Cc:
Blocker for: Depends on:
See also:

Description (last modified by jermar)

Implement drivers for the USB host/OTG controllers as found on the BeagleBoard XM and BeagleBone credit-card-sized computers that will be part of the HelenOS DDF (Device Driver Framework) and USB stack.

Details
HelenOS features basic support for the popular BeagleBoard XM and BeagleBone credit-card sized computers. HelenOS also has its own USB stack, but because BeagleBone uses a non-standard USB host controller and BeagleBoard XM comes with a (sometimes) flaky EHCI host controller, and a non-standard OTG USB controller, HelenOS cannot unfold its full potential on these platforms, where most of the peripherals are meant to be attached via USB (mouse, keyboard, network, etc.).

HelenOS currently supports USB 1.1. USB 2.0 development branch is available on Launchpad and is awaiting integration into the main development branch. The USB 2.0 branch should be preferred for this project.

BeagleBone comes with a USB host controller which actually is an USB OTG controller with some pins grounded so that it acts as a host controller. The goal for the BeagleBone would therefore be to implement the USB OTG controller driver for the host mode.

BeagleBoard XM USB host controller is USB 2.0 only (EHCI only). On some board revisions the USB host controller is reported to be flaky or is completely absent. The goal for the BeagleBoard XM would therefore be to try to get the EHCI driver for the host controller working and implement the USB OTG controller driver for host mode.

What Gains and Benefits will this bring?
With these drivers implemented, it will suddenly become possible to use standard USB devices such as mice and keyboards on HelenOS/bbxm and HelenOS/bbone.
Difficulty
Medium to difficult
Required skills
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX environment. Previous experience with driver or USB stack development would be beneficial.
Documentation and references
Possible mentors
HelenOS Core Team, Jakub Jermar

Change History (4)

comment:1 Changed 16 months ago by jermar

  • Description modified (diff)
  • Summary changed from BeagleBoard XM / BeagleBone USB controller driver to USB support on BeagleBoard XM and BeagleBone computers

comment:2 Changed 16 months ago by jermar

  • Description modified (diff)

comment:3 Changed 16 months ago by jermar

  • Description modified (diff)

comment:4 Changed 16 months ago by jermar

  • Description modified (diff)
Note: See TracTickets for help on using tickets.