id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,field_blocks,field_dependson,field_seealso 621,Raspberry Pi USB controller driver,Jakub Jermář,,"Implement driver for the Raspberry Pi USB controller that will be part of the HelenOS DDF (Device Driver Framework) and USB stack. Details:: HelenOS features basic support for the popular and inexpensive Raspberry Pi credit-card sized computer. HelenOS can also boast its own USB stack, but because Raspberry Pi uses a non-standard USB controller, HelenOS cannot unfold its full potential on this platform, where most of the peripherals are meant to be attached via USB (mouse, keyboard, network). [[br]][[br]] A prerequisite for the Raspberry Pi USB controller driver would be a simple Raspberry Pi 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. [[br]][[br]] HelenOS currently supports USB 1.1 and USB 2.0. USB 3.0 development branch is available on !GitHub and is awaiting integration into the main development branch. The Raspberry Pi USB controller can be programmed either for USB 1.1 or USB 2.0. What Gains and Benefits will this bring?:: With this driver implemented, it will suddenly become possible to use standard USB devices such as mice and keyboards on HelenOS/Raspberry Pi. 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 implementation would be beneficial. Documentation and references:: * [wiki:DeveloperDocs/Peripherals#USB Developer documentation (USB)] * [http://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-VerifiedPeripheralList-10 Raspberry Pi on Wikipedia] * [http://networkdirection.net/images/stories/RPi%20-%20USB%20Controller%20v1.03.pdf Raspberry Pi USB controller] * [http://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md Raspberry Pi USB documentation on Raspberry Pi project homepage] * [http://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md BCM2835 chip documentation on Raspberry Pi project homepage] * [https://github.com/helenos-xhci-team/helenos Development branch with USB 3.0 support] Possible mentors:: HelenOS Core Team, Jakub Jermar ",enhancement,new,major,,helenos/usb/other,mainline,,"gsoc15, gsoc16, gsoc17, gsoc18",,,,