Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 1 and Version 2 of Ticket #621

2015-02-17T22:10:46Z (5 years ago)
Jakub Jermář


  • Ticket #621

    • Property Keywords gsoc15 added
  • Ticket #621 – Description

    v1 v2  
    1 HelenOS features basic support for !RaspberryPi. It also has its own USB stack. However, !RaspberryPi has a non-standard USB controller that needs to be supported first in order for HelenOS to become more useful on this popular development board. The essential peripherals are, of course, connected via USB (mouse, keyboard, network card).
     1Implement driver for the !RaspberryPi USB controller that will be part of the HelenOS DDF (Device Driver Framework) and USB stack.
    3 See also:
    4   - [ RaspberryPi on Wikipedia]
    5   - [ RaspberryPi USB controller]
    6   - [ RaspberryPi USB documentation on RaspberryPi project homepage]
    7   - [ BCM2835 chip documentation on RaspberryPi project homepage]
     3  Details::
     4HelenOS features basic support for the popular and inexpensive !RaspberryPi credit-card sized computer. HelenOS can also boast its own USB stack, but because !RaspberryPi uses a non-standard USB controller, HelenOS cannot unfold its full potential on this piece of hardware, where most of the peripherals are meant to be attached via USB (mouse, keyboard, network).
     6A prerequisite for the !RaspberryPi USB controller driver would be a simple !RaspberryPi platform driver that would provide attachment points for the USB controller driver and possibly also for other drivers. This small driver represents an ideal qualification task for GSoC students who wish to work on this project.
     8HelenOS currently supports USB 1.1. USB 2.0 development branch is available on Launchpad and is awaiting integration into the main development branch. The !RaspberryPi USB controller can be programmed either for USB 1.1 or USB 2.0.
     10  What Gains and Benefits will this bring?::
     11With this driver implemented, it will suddenly become possible to use standard USB devices such as mice and keyboards on HelenOS/RaspberryPi.
     13 Difficulty::
     14  Medium
     16 Required skills::
     17  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 implementation would be beneficial.
     19  Documentation and references::
     20  * [wiki:DeveloperDocs/Peripherals#USB Developer documentation (USB)]
     21  * [ RaspberryPi on Wikipedia]
     22  * [ RaspberryPi USB controller]
     23  * [ RaspberryPi USB documentation on RaspberryPi project homepage]
     24  * [ BCM2835 chip documentation on RaspberryPi project homepage]
     25  * [ lp:~jan.vesely/helenos/usb Development branch with USB 2.0 support]
     27 Possible mentors::
     28  HelenOS Core Team, Jakub Jermar