USB support on BeagleBoard XM and BeagleBone computers
|Reported by:||jermar||Owned by:|
|Blocker for:||Depends on:|
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.
- 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.
- 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
- Developer documentation (USB)
- lp:~jan.vesely/helenos/usb Development branch with USB 2.0 support
- USB subsystem in HelenOS
- Official BeagleBoard XM web page
- Official BeagleBone web page
- USB AM335x Quick Start on TI web
- USB On The Go article on Wikipedia
- Possible mentors
- HelenOS Core Team, Jakub Jermar
Change History (4)
comment:1 Changed 14 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