Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Aug 2010 22:42:17 +0100
From:      Ben Gray <ben.r.gray@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   OMAP3530 - Beagleboard and I2C problems
Message-ID:  <4C607639.9050506@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

    I've been working on a port of FreeBSD to Texas Instruments OMAP3530 
for a while now. I have the basic drivers, Clocks, MMC, DMA, GPIO's, 
etc. The kernel is coming up, however it crashes with a seg fault when 
starting the init process, this is probably caused by the hacks I had to 
put in the pmap code to get it to work with ARMv7 MMU's, but that's an 
email for another day.

    The problem I'm currently having is with the I2C code and it is 
perhaps highlighting a more fundamental problem with my port so far.  
Currently I have an 'omap3' bus device, which is the parent for all the 
other peripheral drivers (I2C, MMC, DMA, etc).  These child bus drivers 
are added during the attach call of the parent, but at that time IRQ's 
are not enabled and nor is the system clocking code. So the problem I 
have is that during the attach phase of the I2C device driver I want to 
be able to send messages over the I2C bus, but my bus driver doesn't 
work because IRQ's are still disabled.  So what is the correct solution 
for this?  How do I delay device initialisation to after this?

    Is there documentation anyone can point me at that describes the 
startup phases? or alternatively examples in the existing code base?  
I've looked at the current ARM ports, and on the face of it they seem to 
suffer the same problem.


    In case anyone is interested some of my work to date is available on 
googlecode here <http://code.google.com/p/beagleboard-freebsd/>. At the 
moment it can't just be pulled into the tree, partially because it's 
missing the patches needed for the pmap code, but mostly because large 
parts of it don't work properly :-)

    And thanks to to the author of the freebsd-bgb googlecode project, 
without that I probably wouldn't have got started.

Cheers,
Ben Gray





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C607639.9050506>