Opened 8 years ago

Last modified 6 years ago

#647 new enhancement

USB support on BeagleBoard XM and BeagleBone computers — at Version 3

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

Description (last modified by Jakub Jermář)

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
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 (3)

comment:1 by Jakub Jermář, 8 years ago

Description: modified (diff)
Summary: BeagleBoard XM / BeagleBone USB controller driverUSB support on BeagleBoard XM and BeagleBone computers

comment:2 by Jakub Jermář, 8 years ago

Description: modified (diff)

comment:3 by Jakub Jermář, 8 years ago

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