2012/10/5 Norman Feske <norman.feske@...1...>
Hi Alexander,
welcome to the mailing list!
After reading your email, my first intention would be to check the GPIO configuration of the Pandaboard.
Hi! I will recheck the GPIO configuration. I forgot to mention in the previous letter that I have tried stripping down linux to minimum, commenting out all clock, gpiomux and i2c initialization, and it still worked - I assume uboot did enough to init it.
Sorry, I have not studied the whole source code yet, but I have the impression that after mapping memory via attaching mmio dataspace via rm reading registers by the pointer and via Register c++ template class gives different results. I had the trouble - my I2C driver from uboot didn't work when I just mapped the memory, but Ivan Loskutov has reworked it to use the Register class and it worked from now on.
Could you tell if I'm digging in the correct direction? I think both IO memory and buffers must be mapped uncached, unbuffered via arm mmu, but, again, I've not yet read all the code of genode and fiasco.
As another note, I have the impression that OTG is actutally unrelated to the existing USB device driver. It is different device. Is this correct? If yes, wouldn't it be sensible to put the OTG driver into a separate driver component instead of co-locating it with the existing USB driver? This would avoid the complexities of the existing USB code when looking at the OTG issue.
For sure. I would like to introduce several proposals about the design of BSP in genode later. I want to have hardware working and then factor out common code.
If you're interested, here is what I suggest (and want to do later), but I'm planning to write a more detailed blog entry later and keep you updated. * replacing most panda stuff with omap4 name (i.e., move headers from include/board/panda to include/cpu/omap4) * Implementing abstractions for various device classes (like, gpio, voltage regulator, led in linux, but in C++) * splitting dde kit's common stuff (lx_emul, platform) and usb driver. Ideally, it should be easy to add new drivers to the makefile and build each linux driver as a standalone binary