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
--