Hi Vladimir,
Sorry for the latency...
On 03.06.2015 00:13, Vladimir Lushnikov wrote:
I am currently starting to port the Linux drivers necessary to get USB (both Host and OTG) working on the USB armory. Given my current schedule I hope to have something working by the end of the month (or at least that is my goal).
Its cool to hear that you've such ambitious plans on the USB armory :-) For us, an USB driver port for i.MX53 (as well as for i.MX6 as you state later) would be a much appreciated contribution.
First off, some notes from my investigation. ...
Your working plan sounds good to me. But admittedly, I'm neither much experienced with porting via DDE nor with the USB internals. Maybe others who have a better insight in these topics would like to comment on this!?
Is anybody else working on supporting the USB armory USB currently (just to make sure)?
As far as we know, there's nobody else working on this target currently.
My bigger question is of course - what shall be done about the USB gadgets necessary to have things like CDC ethernet or serial working. Of course we can port them from Linux initially but I guess because some of them will be simple (? like serial, hopefully) it would make perhaps make sense to make a native Genode port. But I have not yet thought about this in depth because I want to get the controller working first.
Of course, this is always an individual decision depending on your requirements on the implementation. I asked Josef (he had to make this decision more often than I) about his opinion and he would port the gadgets too while in porting due to the USB driver anyway and decide afterwards whether to replace a port by a native implementation.
The Wandboard uses the same USB driver but it needs some code to control the PHY and I don't know about the pin muxing.
Regarding the pin muxing, there is already a so-called GPIO driver for i.MX53 [1] that should be used for that purpose. You may have a look at [2] and [3] for an example how our demo on i.MX53 provides GPIO to its intput driver (The same goes for the framebuffer).
Cheers, Martin
[1] os/src/drivers/gpio/imx53 [2] os/run/demo.run [3] os/src/drivers/input/imx53/driver.h