[U-Boot] [RFC PATCH v2 0/6] Port of MUSB driver from Linux

Tom Rini trini at ti.com
Sat Sep 22 19:44:22 CEST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/21/12 17:55, Marek Vasut wrote:
> Dear Ilya Yanok,
> 
>> Current MUSB driver in U-Boot uses old UDC API while new gagdet 
>> client drivers need new gadget API. Also current MUSB driver has 
>> some significant limitations (like inability to handle tx for 
>> endpoints other than ep0). So I think port of new Linux driver
>> is desirable.
>> 
>> This is initial port, performed mostly by putting DM and OTG code
>> under #ifndef __UBOOT__ clauses. My intention was to be as close
>> as possible to the original to ease of possible resyncs. Some
>> warnings are suppressed via CFLAGS. There are some style problems
>> but I'm not touching them for now for the above mentioned reason.
>> There is obviously some room for optimisation, some structure
>> fields are unused as well as (probably) some code.
>> 
>> This is not a replacement for existing MUSB driver (at least for 
>> now), cause there are still consumers of the old interface and 
>> the only ported backend is for TI AM335X (while the old code has
>>  a bunch of other backends).
>> 
>> OTG and DMA are not supported. The only ported driver is for TI 
>> AM33xx, but others should be easy to port too.
>> 
>> Virtual root hub is not implemented but this shouldn't be a big 
>> problem as the old code has virtual root hub support enabled only
>> for Blackfin platform.
>> 
>> Tested it on AM335x EVM and BeagleBone with CDC Ethernet gadget 
>> and a bunch of storage devices.
>> 
>> Pathes are rather big because of the original code size (and I 
>> didn't delete unused code, just disabled it). So it's probably 
>> better to look at changes as compared to Linux code. I prepared 
>> such version also, you can find it at [1]. Hopefully it will be 
>> also useful if resync with the kernel will be needed in future.
>> 
>> [1] https://github.com/yanok/u-boot/tree/musb-changes-from-linux
>> 
> [...]
> 
> I'm glad about this. But how can we make this work if we already 
> have a driver for this in u-boot, now we will have another. Tom ?

Part of our pain point here is that, if I'm following everything
right, we're switching from our home-grown MUSB framework to the
kernel one.  The good thing is that there's not many users of the
existing framework.  Being able to switch to a codebase we can re-sync
with the kernel for is a good thing.  It comes down to how much of an
effort it is to convert and leave untested the other platforms.  The
good news I believe is that aside from am335x everything else already
has a kernel portion to work from.

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQIcBAEBAgAGBQJQXfj2AAoJENk4IS6UOR1WOaYP/2GyTGP2GLxu6R7NymMqXp4N
Q2G3qe7wfBMr89ISqYc05QNXnSBcmEgklMoNr2u4XXws4hvtDawX+KGshJfDlPJD
r9LNWygZ3bPi39d/hrzgjgdrICZLcl6BqArgNSrj0UDhOdW5u5Xh1jK2h9113IVI
2SYcTyWtFgcgCZ7GIk3nd6z7RqMaFarTywKEiShP3hzcS1MVVqodk7js129jEORS
e6WdNK4ijg9xaMY93eprIg7Lr9B4OttLt/Xwo96gQO0ww5tHDY+zZaZ30UXBj9HT
mBIYlAvE9eA53Z5QhX6pUcfUZvg5zWvaYNhXqGnRe7frrA+t2PomKk6WFS7vJ+JM
BT9fDR75n3cXcXwcKm9E0vxNAU9NHMEuLH78erdoJWwTir4F7gFRkg7ykGeQhXl8
W+UFG76OVVSaoSjiEU6XQf34j4OHG1ynej7xCklFBBY57i3n3cuhSN33TpyvfzpW
bfwJjYBFhwZT7y9jEAJIKMeul28hWINPVarE/gOFeCoFJbVu+ZqI7HSg6Gd0+8CV
DE3P4Oj93a96FtUHJ/H8WiYMs5sV6bqE6fDkFxD+edgGbI4ATqJq6JUGJ5kYh1lz
B+yICnu6fyobhAAWTvXqayQbRupQKYskmbBj1o1VGl1qJPRHZJUpVFdPacqDZ5kQ
31wdacKo393lIImQku+5
=NvNG
-----END PGP SIGNATURE-----


More information about the U-Boot mailing list