3 | | See also: |
4 | | - [http://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-VerifiedPeripheralList-10 RaspberryPi on Wikipedia] |
5 | | - [http://networkdirection.net/images/stories/RPi%20-%20USB%20Controller%20v1.03.pdf RaspberryPi USB controller] |
6 | | - [http://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md RaspberryPi USB documentation on RaspberryPi project homepage] |
7 | | - [http://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md BCM2835 chip documentation on RaspberryPi project homepage] |
| 3 | Details:: |
| 4 | HelenOS 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). |
| 5 | |
| 6 | A 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. |
| 7 | |
| 8 | 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 !RaspberryPi USB controller can be programmed either for USB 1.1 or USB 2.0. |
| 9 | |
| 10 | What Gains and Benefits will this bring?:: |
| 11 | With this driver implemented, it will suddenly become possible to use standard USB devices such as mice and keyboards on HelenOS/RaspberryPi. |
| 12 | |
| 13 | Difficulty:: |
| 14 | Medium |
| 15 | |
| 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. |
| 18 | |
| 19 | Documentation and references:: |
| 20 | * [wiki:DeveloperDocs/Peripherals#USB Developer documentation (USB)] |
| 21 | * [http://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-VerifiedPeripheralList-10 RaspberryPi on Wikipedia] |
| 22 | * [http://networkdirection.net/images/stories/RPi%20-%20USB%20Controller%20v1.03.pdf RaspberryPi USB controller] |
| 23 | * [http://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md RaspberryPi USB documentation on RaspberryPi project homepage] |
| 24 | * [http://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md BCM2835 chip documentation on RaspberryPi project homepage] |
| 25 | * [https://code.launchpad.net/~jan.vesely/helenos/usb lp:~jan.vesely/helenos/usb Development branch with USB 2.0 support] |
| 26 | |
| 27 | Possible mentors:: |
| 28 | HelenOS Core Team, Jakub Jermar |