Hi again!
I've now have another kind of a problem. While you can clearly
see that we now have the control endpoint working and the device (with the zero gadget)
is detected by the host.
However, it seems like non-control endpoints are still malfunctioning.
Take a look at the log. To me, endpoint numbers are clearly wrong, though
I've not figured out the reason for that.
Another interesting thing I've noticed is that if we disable LX_VERBOSE_DEBUG,
usb fails to work at all due to timeouts. Turns out, some functions that
are called around endpoint setup at gadget registration, cause usb to break
if we disable debugging. The weird thing is that if we insert an mdelay or
a printk, it still does not work, but if the dde_kit_printf is used with color escape
sequences, that makes it work.
Do you have any ideas as to what may be
happening? That looks strange, especially given that I've
explicitely disabled the L2 cache in u-boot.
Maybe it's about the time we added l2x0 support for omap4 to fiasco.oc?
For now, I'll keep working on our other projects (that includes rebasing and upstreaming
our drivers and writing more omap4 support). One interesting question is how
to handle gpio mux for various SoC. I mean, alternate pin functions.
Ideally, we should be able to set up all the hardware from Genode, and most SoCs have
their GPIO pins multiplexed to multiple functions. Probably the
easiest thing is to use strings for pin names, or just integers?
Like, "Gpio.set_mux(unsigned pin, string &name)"
vs "Gpio.set_mux(unsigned pin, unsigned af)"
--
Regards, Alexander