OMAP3530 - Beagleboard and I2C problems

Ben Gray ben.r.gray at gmail.com
Wed Aug 11 10:49:54 UTC 2010


Thanks Olivier, PSB
> On Mon, Aug 09, 2010 at 10:42:17PM +0100, Ben Gray wrote:
>   
>> Hi,
>>
>>     
>
> Hi Ben,
>
>   
>>    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.
>>
>>     
>
> That's great to hear !
> How hackish is your work ? There's an ongoing work to support armv6/armv7, so
> maybe it's best to avoid duplicating efforts ?
>   
Well it might not be to much of a hack, but I'm reasonably new to ARMv7 
and very new to FreeBSD so some of my assumptions might not be correct.  
I noticed Rafal Jaworowski has posted a link to some ARMv6 code so I'll 
take a look at that as well.

I'll post my changes on googlecode shortly, once I tidy it up and remove 
the extra verbose debugging.
>   
>>    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?
>>
>>     
>
> If you need to do stuff once IRQ are enabled, you may try to use 
> config_intrhook_establish(), that should do exactly what you need.
>   
Thanks for this, it looks exactly like what I want :-)
> Regards,
>
> Olivier
>   



More information about the freebsd-arm mailing list