Windows driver for the DesignWare USB 2.0 HS OTG Controller as used in the Raspberry Pi 3.
Switch branches/tags
Nothing to show
Clone or download
#1 Compare This branch is 30 commits ahead of nta:master.
Googulator Fixes based on the UEFI driver
* No more BSODs due to a common race condition.
* USB 2.0 "BBB" mass storage devices work! (USB boot untested, but
should be possible.)
Latest commit cb54000 Nov 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dwusb Fixes based on the UEFI driver Nov 14, 2018
.gitignore Initial commit of code Apr 22, 2018
README.md add a quick readme Apr 22, 2018
dwusb.sln Initial commit of code Apr 22, 2018

README.md

dwusb UCX controller driver

The code in this repository implements an UCX-based controller driver for Windows 10 on ARM(64) for the Synopsys® DesignWare® USB 2.0 HS OTG Controller, specifically, the variant used in the Raspberry Pi 3.

The driver is fairly unfinished and unreliable, some inherently-wrong decisions were made during development, mainly with regards to channel allocation and request queue handling.

It's been tested with a single external USB 2.0 hub connected to one of the on-board RPi3 LAN controller hub ports, and connecting a generic simple (full-speed?) HP Modular Keyboard device to a port on this hub. Any more devices would run into reliability issues.

This driver is provided as-is without support, both to serve as a somewhat simplified example of using the UCX APIs, and perhaps as a base for people to build upon for device enablement on the RPi3.

Attribution

Large portions of code were based on the USBXHCI driver sample included in the WDK, also the GPL'd RaspberryPiPkg USB driver, and the implementation in Das U-Boot the former was based upon. Therefore, the modified driver shall be considered as GPL-licensed as well, in the best case.