Several SoC manufacturers use DWC-OTG USB 2.0 controller from Designware/Synopsys (Some use it only partially)
Linux doesn’t include it officially but several vendors took the code from Designware and adapted it for themselves.
Usually once they did this they did’t update the code. Synopsys only allow customers to download the latest versions.
The code is filled with bugs and the old code is really slow.
The most recent/decent driver is the one used in the Raspberry PI and I’ve to port it to an older Kernel in another SoC. It is not documented but there seems to be a bit of info aroud the net since a lots of Soc manufacturers use it. I’ll update here the public documentation.
Raspi Broadcom: Cambridge info
Raspi Broadcom: Unnoficial Raspberri PI USB-OTG info “
dwc_otg: version 3.00a 10-AUG-2012", "dwc_otg: version 2.90b 6-MAY-2010"
Ralink: Ralink info
Other usefull info:
* Open-wrt uses it a lot (including Fonera) and can be usefull to find kernel patches. They use from “2.72a 24-JUN-2008” to “2.93a 15-MAY-2011”
dummy_audio.c:#define DRIVER_VERSION "St Patrick's Day 2004" dummy_audio.c: INFO (dev, "%s, version: " DRIVER_VERSION "\n", longname); dwc_otg_driver.c://#define DWC_DRIVER_VERSION "2.60a 22-NOV-2006" dwc_otg_driver.c://#define DWC_DRIVER_VERSION "2.70 2009-12-31" dwc_otg_driver.c:#define DWC_DRIVER_VERSION "3.00 2010-12-12 rockchip" ss They didn't change it for the rk3188 even on their kernel for kitkat
* Telechips TCC8900 SDK They use “2.81a 04-FEB-2009″
Other usefull links now:
Mindspeed C2000 uses it for open-wrt “2.93a 15-MAY-2011
Main integrator: http://www.linkedin.com/pub/rajiv-kulkarni/12/876/812 Which company uses it: http://mybookworld.wikidot.com/forum/t-768658/wd-my-cloud:some-specifications Bingo :) the source code: http://support.wd.com/product/download.asp?groupid=904&sid=211&lang=en