
Hi Marcel,
Juniper Networks wrote a driver for the EHCI UCB HC and I'd like to contribute that back if there's interest. Besides a new piece of code, this also changes some of the common USB code so that high-speed devices and split-transactions are supported.
Cool!
At this time the EHCI driver is exclusive in that there's no support for having the companion controller active. I presume this is one of the major themes for adding EHCI support, so that's definitely open for discussion.
Attached a patch with the common code changes as well as the EHCI driver itself. The patch does not contain any changes to get it built (i.e. included in libusb, etc). A seasoned U-Boot developer should have no problem playing with it, while the details are being worked out for getting this alongside a USB 1.1 HC driver.
Glancing over the patch I fail to see what hardware and configuration you are using for your development. Can you enlighten us on this?
Comments and suggestions are welcome. Please let me know how best to move forward with adding this to U-Boot, provided there's interest. FYI,
I think this will have to go through Markus' USB tree, so I put him on CC. Markus, could you perhaps add a branch in your repository to give this (and the upcoming) patches a better visibility even during development?
I am actually pretty happy, that finally someone is actively starting to put effort into moving the usb support in U-Boot forward - and before this gets interpreted wrongly - in my opinion Markus does a great job as a USB maintainer and I definitely do not want lessen his work here, but as we talked about a few times, most of his effort got sucked up in maintaining the current code base.
So thanks again Marcel and I am looking forward to a shiny USB support in U-Boot ;)
Cheers Detlev